<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>215160</bug_id>
          
          <creation_ts>2020-08-05 02:28:13 -0700</creation_ts>
          <short_desc>Introduce a Vector::isolatedCopy() &amp;&amp;</short_desc>
          <delta_ts>2020-08-07 15:55:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1677907</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-05 02:28:13 -0700</bug_when>
    <thetext>Introduce a Vector::isolatedCopy() &amp;&amp;.
This is for instance used in RegistrationDatabase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677910</commentid>
    <comment_count>1</comment_count>
      <attachid>405993</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-05 03:21:56 -0700</bug_when>
    <thetext>Created attachment 405993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678255</commentid>
    <comment_count>2</comment_count>
      <attachid>405993</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-08-06 08:41:19 -0700</bug_when>
    <thetext>Comment on attachment 405993
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=405993&amp;action=review

&gt; Source/WTF/ChangeLog:9
&gt; +        This can make a Vector&lt;String&gt;::isolatedCopy() allocate no memory at all in cases like RegistrationDatabase::schedulePushChanges.

Can we change this at the same time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678547</commentid>
    <comment_count>3</comment_count>
      <attachid>405993</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-08-07 04:10:27 -0700</bug_when>
    <thetext>Comment on attachment 405993
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=405993&amp;action=review

&gt;&gt; Source/WTF/ChangeLog:9
&gt;&gt; +        This can make a Vector&lt;String&gt;::isolatedCopy() allocate no memory at all in cases like RegistrationDatabase::schedulePushChanges.
&gt; 
&gt; Can we change this at the same time?

RegistrationDatabase::schedulePushChanges already does WTFMove(vector).isolatedCopy()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678551</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-07 04:33:02 -0700</bug_when>
    <thetext>Committed r265369: &lt;https://trac.webkit.org/changeset/265369&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405993.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678552</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-07 04:34:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/66674326&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678779</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-07 15:55:37 -0700</bug_when>
    <thetext>Looks good!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405993</attachid>
            <date>2020-08-05 03:21:56 -0700</date>
            <delta_ts>2020-08-07 04:33:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215160-20200805122155.patch</filename>
            <type>text/plain</type>
            <size>4706</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFlZmM3N2NlNDNlYjdlOWRmYWJkZDhl
NjYxNTE2YzhjNzYxY2I1OTMuLjBjNGYwZTM1MmFiZTk1NGE5YTQzZjE2ODZmMjYzMzFmMmNjNDlh
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDgtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBhIFZlY3Rvcjo6aXNvbGF0ZWRDb3B5
KCkgJiYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
NTE2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ5
IGludHJvZHVjaW5nIGFuIGlzb2xhdGVkQ29weSgpICYmLCB3ZSByZW1vdmUgdGhlIG5lZWQgdG8g
YWxsb2NhdGUgYSB2ZWN0b3IgYnVmZmVyLgorICAgICAgICBUaGlzIGNhbiBtYWtlIGEgVmVjdG9y
PFN0cmluZz46Omlzb2xhdGVkQ29weSgpIGFsbG9jYXRlIG5vIG1lbW9yeSBhdCBhbGwgaW4gY2Fz
ZXMgbGlrZSBSZWdpc3RyYXRpb25EYXRhYmFzZTo6c2NoZWR1bGVQdXNoQ2hhbmdlcy4KKworICAg
ICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6TWFsbG9jPjo6aXNvbGF0ZWRDb3B5
IGNvbnN0KToKKyAgICAgICAgKFdURjo6TWFsbG9jPjo6aXNvbGF0ZWRDb3B5KToKKwogMjAyMC0w
OC0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjUwOTcsIHIyNjUxMTMsIGFuZCByMjY1MTIyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvVmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3Iu
aAppbmRleCA3M2VkM2YzZjk0YTBlMTBkYzY3OTAyMzBkMTQ0YjgzOGI4NzFkNzQ4Li5mOThmODRl
NjM4Y2UyMjgwMzdlZjIwNGU4NmVhNzgyYjlhMTUzOGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaApAQCAtNzY5LDcgKzc2
OSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoKSB7IHNocmlua0NhcGFjaXR5KDApOyB9
CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVD4gVmVjdG9yPFU+IGlzb2xhdGVkQ29weSgp
IGNvbnN0OworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFUgPSBUPiBWZWN0b3I8VT4gaXNvbGF0ZWRD
b3B5KCkgY29uc3QgJjsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gVD4gVmVjdG9yPFU+IGlz
b2xhdGVkQ29weSgpICYmOwogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIGFwcGVuZChWYWx1ZVR5
cGUmJiB2YWx1ZSkgeyBhcHBlbmQ8VmFsdWVUeXBlPihzdGQ6OmZvcndhcmQ8VmFsdWVUeXBlPih2
YWx1ZSkpOyB9CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gQUxXQVlTX0lOTElORSB2b2lkIGFw
cGVuZChVJiYgdSkgeyBhcHBlbmQ8RmFpbHVyZUFjdGlvbjo6Q3Jhc2gsIFU+KHN0ZDo6Zm9yd2Fy
ZDxVPih1KSk7IH0KQEAgLTE2MDEsNyArMTYwMiw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0
cnVjdCBWYWx1ZUNoZWNrPFZlY3RvcjxUPj4gewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXpl
X3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlciwgc2l6ZV90IG1pbkNh
cGFjaXR5LCB0eXBlbmFtZSBNYWxsb2M+CiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgotaW5saW5lIFZl
Y3RvcjxVPiBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxlciwgbWluQ2Fw
YWNpdHksIE1hbGxvYz46Omlzb2xhdGVkQ29weSgpIGNvbnN0CitpbmxpbmUgVmVjdG9yPFU+IFZl
Y3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyLCBtaW5DYXBhY2l0eSwgTWFs
bG9jPjo6aXNvbGF0ZWRDb3B5KCkgY29uc3QgJgogewogICAgIFZlY3RvcjxVPiBjb3B5OwogICAg
IGNvcHkucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaXplKCkpOwpAQCAtMTYwOSw3ICsxNjEwLDE2
IEBAIGlubGluZSBWZWN0b3I8VT4gVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5LCBPdmVyZmxvd0hh
bmRsZXIsIG1pbkNhcGFjaXR5LCBNYWxsb2M+CiAgICAgICAgIGNvcHkudW5jaGVja2VkQXBwZW5k
KGVsZW1lbnQuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHJldHVybiBjb3B5OwogfQotICAgIAorCit0
ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJm
bG93SGFuZGxlciwgc2l6ZV90IG1pbkNhcGFjaXR5LCB0eXBlbmFtZSBNYWxsb2M+Cit0ZW1wbGF0
ZTx0eXBlbmFtZSBVPgoraW5saW5lIFZlY3RvcjxVPiBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHks
IE92ZXJmbG93SGFuZGxlciwgbWluQ2FwYWNpdHksIE1hbGxvYz46Omlzb2xhdGVkQ29weSgpICYm
Cit7CisgICAgZm9yIChhdXRvIGl0ZXJhdG9yID0gYmVnaW4oKSwgaXRlcmF0b3JFbmQgPSBlbmQo
KTsgaXRlcmF0b3IgPCBpdGVyYXRvckVuZDsgKytpdGVyYXRvcikKKyAgICAgICAgKml0ZXJhdG9y
ID0gV1RGTW92ZSgqaXRlcmF0b3IpLmlzb2xhdGVkQ29weSgpOworICAgIHJldHVybiBXVEZNb3Zl
KCp0aGlzKTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgVmVjdG9yVHlwZSwgdHlwZW5hbWUgRnVu
Yz4KIHNpemVfdCByZW1vdmVSZXBlYXRlZEVsZW1lbnRzKFZlY3RvclR5cGUmIHZlY3RvciwgY29u
c3QgRnVuYyYgZnVuYykKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCBmOTc1NThlNzM4OTYxYzQ1OTYxMjYxMzllODBhNGViZTQzMTJkZDc3Li45
MmY2MTA0MTUyYzU4YzU5YzA5YWQ3MTg5Y2QzZDUyMTJkYzc3NjI3IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAt
MDgtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEludHJv
ZHVjZSBhIFZlY3Rvcjo6aXNvbGF0ZWRDb3B5KCkgJiYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTE2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9y
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIwLTA4LTAzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXVtHVEtd
IHJ1bi1taW5pYnJvd3NlciBubyBsb25nZXIgYXNzdW1lcyByZWxlYXNlIGNvbmZpZ3VyYXRpb24g
YnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVj
dG9yLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHAKaW5kZXgg
MGNlNzZkZjg4NzE0ZDUxMGY4ZjhkNDU3N2RjNDViYjYxYTEzYTc5Ny4uMTAzODQzNjJiMTg0YjI1
MTgyNDk3MTQ0NThiN2M2ZWE5ODBjZDViYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvVmVjdG9yLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9WZWN0b3IuY3BwCkBAIC0xMjgsNiArMTI4LDM2IEBAIFRFU1QoV1RGX1ZlY3RvciwgQ29uc3Ry
dWN0V2l0aEZyb21TdHJpbmcpCiAgICAgRVhQRUNUX1RSVUUoczMuaXNOdWxsKCkpOwogfQogCitU
RVNUKFdURl9WZWN0b3IsIElzb2xhdGVDb3B5KQoreworICAgIFN0cmluZyBzMSA9ICJzMSI7Cisg
ICAgU3RyaW5nIHMyID0gInMyIjsKKworICAgIGF1dG8gdmVjdG9yMSA9IFZlY3RvcjxTdHJpbmc+
Ojpmcm9tKFdURk1vdmUoczEpLCBzMik7CisgICAgRVhQRUNUX0VRKDJVLCB2ZWN0b3IxLnNpemUo
KSk7CisgICAgRVhQRUNUX0VRKDJVLCB2ZWN0b3IxLmNhcGFjaXR5KCkpOworCisgICAgYXV0byog
ZGF0YTEgPSB2ZWN0b3IxWzBdLmltcGwoKTsKKyAgICBhdXRvKiBkYXRhMiA9IHZlY3RvcjFbMV0u
aW1wbCgpOworCisgICAgYXV0byB2ZWN0b3IyID0gdmVjdG9yMS5pc29sYXRlZENvcHkoKTsKKwor
ICAgIEVYUEVDVF9UUlVFKCJzMSIgPT0gdmVjdG9yMlswXSk7CisgICAgRVhQRUNUX1RSVUUoInMy
IiA9PSB2ZWN0b3IyWzFdKTsKKworICAgIEVYUEVDVF9GQUxTRShkYXRhMSA9PSB2ZWN0b3IyWzBd
LmltcGwoKSk7CisgICAgRVhQRUNUX0ZBTFNFKGRhdGEyID09IHZlY3RvcjJbMV0uaW1wbCgpKTsK
KworICAgIGF1dG8gdmVjdG9yMyA9IFdURk1vdmUodmVjdG9yMSkuaXNvbGF0ZWRDb3B5KCk7Cisg
ICAgRVhQRUNUX0VRKDBVLCB2ZWN0b3IxLnNpemUoKSk7CisKKyAgICBFWFBFQ1RfVFJVRSgiczEi
ID09IHZlY3RvcjNbMF0pOworICAgIEVYUEVDVF9UUlVFKCJzMiIgPT0gdmVjdG9yM1sxXSk7CisK
KyAgICBFWFBFQ1RfVFJVRShkYXRhMSA9PSB2ZWN0b3IzWzBdLmltcGwoKSk7CisgICAgRVhQRUNU
X0ZBTFNFKGRhdGEyID09IHZlY3RvcjNbMV0uaW1wbCgpKTsKK30KKwogVEVTVChXVEZfVmVjdG9y
LCBDb25zdHJ1Y3RXaXRoRnJvbU1vdmVPbmx5KQogewogICAgIGF1dG8gdmVjdG9yMSA9IFZlY3Rv
cjxNb3ZlT25seT46OmZyb20oTW92ZU9ubHkoMSkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>