<?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>22355</bug_id>
          
          <creation_ts>2008-11-19 08:26:17 -0800</creation_ts>
          <short_desc>Systematize code for replacing global constructors</short_desc>
          <delta_ts>2008-11-19 10:31:18 -0800</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 JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99307</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-19 08:26:17 -0800</bug_when>
    <thetext>JSDOMWindow implements global constructor replacement in setJSDOMWindowXXX functions; JSDOMWindowBase has special cases in put(), and JSWorkerContext is just broken.

Probably easiest to make all code match generated one; patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99310</commentid>
    <comment_count>1</comment_count>
      <attachid>25271</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-19 08:31:37 -0800</bug_when>
    <thetext>Created attachment 25271
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99321</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-11-19 09:29:10 -0800</bug_when>
    <thetext>Can we autogenerate this code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99322</commentid>
    <comment_count>3</comment_count>
      <attachid>25271</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-11-19 09:32:35 -0800</bug_when>
    <thetext>Comment on attachment 25271
proposed patch

&gt; +    if (!static_cast&lt;JSDOMWindowBase*&gt;(thisObject)-&gt;allowsAccessFrom(exec))
&gt; +        return;
&gt; +    // Shadowing a built-in constructor
&gt; +    static_cast&lt;JSDOMWindowBase*&gt;(thisObject)-&gt;putDirect(Identifier(exec, &quot;Event&quot;), value);

How about a helper function for this idiom? I can&apos;t think of any good reason to write this out explicitly 8 times instead of using a function.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99341</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-19 10:31:18 -0800</bug_when>
    <thetext>Committed revision 38599.

(In reply to comment #3)
&gt; How about a helper function for this idiom? I can&apos;t think of any good reason to
&gt; write this out explicitly 8 times instead of using a function.

I like that these look as close as possible to JSDOMWindow auto-generated ones. Lately, I&apos;ve spent considerable time digging through minor differences in how the same things are implemented, so I think that consistency is important here.

What we really need is to auto-generate these, and move them to DOMWindow from JSDOMWindowBase.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25271</attachid>
            <date>2008-11-19 08:31:37 -0800</date>
            <delta_ts>2008-11-19 09:32:35 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>GlobalConstructors.txt</filename>
            <type>text/plain</type>
            <size>10879</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzODU5NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMDgtMTEtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NQorICAgICAgICBT
eXN0ZW1hdGl6ZSBjb2RlIGZvciByZXBsYWNpbmcgZ2xvYmFsIGNvbnN0cnVjdG9ycworCisgICAg
ICAgIFRlc3Q6IGZhc3Qvd29ya2Vycy93b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3Iu
aHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAg
ICAgKHNldEpTRE9NV2luZG93QmFzZUV2ZW50KTogQ2hhbmdlZCB0byBwdXQgdGhlIHZhbHVlIGFz
IHByb3BlcnR5LCBtYXRjaGluZyB3aGF0IGdlbmVyYXRlZAorICAgICAgICBjb2RlIGZvciBnbG9i
YWwgY29uc3RydWN0b3Igc2V0dGVycyBkb2VzLgorICAgICAgICAoc2V0SlNET01XaW5kb3dCYXNl
QXVkaW8pOiBEaXR0by4KKyAgICAgICAgKHNldEpTRE9NV2luZG93QmFzZUltYWdlKTogRGl0dG8u
CisgICAgICAgIChzZXRKU0RPTVdpbmRvd0Jhc2VNZXNzYWdlQ2hhbm5lbCk6IERpdHRvLgorICAg
ICAgICAoc2V0SlNET01XaW5kb3dCYXNlT3B0aW9uKTogRGl0dG8uCisgICAgICAgIChzZXRKU0RP
TVdpbmRvd0Jhc2VXb3JrZXIpOiBEaXR0by4KKyAgICAgICAgKHNldEpTRE9NV2luZG93QmFzZVhN
TEh0dHBSZXF1ZXN0KTogRGl0dG8uCisgICAgICAgIChzZXRKU0RPTVdpbmRvd0Jhc2VYU0xUUHJv
Y2Vzc29yKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnB1dCk6
IFJlbW92ZWQgc3BlY2lhbCBjYXNlcyBmb3IgZ2xvYmFsIGNvbnN0cnVjdG9ycy4KKworICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1dvcmtlckNvbnRleHQ6OmdldE93blByb3BlcnR5U2xvdCk6IExvb2sgdXAgb3ZlcnJpZGVzIGJl
Zm9yZSBvd24gcHJvcGVydGllcywKKyAgICAgICAgYXMgaXQgaXMgZG9uZSBmb3IgV2luZG93Lgor
ICAgICAgICAoV2ViQ29yZTo6c2V0SlNXb3JrZXJDb250ZXh0TWVzc2FnZUV2ZW50KTogSW1wbGVt
ZW50ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIFdpbmRvdyBnbG9iYWwKKyAgICAgICAgY29uc3RydWN0
b3JzIGFyZS4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTV29ya2VyQ29udGV4dFdvcmtlckxvY2F0
aW9uKTogRGl0dG8uCisKIDIwMDgtMTEtMTggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCkluZGV4OiBXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lvbiAzODU5MCkKKysrIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDc3LDYgKzQ3
Nyw3MCBAQCBKU1ZhbHVlKiBqc0RPTVdpbmRvd0Jhc2VYU0xUUHJvY2Vzc29yKEV4CiAjZW5kaWYK
IH0KIAordm9pZCBzZXRKU0RPTVdpbmRvd0Jhc2VFdmVudChFeGVjU3RhdGUqIGV4ZWMsIEpTT2Jq
ZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlKiB2YWx1ZSkKK3sKKyAgICBpZiAoIXN0YXRpY19jYXN0
PEpTRE9NV2luZG93QmFzZSo+KHRoaXNPYmplY3QpLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKQor
ICAgICAgICByZXR1cm47CisgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IK
KyAgICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0
KElkZW50aWZpZXIoZXhlYywgIkV2ZW50IiksIHZhbHVlKTsKK30KKwordm9pZCBzZXRKU0RPTVdp
bmRvd0Jhc2VBdWRpbyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1Zh
bHVlKiB2YWx1ZSkKK3sKKyAgICBpZiAoIXN0YXRpY19jYXN0PEpTRE9NV2luZG93QmFzZSo+KHRo
aXNPYmplY3QpLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKQorICAgICAgICByZXR1cm47CisgICAg
Ly8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IKKyAgICBzdGF0aWNfY2FzdDxKU0RP
TVdpbmRvd0Jhc2UqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgIkF1
ZGlvIiksIHZhbHVlKTsKK30KKwordm9pZCBzZXRKU0RPTVdpbmRvd0Jhc2VJbWFnZShFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlKiB2YWx1ZSkKK3sKKyAgICBp
ZiAoIXN0YXRpY19jYXN0PEpTRE9NV2luZG93QmFzZSo+KHRoaXNPYmplY3QpLT5hbGxvd3NBY2Nl
c3NGcm9tKGV4ZWMpKQorICAgICAgICByZXR1cm47CisgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQt
aW4gY29uc3RydWN0b3IKKyAgICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPih0aGlzT2Jq
ZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgIkltYWdlIiksIHZhbHVlKTsKK30KKwor
dm9pZCBzZXRKU0RPTVdpbmRvd0Jhc2VNZXNzYWdlQ2hhbm5lbChFeGVjU3RhdGUqIGV4ZWMsIEpT
T2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlKiB2YWx1ZSkKK3sKKyAgICBpZiAoIXN0YXRpY19j
YXN0PEpTRE9NV2luZG93QmFzZSo+KHRoaXNPYmplY3QpLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMp
KQorICAgICAgICByZXR1cm47CisgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0
b3IKKyAgICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPih0aGlzT2JqZWN0KS0+cHV0RGly
ZWN0KElkZW50aWZpZXIoZXhlYywgIk1lc3NhZ2VDaGFubmVsIiksIHZhbHVlKTsKK30KKwordm9p
ZCBzZXRKU0RPTVdpbmRvd0Jhc2VPcHRpb24oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhp
c09iamVjdCwgSlNWYWx1ZSogdmFsdWUpCit7CisgICAgaWYgKCFzdGF0aWNfY2FzdDxKU0RPTVdp
bmRvd0Jhc2UqPih0aGlzT2JqZWN0KS0+YWxsb3dzQWNjZXNzRnJvbShleGVjKSkKKyAgICAgICAg
cmV0dXJuOworICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yCisgICAgc3Rh
dGljX2Nhc3Q8SlNET01XaW5kb3dCYXNlKj4odGhpc09iamVjdCktPnB1dERpcmVjdChJZGVudGlm
aWVyKGV4ZWMsICJPcHRpb24iKSwgdmFsdWUpOworfQorCit2b2lkIHNldEpTRE9NV2luZG93QmFz
ZVdvcmtlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlKiB2
YWx1ZSkKK3sKKyAgICBpZiAoIXN0YXRpY19jYXN0PEpTRE9NV2luZG93QmFzZSo+KHRoaXNPYmpl
Y3QpLT5hbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKQorICAgICAgICByZXR1cm47CisgICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IKKyAgICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRv
d0Jhc2UqPih0aGlzT2JqZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgIldvcmtlciIp
LCB2YWx1ZSk7Cit9CisKK3ZvaWQgc2V0SlNET01XaW5kb3dCYXNlWE1MSHR0cFJlcXVlc3QoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1ZSogdmFsdWUpCit7Cisg
ICAgaWYgKCFzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPih0aGlzT2JqZWN0KS0+YWxsb3dz
QWNjZXNzRnJvbShleGVjKSkKKyAgICAgICAgcmV0dXJuOworICAgIC8vIFNoYWRvd2luZyBhIGJ1
aWx0LWluIGNvbnN0cnVjdG9yCisgICAgc3RhdGljX2Nhc3Q8SlNET01XaW5kb3dCYXNlKj4odGhp
c09iamVjdCktPnB1dERpcmVjdChJZGVudGlmaWVyKGV4ZWMsICJYTUxIdHRwUmVxdWVzdCIpLCB2
YWx1ZSk7Cit9CisKK3ZvaWQgc2V0SlNET01XaW5kb3dCYXNlWFNMVFByb2Nlc3NvcihFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1ZhbHVlKiB2YWx1ZSkKK3sKKyAgICBp
ZiAoIXN0YXRpY19jYXN0PEpTRE9NV2luZG93QmFzZSo+KHRoaXNPYmplY3QpLT5hbGxvd3NBY2Nl
c3NGcm9tKGV4ZWMpKQorICAgICAgICByZXR1cm47CisgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQt
aW4gY29uc3RydWN0b3IKKyAgICBzdGF0aWNfY2FzdDxKU0RPTVdpbmRvd0Jhc2UqPih0aGlzT2Jq
ZWN0KS0+cHV0RGlyZWN0KElkZW50aWZpZXIoZXhlYywgIlhTTFRQcm9jZXNzb3IiKSwgdmFsdWUp
OworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEpTVmFsdWUqIEpTRE9NV2luZG93QmFzZTo6
Y2hpbGRGcmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90KQpAQCAtNTgyLDY5ICs2NDYsMTIgQEAg
dm9pZCBKU0RPTVdpbmRvd0Jhc2U6OnB1dChFeGVjU3RhdGUqIGV4ZQogICAgICAgICB9CiAgICAg
ICAgIGlmIChlbnRyeS0+YXR0cmlidXRlcygpICYgUmVhZE9ubHkpCiAgICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgLy8gRG9uJ3QgY2FsbCB0aGUgcHV0IGZ1bmN0aW9uIGZvciByZXBsYWNh
YmxlIHByb3BlcnRpZXMuCi0gICAgICAgIGlmICghKGVudHJ5LT5wcm9wZXJ0eVB1dHRlcigpID09
IHNldEpTRE9NV2luZG93QmFzZUV2ZW50Ci0gICAgICAgICAgICAgICAgfHwgZW50cnktPnByb3Bl
cnR5UHV0dGVyKCkgPT0gc2V0SlNET01XaW5kb3dCYXNlQXVkaW8KLSAgICAgICAgICAgICAgICB8
fCBlbnRyeS0+cHJvcGVydHlQdXR0ZXIoKSA9PSBzZXRKU0RPTVdpbmRvd0Jhc2VJbWFnZQotICAg
ICAgICAgICAgICAgIHx8IGVudHJ5LT5wcm9wZXJ0eVB1dHRlcigpID09IHNldEpTRE9NV2luZG93
QmFzZU9wdGlvbgotICAgICAgICAgICAgICAgIHx8IGVudHJ5LT5wcm9wZXJ0eVB1dHRlcigpID09
IHNldEpTRE9NV2luZG93QmFzZU1lc3NhZ2VDaGFubmVsCi0gICAgICAgICAgICAgICAgfHwgZW50
cnktPnByb3BlcnR5UHV0dGVyKCkgPT0gc2V0SlNET01XaW5kb3dCYXNlV29ya2VyCi0gICAgICAg
ICAgICAgICAgfHwgZW50cnktPnByb3BlcnR5UHV0dGVyKCkgPT0gc2V0SlNET01XaW5kb3dCYXNl
WE1MSHR0cFJlcXVlc3QKLSAgICAgICAgICAgICAgICB8fCBlbnRyeS0+cHJvcGVydHlQdXR0ZXIo
KSA9PSBzZXRKU0RPTVdpbmRvd0Jhc2VYU0xUUHJvY2Vzc29yKSkgewotICAgICAgICAgICAgZW50
cnktPnByb3BlcnR5UHV0dGVyKCkoZXhlYywgdGhpcywgdmFsdWUpOwotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKGFsbG93c0FjY2Vzc0Zyb20oZXhlYykp
CiAgICAgICAgIEJhc2U6OnB1dChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKIH0K
IAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi12b2lkIHNldEpTRE9NV2luZG93QmFzZUV2ZW50
KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNWYWx1ZSopCi17Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci19Ci0KLXZvaWQgc2V0SlNET01XaW5kb3dCYXNlQXVkaW8oRXhlY1N0YXRlKiwgSlNP
YmplY3QqLCBKU1ZhbHVlKikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotdm9p
ZCBzZXRKU0RPTVdpbmRvd0Jhc2VJbWFnZShFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTVmFsdWUq
KQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIHNldEpTRE9NV2luZG93
QmFzZU1lc3NhZ2VDaGFubmVsKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNWYWx1ZSopCi17Ci0g
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLXZvaWQgc2V0SlNET01XaW5kb3dCYXNlT3B0
aW9uKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNWYWx1ZSopCi17Ci0gICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci19Ci0KLXZvaWQgc2V0SlNET01XaW5kb3dCYXNlV29ya2VyKEV4ZWNTdGF0ZSos
IEpTT2JqZWN0KiwgSlNWYWx1ZSopCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0K
LXZvaWQgc2V0SlNET01XaW5kb3dCYXNlWE1MSHR0cFJlcXVlc3QoRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqLCBKU1ZhbHVlKikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotdm9pZCBz
ZXRKU0RPTVdpbmRvd0Jhc2VYU0xUUHJvY2Vzc29yKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgSlNW
YWx1ZSopCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQogU3RyaW5nIEpTRE9NV2luZG93QmFzZTo6Y3Jvc3NEb21haW5BY2Nlc3NFcnJvck1l
c3NhZ2UoY29uc3QgSlNHbG9iYWxPYmplY3QqIG90aGVyKSBjb25zdAogewogICAgIEtVUkwgb3Jp
Z2luVVJMID0gYXNKU0RPTVdpbmRvdyhvdGhlciktPmltcGwoKS0+dXJsKCk7CkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dvcmtlckNvbnRleHQuY3BwCShyZXZpc2lvbiAzODU5MCkKKysrIFdl
YkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTQ3LDYgKzE0Nyw5IEBAIHZvaWQgSlNXb3JrZXJDb250ZXh0OjpwdXQoRXhlY1N0YXRlKiBleGUK
IAogYm9vbCBKU1dvcmtlckNvbnRleHQ6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQog
eworICAgIC8vIExvb2sgZm9yIG92ZXJyaWRlcyBiZWZvcmUgbG9va2luZyBhdCBhbnkgb2Ygb3Vy
IG93biBwcm9wZXJ0aWVzLgorICAgIGlmIChKU0dsb2JhbE9iamVjdDo6Z2V0T3duUHJvcGVydHlT
bG90KGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCkpCisgICAgICAgIHJldHVybiB0cnVlOwogICAg
IHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8SlNXb3JrZXJDb250ZXh0LCBCYXNlPihleGVjLCBn
ZXRKU1dvcmtlckNvbnRleHRUYWJsZShleGVjKSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTsK
IH0KIApAQCAtMjUxLDE1ICsyNTQsMTYgQEAgYm9vbCBKU1dvcmtlckNvbnRleHRQcm90b3R5cGU6
OmdldE93blBybwogICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8SlNPYmplY3Q+KGV4
ZWMsIGdldEpTV29ya2VyQ29udGV4dFByb3RvdHlwZVRhYmxlKGV4ZWMpLCB0aGlzLCBwcm9wZXJ0
eU5hbWUsIHNsb3QpOwogfQogCi12b2lkIHNldEpTV29ya2VyQ29udGV4dE1lc3NhZ2VFdmVudChF
eGVjU3RhdGUqLCBKU09iamVjdCosIEpTVmFsdWUqKQordm9pZCBzZXRKU1dvcmtlckNvbnRleHRN
ZXNzYWdlRXZlbnQoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNWYWx1
ZSogdmFsdWUpCiB7Ci0gICAgLy8gRklYTUU6IERvIHdlIG5lZWQgdG8gb3ZlcnJpZGUgcHV0IGZv
ciBnbG9iYWwgY29uc3RydWN0b3JzLCBsaWtlIEpTRE9NV2luZG93QmFzZSBkb2VzPwotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVj
dG9yCisgICAgc3RhdGljX2Nhc3Q8SlNXb3JrZXJDb250ZXh0Kj4odGhpc09iamVjdCktPnB1dERp
cmVjdChJZGVudGlmaWVyKGV4ZWMsICJNZXNzYWdlRXZlbnQiKSwgdmFsdWUpOwogfQogCi12b2lk
IHNldEpTV29ya2VyQ29udGV4dFdvcmtlckxvY2F0aW9uKEV4ZWNTdGF0ZSosIEpTT2JqZWN0Kiwg
SlNWYWx1ZSopCit2b2lkIHNldEpTV29ya2VyQ29udGV4dFdvcmtlckxvY2F0aW9uKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTVmFsdWUqIHZhbHVlKQogewotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVj
dG9yCisgICAgc3RhdGljX2Nhc3Q8SlNXb3JrZXJDb250ZXh0Kj4odGhpc09iamVjdCktPnB1dERp
cmVjdChJZGVudGlmaWVyKGV4ZWMsICJMb2NhdGlvbiIpLCB2YWx1ZSk7CiB9CiAKIApJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMzg1OTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOC0xMS0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU1CisgICAg
ICAgIFN5c3RlbWF0aXplIGNvZGUgZm9yIHJlcGxhY2luZyBnbG9iYWwgY29uc3RydWN0b3JzCisK
KyAgICAgICAgKiBmYXN0L3dvcmtlcnMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNvbnN0cnVjdG9y
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC93b3JrZXJzL3dvcmtlci1yZXBs
YWNlLWdsb2JhbC1jb25zdHJ1Y3Rvci5odG1sOiBBZGRlZC4KKwogMjAwOC0xMS0xOCAgQ2FtZXJv
biBad2FyaWNoICA8endhcmljaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFj
aWVqIFN0YWNob3dpYWsgYW5kIEdlb2ZmIEdhcmVuLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3dvcmtlci1yZXBsYWNlLWdsb2JhbC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1yZXBsYWNlLWdsb2Jh
bC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3dvcmtlcnMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUZXN0IHJlcGxhY2luZyBnbG9iYWwgY29u
c3RydWN0b3JzIGluIGEgd29ya2VyIGNvbnRleHQuCisKK3NlbGYuTWVzc2FnZUV2ZW50ID0gJ1BB
U1MnOyBNZXNzYWdlRXZlbnQ7OiBQQVNTCitET05FCisKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvcGxh
aW4KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvd29ya2Vycy93b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3IuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNv
bnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMv
d29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNvbnN0cnVjdG9yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzAgQEAKKzxib2R5PgorPHA+VGVzdCByZXBsYWNpbmcgZ2xvYmFsIGNvbnN0cnVjdG9y
cyBpbiBhIHdvcmtlciBjb250ZXh0LjwvcD4KKzxkaXYgaWQ9cmVzdWx0PjwvZGl2PgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30KKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisK
K3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyLWNvbW1vbi5qcycpOwor
d29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIHNlbGYuTWVzc2FnZUV2ZW50ID0gJ1BBU1MnOyBNZXNz
YWdlRXZlbnQ7Iik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgZm9vLy9iYXIiKTsKKword29y
a2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgIGlmICghL2Zvb1wvXC9iYXIvLnRl
c3QoZXZ0LmRhdGEpKQorICAgICAgICBsb2coZXZ0LmRhdGEpOworICAgIGVsc2UgeworICAgICAg
ICBsb2coIkRPTkUiKTsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3IuaHRt
bApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L2h0bWwKCg==
</data>
<flag name="review"
          id="11687"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>