<?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>130601</bug_id>
          
          <creation_ts>2014-03-21 09:48:25 -0700</creation_ts>
          <short_desc>Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed&lt;T&gt; in bridge/</short_desc>
          <delta_ts>2014-03-21 10:32:44 -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>New Bugs</component>
          <version>528+ (Nightly 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>130185</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>barraclough</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>mjs</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>993153</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-03-21 09:48:25 -0700</bug_when>
    <thetext>Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed&lt;T&gt; in bridge/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993157</commentid>
    <comment_count>1</comment_count>
      <attachid>227448</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-03-21 09:53:31 -0700</bug_when>
    <thetext>Created attachment 227448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993163</commentid>
    <comment_count>2</comment_count>
      <attachid>227448</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-03-21 10:00:01 -0700</bug_when>
    <thetext>Comment on attachment 227448
Patch

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

&gt; Source/WebCore/bridge/runtime_root.cpp:65
&gt; -    RootObjectSet::const_iterator end = rootObjectSet()-&gt;end();
&gt; -    for (RootObjectSet::const_iterator it = rootObjectSet()-&gt;begin(); it != end; ++it) {
&gt; +    RootObjectSet::const_iterator end = rootObjectSet().end();
&gt; +    for (RootObjectSet::const_iterator it = rootObjectSet().begin(); it != end; ++it) {
&gt;          if ((*it)-&gt;gcIsProtected(jsObject))
&gt;              return *it;
&gt;      }

I would’ve switched to a new style for loop if I had to touch this code for another reason.

    for (auto* rootObject : rootObjectSet()) {
        if (rootObject-&gt;gcIsProtected(jsObject))
            return rootObject;
    }

&gt; Source/WebCore/bridge/runtime_root.cpp:75
&gt; -    RootObjectSet::const_iterator end = rootObjectSet()-&gt;end();
&gt; -    for (RootObjectSet::const_iterator it = rootObjectSet()-&gt;begin(); it != end; ++it) {
&gt; +    RootObjectSet::const_iterator end = rootObjectSet().end();
&gt; +    for (RootObjectSet::const_iterator it = rootObjectSet().begin(); it != end; ++it) {
&gt;          if ((*it)-&gt;globalObject() == globalObject)
&gt;              return *it;
&gt;      }

I would’ve switched to a new style for loop if I had to touch this code for another reason.

    for (auto* rootObject : rootObjectSet()) {
        if (rootObject-&gt;globalObject() == globalObject)
            return rootObject;
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993188</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-03-21 10:32:44 -0700</bug_when>
    <thetext>Committed r166071: &lt;http://trac.webkit.org/changeset/166071&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227448</attachid>
            <date>2014-03-21 09:53:31 -0700</date>
            <delta_ts>2014-03-21 10:00:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130601-20140321175308.patch</filename>
            <type>text/plain</type>
            <size>5705</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ5MjFlNmIwMzc3ZDYx
NDA1ZmU3NWYyMjZhZDc1YWFkNDU5Zjc3Zi4uZDVlN2I3YmJlZDM5YmFjMWM3ODNiZjUxOTk4MTk0
NTVmYjY2MzJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTAzLTIxICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFJlcGxhY2Ug
REVQUkVDQVRFRF9ERUZJTkVfU1RBVElDX0xPQ0FMIGJ5IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxU
PiBpbiBicmlkZ2UvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzA2MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGJyaWRnZS9JZGVudGlmaWVyUmVwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlkZW50
aWZpZXJTZXQpOgorICAgICAgICAoV2ViQ29yZTo6aW50SWRlbnRpZmllck1hcCk6CisgICAgICAg
IChXZWJDb3JlOjpzdHJpbmdJZGVudGlmaWVyTWFwKToKKyAgICAgICAgKiBicmlkZ2UvTlBfanNv
YmplY3QuY3BwOgorICAgICAgICAob2JqZWN0TWFwKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGlt
ZV9yb290LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OnJvb3RPYmplY3RTZXQpOiBSZXR1
cm4gYSByZWZlcmVuY2UgaW5zdGVhZCBvZgorICAgICAgICBhIHBvaW50ZXIuCisgICAgICAgIChK
U0M6OkJpbmRpbmdzOjpmaW5kUHJvdGVjdGluZ1Jvb3RPYmplY3QpOgorICAgICAgICAoSlNDOjpC
aW5kaW5nczo6ZmluZFJvb3RPYmplY3QpOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6Um9vdE9i
amVjdDo6Um9vdE9iamVjdCk6CisgICAgICAgIChKU0M6OkJpbmRpbmdzOjpSb290T2JqZWN0Ojpp
bnZhbGlkYXRlKToKKwogMjAxNC0wMy0yMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgU3RvcCB1c2luZyBkZXByZWNhdGVkQ2hhcmFjdGVycyBpbiBXZWJDb3JlL3Bs
YXRmb3JtL3dpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJS
ZXAuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCmluZGV4IDI1
M2U0ODlhZjhjNjQ5ZmFhNTBlYmFmZmIxNjA5NDU2YjE1NjkzY2IuLjMwMzc3MDEwMGNhZjlkODZi
MDFmNzI1N2E3NGNlMzZhY2Q5Y2YyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9JZGVudGlmaWVyUmVwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmll
clJlcC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCkBAIC0zOSw3ICs0MCw3IEBAIHR5cGVkZWYgSGFzaFNldDxJZGVudGlmaWVyUmVw
Kj4gSWRlbnRpZmllclNldDsKIAogc3RhdGljIElkZW50aWZpZXJTZXQmIGlkZW50aWZpZXJTZXQo
KQogewotICAgIERFUFJFQ0FURURfREVGSU5FX1NUQVRJQ19MT0NBTChJZGVudGlmaWVyU2V0LCBp
ZGVudGlmaWVyU2V0LCAoKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPElkZW50aWZpZXJT
ZXQ+IGlkZW50aWZpZXJTZXQ7CiAgICAgcmV0dXJuIGlkZW50aWZpZXJTZXQ7CiB9CiAgICAgCkBA
IC00Nyw3ICs0OCw3IEBAIHR5cGVkZWYgSGFzaE1hcDxpbnQsIElkZW50aWZpZXJSZXAqPiBJbnRJ
ZGVudGlmaWVyTWFwOwogCiBzdGF0aWMgSW50SWRlbnRpZmllck1hcCYgaW50SWRlbnRpZmllck1h
cCgpCiB7Ci0gICAgREVQUkVDQVRFRF9ERUZJTkVfU1RBVElDX0xPQ0FMKEludElkZW50aWZpZXJN
YXAsIGludElkZW50aWZpZXJNYXAsICgpKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SW50
SWRlbnRpZmllck1hcD4gaW50SWRlbnRpZmllck1hcDsKICAgICByZXR1cm4gaW50SWRlbnRpZmll
ck1hcDsKIH0KIApAQCAtODEsNyArODIsNyBAQCB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmlu
Z0ltcGw+LCBJZGVudGlmaWVyUmVwKj4gU3RyaW5nSWRlbnRpZmllck1hcDsKIAogc3RhdGljIFN0
cmluZ0lkZW50aWZpZXJNYXAmIHN0cmluZ0lkZW50aWZpZXJNYXAoKQogewotICAgIERFUFJFQ0FU
RURfREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmdJZGVudGlmaWVyTWFwLCBzdHJpbmdJZGVudGlm
aWVyTWFwLCAoKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZ0lkZW50aWZpZXJN
YXA+IHN0cmluZ0lkZW50aWZpZXJNYXA7CiAgICAgcmV0dXJuIHN0cmluZ0lkZW50aWZpZXJNYXA7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvTlBfanNvYmplY3QuY3BwCmluZGV4IGVlYWQ5ZTIxMTQy
OWIwZWYzMDlmOGFjZTg5ZGYxMGRkMzg1ODhiODYuLjIzMjNjNzZiNDY5ZTI3N2IzMmFhNzdlMTM4
ZGQ3OGQwNWExNDliNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9OUF9qc29i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL05QX2pzb2JqZWN0LmNwcApAQCAt
NDMsNiArNDMsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvUHJvcGVydHlOYW1lQXJyYXkuaD4KICNp
bmNsdWRlIDxwYXJzZXIvU291cmNlQ29kZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvQ29tcGxldGlv
bi5oPgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAtOTcsNyArOTgsNyBAQCBw
cml2YXRlOgogCiBzdGF0aWMgT2JqZWN0TWFwJiBvYmplY3RNYXAoKQogewotICAgIERFUFJFQ0FU
RURfREVGSU5FX1NUQVRJQ19MT0NBTChPYmplY3RNYXAsIG1hcCwgKCkpOworICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxPYmplY3RNYXA+IG1hcDsKICAgICByZXR1cm4gbWFwOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuY3BwCmluZGV4IGE0OWZhNzMxMjkwZDFhMzg0MjM5
MmQ2MzczNWExMWRkZGE0N2VhZjAuLjliNWQ4Y2Y1ODE0OGQzOTk5OGMyMDIxMDQ2YWUxZWYzOThi
MWY3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuY3BwCkBAIC0zNCw2ICsz
NCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9KU0dsb2JhbE9iamVjdC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtNDYsMTAgKzQ3LDEwIEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgQmluZGluZ3MgewogCiB0eXBlZGVmIEhhc2hTZXQ8Um9vdE9iamVjdCo+IFJvb3RP
YmplY3RTZXQ7CiAKLXN0YXRpYyBSb290T2JqZWN0U2V0KiByb290T2JqZWN0U2V0KCkKK3N0YXRp
YyBSb290T2JqZWN0U2V0JiByb290T2JqZWN0U2V0KCkKIHsKLSAgICBERVBSRUNBVEVEX0RFRklO
RV9TVEFUSUNfTE9DQUwoUm9vdE9iamVjdFNldCwgc3RhdGljUm9vdE9iamVjdFNldCwgKCkpOwot
ICAgIHJldHVybiAmc3RhdGljUm9vdE9iamVjdFNldDsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8Um9vdE9iamVjdFNldD4gc3RhdGljUm9vdE9iamVjdFNldDsKKyAgICByZXR1cm4gc3RhdGlj
Um9vdE9iamVjdFNldDsKIH0KIAogLy8gRklYTUU6ICBUaGVzZSB0d28gZnVuY3Rpb25zIGFyZSBh
IHBvdGVudGlhbCBwZXJmb3JtYW5jZSBwcm9ibGVtLiAgV2UgY291bGQgCkBAIC01Nyw4ICs1OCw4
IEBAIHN0YXRpYyBSb290T2JqZWN0U2V0KiByb290T2JqZWN0U2V0KCkKIAogUm9vdE9iamVjdCog
ZmluZFByb3RlY3RpbmdSb290T2JqZWN0KEpTT2JqZWN0KiBqc09iamVjdCkKIHsKLSAgICBSb290
T2JqZWN0U2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSByb290T2JqZWN0U2V0KCktPmVuZCgpOwot
ICAgIGZvciAoUm9vdE9iamVjdFNldDo6Y29uc3RfaXRlcmF0b3IgaXQgPSByb290T2JqZWN0U2V0
KCktPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgIFJvb3RPYmplY3RTZXQ6OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IHJvb3RPYmplY3RTZXQoKS5lbmQoKTsKKyAgICBmb3IgKFJvb3RPYmpl
Y3RTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcm9vdE9iamVjdFNldCgpLmJlZ2luKCk7IGl0ICE9
IGVuZDsgKytpdCkgewogICAgICAgICBpZiAoKCppdCktPmdjSXNQcm90ZWN0ZWQoanNPYmplY3Qp
KQogICAgICAgICAgICAgcmV0dXJuICppdDsKICAgICB9CkBAIC02Nyw4ICs2OCw4IEBAIFJvb3RP
YmplY3QqIGZpbmRQcm90ZWN0aW5nUm9vdE9iamVjdChKU09iamVjdCoganNPYmplY3QpCiAKIFJv
b3RPYmplY3QqIGZpbmRSb290T2JqZWN0KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7
Ci0gICAgUm9vdE9iamVjdFNldDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gcm9vdE9iamVjdFNldCgp
LT5lbmQoKTsKLSAgICBmb3IgKFJvb3RPYmplY3RTZXQ6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcm9v
dE9iamVjdFNldCgpLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICBSb290T2JqZWN0
U2V0Ojpjb25zdF9pdGVyYXRvciBlbmQgPSByb290T2JqZWN0U2V0KCkuZW5kKCk7CisgICAgZm9y
IChSb290T2JqZWN0U2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IHJvb3RPYmplY3RTZXQoKS5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgaWYgKCgqaXQpLT5nbG9iYWxPYmplY3Qo
KSA9PSBnbG9iYWxPYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gKml0OwogICAgIH0KQEAgLTkw
LDcgKzkxLDcgQEAgUm9vdE9iamVjdDo6Um9vdE9iamVjdChjb25zdCB2b2lkKiBuYXRpdmVIYW5k
bGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgLCBtX2dsb2JhbE9iamVjdChn
bG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCkKIHsKICAgICBBU1NFUlQoZ2xvYmFsT2Jq
ZWN0KTsKLSAgICByb290T2JqZWN0U2V0KCktPmFkZCh0aGlzKTsKKyAgICByb290T2JqZWN0U2V0
KCkuYWRkKHRoaXMpOwogfQogCiBSb290T2JqZWN0Ojp+Um9vdE9iamVjdCgpCkBAIC0xMzQsNyAr
MTM1LDcgQEAgdm9pZCBSb290T2JqZWN0OjppbnZhbGlkYXRlKCkKICAgICAgICAgSlNDOjpnY1Vu
cHJvdGVjdChpdC0+a2V5KTsKICAgICBtX3Byb3RlY3RDb3VudFNldC5jbGVhcigpOwogCi0gICAg
cm9vdE9iamVjdFNldCgpLT5yZW1vdmUodGhpcyk7CisgICAgcm9vdE9iamVjdFNldCgpLnJlbW92
ZSh0aGlzKTsKIH0KIAogdm9pZCBSb290T2JqZWN0OjpnY1Byb3RlY3QoSlNPYmplY3QqIGpzT2Jq
ZWN0KQo=
</data>
<flag name="review"
          id="251701"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>