<?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>32996</bug_id>
          
          <creation_ts>2009-12-28 14:46:55 -0800</creation_ts>
          <short_desc>[V8] Generate configuring of all named property getters/setters/enumerators.</short_desc>
          <delta_ts>2009-12-30 08:24:50 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>32455</blocked>
    
    <blocked>33031</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>175311</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-28 14:46:55 -0800</bug_when>
    <thetext>Despite my best attempts, we still need 3 special cases for named property handling:

1) DOMWindow, because JS API in V8 is different from JSC. In V8, we have SetAccessCheckCallbacks method, which allows us to create special-purpose security checks. In JSC, we just use deleter and enumerator.

2) HTMLOptionsCollection, because it inherits from HTMLCollection. In JSC, named property handling comes free since JSHTMLOptionsCollection is generated to inherit from JSHTMLCollection. In V8, the generated classes are flat with static methods and thus don&apos;t provide this capability. The good news is that HTMLOptionsCollection shouldn&apos;t inherit from HTMLCollection per spec (http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#HTMLOptionsCollection), which means that this special-casing is temporary.

3) HTMLDocument, because the handling of document.all is completely different between JSC and V8. We really should fix this, but not as part of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175318</commentid>
    <comment_count>1</comment_count>
      <attachid>45577</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-28 15:15:06 -0800</bug_when>
    <thetext>Created attachment 45577
Generate all configuring of named property handlers, v1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175320</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-28 15:17:48 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45577 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175326</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-28 15:37:44 -0800</bug_when>
    <thetext>When committing, I&apos;ll need to add an extra line break to DerivedSourcesAllInOne.cpp to ensure that IncrediBuild-based builds (i.e. all Chromium/Win build bots) won&apos;t bork.

Also:

* Created bug 32997 to fix HTMLOptionsCollection.
* Created bug 32999 for document.all issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175658</commentid>
    <comment_count>4</comment_count>
      <attachid>45577</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-29 11:34:17 -0800</bug_when>
    <thetext>Comment on attachment 45577
Generate all configuring of named property handlers, v1.

CodeGeneratorV8.pm still mystifies me, but this change looks reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175924</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-30 08:24:50 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/52661.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45577</attachid>
            <date>2009-12-28 15:15:06 -0800</date>
            <delta_ts>2009-12-29 11:34:17 -0800</delta_ts>
            <desc>Generate all configuring of named property handlers, v1.</desc>
            <filename>bug-32996-20091228151504.patch</filename>
            <type>text/plain</type>
            <size>11787</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTY4OTMyNC4uMDI2NzA4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAwOS0xMi0yOCAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtWOF0gR2VuZXJhdGUgY29uZmlndXJpbmcgb2YgYWxsIG5h
bWVkIHByb3BlcnR5IGdldHRlcnMvc2V0dGVycy9lbnVtZXJhdG9ycy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyOTk2CisKKyAgICAgICAgUmVmYWN0
b3JpbmcsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogQWRkZWQgZ2VuZXJhdGlvbiBvZiBuYW1lZCBwcm9w
ZXJ0eSBoYW5kbGVycworICAgICAgICAgICAgZm9yIHNwZWNpYWwgY2FzZXMgKFNlZSBidWcgZm9y
IG1vcmUgaW5mbykuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUpOiBSZW1vdmVkIGN1c3Rv
bSB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uIG9mIG5hbWVkCisgICAgICAgICAgICBwcm9wZXJ0eSBo
YW5kbGVycy4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmg6
IEFkZGVkIGRlY2xzIGZvciBBcHBsZXQsIEVtYmVkLCBhbmQgT2JqZWN0CisgICAgICAgICAgICBl
bGVtZW50cyAodGhlc2Ugd2lsbCBiZSBnZW5lcmF0ZWQsIHRvbyAtLSBsYXRlci4pCisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFBsdWdJbkVsZW1lbnRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6bnBPYmplY3ROYW1lZEdldHRlcik6IE1vdmVkIGNvbW1vbiBjb2RlIHRv
IGEgc2VwYXJhdGUgbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6bnBPYmplY3ROYW1lZFNldHRl
cik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TkFNRURfUFJPUEVSVFlfR0VUVEVSKTogQWRk
ZWQgY3VzdG9tIGhhbmRsZXJzIGZvciBBcHBsZXQsIEVtYmVkLCBhbmQgT2JqZWN0CisgICAgICAg
ICAgYWxsIGNhbGxpbmcgdGhlIGNvbW1vbiBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpOQU1F
RF9QUk9QRVJUWV9TRVRURVIpOiBEaXR0by4KKwogMjAwOS0xMi0yNCAgU2hpbmljaGlybyBIYW1h
amkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgQ2hyb21pdW0g
dGVzdCBmaXggYnkgcmV2ZXJ0aW5nIHI1MjUzNi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDcxYzY1MGUuLjMxZWVlZWYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTE3NiwxMyArMTE3NiwyMSBA
QCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbk5hbWVkUHJvcGVydHlHZXR0ZXIKICAgICBteSAk
ZGF0YU5vZGUgPSBzaGlmdDsKICAgICBteSAkbmFtZWRQcm9wZXJ0eUdldHRlciA9IHNoaWZ0Owog
ICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGRhdGFOb2RlLT5uYW1lOworICAgIG15ICRoYXNDdXN0
b21HZXR0ZXIgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJIYXNPdmVycmlkaW5n
TmFtZUdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdl
dE93blByb3BlcnR5U2xvdCJ9OwogCi0gICAgbXkgJGhhc0dldHRlciA9ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc05hbWVHZXR0ZXIifSB8fCAkbmFtZWRQcm9wZXJ0eUdldHRl
cjsKKyAgICAjIEZJWE1FOiBSZW1vdmUgaGFyZC1jb2RlZCBIVE1MT3B0aW9uc0NvbGxlY3Rpb24g
cmVmZXJlbmNlIGJ5IGNoYW5naW5nIEhUTUxPcHRpb25zQ29sbGVjdGlvbiB0byBub3QgaW5oZXJp
dAorICAgICMgZnJvbSBIVE1MQ29sbGVjdGlvbiBwZXIgVzNDIHNwZWMgKGh0dHA6Ly93d3cudzMu
b3JnL1RSLzIwMDMvUkVDLURPTS1MZXZlbC0yLUhUTUwtMjAwMzAxMDkvaHRtbC5odG1sI0hUTUxP
cHRpb25zQ29sbGVjdGlvbikuCisgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJIVE1MT3B0aW9u
c0NvbGxlY3Rpb24iKSB7CisgICAgICAgICRpbnRlcmZhY2VOYW1lID0gIkhUTUxDb2xsZWN0aW9u
IjsKKyAgICAgICAgJGhhc0N1c3RvbUdldHRlciA9IDE7CisgICAgfQorCisgICAgbXkgJGhhc0dl
dHRlciA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Ikhhc05hbWVHZXR0ZXIifSB8
fCAkaGFzQ3VzdG9tR2V0dGVyIHx8ICRuYW1lZFByb3BlcnR5R2V0dGVyOwogICAgIGlmICghJGhh
c0dldHRlcikgewogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCRuYW1lZFByb3Bl
cnR5R2V0dGVyICYmICRuYW1lZFByb3BlcnR5R2V0dGVyLT50eXBlIG5lICJOb2RlIiAmJiAhJG5h
bWVkUHJvcGVydHlHZXR0ZXItPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b20ifSkgeworICAg
IGlmICgkbmFtZWRQcm9wZXJ0eUdldHRlciAmJiAkbmFtZWRQcm9wZXJ0eUdldHRlci0+dHlwZSBu
ZSAiTm9kZSIgJiYgISRuYW1lZFByb3BlcnR5R2V0dGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
Q3VzdG9tIn0gJiYgISRoYXNDdXN0b21HZXR0ZXIpIHsKICAgICAgICAgJGltcGxJbmNsdWRlc3si
VjhDb2xsZWN0aW9uLmgifSA9IDE7CiAgICAgICAgIG15ICR0eXBlID0gJG5hbWVkUHJvcGVydHlH
ZXR0ZXItPnR5cGU7CiAgICAgICAgIG15ICRjbGFzc0luZGV4ID0gdWMoJHR5cGUpOwpAQCAtMTE5
MywxMCArMTIwMSwyMiBAQCBFTkQKICAgICB9CiAKICAgICBteSAkaGFzU2V0dGVyID0gJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRGVsZWdhdGluZ1B1dEZ1bmN0aW9uIn07Ci0gICAg
bXkgJGhhc0RlbGV0ZXIgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21E
ZWxldGVQcm9wZXJ0eSJ9OworICAgICMgRklYTUU6IFRyeSB0byByZW1vdmUgaGFyZC1jb2RlZCBI
VE1MRG9jdW1lbnQgcmVmZXJlbmNlIGJ5IGFsaWduaW5nIGhhbmRsaW5nIG9mIGRvY3VtZW50LmFs
bCB3aXRoIEpTQyBiaW5kaW5ncy4KKyAgICBteSAkaGFzRGVsZXRlciA9ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbURlbGV0ZVByb3BlcnR5In0gfHwgJGludGVyZmFjZU5h
bWUgZXEgIkhUTUxEb2N1bWVudCI7CiAgICAgbXkgJGhhc0VudW1lcmF0b3IgPSAkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21HZXRQcm9wZXJ0eU5hbWVzIn07CisgICAgbXkg
JHNldE9uID0gIkluc3RhbmNlIjsKKworICAgICMgVjggaGFzIGFjY2Vzcy1jaGVjayBjYWxsYmFj
ayBBUEkgKHNlZSBPYmplY3RUZW1wbGF0ZTo6U2V0QWNjZXNzQ2hlY2tDYWxsYmFja3MpIGFuZCBp
dCdzIHVzZWQgb24gRE9NV2luZG93CisgICAgIyBpbnN0ZWFkIG9mIGRlbGV0ZXJzIG9yIGVudW1l
cmF0b3JzLiBJbiBhZGRpdGlvbiwgdGhlIGdldHRlciBzaG91bGQgYmUgc2V0IG9uIHByb3RvdHlw
ZSB0ZW1wbGF0ZSwgdG8KKyAgICAjIGdldCBpbXBsZW1lbnRhdGlvbiBzdHJhaWdodCBvdXQgb2Yg
dGhlIERPTVdpbmRvdyBwcm90b3R5cGUgcmVnYXJkbGVzcyBvZiB3aGF0IHByb3RvdHlwZSBpcyBh
Y3R1YWxseSBzZXQKKyAgICAjIG9uIHRoZSBvYmplY3QuCisgICAgaWYgKCRpbnRlcmZhY2VOYW1l
IGVxICJET01XaW5kb3ciKSB7CisgICAgICAgICRzZXRPbiA9ICJQcm90b3R5cGUiOworICAgICAg
ICAkaGFzRGVsZXRlciA9IDA7CisgICAgICAgICRoYXNFbnVtZXJhdG9yID0gMDsKKyAgICB9CiAK
LSAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgZGVzYy0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXRO
YW1lZFByb3BlcnR5SGFuZGxlcihWOEN1c3RvbTo6djgke2ludGVyZmFjZU5hbWV9TmFtZWRQcm9w
ZXJ0eUdldHRlciwgIik7CisgICAgcHVzaChAaW1wbENvbnRlbnQsICIgIGRlc2MtPiR7c2V0T259
VGVtcGxhdGUoKS0+U2V0TmFtZWRQcm9wZXJ0eUhhbmRsZXIoVjhDdXN0b206OnY4JHtpbnRlcmZh
Y2VOYW1lfU5hbWVkUHJvcGVydHlHZXR0ZXIsICIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAk
aGFzU2V0dGVyID8gIlY4Q3VzdG9tOjp2OCR7aW50ZXJmYWNlTmFtZX1OYW1lZFByb3BlcnR5U2V0
dGVyLCAiIDogIjAsICIpOwogICAgIHB1c2goQGltcGxDb250ZW50LCAiMCAsIik7ICMgTmFtZWRQ
cm9wZXJ0eVF1ZXJ5IC0tIG5vdCBiZWluZyB1c2VkIGF0IHRoZSBtb21lbnQuCiAgICAgcHVzaChA
aW1wbENvbnRlbnQsICRoYXNEZWxldGVyID8gIlY4Q3VzdG9tOjp2OCR7aW50ZXJmYWNlTmFtZX1O
YW1lZFByb3BlcnR5RGVsZXRlciwgIiA6ICIwLCAiKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFw
cGVyLmNwcAppbmRleCBjNjJjOWE3Li40OTI3NGE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdy
YXBwZXIuY3BwCkBAIC0yNzksNyArMjc5LDYgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+IFY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUoVjhDbGFzc0luZGV4OjpWOFcKICAg
ICAgICAgZGVzY3JpcHRvci0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXRDYWxsQXNGdW5jdGlvbkhh
bmRsZXIoVjhIVE1MQ29sbGVjdGlvbjo6Y2FsbEFzRnVuY3Rpb25DYWxsYmFjayk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpIVE1MT1BUSU9OU0NPTExFQ1RJT046Ci0g
ICAgICAgIGRlc2NyaXB0b3ItPkluc3RhbmNlVGVtcGxhdGUoKS0+U2V0TmFtZWRQcm9wZXJ0eUhh
bmRsZXIoVVNFX05BTUVEX1BST1BFUlRZX0dFVFRFUihIVE1MQ29sbGVjdGlvbikpOwogICAgICAg
ICBkZXNjcmlwdG9yLT5JbnN0YW5jZVRlbXBsYXRlKCktPlNldEluZGV4ZWRQcm9wZXJ0eUhhbmRs
ZXIoVVNFX0lOREVYRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxPcHRpb25zQ29sbGVjdGlvbiksIFVT
RV9JTkRFWEVEX1BST1BFUlRZX1NFVFRFUihIVE1MT3B0aW9uc0NvbGxlY3Rpb24pKTsKICAgICAg
ICAgZGVzY3JpcHRvci0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXRDYWxsQXNGdW5jdGlvbkhhbmRs
ZXIoVjhIVE1MQ29sbGVjdGlvbjo6Y2FsbEFzRnVuY3Rpb25DYWxsYmFjayk7CiAgICAgICAgIGJy
ZWFrOwpAQCAtMjg3LDggKzI4Niw2IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiBWOERPTVdyYXBwZXI6OmdldFRlbXBsYXRlKFY4Q2xhc3NJbmRleDo6VjhXCiAgICAgICAg
IGRlc2NyaXB0b3ItPkluc3RhbmNlVGVtcGxhdGUoKS0+U2V0SW5kZXhlZFByb3BlcnR5SGFuZGxl
cihVU0VfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoSFRNTFNlbGVjdEVsZW1lbnQpLCBVU0VfSU5E
RVhFRF9QUk9QRVJUWV9TRVRURVIoSFRNTFNlbGVjdEVsZW1lbnQpLCAwLCAwLCBub2RlQ29sbGVj
dGlvbkluZGV4ZWRQcm9wZXJ0eUVudW1lcmF0b3I8SFRNTFNlbGVjdEVsZW1lbnQ+LCB2ODo6SW50
ZWdlcjo6TmV3KFY4Q2xhc3NJbmRleDo6Tk9ERSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IFY4Q2xhc3NJbmRleDo6SFRNTERPQ1VNRU5UOiB7Ci0gICAgICAgIGRlc2NyaXB0b3ItPkluc3Rh
bmNlVGVtcGxhdGUoKS0+U2V0TmFtZWRQcm9wZXJ0eUhhbmRsZXIoVVNFX05BTUVEX1BST1BFUlRZ
X0dFVFRFUihIVE1MRG9jdW1lbnQpLCAwLCAwLCBVU0VfTkFNRURfUFJPUEVSVFlfREVMRVRFUihI
VE1MRG9jdW1lbnQpKTsKLQogICAgICAgICAvLyBXZSBhZGQgYW4gZXh0cmEgaW50ZXJuYWwgZmll
bGQgdG8gYWxsIERvY3VtZW50IHdyYXBwZXJzIGZvcgogICAgICAgICAvLyBzdG9yaW5nIGEgcGVy
IGRvY3VtZW50IERPTUltcGxlbWVudGF0aW9uIHdyYXBwZXIuCiAgICAgICAgIC8vCkBAIC0zMjAs
MTUgKzMxNywxMCBAQCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhET01X
cmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNzSW5kZXg6OlY4VwogICAgICAgICAvLyBIVE1MQXBw
bGV0RWxlbWVudCwgSFRNTEVtYmVkRWxlbWVudCBhbmQgSFRNTE9iamVjdEVsZW1lbnQgYXJlCiAg
ICAgICAgIC8vIGluaGVyaXRlZCBmcm9tIEhUTUxQbHVnSW5FbGVtZW50LCBhbmQgdGhleSBzaGFy
ZSB0aGUgc2FtZSBwcm9wZXJ0eQogICAgICAgICAvLyBoYW5kbGluZyBjb2RlLgotICAgICAgICBk
ZXNjcmlwdG9yLT5JbnN0YW5jZVRlbXBsYXRlKCktPlNldE5hbWVkUHJvcGVydHlIYW5kbGVyKFVT
RV9OQU1FRF9QUk9QRVJUWV9HRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpLCBVU0VfTkFNRURfUFJP
UEVSVFlfU0VUVEVSKEhUTUxQbHVnSW5FbGVtZW50KSk7CiAgICAgICAgIGRlc2NyaXB0b3ItPklu
c3RhbmNlVGVtcGxhdGUoKS0+U2V0SW5kZXhlZFByb3BlcnR5SGFuZGxlcihVU0VfSU5ERVhFRF9Q
Uk9QRVJUWV9HRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpLCBVU0VfSU5ERVhFRF9QUk9QRVJUWV9T
RVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpKTsKICAgICAgICAgZGVzY3JpcHRvci0+SW5zdGFuY2VU
ZW1wbGF0ZSgpLT5TZXRDYWxsQXNGdW5jdGlvbkhhbmRsZXIoVjhIVE1MUGx1Z0luRWxlbWVudDo6
ZGVmYXVsdENhbGxiYWNrKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBWOENsYXNzSW5kZXg6
OkhUTUxGUkFNRVNFVEVMRU1FTlQ6Ci0gICAgICAgIGRlc2NyaXB0b3ItPkluc3RhbmNlVGVtcGxh
dGUoKS0+U2V0TmFtZWRQcm9wZXJ0eUhhbmRsZXIoVVNFX05BTUVEX1BST1BFUlRZX0dFVFRFUihI
VE1MRnJhbWVTZXRFbGVtZW50KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgVjhDbGFzc0lu
ZGV4OjpIVE1MRk9STUVMRU1FTlQ6Ci0gICAgICAgIGRlc2NyaXB0b3ItPkluc3RhbmNlVGVtcGxh
dGUoKS0+U2V0TmFtZWRQcm9wZXJ0eUhhbmRsZXIoVVNFX05BTUVEX1BST1BFUlRZX0dFVFRFUihI
VE1MRm9ybUVsZW1lbnQpKTsKICAgICAgICAgZGVzY3JpcHRvci0+SW5zdGFuY2VUZW1wbGF0ZSgp
LT5TZXRJbmRleGVkUHJvcGVydHlIYW5kbGVyKFVTRV9JTkRFWEVEX1BST1BFUlRZX0dFVFRFUihI
VE1MRm9ybUVsZW1lbnQpLCAwLCAwLCAwLCBub2RlQ29sbGVjdGlvbkluZGV4ZWRQcm9wZXJ0eUVu
dW1lcmF0b3I8SFRNTEZvcm1FbGVtZW50Piwgdjg6OkludGVnZXI6Ok5ldyhWOENsYXNzSW5kZXg6
Ok5PREUpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBWOENsYXNzSW5kZXg6OlNUWUxFU0hF
RVQ6ICAvLyBmYWxsIHRocm91Z2gKQEAgLTM1Niw3ICszNDgsNiBAQCB2ODo6UGVyc2lzdGVudDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gVjhET01XcmFwcGVyOjpnZXRUZW1wbGF0ZShWOENsYXNzSW5k
ZXg6OlY4VwogICAgIGNhc2UgVjhDbGFzc0luZGV4OjpET01XSU5ET1c6IHsKICAgICAgICAgdjg6
OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpO
ZXcoZGVzY3JpcHRvcik7CiAKLSAgICAgICAgZGVzY3JpcHRvci0+UHJvdG90eXBlVGVtcGxhdGUo
KS0+U2V0TmFtZWRQcm9wZXJ0eUhhbmRsZXIoVVNFX05BTUVEX1BST1BFUlRZX0dFVFRFUihET01X
aW5kb3cpKTsKICAgICAgICAgZGVzY3JpcHRvci0+UHJvdG90eXBlVGVtcGxhdGUoKS0+U2V0SW5k
ZXhlZFByb3BlcnR5SGFuZGxlcihVU0VfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoRE9NV2luZG93
KSk7CiAgICAgICAgIGRlc2NyaXB0b3ItPlByb3RvdHlwZVRlbXBsYXRlKCktPlNldEludGVybmFs
RmllbGRDb3VudChWOEN1c3RvbTo6a0RPTVdpbmRvd0ludGVybmFsRmllbGRDb3VudCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmluZGluZy5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgKaW5kZXggMzJlNWRm
OC4uYWQzYTBhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0
b21CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5k
aW5nLmgKQEAgLTM2MSw4ICszNjEsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBE
RUNMQVJFX05BTUVEX1BST1BFUlRZX0dFVFRFUihOYW1lZE5vZGVNYXApOwogICAgICAgICBERUNM
QVJFX05BTUVEX1BST1BFUlRZX0dFVFRFUihDU1NTdHlsZURlY2xhcmF0aW9uKTsKICAgICAgICAg
REVDTEFSRV9OQU1FRF9QUk9QRVJUWV9TRVRURVIoQ1NTU3R5bGVEZWNsYXJhdGlvbik7Ci0gICAg
ICAgIERFQ0xBUkVfTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxQbHVnSW5FbGVtZW50KTsKLSAg
ICAgICAgREVDTEFSRV9OQU1FRF9QUk9QRVJUWV9TRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpOwor
ICAgICAgICBERUNMQVJFX05BTUVEX1BST1BFUlRZX0dFVFRFUihIVE1MQXBwbGV0RWxlbWVudCk7
CisgICAgICAgIERFQ0xBUkVfTkFNRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxBcHBsZXRFbGVtZW50
KTsKKyAgICAgICAgREVDTEFSRV9OQU1FRF9QUk9QRVJUWV9HRVRURVIoSFRNTEVtYmVkRWxlbWVu
dCk7CisgICAgICAgIERFQ0xBUkVfTkFNRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxFbWJlZEVsZW1l
bnQpOworICAgICAgICBERUNMQVJFX05BTUVEX1BST1BFUlRZX0dFVFRFUihIVE1MT2JqZWN0RWxl
bWVudCk7CisgICAgICAgIERFQ0xBUkVfTkFNRURfUFJPUEVSVFlfU0VUVEVSKEhUTUxPYmplY3RF
bGVtZW50KTsKICAgICAgICAgREVDTEFSRV9JTkRFWEVEX1BST1BFUlRZX0dFVFRFUihIVE1MUGx1
Z0luRWxlbWVudCk7CiAgICAgICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9TRVRURVIoSFRN
TFBsdWdJbkVsZW1lbnQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEhUTUxQbHVnSW5FbGVtZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SFRNTFBsdWdJbkVsZW1lbnRDdXN0b20uY3BwCmluZGV4IDMyMTJjYjYuLjZhY2Q2ODkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFBsdWdJbkVsZW1l
bnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFBsdWdJ
bkVsZW1lbnRDdXN0b20uY3BwCkBAIC00MSw5ICs0MSwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLU5BTUVEX1BST1BFUlRZX0dFVFRFUihIVE1MUGx1Z0luRWxlbWVudCkKKy8vIEZJWE1F
OiBDb25zaWRlciBtb3ZpbmcgZ2V0dGVyL3NldHRlciBoZWxwZXJzIHRvIFY4TlBPYmplY3QgYW5k
IHJlbmFtaW5nIHRoaXMgZmlsZSB0byBWOFBsdWdpbkVsZW1lbnRGdW5jdGlvbnMKKy8vIHRvIG1h
dGNoIEpTQyBiaW5kaW5ncyBuYW1pbmcgY29udmVudGlvbi4KKworc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBucE9iamVjdE5hbWVkR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1l
LCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQogewotICAgIElOQ19TVEFUUygiRE9NLkhU
TUxQbHVnSW5FbGVtZW50Lk5hbWVkUHJvcGVydHlHZXR0ZXIiKTsKICAgICBIVE1MUGx1Z0luRWxl
bWVudCogaW1wID0gVjhET01XcmFwcGVyOjpjb252ZXJ0RE9NV3JhcHBlclRvTm9kZTxIVE1MUGx1
Z0luRWxlbWVudD4oaW5mby5Ib2xkZXIoKSk7CiAgICAgU2NyaXB0SW5zdGFuY2Ugc2NyaXB0SW5z
dGFuY2UgPSBpbXAtPmdldEluc3RhbmNlKCk7CiAgICAgaWYgKCFzY3JpcHRJbnN0YW5jZSkKQEAg
LTU2LDkgKzU4LDggQEAgTkFNRURfUFJPUEVSVFlfR0VUVEVSKEhUTUxQbHVnSW5FbGVtZW50KQog
ICAgIHJldHVybiBucE9iamVjdEdldE5hbWVkUHJvcGVydHkoaW5zdGFuY2UsIG5hbWUpOwogfQog
Ci1OQU1FRF9QUk9QRVJUWV9TRVRURVIoSFRNTFBsdWdJbkVsZW1lbnQpCitzdGF0aWMgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IG5wT2JqZWN0TmFtZWRTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+
IG5hbWUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZv
JiBpbmZvKQogewotICAgIElOQ19TVEFUUygiRE9NLkhUTUxQbHVnSW5FbGVtZW50Lk5hbWVkUHJv
cGVydHlTZXR0ZXIiKTsKICAgICBIVE1MUGx1Z0luRWxlbWVudCogaW1wID0gVjhET01XcmFwcGVy
Ojpjb252ZXJ0RE9NV3JhcHBlclRvTm9kZTxIVE1MUGx1Z0luRWxlbWVudD4oaW5mby5Ib2xkZXIo
KSk7CiAgICAgU2NyaXB0SW5zdGFuY2Ugc2NyaXB0SW5zdGFuY2UgPSBpbXAtPmdldEluc3RhbmNl
KCk7CiAgICAgaWYgKCFzY3JpcHRJbnN0YW5jZSkKQEAgLTcxLDYgKzcyLDQyIEBAIE5BTUVEX1BS
T1BFUlRZX1NFVFRFUihIVE1MUGx1Z0luRWxlbWVudCkKICAgICByZXR1cm4gbnBPYmplY3RTZXRO
YW1lZFByb3BlcnR5KGluc3RhbmNlLCBuYW1lLCB2YWx1ZSk7CiB9CiAKK05BTUVEX1BST1BFUlRZ
X0dFVFRFUihIVE1MQXBwbGV0RWxlbWVudCkKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5IVE1MQXBw
bGV0RWxlbWVudC5OYW1lZFByb3BlcnR5R2V0dGVyIik7CisgICAgcmV0dXJuIG5wT2JqZWN0TmFt
ZWRHZXR0ZXIobmFtZSwgaW5mbyk7Cit9CisKK05BTUVEX1BST1BFUlRZX0dFVFRFUihIVE1MRW1i
ZWRFbGVtZW50KQoreworICAgIElOQ19TVEFUUygiRE9NLkhUTUxFbWJlZEVsZW1lbnQuTmFtZWRQ
cm9wZXJ0eUdldHRlciIpOworICAgIHJldHVybiBucE9iamVjdE5hbWVkR2V0dGVyKG5hbWUsIGlu
Zm8pOworfQorCitOQU1FRF9QUk9QRVJUWV9HRVRURVIoSFRNTE9iamVjdEVsZW1lbnQpCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uSFRNTE9iamVjdEVsZW1lbnQuTmFtZWRQcm9wZXJ0eUdldHRlciIp
OworICAgIHJldHVybiBucE9iamVjdE5hbWVkR2V0dGVyKG5hbWUsIGluZm8pOworfQorCitOQU1F
RF9QUk9QRVJUWV9TRVRURVIoSFRNTEFwcGxldEVsZW1lbnQpCit7CisgICAgSU5DX1NUQVRTKCJE
T00uSFRNTEFwcGxldEVsZW1lbnQuTmFtZWRQcm9wZXJ0eVNldHRlciIpOworICAgIHJldHVybiBu
cE9iamVjdE5hbWVkU2V0dGVyKG5hbWUsIHZhbHVlLCBpbmZvKTsKK30KKworTkFNRURfUFJPUEVS
VFlfU0VUVEVSKEhUTUxFbWJlZEVsZW1lbnQpCit7CisgICAgSU5DX1NUQVRTKCJET00uSFRNTEVt
YmVkRWxlbWVudC5OYW1lZFByb3BlcnR5U2V0dGVyIik7CisgICAgcmV0dXJuIG5wT2JqZWN0TmFt
ZWRTZXR0ZXIobmFtZSwgdmFsdWUsIGluZm8pOworfQorCitOQU1FRF9QUk9QRVJUWV9TRVRURVIo
SFRNTE9iamVjdEVsZW1lbnQpCit7CisgICAgSU5DX1NUQVRTKCJET00uSFRNTE9iamVjdEVsZW1l
bnQuTmFtZWRQcm9wZXJ0eVNldHRlciIpOworICAgIHJldHVybiBucE9iamVjdE5hbWVkU2V0dGVy
KG5hbWUsIHZhbHVlLCBpbmZvKTsKK30KKwogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTFBs
dWdJbkVsZW1lbnQ6OmRlZmF1bHRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQog
ewogICAgIElOQ19TVEFUUygiRE9NLkhUTUxQbHVnaW5FbGVtZW50KCkiKTsK
</data>
<flag name="review"
          id="27635"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>