<?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>129361</bug_id>
          
          <creation_ts>2014-02-25 20:50:58 -0800</creation_ts>
          <short_desc>Avoid unnecessary HTML Collection invalidations for id and name attribute changes</short_desc>
          <delta_ts>2014-02-26 00:20:48 -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>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>129365</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984619</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-25 20:50:58 -0800</bug_when>
    <thetext>Avoid unnecessary HTML Collection invalidations for id and name attribute changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984620</commentid>
    <comment_count>1</comment_count>
      <attachid>225218</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-25 21:02:46 -0800</bug_when>
    <thetext>Created attachment 225218
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984658</commentid>
    <comment_count>2</comment_count>
      <attachid>225218</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-25 23:54:08 -0800</bug_when>
    <thetext>Comment on attachment 225218
Fixes the bug

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

&gt; Source/WebCore/dom/NodeRareData.h:233
&gt; +        for (auto it = m_atomicNameCaches.begin(), end = m_atomicNameCaches.end(); it != end; ++it) {

You  could use a for-each loop here and in the following loops.

&gt; Source/WebCore/dom/NodeRareData.h:237
&gt; +            list.invalidateCache(0);

Shouldn&apos;t you just call list.invalidateCache() here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984667</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-26 00:19:11 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #2)
&gt; (From update of attachment 225218 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=225218&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/NodeRareData.h:233
&gt; &gt; +        for (auto it = m_atomicNameCaches.begin(), end = m_atomicNameCaches.end(); it != end; ++it) {
&gt; 
&gt; You  could use a for-each loop here and in the following loops.

Fixed.

&gt; &gt; Source/WebCore/dom/NodeRareData.h:237
&gt; &gt; +            list.invalidateCache(0);
&gt; 
&gt; Shouldn&apos;t you just call list.invalidateCache() here?

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984668</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-26 00:20:48 -0800</bug_when>
    <thetext>Committed r164707: &lt;http://trac.webkit.org/changeset/164707&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225218</attachid>
            <date>2014-02-25 21:02:46 -0800</date>
            <delta_ts>2014-02-25 23:54:08 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-129361-20140225210342.patch</filename>
            <type>text/plain</type>
            <size>14108</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmYwNjIxMmMyNmNmNDcx
MDViYTJhOGRhYjM3YzZlZGJlN2E0ZWY3YS4uMWJiMDc3N2U3YTNjNjQ0NTM1NTRlYTA5YmQ3YmM1
MTgyOWE4NTM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE0LTAyLTI1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEF2b2lkIHVubmVjZXNzYXJ5
IEhUTUwgQ29sbGVjdGlvbiBpbnZhbGlkYXRpb25zIGZvciBpZCBhbmQgbmFtZSBhdHRyaWJ1dGUg
Y2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI5MzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QmVmb3JlIHRoaXMgcGF0Y2gsIHNldHRpbmcgaWQgYW5kIG5hbWUgYXR0cmlidXRlcyByZXN1bHRl
ZCBpbiB0cmF2ZXJzaW5nIGFsbCB0aGUgYW5jZXN0b3JzIHRvIGludmFsaWRhdGUKKyAgICAgICAg
SFRNTCBjb2xsZWN0aW9ucyBvbiB0aG9zZSBub2RlcyB3aGVuZXZlciB3ZSBoYWQgbW9yZSB0aGFu
IG9uZSBIVE1MQ29sbGVjdGlvbiBhbGl2ZS4KKworICAgICAgICBBdm9pZCB0aGUgdHJhdmVyc2Fs
IHdoZW4gSFRNTENvbGxlY3Rpb25zIGRvbid0IGhhdmUgYW55IHZhbGlkIGlkIGFuZCBuYW1lIG1h
cCBjYWNoZXMgYnkgbWFraW5nIGVhY2gKKyAgICAgICAgSFRNTENvbGxlY3Rpb24gZXhwbGljaXRs
eSBjYWxsIGNvbGxlY3Rpb25DYWNoZWRJZE5hbWVNYXAgYW5kIGNvbGxlY3Rpb25XaWxsQ2xlYXJJ
ZE5hbWVNYXAgd2hlbiBpdCBjYWNoZXMKKyAgICAgICAgb3IgY2xlYXJzIHRoZSBpZCBhbmQgbmFt
ZSBtYXAuCisKKyAgICAgICAgSW5zcGlyZWQgYnkgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL2JsaW5rLysvNWIwNmI5MWI3OTA5OGY3ZDQyZTQ4MGY4NWJlMzIxOTgz
MTVkMjQ0MAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpyZWdpc3RlckNvbGxlY3Rpb24pOiBUYWtlcyBhIGJvb2xlYW4gdG8gaW5kaWNh
dGUgd2hldGhlciBjb2xsZWN0aW9uIGhhcyBhIHZhbGlkIGNhY2hlCisgICAgICAgIGZvciB0aGUg
aWQgYW5kIG5hbWUgbWFwLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVucmVnaXN0ZXJD
b2xsZWN0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y29sbGVjdGlv
bkNhY2hlZElkTmFtZU1hcCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNv
bGxlY3Rpb25XaWxsQ2xlYXJJZE5hbWVNYXApOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKworICAgICAgICAqIGRvbS9Ob2RlUmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGVMaXN0c05vZGVEYXRhOjphZG9wdERvY3VtZW50KTogQ2FsbCBpbnZhbGlkYXRlQ2FjaGUg
b24gSFRNTCBjb2xsZWN0aW9ucyBhZnRlciwgbm90IGJlZm9yZSwKKyAgICAgICAgY2FsbGluZyB1
bnJlZ2lzdGVyQ29sbGVjdGlvbiBhbmQgcmVnaXN0ZXJDb2xsZWN0aW9uIHNpbmNlIGNvbGxlY3Rp
b25zJyBvd25lciBub2RlcyBoYXZlIGFscmVhZHkgYmVlbgorICAgICAgICBtb3ZlZCB0byB0aGUg
bmV3IGRvY3VtZW50IGhlcmUgYW5kIGludmFsaWRhdGVDYWNoZSB1c2VzIG93bmVyIG5vZGUncyBk
b2N1bWVudCB0byBjYWxsCisgICAgICAgIGNvbGxlY3Rpb25XaWxsQ2xlYXJJZE5hbWVNYXAuIFNv
IGNhbGxpbmcgaW52YWxpZGF0ZUNhY2hlIGJlZm9yZSBjYWxsaW5nIHVucmVnaXN0ZXIvcmVnaXN0
ZXJDb2xsZWN0aW9uCisgICAgICAgIHdvdWxkIHJlc3VsdCBpbiBjb2xsZWN0aW9uV2lsbENsZWFy
SWROYW1lTWFwIGdldHRpbmcgY2FsbGVkIG9uIGEgd3JvbmcgZG9jdW1lbnQuCisKKyAgICAgICAg
KiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0
aW9uOjpIVE1MQ29sbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbjo6
fkhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uOjppbnZh
bGlkYXRlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OmludmFsaWRh
dGVJZE5hbWVDYWNoZU1hcHMpOiBBZGRlZCB0aGUgY29kZSB0byB1bmNvdW50IGl0c2VsZiBmcm9t
IHRoZSBudW1iZXIKKyAgICAgICAgb2YgbGl2ZSBub2RlIGxpc3RzIGFuZCBIVE1MIGNvbGxlY3Rp
b25zIHRoYXQgbmVlZCB0byBiZSBpbnZhbGlkYXRlZCB1cG9uIGlkIGFuZCBuYW1lIGF0dHJpYnV0
ZSBjaGFuZ2VzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OnVwZGF0ZU5hbWVD
YWNoZSk6CisKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ29sbGVjdGlvbjo6aW52YWxpZGF0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjpoYXNJZE5hbWVDYWNoZSk6IFJlbmFtZWQgZnJvbSBoYXNOYW1lQ2Fj
aGUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbjo6c2V0SGFzSWROYW1lQ2FjaGUp
OiBSZW5hbWVkIGZyb20gc2V0SGFzSWROYW1lQ2FjaGUuCisKKyAgICAgICAgKiBodG1sL0hUTUxG
b3JtQ29udHJvbHNDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtQ29u
dHJvbHNDb2xsZWN0aW9uOjp1cGRhdGVOYW1lQ2FjaGUpOgorCiAyMDE0LTAyLTIxICBKb24gSG9u
ZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggcmVsb2FkaW5n
IHBhZ2Ugd2l0aCBwb3NpdGlvbjogZml4ZWQgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggYTRlMWQ3NWIwZmMxZWIxYjE3MzQxNWZhYzUzMWE4NzU1NmY4NjZkZi4uZDg3MmY2ZjQz
OGNiMGVjYWZkYmRjODljMWM2NGZkMmMxNDdmMzYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0zNDQ2LDE3ICszNDQ2LDIwIEBAIHZvaWQgRG9jdW1lbnQ6OnVucmVnaXN0ZXJOb2RlTGlz
dChMaXZlTm9kZUxpc3QmIGxpc3QpCiAgICAgfQogfQogCi12b2lkIERvY3VtZW50OjpyZWdpc3Rl
ckNvbGxlY3Rpb24oSFRNTENvbGxlY3Rpb24mIGNvbGxlY3Rpb24pCit2b2lkIERvY3VtZW50Ojpy
ZWdpc3RlckNvbGxlY3Rpb24oSFRNTENvbGxlY3Rpb24mIGNvbGxlY3Rpb24sIGJvb2wgaGFzSWRO
YW1lTWFwKQogewotICAgIG1fbm9kZUxpc3RBbmRDb2xsZWN0aW9uQ291bnRzW0ludmFsaWRhdGVP
bklkTmFtZUF0dHJDaGFuZ2VdKys7CisgICAgaWYgKGhhc0lkTmFtZU1hcCkKKyAgICAgICAgY29s
bGVjdGlvbkNhY2hlZElkTmFtZU1hcChjb2xsZWN0aW9uKTsKICAgICBtX25vZGVMaXN0QW5kQ29s
bGVjdGlvbkNvdW50c1tjb2xsZWN0aW9uLmludmFsaWRhdGlvblR5cGUoKV0rKzsKICAgICBpZiAo
Y29sbGVjdGlvbi5pc1Jvb3RlZEF0RG9jdW1lbnQoKSkKICAgICAgICAgbV9jb2xsZWN0aW9uc0lu
dmFsaWRhdGVkQXREb2N1bWVudC5hZGQoJmNvbGxlY3Rpb24pOwogfQogCi12b2lkIERvY3VtZW50
Ojp1bnJlZ2lzdGVyQ29sbGVjdGlvbihIVE1MQ29sbGVjdGlvbiYgY29sbGVjdGlvbikKK3ZvaWQg
RG9jdW1lbnQ6OnVucmVnaXN0ZXJDb2xsZWN0aW9uKEhUTUxDb2xsZWN0aW9uJiBjb2xsZWN0aW9u
LCBib29sIGhhc0lkTmFtZU1hcCkKIHsKLSAgICBtX25vZGVMaXN0QW5kQ29sbGVjdGlvbkNvdW50
c1tJbnZhbGlkYXRlT25JZE5hbWVBdHRyQ2hhbmdlXS0tOworICAgIGlmIChoYXNJZE5hbWVNYXAp
CisgICAgICAgIGNvbGxlY3Rpb25XaWxsQ2xlYXJJZE5hbWVNYXAoY29sbGVjdGlvbik7CisgICAg
QVNTRVJUKG1fbm9kZUxpc3RBbmRDb2xsZWN0aW9uQ291bnRzW2NvbGxlY3Rpb24uaW52YWxpZGF0
aW9uVHlwZSgpXSk7CiAgICAgbV9ub2RlTGlzdEFuZENvbGxlY3Rpb25Db3VudHNbY29sbGVjdGlv
bi5pbnZhbGlkYXRpb25UeXBlKCldLS07CiAgICAgaWYgKGNvbGxlY3Rpb24uaXNSb290ZWRBdERv
Y3VtZW50KCkpIHsKICAgICAgICAgQVNTRVJUKG1fY29sbGVjdGlvbnNJbnZhbGlkYXRlZEF0RG9j
dW1lbnQuY29udGFpbnMoJmNvbGxlY3Rpb24pKTsKQEAgLTM0NjQsNiArMzQ2NywxOSBAQCB2b2lk
IERvY3VtZW50Ojp1bnJlZ2lzdGVyQ29sbGVjdGlvbihIVE1MQ29sbGVjdGlvbiYgY29sbGVjdGlv
bikKICAgICB9CiB9CiAKK3ZvaWQgRG9jdW1lbnQ6OmNvbGxlY3Rpb25DYWNoZWRJZE5hbWVNYXAo
Y29uc3QgSFRNTENvbGxlY3Rpb24mIGNvbGxlY3Rpb24pCit7CisgICAgQVNTRVJUX1VOVVNFRChj
b2xsZWN0aW9uLCBjb2xsZWN0aW9uLmhhc0lkTmFtZUNhY2hlKCkpOworICAgIG1fbm9kZUxpc3RB
bmRDb2xsZWN0aW9uQ291bnRzW0ludmFsaWRhdGVPbklkTmFtZUF0dHJDaGFuZ2VdKys7Cit9CisK
K3ZvaWQgRG9jdW1lbnQ6OmNvbGxlY3Rpb25XaWxsQ2xlYXJJZE5hbWVNYXAoY29uc3QgSFRNTENv
bGxlY3Rpb24mIGNvbGxlY3Rpb24pCit7CisgICAgQVNTRVJUX1VOVVNFRChjb2xsZWN0aW9uLCBj
b2xsZWN0aW9uLmhhc0lkTmFtZUNhY2hlKCkpOworICAgIEFTU0VSVChtX25vZGVMaXN0QW5kQ29s
bGVjdGlvbkNvdW50c1tJbnZhbGlkYXRlT25JZE5hbWVBdHRyQ2hhbmdlXSk7CisgICAgbV9ub2Rl
TGlzdEFuZENvbGxlY3Rpb25Db3VudHNbSW52YWxpZGF0ZU9uSWROYW1lQXR0ckNoYW5nZV0tLTsK
K30KKwogdm9pZCBEb2N1bWVudDo6YXR0YWNoTm9kZUl0ZXJhdG9yKE5vZGVJdGVyYXRvciogbmkp
CiB7CiAgICAgbV9ub2RlSXRlcmF0b3JzLmFkZChuaSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IDAxYjhjNDNjNGVjMDUwZjZmMjRkNjg2NzE3MjgyYzI3ZmMyNjU0NGEuLjY4YjBhZjdhNmFlYWU5
Y2NjYjk2ZTBiYTI3ODhmNjA4NDg4Njk1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC03NTYs
OCArNzU2LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVnaXN0ZXJOb2RlTGlzdChMaXZlTm9k
ZUxpc3QmKTsKICAgICB2b2lkIHVucmVnaXN0ZXJOb2RlTGlzdChMaXZlTm9kZUxpc3QmKTsKLSAg
ICB2b2lkIHJlZ2lzdGVyQ29sbGVjdGlvbihIVE1MQ29sbGVjdGlvbiYpOwotICAgIHZvaWQgdW5y
ZWdpc3RlckNvbGxlY3Rpb24oSFRNTENvbGxlY3Rpb24mKTsKKyAgICB2b2lkIHJlZ2lzdGVyQ29s
bGVjdGlvbihIVE1MQ29sbGVjdGlvbiYsIGJvb2wgaGFzSWROYW1lQ2FjaGUpOworICAgIHZvaWQg
dW5yZWdpc3RlckNvbGxlY3Rpb24oSFRNTENvbGxlY3Rpb24mLCBib29sIGhhc0lkTmFtZUNhY2hl
KTsKKyAgICB2b2lkIGNvbGxlY3Rpb25DYWNoZWRJZE5hbWVNYXAoY29uc3QgSFRNTENvbGxlY3Rp
b24mKTsKKyAgICB2b2lkIGNvbGxlY3Rpb25XaWxsQ2xlYXJJZE5hbWVNYXAoY29uc3QgSFRNTENv
bGxlY3Rpb24mKTsKICAgICBib29sIHNob3VsZEludmFsaWRhdGVOb2RlTGlzdEFuZENvbGxlY3Rp
b25DYWNoZXMoY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0ck5hbWUgPSBudWxscHRyKSBjb25zdDsK
ICAgICB2b2lkIGludmFsaWRhdGVOb2RlTGlzdEFuZENvbGxlY3Rpb25DYWNoZXMoY29uc3QgUXVh
bGlmaWVkTmFtZSogYXR0ck5hbWUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXgg
YTQ4ODBmODQxM2Y2ODU0MDFmMDkxYzUyMWVhMzdjOGQwZWUxMDRjYS4uZGY1MmE2NDA2Mjg2ZTVj
NTgwMTg1NjZiY2Y2NDNlMGQyOWNlMDJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApA
QCAtMjI1LDMzICsyMjUsMzggQEAgcHVibGljOgogCiAgICAgdm9pZCBhZG9wdERvY3VtZW50KERv
Y3VtZW50KiBvbGREb2N1bWVudCwgRG9jdW1lbnQqIG5ld0RvY3VtZW50KQogICAgIHsKLSAgICAg
ICAgaW52YWxpZGF0ZUNhY2hlcygpOworICAgICAgICBpZiAob2xkRG9jdW1lbnQgPT0gbmV3RG9j
dW1lbnQpIHsKKyAgICAgICAgICAgIGludmFsaWRhdGVDYWNoZXMoKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAoYXV0byBpdCA9IG1fYXRvbWljTmFtZUNh
Y2hlcy5iZWdpbigpLCBlbmQgPSBtX2F0b21pY05hbWVDYWNoZXMuZW5kKCk7IGl0ICE9IGVuZDsg
KytpdCkgeworICAgICAgICAgICAgTGl2ZU5vZGVMaXN0JiBsaXN0ID0gKml0LT52YWx1ZTsKKyAg
ICAgICAgICAgIG9sZERvY3VtZW50LT51bnJlZ2lzdGVyTm9kZUxpc3QobGlzdCk7CisgICAgICAg
ICAgICBuZXdEb2N1bWVudC0+cmVnaXN0ZXJOb2RlTGlzdChsaXN0KTsKKyAgICAgICAgICAgIGxp
c3QuaW52YWxpZGF0ZUNhY2hlKDApOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChhdXRvIGl0
ID0gbV9uYW1lQ2FjaGVzLmJlZ2luKCksIGVuZCA9IG1fbmFtZUNhY2hlcy5lbmQoKTsgaXQgIT0g
ZW5kOyArK2l0KSB7CisgICAgICAgICAgICBMaXZlTm9kZUxpc3QmIGxpc3QgPSAqaXQtPnZhbHVl
OworICAgICAgICAgICAgb2xkRG9jdW1lbnQtPnVucmVnaXN0ZXJOb2RlTGlzdChsaXN0KTsKKyAg
ICAgICAgICAgIG5ld0RvY3VtZW50LT5yZWdpc3Rlck5vZGVMaXN0KGxpc3QpOworICAgICAgICAg
ICAgbGlzdC5pbnZhbGlkYXRlQ2FjaGUoMCk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGF1
dG8gaXQgPSBtX3RhZ05vZGVMaXN0Q2FjaGVOUy5iZWdpbigpLCBlbmQgPSBtX3RhZ05vZGVMaXN0
Q2FjaGVOUy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgICAgICBMaXZlTm9kZUxp
c3QmIGxpc3QgPSAqaXQtPnZhbHVlOworICAgICAgICAgICAgQVNTRVJUKCFsaXN0LmlzUm9vdGVk
QXREb2N1bWVudCgpKTsKKyAgICAgICAgICAgIG9sZERvY3VtZW50LT51bnJlZ2lzdGVyTm9kZUxp
c3QobGlzdCk7CisgICAgICAgICAgICBuZXdEb2N1bWVudC0+cmVnaXN0ZXJOb2RlTGlzdChsaXN0
KTsKKyAgICAgICAgICAgIGxpc3QuaW52YWxpZGF0ZUNhY2hlKDApOworICAgICAgICB9CiAKLSAg
ICAgICAgaWYgKG9sZERvY3VtZW50ICE9IG5ld0RvY3VtZW50KSB7Ci0gICAgICAgICAgICBmb3Ig
KGF1dG8gaXQgPSBtX2F0b21pY05hbWVDYWNoZXMuYmVnaW4oKSwgZW5kID0gbV9hdG9taWNOYW1l
Q2FjaGVzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAgICAgICBMaXZlTm9k
ZUxpc3QmIGxpc3QgPSAqaXQtPnZhbHVlOwotICAgICAgICAgICAgICAgIG9sZERvY3VtZW50LT51
bnJlZ2lzdGVyTm9kZUxpc3QobGlzdCk7Ci0gICAgICAgICAgICAgICAgbmV3RG9jdW1lbnQtPnJl
Z2lzdGVyTm9kZUxpc3QobGlzdCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGZvciAo
YXV0byBpdCA9IG1fbmFtZUNhY2hlcy5iZWdpbigpLCBlbmQgPSBtX25hbWVDYWNoZXMuZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgIExpdmVOb2RlTGlzdCYgbGlzdCA9
ICppdC0+dmFsdWU7Ci0gICAgICAgICAgICAgICAgb2xkRG9jdW1lbnQtPnVucmVnaXN0ZXJOb2Rl
TGlzdChsaXN0KTsKLSAgICAgICAgICAgICAgICBuZXdEb2N1bWVudC0+cmVnaXN0ZXJOb2RlTGlz
dChsaXN0KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgZm9yIChhdXRvIGl0ID0gbV90
YWdOb2RlTGlzdENhY2hlTlMuYmVnaW4oKSwgZW5kID0gbV90YWdOb2RlTGlzdENhY2hlTlMuZW5k
KCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgIExpdmVOb2RlTGlzdCYgbGlz
dCA9ICppdC0+dmFsdWU7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKCFsaXN0LmlzUm9vdGVkQXRE
b2N1bWVudCgpKTsKLSAgICAgICAgICAgICAgICBvbGREb2N1bWVudC0+dW5yZWdpc3Rlck5vZGVM
aXN0KGxpc3QpOwotICAgICAgICAgICAgICAgIG5ld0RvY3VtZW50LT5yZWdpc3Rlck5vZGVMaXN0
KGxpc3QpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmb3IgKGF1dG8gaXQgPSBtX2Nh
Y2hlZENvbGxlY3Rpb25zLmJlZ2luKCksIGVuZCA9IG1fY2FjaGVkQ29sbGVjdGlvbnMuZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgIEhUTUxDb2xsZWN0aW9uJiBjb2xs
ZWN0aW9uID0gKml0LT52YWx1ZTsKLSAgICAgICAgICAgICAgICBvbGREb2N1bWVudC0+dW5yZWdp
c3RlckNvbGxlY3Rpb24oY29sbGVjdGlvbik7Ci0gICAgICAgICAgICAgICAgbmV3RG9jdW1lbnQt
PnJlZ2lzdGVyQ29sbGVjdGlvbihjb2xsZWN0aW9uKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAg
Zm9yIChhdXRvIGl0ID0gbV9jYWNoZWRDb2xsZWN0aW9ucy5iZWdpbigpLCBlbmQgPSBtX2NhY2hl
ZENvbGxlY3Rpb25zLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgICAgIEhUTUxD
b2xsZWN0aW9uJiBjb2xsZWN0aW9uID0gKml0LT52YWx1ZTsKKyAgICAgICAgICAgIG9sZERvY3Vt
ZW50LT51bnJlZ2lzdGVyQ29sbGVjdGlvbihjb2xsZWN0aW9uLCBjb2xsZWN0aW9uLmhhc0lkTmFt
ZUNhY2hlKCkpOworICAgICAgICAgICAgbmV3RG9jdW1lbnQtPnJlZ2lzdGVyQ29sbGVjdGlvbihj
b2xsZWN0aW9uLCBjb2xsZWN0aW9uLmhhc0lkTmFtZUNhY2hlKCkpOworICAgICAgICAgICAgY29s
bGVjdGlvbi5pbnZhbGlkYXRlQ2FjaGUoMCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKaW5kZXggNThhOWVlY2EyN2Y4NDU5Y2E2ODM2YzYw
ZmZiYjMyNWQ5MDZjOTA3OC4uZjMzOWMyNWVlODJhYTYzYWIyNDgzYzUxOTZlOGVkNDM3NWQyMDkw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKQEAgLTE0NSw3ICsxNDUs
NyBAQCBIVE1MQ29sbGVjdGlvbjo6SFRNTENvbGxlY3Rpb24oQ29udGFpbmVyTm9kZSYgb3duZXJO
b2RlLCBDb2xsZWN0aW9uVHlwZSB0eXBlLCBFbAogICAgIEFTU0VSVChtX2ludmFsaWRhdGlvblR5
cGUgPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGludmFsaWRhdGlvblR5cGVFeGNsdWRpbmdJZEFu
ZE5hbWVBdHRyaWJ1dGVzKHR5cGUpKSk7CiAgICAgQVNTRVJUKG1fY29sbGVjdGlvblR5cGUgPT0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHR5cGUpKTsKIAotICAgIGRvY3VtZW50KCkucmVnaXN0ZXJD
b2xsZWN0aW9uKCp0aGlzKTsKKyAgICBkb2N1bWVudCgpLnJlZ2lzdGVyQ29sbGVjdGlvbigqdGhp
cywgaGFzSWROYW1lQ2FjaGUoKSk7CiB9CiAKIFBhc3NSZWZQdHI8SFRNTENvbGxlY3Rpb24+IEhU
TUxDb2xsZWN0aW9uOjpjcmVhdGUoQ29udGFpbmVyTm9kZSYgYmFzZSwgQ29sbGVjdGlvblR5cGUg
dHlwZSkKQEAgLTE1NSw3ICsxNTUsNyBAQCBQYXNzUmVmUHRyPEhUTUxDb2xsZWN0aW9uPiBIVE1M
Q29sbGVjdGlvbjo6Y3JlYXRlKENvbnRhaW5lck5vZGUmIGJhc2UsIENvbGxlY3RpbwogCiBIVE1M
Q29sbGVjdGlvbjo6fkhUTUxDb2xsZWN0aW9uKCkKIHsKLSAgICBkb2N1bWVudCgpLnVucmVnaXN0
ZXJDb2xsZWN0aW9uKCp0aGlzKTsKKyAgICBkb2N1bWVudCgpLnVucmVnaXN0ZXJDb2xsZWN0aW9u
KCp0aGlzLCBoYXNJZE5hbWVDYWNoZSgpKTsKICAgICAvLyBIVE1MTmFtZUNvbGxlY3Rpb24gcmVt
b3ZlcyBjYWNoZSBieSBpdHNlbGYuCiAgICAgaWYgKHR5cGUoKSAhPSBXaW5kb3dOYW1lZEl0ZW1z
ICYmIHR5cGUoKSAhPSBEb2N1bWVudE5hbWVkSXRlbXMpCiAgICAgICAgIG93bmVyTm9kZSgpLm5v
ZGVMaXN0cygpLT5yZW1vdmVDYWNoZWRDb2xsZWN0aW9uKHRoaXMpOwpAQCAtMzY3LDE0ICszNjcs
MTYgQEAgRWxlbWVudCogSFRNTENvbGxlY3Rpb246OmNvbGxlY3Rpb25UcmF2ZXJzZUJhY2t3YXJk
KEVsZW1lbnQmIGN1cnJlbnQsIHVuc2lnbmVkIGMKIHZvaWQgSFRNTENvbGxlY3Rpb246OmludmFs
aWRhdGVDYWNoZSgpIGNvbnN0CiB7CiAgICAgbV9pbmRleENhY2hlLmludmFsaWRhdGUoKTsKLSAg
ICBtX2lzTmFtZUNhY2hlVmFsaWQgPSBmYWxzZTsKICAgICBtX2lzSXRlbVJlZkVsZW1lbnRzQ2Fj
aGVWYWxpZCA9IGZhbHNlOwotICAgIG1faWRDYWNoZS5jbGVhcigpOwotICAgIG1fbmFtZUNhY2hl
LmNsZWFyKCk7CisgICAgaWYgKGhhc0lkTmFtZUNhY2hlKCkpCisgICAgICAgIGludmFsaWRhdGVJ
ZE5hbWVDYWNoZU1hcHMoKTsKIH0KIAogdm9pZCBIVE1MQ29sbGVjdGlvbjo6aW52YWxpZGF0ZUlk
TmFtZUNhY2hlTWFwcygpIGNvbnN0CiB7CisgICAgQVNTRVJUKGhhc0lkTmFtZUNhY2hlKCkpOwor
ICAgIGRvY3VtZW50KCkuY29sbGVjdGlvbldpbGxDbGVhcklkTmFtZU1hcCgqdGhpcyk7CisgICAg
bV9pc05hbWVDYWNoZVZhbGlkID0gZmFsc2U7CiAgICAgbV9pZENhY2hlLmNsZWFyKCk7CiAgICAg
bV9uYW1lQ2FjaGUuY2xlYXIoKTsKIH0KQEAgLTQyOSw3ICs0MzEsNyBAQCBOb2RlKiBIVE1MQ29s
bGVjdGlvbjo6bmFtZWRJdGVtKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKIAogdm9p
ZCBIVE1MQ29sbGVjdGlvbjo6dXBkYXRlTmFtZUNhY2hlKCkgY29uc3QKIHsKLSAgICBpZiAoaGFz
TmFtZUNhY2hlKCkpCisgICAgaWYgKGhhc0lkTmFtZUNhY2hlKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIENvbnRhaW5lck5vZGUmIHJvb3QgPSByb290Tm9kZSgpOwpAQCAtNDQ2LDcgKzQ0OCw3
IEBAIHZvaWQgSFRNTENvbGxlY3Rpb246OnVwZGF0ZU5hbWVDYWNoZSgpIGNvbnN0CiAgICAgICAg
ICAgICBhcHBlbmROYW1lQ2FjaGUobmFtZUF0dHJWYWwsIGVsZW1lbnQpOwogICAgIH0KIAotICAg
IHNldEhhc05hbWVDYWNoZSgpOworICAgIHNldEhhc0lkTmFtZUNhY2hlKCk7CiB9CiAKIGJvb2wg
SFRNTENvbGxlY3Rpb246Omhhc05hbWVkSXRlbShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmgKaW5kZXggMTdjODFjN2UxYzBhZWFm
NjMxNjk2YmY4MGViYjAwOTAxMjNhOThiYi4uZmU2YWE0NjQ2YWUxYjk2YzMwYzlmZTUwYjAwZmI2
ZWQ1Yzg2ZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaApAQCAtNjEsMTEg
KzYxLDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghYXR0ck5hbWUgfHwgc2hvdWxk
SW52YWxpZGF0ZVR5cGVPbkF0dHJpYnV0ZUNoYW5nZShpbnZhbGlkYXRpb25UeXBlKCksICphdHRy
TmFtZSkpCiAgICAgICAgICAgICBpbnZhbGlkYXRlQ2FjaGUoKTsKLSAgICAgICAgZWxzZSBpZiAo
KmF0dHJOYW1lID09IEhUTUxOYW1lczo6aWRBdHRyIHx8ICphdHRyTmFtZSA9PSBIVE1MTmFtZXM6
Om5hbWVBdHRyKQorICAgICAgICBlbHNlIGlmIChoYXNJZE5hbWVDYWNoZSgpICYmICgqYXR0ck5h
bWUgPT0gSFRNTE5hbWVzOjppZEF0dHIgfHwgKmF0dHJOYW1lID09IEhUTUxOYW1lczo6bmFtZUF0
dHIpKQogICAgICAgICAgICAgaW52YWxpZGF0ZUlkTmFtZUNhY2hlTWFwcygpOwogICAgIH0KICAg
ICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZUNhY2hlKCkgY29uc3Q7Ci0gICAgdm9pZCBpbnZhbGlk
YXRlSWROYW1lQ2FjaGVNYXBzKCkgY29uc3Q7CiAKICAgICAvLyBGb3IgQ29sbGVjdGlvbkluZGV4
Q2FjaGUKICAgICBFbGVtZW50KiBjb2xsZWN0aW9uRmlyc3QoKSBjb25zdDsKQEAgLTc0LDEwICs3
MywxMyBAQCBwdWJsaWM6CiAgICAgRWxlbWVudCogY29sbGVjdGlvblRyYXZlcnNlQmFja3dhcmQo
RWxlbWVudCYsIHVuc2lnbmVkIGNvdW50KSBjb25zdDsKICAgICBib29sIGNvbGxlY3Rpb25DYW5U
cmF2ZXJzZUJhY2t3YXJkKCkgY29uc3QgeyByZXR1cm4gIW1fdXNlc0N1c3RvbUZvcndhcmRPbmx5
VHJhdmVyc2FsOyB9CiAKKyAgICBib29sIGhhc0lkTmFtZUNhY2hlKCkgY29uc3QgeyByZXR1cm4g
bV9pc05hbWVDYWNoZVZhbGlkOyB9CisKIHByb3RlY3RlZDoKICAgICBlbnVtIEVsZW1lbnRUcmF2
ZXJzYWxUeXBlIHsgTm9ybWFsVHJhdmVyc2FsLCBDdXN0b21Gb3J3YXJkT25seVRyYXZlcnNhbCB9
OwogICAgIEhUTUxDb2xsZWN0aW9uKENvbnRhaW5lck5vZGUmIGJhc2UsIENvbGxlY3Rpb25UeXBl
LCBFbGVtZW50VHJhdmVyc2FsVHlwZSA9IE5vcm1hbFRyYXZlcnNhbCk7CiAKKyAgICB2b2lkIGlu
dmFsaWRhdGVJZE5hbWVDYWNoZU1hcHMoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
TmFtZUNhY2hlKCkgY29uc3Q7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1w
bCosIE93blB0cjxWZWN0b3I8RWxlbWVudCo+Pj4gTm9kZUNhY2hlTWFwOwpAQCAtOTUsOCArOTcs
MTEgQEAgcHJvdGVjdGVkOgogCiAgICAgTm9kZUxpc3RSb290VHlwZSByb290VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PE5vZGVMaXN0Um9vdFR5cGU+KG1fcm9vdFR5cGUpOyB9CiAK
LSAgICBib29sIGhhc05hbWVDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNOYW1lQ2FjaGVWYWxp
ZDsgfQotICAgIHZvaWQgc2V0SGFzTmFtZUNhY2hlKCkgY29uc3QgeyBtX2lzTmFtZUNhY2hlVmFs
aWQgPSB0cnVlOyB9CisgICAgdm9pZCBzZXRIYXNJZE5hbWVDYWNoZSgpIGNvbnN0CisgICAgewor
ICAgICAgICBtX2lzTmFtZUNhY2hlVmFsaWQgPSB0cnVlOworICAgICAgICBkb2N1bWVudCgpLmNv
bGxlY3Rpb25DYWNoZWRJZE5hbWVNYXAoKnRoaXMpOworICAgIH0KIAogcHJpdmF0ZToKICAgICBz
dGF0aWMgdm9pZCBhcHBlbmQoTm9kZUNhY2hlTWFwJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgRWxl
bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xz
Q29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uLmNwcAppbmRleCA1NDU4NzMwNmM4NTMwOGFjNWQyZjc4OTJkMWZmOGZkNzA2YzQ1NDYy
Li4zMTNjZTlhZWJjNjY0MmE5ZmJhMTcwOWM2MTJjYmQzMzM2YWY1MTNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmNwcApAQCAtMTM3
LDcgKzEzNyw3IEBAIE5vZGUqIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uOjpuYW1lZEl0ZW0o
Y29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdAogCiB2b2lkIEhUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uOjp1cGRhdGVOYW1lQ2FjaGUoKSBjb25zdAogewotICAgIGlmIChoYXNOYW1lQ2Fj
aGUoKSkKKyAgICBpZiAoaGFzSWROYW1lQ2FjaGUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
SGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gZm91bmRJbnB1dEVsZW1lbnRzOwpAQCAtMTc0LDcg
KzE3NCw3IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb246OnVwZGF0ZU5hbWVDYWNo
ZSgpIGNvbnN0CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBzZXRIYXNOYW1lQ2FjaGUoKTsKKyAg
ICBzZXRIYXNJZE5hbWVDYWNoZSgpOwogfQogCiB2b2lkIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0
aW9uOjppbnZhbGlkYXRlQ2FjaGUoKSBjb25zdAo=
</data>
<flag name="review"
          id="249341"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>