<?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>131196</bug_id>
          
          <creation_ts>2014-04-03 17:40:16 -0700</creation_ts>
          <short_desc>Fast-path for casting JS wrappers to JSNode.</short_desc>
          <delta_ts>2014-04-03 22:08:45 -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>Bindings</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>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>997396</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-03 17:40:16 -0700</bug_when>
    <thetext>We should have a fast-path for casting JS wrappers to JSNode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997407</commentid>
    <comment_count>1</comment_count>
      <attachid>228567</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-03 18:09:31 -0700</bug_when>
    <thetext>Created attachment 228567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997416</commentid>
    <comment_count>2</comment_count>
      <attachid>228567</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-04-03 18:18:55 -0700</bug_when>
    <thetext>Comment on attachment 228567
Patch

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

r=me with comments

&gt; Source/WebCore/bindings/js/JSDOMWrapper.h:33
&gt; +    JSNodeExtendedType = 0,

I&apos;d say something like:

JSNodeType = ExtendedObjectType,

That way you don&apos;t have to remember to do the addition later, and you don&apos;t have to keep typing &quot;Extended&quot; everywhere :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997420</commentid>
    <comment_count>3</comment_count>
      <attachid>228567</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-03 18:23:54 -0700</bug_when>
    <thetext>Comment on attachment 228567
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/JSObject.h:1125
&gt; +    return type() &gt;= VariableObjectType &amp;&amp; type() &lt; ExtendedObjectType;

I think this would be clearer as &quot;== GlobalObjectType || == ActivationObjectType&quot; (removing VariableObjectType altogether).

&gt; Source/JavaScriptCore/runtime/JSType.h:73
&gt; +    // We use (&gt;=VariableObjectType &amp;&amp; &lt;ExtendedObjectType) checks to test for Global &amp; Activation objects, but exclude NameScopes.

Space. And see comment above.

&gt; Source/JavaScriptCore/runtime/JSType.h:79
&gt; +    ExtendedObjectType,

I would call this &quot;LastJSCType = ActivationObjectType&quot;, or something like that.

&gt; Source/WebCore/bindings/js/JSNodeCustom.h:85
&gt; +    return value.asCell()-&gt;type() == (JSC::ExtendedObjectType + JSNodeExtendedType) ? JSC::jsCast&lt;JSNode*&gt;(value) : nullptr;

It kind of stinks that the client of the constant needs to know that the constant isn&apos;t the right value to test, and you have to add something else in. Can we just make a JSNodeType constant that includes JSC::ExtendedObjectType?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997443</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-03 19:30:12 -0700</bug_when>
    <thetext>Committed r166760: &lt;http://trac.webkit.org/changeset/166760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997468</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-03 22:08:45 -0700</bug_when>
    <thetext>Broke bindings tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228567</attachid>
            <date>2014-04-03 18:09:31 -0700</date>
            <delta_ts>2014-04-03 18:23:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131196.diff</filename>
            <type>text/plain</type>
            <size>6459</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDhhNTdlNzIuLjdkYTJiNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA0LTAzICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBGYXN0LXBhdGggZm9yIGNhc3RpbmcgSlMg
d3JhcHBlcnMgdG8gSlNOb2RlLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTMxMTk2
PgorCisgICAgICAgIEFkZCBhbiAiZXh0ZW5kZWQiIG9iamVjdCB0eXBlIHRvIEpTVHlwZS4gQW55
IHZhbHVlID49IEV4dGVuZGVkT2JqZWN0VHlwZQorICAgICAgICBjYW4gYmUgdXNlZCBieSBXZWJD
b3JlIHRvIHN0b3JlIGZpbmVyIGluZm9ybWF0aW9uIGFib3V0IHRoZSB3cmFwcGVyIHR5cGUuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1l
L0pTVHlwZS5oOgorCisgICAgICAgICAgICBBZGRlZCBFeHRlbmRlZE9iamVjdFR5cGUgZm9yIHVz
ZSBieSBXZWJDb3JlLgorCisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6aXNWYXJpYWJsZU9iamVjdCk6CisKKyAgICAgICAgICAgIFVwZGF0ZWQg
c2luY2UgdGhpcyBjYW4gbm8gbG9uZ2VyIGFzc3VtZSB0aGF0IHR5cGVzID49IFZhcmlhYmxlT2Jq
ZWN0VHlwZQorICAgICAgICAgICAgYXJlIGFsbCB2YXJpYWJsZSBvYmplY3RzLgorCiAyMDE0LTA0
LTAzICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYml0IHJv
dCBpbiBBUk12NyBKSVQgcHJvYmUgbWVjaGFuaXNtLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKaW5kZXggMjg2NmZhNS4uZjE5MzJhNiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0xMTIyLDcgKzExMjIsNyBAQCBpbmxpbmUgYm9v
bCBKU09iamVjdDo6aXNHbG9iYWxPYmplY3QoKSBjb25zdAogCiBpbmxpbmUgYm9vbCBKU09iamVj
dDo6aXNWYXJpYWJsZU9iamVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHR5cGUoKSA+PSBWYXJp
YWJsZU9iamVjdFR5cGU7CisgICAgcmV0dXJuIHR5cGUoKSA+PSBWYXJpYWJsZU9iamVjdFR5cGUg
JiYgdHlwZSgpIDwgRXh0ZW5kZWRPYmplY3RUeXBlOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNUeXBlLmgKaW5kZXggNTcxYTNhYy4uOTRkNmY0MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNUeXBlLmgKQEAgLTcwLDEwICs3MCwxMyBAQCBlbnVtIEpTVHlwZSA6
IHVpbnQ4X3QgewogCiAgICAgTmFtZVNjb3BlT2JqZWN0VHlwZSwKICAgICAvLyBWYXJpYWJsZU9i
amVjdFR5cGUgbXVzdCBiZSBsZXNzIHRoYW4gTU9TVCBvZiB0aGUgdHlwZXMgb2YgaXRzIHN1YmNs
YXNzZXMgYW5kIG9ubHkgaXRzIHN1YmNsYXNzZXMuCi0gICAgLy8gV2UgdXNlID49VmFyaWFibGVP
YmplY3RUeXBlIGNoZWNrcyB0byB0ZXN0IGZvciBHbG9iYWwgJiBBY3RpdmF0aW9uIG9iamVjdHMs
IGJ1dCBleGNsdWRlIE5hbWVTY29wZXMuCisgICAgLy8gV2UgdXNlICg+PVZhcmlhYmxlT2JqZWN0
VHlwZSAmJiA8RXh0ZW5kZWRPYmplY3RUeXBlKSBjaGVja3MgdG8gdGVzdCBmb3IgR2xvYmFsICYg
QWN0aXZhdGlvbiBvYmplY3RzLCBidXQgZXhjbHVkZSBOYW1lU2NvcGVzLgogICAgIFZhcmlhYmxl
T2JqZWN0VHlwZSwKICAgICBHbG9iYWxPYmplY3RUeXBlLAogICAgIEFjdGl2YXRpb25PYmplY3RU
eXBlLAorICAgIAorICAgIC8vIFRoaXMgbXVzdCBhbHdheXMgYmUgdGhlIGxhc3QgdHlwZS4KKyAg
ICBFeHRlbmRlZE9iamVjdFR5cGUsCiB9OwogCiBDT01QSUxFX0FTU0VSVChzaXplb2YoSlNUeXBl
KSA9PSBzaXplb2YodWludDhfdCksIHNpemVvZl9qc3R5cGVfaXNfb25lX2J5dGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDU5ZTFiMTguLjA5NDJlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAx
NC0wNC0wMyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAgRmFz
dC1wYXRoIGZvciBjYXN0aW5nIEpTIHdyYXBwZXJzIHRvIEpTTm9kZS4KKyAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzEzMTE5Nj4KKworICAgICAgICBBZGQgYSB3YXkgdG8gcXVpY2tseSBk
ZXRlcm1pbmUgdGhhdCBhIGdpdmVuIEpTT2JqZWN0IGlzIGEgSlNOb2RlLgorICAgICAgICBUaGlz
IGxldHMgdXMgYXZvaWQgd2Fsa2luZyB0aGUgQ2xhc3NJbmZvIGNoYWluIGluIHRoZSBET00gYmlu
ZGluZ3MKKyAgICAgICAgZm9yIFdlYkNvcmU6Ok5vZGUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaDoK
KworICAgICAgICAgICAgQWRkZWQgYSBFeHRlbmRlZEpTRE9NV3JhcHBlclR5cGUgZW51bSB3aGVy
ZSB3ZSBjYW4gYWRkIGV4dGVuZGVkCisgICAgICAgICAgICBvYmplY3QgdHlwZXMgdGhhdCBzaXQg
b24gdG9wIG9mIEpTQzo6RXh0ZW5kZWRPYmplY3RUeXBlLgorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNOb2RlQ3VzdG9tLmg6CisgICAgICAgIChXZWJDb3JlOjpqc05vZGVDYXN0KToKKworICAg
ICAgICAgICAgQWRkZWQuIEZhc3QgY2FzdCBmcm9tIEpTVmFsdWUgdG8gSlNOb2RlLgorCisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5l
cmF0ZUhlYWRlcik6CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKworICAgICAg
ICAgICAgR2VuZXJhdGUgY29kZSB0aGF0IHVzZXMganNOb2RlQ2FzdCBpbiBOb2RlIGludGVyZmFj
ZXMuCisKIDIwMTQtMDQtMDMgIEJlbSBKb25lcy1CZXkgIDxiam9uZXNiZUBhZG9iZS5jb20+CiAK
ICAgICAgICAgTWVyZ2UgU2hhcGVJbmZvICYgU2hhcGVPdXRzaWRlSW5mbyBub3cgdGhhdCBTaGFw
ZUluc2lkZUluZm8gaXMgbm8gbW9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdy
YXBwZXIuaAppbmRleCAwMjZkY2Q5My4uNGNjMjQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XcmFwcGVyLmgKQEAgLTI5LDYgKzI5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAorZW51bSBFeHRlbmRlZEpTRE9N
V3JhcHBlclR5cGUgOiB1aW50OF90IHsKKyAgICBKU05vZGVFeHRlbmRlZFR5cGUgPSAwLAorfTsK
KwogY2xhc3MgSlNET01XcmFwcGVyIDogcHVibGljIEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3Qg
ewogcHVibGljOgogICAgIHR5cGVkZWYgSlNDOjpKU0Rlc3RydWN0aWJsZU9iamVjdCBCYXNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uaAppbmRleCBiZjdjOWExLi42
ODg4ZTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0
b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uaApAQCAt
NzgsNiArNzgsMTMgQEAgaW5saW5lIHZvaWQqIHJvb3QoTm9kZSYgbm9kZSkKICAgICByZXR1cm4g
cm9vdCgmbm9kZSk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNOb2RlKiBqc05vZGVDYXN0KEpTQzo6
SlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBpZiAoVU5MSUtFTFkoIXZhbHVlLmlzQ2VsbCgpKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHZhbHVlLmFzQ2VsbCgpLT50eXBlKCkg
PT0gKEpTQzo6RXh0ZW5kZWRPYmplY3RUeXBlICsgSlNOb2RlRXh0ZW5kZWRUeXBlKSA/IEpTQzo6
anNDYXN0PEpTTm9kZSo+KHZhbHVlKSA6IG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEpTRE9NTm9kZUN1c3RvbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGQxOTNmNzguLmM5
OGE0OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtCkBAIC05NTksNiArOTU5LDggQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB7XG4iKTsKICAgICBpZiAoSXNET01HbG9iYWxPYmpl
Y3QoJGludGVyZmFjZSkpIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAgICAg
cmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBKU0M6OlR5cGVJbmZvKEpTQzo6R2xvYmFsT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBp
bmZvKCkpO1xuIik7CisgICAgfSBlbHNpZiAoJGNvZGVHZW5lcmF0b3ItPkluaGVyaXRzSW50ZXJm
YWNlKCRpbnRlcmZhY2UsICJOb2RlIikpIHsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
IiAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6SlNUeXBlKEpTQzo6RXh0ZW5kZWRPYmplY3RU
eXBlICsgSlNOb2RlRXh0ZW5kZWRUeXBlKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpO1xuIik7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICAgICAgcmV0
dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBK
U0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpO1xu
Iik7CiAgICAgfQpAQCAtMjEzMCw3ICsyMTMyLDExIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0
aW9uCiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NO
YW1lfSogY2FzdGVkVGhpcyA9IHRvJHtjbGFzc05hbWV9KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFs
dWUpKTtcbiIpOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBV
TlVTRURfUEFSQU0oc2xvdEJhc2UpO1xuIik7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBj
YXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDwkY2xhc3NOYW1lKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpO1xuIik7CisgICAgICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBl
cSAiTm9kZSIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIEpTTm9kZSogY2FzdGVkVGhpcyA9IGpzTm9kZUNhc3QoSlNWYWx1ZTo6ZGVjb2RlKHRoaXNW
YWx1ZSkpO1xuIik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIGNhc3RlZFRo
aXMgPSBqc0R5bmFtaWNDYXN0PCRjbGFzc05hbWUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSk7XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICBVTlVTRURfUEFSQU0oc2xvdEJhc2UpO1xuIik7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCJ9ID0gMTsK
</data>
<flag name="review"
          id="252862"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>