<?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>175974</bug_id>
          
          <creation_ts>2017-08-24 19:01:15 -0700</creation_ts>
          <short_desc>CacheQueryOptions::isolatedCopy() copies the cache name twice</short_desc>
          <delta_ts>2017-08-29 11:09:58 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>cdumez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1342298</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-24 19:01:15 -0700</bug_when>
    <thetext>CacheQueryOptions::isolatedCopy() copies the cache name twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342300</commentid>
    <comment_count>1</comment_count>
      <attachid>319054</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-24 19:03:49 -0700</bug_when>
    <thetext>Created attachment 319054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342304</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-24 19:06:52 -0700</bug_when>
    <thetext>I do not understand how we can came to the decision to have a user-defined constructor for CacheQueryOptions that makes an isolated copy of the passed string. I mean it seems weird that the constructor would charge for an isolated copy when a caller may not pass CacheQueryOptions to another thread. Or is the design that CacheQueryOptions is always passed to another thread?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342308</commentid>
    <comment_count>3</comment_count>
      <attachid>319054</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-24 19:21:41 -0700</bug_when>
    <thetext>Comment on attachment 319054
Patch

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

&gt; Source/WebCore/Modules/cache/CacheQueryOptions.h:-47
&gt; -    , cacheName(cacheName.isolatedCopy())

Wouh, that is a strange constructor!
This constructor might be needed for some platforms since CacheQueryOptions is initializing some variables.
If this patch compiles on win, this patch is fine.
Otherwise, the constructor should be kept and take a String&amp;&amp;.

r=me, waiting for win bot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342309</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-08-24 19:22:57 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #2)
&gt; I do not understand how we can came to the decision to have a user-defined
&gt; constructor for CacheQueryOptions that makes an isolated copy of the passed
&gt; string. I mean it seems weird that the constructor would charge for an
&gt; isolated copy when a caller may not pass CacheQueryOptions to another
&gt; thread. Or is the design that CacheQueryOptions is always passed to another
&gt; thread?

It is definitely a mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342318</commentid>
    <comment_count>5</comment_count>
      <attachid>319061</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-24 19:50:09 -0700</bug_when>
    <thetext>Created attachment 319061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343154</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-08-29 11:09:14 -0700</bug_when>
    <thetext>Committed r221306: &lt;http://trac.webkit.org/changeset/221306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343155</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-29 11:09:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/34136830&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319054</attachid>
            <date>2017-08-24 19:03:49 -0700</date>
            <delta_ts>2017-08-24 19:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175974-20170824190351.patch</filename>
            <type>text/plain</type>
            <size>2434</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTUwMjBjYmI3OWZlY2Vi
ZjJjOWFlNWMyYmEyNWQyMjUyNDNlMGM4My4uNTM5ZTc5ZjdkNDQ2MGNiODIwZWQ1YTM3MjQzMmQ5
MWNhZmE5MjIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA4LTI0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBDYWNoZVF1ZXJ5T3B0aW9u
czo6aXNvbGF0ZWRDb3B5KCkgY29waWVzIHRoZSBjYWNoZSBuYW1lIHR3aWNlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5NzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHkgQ2FjaGVRdWVy
eU9wdGlvbnMgaGFzIGEgdXNlci1kZWZpbmVkIGNvbnN0cnVjdG9yIHRoYXQgY2FsbHMgU3RyaW5n
Lmlzb2xhdGVkQ29weSgpCisgICAgICAgIG9uIHRoZSBwYXNzZWQgY2FjaGUgbmFtZS4gQ2FjaGVR
dWVyeU9wdGlvbnM6Omlzb2xhdGVkQ29weSgpIGFsc28gY2FsbHMgU3RyaW5nLmlzb2xhdGVkQ29w
eSgpCisgICAgICAgIG9uIHRoZSBjYWNoZSBuYW1lIGJlZm9yZSBwYXNzaW5nIHRoZSByZXN1bHQg
dG8gdGhlIHVzZXItZGVmaW5lZCBjb25zdHJ1Y3RvcjsgPT4gd2UgbWFsbG9jCisgICAgICAgIGFu
ZCBjb3B5IHRoZSBjYWNoZSBuYW1lIHR3aWNlLiBJbnN0ZWFkIHJlbW92ZSB0aGUgdXNlci1kZWZp
bmVkIGNvbnN0cnVjdG9yIHNvIHRoYXQKKyAgICAgICAgQ2FjaGVRdWVyeU9wdGlvbnM6Omlzb2xh
dGVkQ29weSgpIHVzZXMgYWdncmVnYXRlIGluaXRpYWxpemF0aW9uIHRvIGNvbnN0cnVjdCB0aGUg
aXNvbGF0ZWQKKyAgICAgICAgY29weSBhbmQgdGhlIGNhY2hlIG5hbWUgaXMgb25seSBjb3BpZWQg
b25jZS4KKworICAgICAgICAqIE1vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zOjpDYWNoZVF1ZXJ5T3B0aW9ucyk6IERl
bGV0ZWQuCisKKzIwMTctMDgtMjQgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgor
CiAgICAgICAgIElubGluZVRleHRCb3g6OnBhaW50RG9jdW1lbnRNYXJrZXIoKSBkb2VzIG5vdCBu
ZWVkIHRvIHNwZWNpYWwgY2FzZSBwYWludGluZyBvZiBncmFtbWFyIGFuZAogICAgICAgICBkaWN0
YXRpb24gYWx0ZXJuYXRpdmVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzU5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2Fj
aGUvQ2FjaGVRdWVyeU9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2Fj
aGVRdWVyeU9wdGlvbnMuaAppbmRleCA3NDI3YjhkYmIwN2YwNjgwNWQ2YjE0NmZjMDg5NTg2Y2Ji
N2YyNmYxLi4wMWZkYzkzN2M3NTE4MTUzZTAwYmNjYjdlZDU5MWE1ODExNDRmMmRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oCkBAIC0z
MCw4ICszMCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDYWNoZVF1ZXJ5T3B0
aW9ucyB7Ci0gICAgQ2FjaGVRdWVyeU9wdGlvbnMoKSA9IGRlZmF1bHQ7Ci0gICAgQ2FjaGVRdWVy
eU9wdGlvbnMoYm9vbCBpZ25vcmVTZWFyY2gsIGJvb2wgaWdub3JlTWV0aG9kLCBib29sIGlnbm9y
ZVZhcnksIFN0cmluZyBjYWNoZU5hbWUpOwogICAgIENhY2hlUXVlcnlPcHRpb25zIGlzb2xhdGVk
Q29weSgpIGNvbnN0IHsgcmV0dXJuIHsgaWdub3JlU2VhcmNoLCBpZ25vcmVNZXRob2QsIGlnbm9y
ZVZhcnksIGNhY2hlTmFtZS5pc29sYXRlZENvcHkoKSB9OyB9CiAKICAgICBib29sIGlnbm9yZVNl
YXJjaCB7IGZhbHNlIH07CkBAIC00MCwxMiArMzgsNCBAQCBzdHJ1Y3QgQ2FjaGVRdWVyeU9wdGlv
bnMgewogICAgIFN0cmluZyBjYWNoZU5hbWU7CiB9OwogCi1pbmxpbmUgQ2FjaGVRdWVyeU9wdGlv
bnM6OkNhY2hlUXVlcnlPcHRpb25zKGJvb2wgaWdub3JlU2VhcmNoLCBib29sIGlnbm9yZU1ldGhv
ZCwgYm9vbCBpZ25vcmVWYXJ5LCBTdHJpbmcgY2FjaGVOYW1lKQotICAgIDogaWdub3JlU2VhcmNo
KGlnbm9yZVNlYXJjaCkKLSAgICAsIGlnbm9yZU1ldGhvZChpZ25vcmVNZXRob2QpCi0gICAgLCBp
Z25vcmVWYXJ5KGlnbm9yZVZhcnkpCi0gICAgLCBjYWNoZU5hbWUoY2FjaGVOYW1lLmlzb2xhdGVk
Q29weSgpKQotewotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319061</attachid>
            <date>2017-08-24 19:50:09 -0700</date>
            <delta_ts>2017-08-24 19:50:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175974-20170824195011.patch</filename>
            <type>text/plain</type>
            <size>2610</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTUwMjBjYmI3OWZlY2Vi
ZjJjOWFlNWMyYmEyNWQyMjUyNDNlMGM4My4uNzVjYjQzOWMyY2ExYjMwMWNlYjk2Zjc4NzJlOGEy
MWFiOTVjYjU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA4LTI0ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBDYWNoZVF1ZXJ5T3B0aW9u
czo6aXNvbGF0ZWRDb3B5KCkgY29waWVzIHRoZSBjYWNoZSBuYW1lIHR3aWNlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU5NzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIEN1cnJlbnRseSBDYWNoZVF1ZXJ5
T3B0aW9ucyBoYXMgYSB1c2VyLWRlZmluZWQgY29uc3RydWN0b3IgdGhhdCBjYWxscyBTdHJpbmcu
aXNvbGF0ZWRDb3B5KCkKKyAgICAgICAgb24gdGhlIHBhc3NlZCBjYWNoZSBuYW1lLiBDYWNoZVF1
ZXJ5T3B0aW9uczo6aXNvbGF0ZWRDb3B5KCkgYWxzbyBjYWxscyBTdHJpbmcuaXNvbGF0ZWRDb3B5
KCkKKyAgICAgICAgb24gdGhlIGNhY2hlIG5hbWUgYmVmb3JlIHBhc3NpbmcgdGhlIHJlc3VsdCB0
byB0aGUgdXNlci1kZWZpbmVkIGNvbnN0cnVjdG9yOyA9PiB3ZSBtYWxsb2MKKyAgICAgICAgYW5k
IGNvcHkgdGhlIGNhY2hlIG5hbWUgdHdpY2UuIEluc3RlYWQgcmVtb3ZlIHRoZSB1c2VyLWRlZmlu
ZWQgY29uc3RydWN0b3Igc28gdGhhdAorICAgICAgICBDYWNoZVF1ZXJ5T3B0aW9uczo6aXNvbGF0
ZWRDb3B5KCkgdXNlcyBhZ2dyZWdhdGUgaW5pdGlhbGl6YXRpb24gdG8gY29uc3RydWN0IHRoZSBp
c29sYXRlZAorICAgICAgICBjb3B5IGFuZCB0aGUgY2FjaGUgbmFtZSBpcyBvbmx5IGNvcGllZCBv
bmNlLgorCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnM6OkNhY2hlUXVlcnlPcHRpb25zKTogRGVs
ZXRlZC4KKworMjAxNy0wOC0yNCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisK
ICAgICAgICAgSW5saW5lVGV4dEJveDo6cGFpbnREb2N1bWVudE1hcmtlcigpIGRvZXMgbm90IG5l
ZWQgdG8gc3BlY2lhbCBjYXNlIHBhaW50aW5nIG9mIGdyYW1tYXIgYW5kCiAgICAgICAgIGRpY3Rh
dGlvbiBhbHRlcm5hdGl2ZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NTk2NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9DYWNoZVF1ZXJ5T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5oCmluZGV4IDc0MjdiOGRiYjA3ZjA2ODA1ZDZiMTQ2ZmMwODk1ODZjYmI3
ZjI2ZjEuLjRhY2UzZTA3ZTJkNTE2NzcwNmY5ZTJjMzdhMzQ4NDE5YzhmMjU3ZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmgKQEAgLTMw
LDkgKzMwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IENhY2hlUXVlcnlPcHRp
b25zIHsKLSAgICBDYWNoZVF1ZXJ5T3B0aW9ucygpID0gZGVmYXVsdDsKLSAgICBDYWNoZVF1ZXJ5
T3B0aW9ucyhib29sIGlnbm9yZVNlYXJjaCwgYm9vbCBpZ25vcmVNZXRob2QsIGJvb2wgaWdub3Jl
VmFyeSwgU3RyaW5nIGNhY2hlTmFtZSk7Ci0gICAgQ2FjaGVRdWVyeU9wdGlvbnMgaXNvbGF0ZWRD
b3B5KCkgY29uc3QgeyByZXR1cm4geyBpZ25vcmVTZWFyY2gsIGlnbm9yZU1ldGhvZCwgaWdub3Jl
VmFyeSwgY2FjaGVOYW1lLmlzb2xhdGVkQ29weSgpIH07IH0KKyAgICBDYWNoZVF1ZXJ5T3B0aW9u
cyBpc29sYXRlZENvcHkoKSBjb25zdCB7IHJldHVybiBDYWNoZVF1ZXJ5T3B0aW9ucyB7IGlnbm9y
ZVNlYXJjaCwgaWdub3JlTWV0aG9kLCBpZ25vcmVWYXJ5LCBjYWNoZU5hbWUuaXNvbGF0ZWRDb3B5
KCkgfTsgfQogCiAgICAgYm9vbCBpZ25vcmVTZWFyY2ggeyBmYWxzZSB9OwogICAgIGJvb2wgaWdu
b3JlTWV0aG9kIHsgZmFsc2UgfTsKQEAgLTQwLDEyICszOCw0IEBAIHN0cnVjdCBDYWNoZVF1ZXJ5
T3B0aW9ucyB7CiAgICAgU3RyaW5nIGNhY2hlTmFtZTsKIH07CiAKLWlubGluZSBDYWNoZVF1ZXJ5
T3B0aW9uczo6Q2FjaGVRdWVyeU9wdGlvbnMoYm9vbCBpZ25vcmVTZWFyY2gsIGJvb2wgaWdub3Jl
TWV0aG9kLCBib29sIGlnbm9yZVZhcnksIFN0cmluZyBjYWNoZU5hbWUpCi0gICAgOiBpZ25vcmVT
ZWFyY2goaWdub3JlU2VhcmNoKQotICAgICwgaWdub3JlTWV0aG9kKGlnbm9yZU1ldGhvZCkKLSAg
ICAsIGlnbm9yZVZhcnkoaWdub3JlVmFyeSkKLSAgICAsIGNhY2hlTmFtZShjYWNoZU5hbWUuaXNv
bGF0ZWRDb3B5KCkpCi17Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>