<?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>130553</bug_id>
          
          <creation_ts>2014-03-20 18:40:22 -0700</creation_ts>
          <short_desc>Change CodeGeneratorJS.pm special cases for &quot;DOMWindow&quot; to be general purpose</short_desc>
          <delta_ts>2014-03-28 11:14:08 -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>JavaScriptCore</component>
          <version>528+ (Nightly 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>
          
          <blocked>130554</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>992853</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-20 18:40:22 -0700</bug_when>
    <thetext>There are many places in CodeGeneratorJS.pm where there is if ($interfaceName eq &quot;DOMWindow&quot;) that will emit code to return the JSDOMWindowShell* associated with the JSDOMWindow.  This should be changed to be more general purpose so it can be used by JSWorkerGlobalScope based objects that have a similar need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992880</commentid>
    <comment_count>1</comment_count>
      <attachid>227374</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-20 21:02:33 -0700</bug_when>
    <thetext>Created attachment 227374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992913</commentid>
    <comment_count>2</comment_count>
      <attachid>227374</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-03-20 22:36:54 -0700</bug_when>
    <thetext>Comment on attachment 227374
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2379
&gt;                  push(@implContent, &quot;    if (UNLIKELY(!castedThis)) {\n&quot;);
&gt;                  push(@implContent, &quot;        if (JSDOMWindowShell* shell = jsDynamicCast&lt;JSDOMWindowShell*&gt;(JSValue::decode(thisValue)))\n&quot;);
&gt;                  push(@implContent, &quot;            castedThis = shell-&gt;window();\n&quot;);
&gt;                  push(@implContent, &quot;    }\n&quot;);

Is this section still needed?  In the other 3 sites where you did this change, you removed this null check and the computing of the result from shell-&gt;window().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992919</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-20 22:59:40 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 227374 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=227374&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2379
&gt; &gt;                  push(@implContent, &quot;    if (UNLIKELY(!castedThis)) {\n&quot;);
&gt; &gt;                  push(@implContent, &quot;        if (JSDOMWindowShell* shell = jsDynamicCast&lt;JSDOMWindowShell*&gt;(JSValue::decode(thisValue)))\n&quot;);
&gt; &gt;                  push(@implContent, &quot;            castedThis = shell-&gt;window();\n&quot;);
&gt; &gt;                  push(@implContent, &quot;    }\n&quot;);
&gt; 
&gt; Is this section still needed?  In the other 3 sites where you did this change, you removed this null check and the computing of the result from shell-&gt;window().

You are right, this section is redundant with what&apos;s in toJSDOMWimdow().  I&apos;ll remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992926</commentid>
    <comment_count>4</comment_count>
      <attachid>227374</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-03-20 23:20:19 -0700</bug_when>
    <thetext>Comment on attachment 227374
Patch

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

r=me

&gt; Source/WebCore/bindings/scripts/IDLAttributes.txt:46
&gt; +CustomProxyToJSObject

Seems like we should just call this &quot;CustomToJSObject&quot;. Even though only proxies happen to use this feature, the feature doesn&apos;t need to be tightly coupled to proxies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993075</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-21 07:12:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 227374 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=227374&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/IDLAttributes.txt:46
&gt; &gt; +CustomProxyToJSObject
&gt; 
&gt; Seems like we should just call this &quot;CustomToJSObject&quot;. Even though only proxies happen to use this feature, the feature doesn&apos;t need to be tightly coupled to proxies.

CustomToJSObject is already taken and used in a wider variety of places.  Also there are two instances where the custom to*() returns a RefPtr.  Therefore I chose a different name.  I&apos;m open to suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993177</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-21 10:16:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 227374 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=227374&amp;action=review
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/bindings/scripts/IDLAttributes.txt:46
&gt; &gt; &gt; +CustomProxyToJSObject
&gt; &gt; 
&gt; &gt; Seems like we should just call this &quot;CustomToJSObject&quot;. Even though only proxies happen to use this feature, the feature doesn&apos;t need to be tightly coupled to proxies.
&gt; 
&gt; CustomToJSObject is already taken and used in a wider variety of places.  Also there are two instances where the custom to*() returns a RefPtr.  Therefore I chose a different name.  I&apos;m open to suggestions.

I looked into this again.  CustomToJSObject is used for a custom &quot;toJS()&quot;.  It is JSCustomToNativeObject that is used for a custom &quot;to&lt;className&gt;()&quot;, which I also tried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993185</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-21 10:29:36 -0700</bug_when>
    <thetext>Committed r166070: &lt;http://trac.webkit.org/changeset/166070&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994308</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-25 13:28:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/15940627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994619</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-26 10:30:19 -0700</bug_when>
    <thetext>Reopened as changed was rolled out in &lt;http://trac.webkit.org/changeset/166249&gt; due to page load time performance regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995399</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-03-28 11:14:08 -0700</bug_when>
    <thetext>Relanded in change set r166040 - &lt;http://trac.webkit.org/changeset/166404&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227374</attachid>
            <date>2014-03-20 21:02:33 -0700</date>
            <delta_ts>2014-03-20 23:20:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>130553.patch</filename>
            <type>text/plain</type>
            <size>8908</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE0LTAzLTIwICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBDb2RlR2VuZXJh
dG9ySlMucG0gc3BlY2lhbCBjYXNlcyBmb3IgIkRPTVdpbmRvdyIgdG8gYmUgZ2VuZXJhbCBwdXJw
b3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA1
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbGlt
aW5hdGVkICdpZiAoJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsnIHNlY3Rpb25zIGlu
IENvZGVHZW5lcmF0b3JKUyB3aGVyZQorICAgICAgICBpdCB3YXMgdXNlZCB0byBkbyBET01XaW5k
b3cgc3BlY2lmaWMgY2FzdGluZyB0byBhIEpTT2JqZWN0LCBlaXRoZXIgYSBKU0RPTVdpbmRvdyog
b3IKKyAgICAgICAgYSBKU0RPTVdpbmRvd1NoZWxsKi4gIEluc3RlYWQgdGhlIGNvZGUgZ2VuZXJh
dG9yIHdpbGwgdXNlIHRoZSBleGlzdGluZyAKKyAgICAgICAgSlNET01XaW5kb3cqIHRvSlNET01X
aW5kb3coSlNWYWx1ZSB2YWx1ZSkgZnVuY3Rpb24gYmFzZWQgb24gYSBuZXdseSBhZGRlZCBhdHRy
aWJ1dGUKKyAgICAgICAgIkN1c3RvbVByb3h5VG9KU09iamVjdCIuICBUaGF0IGF0dHJpYnV0ZSB3
aWxsIGVtaXQgYSBjYWxsIHRvIHRoZSBmdW5jdGlvbgorICAgICAgICAke2NsYXNzTmFtZX0qIHRv
JHtjbGFzc05hbWV9KEpTVmFsdWUpLgorCisgICAgICAgIFRoaXMgaXMgYmVpbmcgZG9uZSB0byBj
bGVhbiB1cCB0aGUgY29kZSBnZW5lcmF0b3IgYW5kIGZvciBhIHN1YnNlcXVlbnQgcGF0Y2ggdGhh
dAorICAgICAgICB3aWxsIHVzZSBhIHNpbWlsYXIgY3VzdG9tIHRve2NsYXNzTmFtZX0gZnVuY3Rp
b24gZm9yIHdvcmtlcnMsCisgICAgICAgIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUqIHRv
SlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShKU1ZhbHVlKS4KKworICAgICAgICBDaGFuZ2Vz
IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDE0LTAzLTIwICBUaGlhZ28gZGUgQmFycm9zIExhY2Vy
ZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtFRkxdW0dUS10g
R2V0IENNYWtlIHRvIGZpbmQgRnJlZXR5cGUyIHByb3Blcmx5CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQkocmV2aXNpb24g
MTY2MDM3KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTIxMjcsMTIgKzIxMjcsOCBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKIAog
ICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlLT5pc1N0YXRpYyB8fCAkYXR0cmlidXRlLT5zaWdu
YXR1cmUtPnR5cGUgPX4gL0NvbnN0cnVjdG9yJC8pIHsKLSAgICAgICAgICAgICAgICBpZiAoJGlu
dGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2Fz
dDwkY2xhc3NOYW1lKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpO1xuIik7Ci0gICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlmIChVTkxJS0VMWSghY2FzdGVk
VGhpcykpIHtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAgICAgaWYgKEpTRE9NV2luZG93U2hlbGwqIHNoZWxsID0ganNEeW5hbWljQ2FzdDxKU0RPTVdp
bmRvd1NoZWxsKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKVxuIik7Ci0gICAgICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgY2FzdGVkVGhpcyA9IHNo
ZWxsLT53aW5kb3coKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkN1c3RvbVByb3h5VG9KU09iamVjdCJ9KSB7CisgICAgICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogY2FzdGVkVGhpcyA9IHRv
JHtjbGFzc05hbWV9KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwogICAgICAgICAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBVTlVTRURfUEFSQU0oc2xvdEJhc2Up
O1xuIik7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBjYXN0ZWRUaGlzID0ganNEeW5hbWlj
Q2FzdDwkY2xhc3NOYW1lKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpO1xuIik7CkBAIC0y
MzUwLDEyICsyMzQ2LDggQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICBVTlVTRURfUEFSQU0oYmFzZVZhbHVlKTtcbiIpOwogICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgVU5VU0VEX1BBUkFNKHRoaXNWYWx1ZSk7XG4iKTsKLSAgICAgICAg
ICAgIGlmICgkaW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IikgewotICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogZG9tT2JqZWN0ID0ganNEeW5h
bWljQ2FzdDwkY2xhc3NOYW1lKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpO1xuIik7Ci0g
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKCFkb21PYmplY3QpIHtc
biIpOwotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBpZiAoSlNE
T01XaW5kb3dTaGVsbCogc2hlbGwgPSBqc0R5bmFtaWNDYXN0PEpTRE9NV2luZG93U2hlbGwqPihK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpXG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICAgICAgICAgIGRvbU9iamVjdCA9IHNoZWxsLT53aW5kb3coKTtcbiIp
OwotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbiIpOworICAgICAg
ICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Qcm94eVRv
SlNPYmplY3QifSkgeworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7
Y2xhc3NOYW1lfSogZG9tT2JqZWN0ID0gdG8ke2NsYXNzTmFtZX0oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpO1xuIik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogZG9tT2JqZWN0ID0ganNEeW5hbWlj
Q2FzdDwke2NsYXNzTmFtZX0qPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7XG4iKSBpZiBD
b25zdHJ1Y3RvclNob3VsZEJlT25JbnN0YW5jZSgkaW50ZXJmYWNlKTsKICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX1Qcm90b3R5cGUqIGRvbU9iamVj
dCA9IGpzRHluYW1pY0Nhc3Q8JHtjbGFzc05hbWV9UHJvdG90eXBlKj4oYmFzZVZhbHVlKTtcbiIp
IGlmICFDb25zdHJ1Y3RvclNob3VsZEJlT25JbnN0YW5jZSgkaW50ZXJmYWNlKTsKQEAgLTIzNzks
MTIgKzIzNzEsMTQgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAidm9pZCAke2NvbnN0cnVjdG9yRnVuY3Rpb25OYW1lfShFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkVmFsdWUpXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
e1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZhbHVlIHZhbHVl
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7Iik7Ci0gICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0
PCR7Y2xhc3NOYW1lfSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwotICAgICAg
ICAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7CisgICAgICAgICAgICBp
ZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVByb3h5VG9KU09iamVj
dCJ9KSB7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05h
bWV9KiBjYXN0ZWRUaGlzID0gdG8ke2NsYXNzTmFtZX0oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSkpO1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKFVO
TElLRUxZKCFjYXN0ZWRUaGlzKSkge1xuIik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgICAgIGlmIChKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IGpzRHluYW1pY0Nh
c3Q8SlNET01XaW5kb3dTaGVsbCo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSlcbiIpOwog
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgY2FzdGVkVGhp
cyA9IHNoZWxsLT53aW5kb3coKTtcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgIH1cbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIGNhc3RlZFRoaXMgPSBqc0R5bmFt
aWNDYXN0PCR7Y2xhc3NOYW1lfSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKFVO
TElLRUxZKCFjYXN0ZWRUaGlzKSkge1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihleGVjKTtcbiIpOwpAQCAtMjQ4OCwxMiArMjQ4
MiwxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZFZhbHVlKTtcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFVO
VVNFRF9QQVJBTShleGVjKTtcbiIpOwogICAgICAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+
aXNTdGF0aWMpIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
JHtjbGFzc05hbWV9KiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDwke2NsYXNzTmFtZX0qPihK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7XG4i
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICBp
ZiAoSlNET01XaW5kb3dTaGVsbCogc2hlbGwgPSBqc0R5bmFtaWNDYXN0PEpTRE9NV2luZG93U2hl
bGwqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpXG4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgY2FzdGVkVGhpcyA9IHNoZWxs
LT53aW5kb3coKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgfVxuIik7CisgICAgICAgICAgICAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHJveHlUb0pTT2JqZWN0In0pIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogY2FzdGVk
VGhpcyA9IHRvJHtjbGFzc05hbWV9KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwor
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiBjYXN0ZWRUaGlzID0ganNEeW5hbWlj
Q2FzdDwke2NsYXNzTmFtZX0qPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7XG4iKTsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7XG4iKTsKICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHRocm93Vk1UeXBlRXJyb3IoZXhlYywg
bWFrZURPTUJpbmRpbmdzVHlwZUVycm9yU3RyaW5nKFwiVGhlIFwiLCBcIiRpbnRlcmZhY2VOYW1l
XCIsIFwiLlwiLCBcIiRuYW1lXCIsIFwiIHNldHRlciBjYW4gb25seSBiZSB1c2VkIG9uIGluc3Rh
bmNlcyBvZiBcIiwgXCIkaW50ZXJmYWNlTmFtZVwiKSk7XG4iKTsKQEAgLTI3MTgsOCArMjcxMCw4
IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgIEdlbmVy
YXRlSW1wbGVtZW50YXRpb25GdW5jdGlvbkNhbGwoJGZ1bmN0aW9uLCAkZnVuY3Rpb25TdHJpbmcs
ICIgICAgIiwgJHN2Z1Byb3BlcnR5VHlwZSwgJGludGVyZmFjZU5hbWUpOwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKCRpbnRlcmZh
Y2VOYW1lIGVxICJET01XaW5kb3ciKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiICAgICRjbGFzc05hbWUqIGNhc3RlZFRoaXMgPSB0b0pTRE9NV2luZG93KGV4ZWMt
Pmhvc3RUaGlzVmFsdWUoKS50b1RoaXMoZXhlYywgTm90U3RyaWN0TW9kZSkpO1xuIik7CisgICAg
ICAgICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Q
cm94eVRvSlNPYmplY3QifSkgeworICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICAkY2xhc3NOYW1lKiBjYXN0ZWRUaGlzID0gdG8ke2NsYXNzTmFtZX0oZXhlYy0+aG9z
dFRoaXNWYWx1ZSgpLnRvVGhpcyhleGVjLCBOb3RTdHJpY3RNb2RlKSk7XG4iKTsKICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRU
aGlzKSlcbiIpOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAg
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7XG4iKTsKICAgICAgICAgICAgICAgICB9
IGVsc2lmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiV29ya2VyR2xvYmFsU2Nv
cGUifSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0CShyZXZpc2lvbiAxNjYwMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0
Myw3IEBAIEN1c3RvbUluZGV4ZWRTZXR0ZXIKIEN1c3RvbUlzUmVhY2hhYmxlCiBDdXN0b21OYW1l
ZEdldHRlcgogQ3VzdG9tTmFtZWRTZXR0ZXIKK0N1c3RvbVByb3h5VG9KU09iamVjdAogQ3VzdG9t
UHV0RnVuY3Rpb24KIEN1c3RvbVJldHVybgogQ3VzdG9tU2V0dGVyCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiAxNjYwMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICAgICBDdXN0
b21EZWxldGVQcm9wZXJ0eSwKICAgICBDdXN0b21HZXRPd25Qcm9wZXJ0eVNsb3QsCiAgICAgQ3Vz
dG9tRW51bWVyYXRlUHJvcGVydHksCisgICAgQ3VzdG9tUHJveHlUb0pTT2JqZWN0LAogICAgIEpT
Q3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEpTQ3VzdG9tVG9OYXRpdmVPYmplY3QsCiAgICAgQ3Vz
dG9tUHV0RnVuY3Rpb24sCg==
</data>
<flag name="review"
          id="251628"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>