<?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>74885</bug_id>
          
          <creation_ts>2011-12-19 14:07:03 -0800</creation_ts>
          <short_desc>Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser</short_desc>
          <delta_ts>2011-12-20 11:41:35 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>524179</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-19 14:07:03 -0800</bug_when>
    <thetext>Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524184</commentid>
    <comment_count>1</comment_count>
      <attachid>119917</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-19 14:12:41 -0800</bug_when>
    <thetext>Created attachment 119917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524192</commentid>
    <comment_count>2</comment_count>
      <attachid>119917</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-19 14:29:37 -0800</bug_when>
    <thetext>Comment on attachment 119917
Patch

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

This looks great in general. Might want abarth or eseidel to have a look as well.

&gt; Source/WebCore/html/HTMLViewSourceDocument.cpp:82
&gt; +    div-&gt;setAttribute(classAttr, &quot;webkit-line-gutter-backdrop&quot;);

Maybe we should define static local AtomicString for these?

&gt; Source/WebCore/html/track/WebVTTParser.cpp:365
&gt; +            if (m_token.classes().size() &gt; 0)
&gt; +                child-&gt;setAttribute(classAttr, AtomicString(m_token.classes().data(), m_token.classes().size()));
&gt;              if (child-&gt;hasTagName(qTag))
&gt; -                child-&gt;setAttribute(titleAttr, String(m_token.annotation().data(), m_token.annotation().size()));
&gt; +                child-&gt;setAttribute(titleAttr, AtomicString(m_token.annotation().data(), m_token.annotation().size()));

Why don&apos;t we use parserSetAttributeMap here?  I guess because NamedNodeMap had not been allocated yet? If so, can we assert that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524193</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-19 14:30:11 -0800</bug_when>
    <thetext>I mean *have abarth or eseidel take a look*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524196</commentid>
    <comment_count>4</comment_count>
      <attachid>119917</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-19 14:37:53 -0800</bug_when>
    <thetext>Comment on attachment 119917
Patch

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

&gt;&gt; Source/WebCore/html/HTMLViewSourceDocument.cpp:82
&gt;&gt; +    div-&gt;setAttribute(classAttr, &quot;webkit-line-gutter-backdrop&quot;);
&gt; 
&gt; Maybe we should define static local AtomicString for these?

I doubt this code is performance-sensitive enough to matter...

&gt;&gt; Source/WebCore/html/track/WebVTTParser.cpp:365
&gt;&gt; +                child-&gt;setAttribute(titleAttr, AtomicString(m_token.annotation().data(), m_token.annotation().size()));
&gt; 
&gt; Why don&apos;t we use parserSetAttributeMap here?  I guess because NamedNodeMap had not been allocated yet? If so, can we assert that?

Assert what? The reason setAttributeMap is useful in HTMLConstructionSite is that the NamedNodeMap is allocated by a different class (AtomicHTMLToken).  Sure, we could change this code to create a named node map, initialize it, and then pass it in, but it&apos;s not clear why that would be any more efficient than just calling setAttribute directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524663</commentid>
    <comment_count>5</comment_count>
      <attachid>119917</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-20 10:10:58 -0800</bug_when>
    <thetext>Comment on attachment 119917
Patch

Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524716</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-20 11:41:07 -0800</bug_when>
    <thetext>Committed r103340: &lt;http://trac.webkit.org/changeset/103340&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119917</attachid>
            <date>2011-12-19 14:12:41 -0800</date>
            <delta_ts>2011-12-20 11:41:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74885-20111219141240.patch</filename>
            <type>text/plain</type>
            <size>13001</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk1Nzk2NDk4YTU2Nzdl
YmZmNTc2YmQxYTc1NDhjYzdhZGU0NmU0ZS4uNWJjZDU0N2RlY2NlYjI3ZGUyNTU4ZTJiOTBlYzg4
Y2M1NzZhM2Q4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDExLTEyLTE5ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmFtZSBFbGVtZW50Ojpz
ZXRBdHRyaWJ1dGVNYXAgdG8gcGFyc2VyU2V0QXR0cmlidXRlTWFwIGFuZCBsaW1pdCBpdHMgdXNl
IHRvIHRoZSBwYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc0ODg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRWxlbWVudDo6c2V0QXR0cmlidXRlTWFwIGlzIGN1cnJlbnRseSB1c2VkIGJ5IHRoZSBw
YXJzZXIgaW4gY2FzZXMKKyAgICAgICAgd2hlcmUgYSBOYW1lZE5vZGVNYXAgb2YgYXR0cmlidXRl
cyBoYXMgYWxyZWFkeSBiZWVuIGFsbG9jYXRlZCBhbmQKKyAgICAgICAgdHJhbnNmZXJzIG93bmVy
c2hpcCB0byB0aGUgRWxlbWVudC4gT3RoZXIgdXNlcyBpbiBXZWJDb3JlIGRvbid0IGhhdmUKKyAg
ICAgICAgdGhpcyBvd25lcnNoaXAtdHJhbnNmZXIgcmVxdWlyZW1lbnQsIGFuZCBzbyBhcmUgbW9y
ZSBjbGVhcmx5IGV4cHJlc3NlZAorICAgICAgICB3aXRoIG5vcm1hbCBzZXRBdHRyaWJ1dGUgY2Fs
bHMuCisKKyAgICAgICAgRWxpbWluYXRpbmcgbm9uLXBhcnNlciBjYWxsZXJzIGFsbG93cyB0aGUg
Y29kZSB0byBtYWtlIHNhZmUKKyAgICAgICAgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIHN0YXRlIG9m
IHRoZSBFbGVtZW50IGl0J3MgY2FsbGVkIG9uOiBubyBuZWVkIHRvCisgICAgICAgIHdvcnJ5IGFi
b3V0LCBlLmcuLCB1cGRhdGluZyB0aGUgaWQgaW4gdGhlIGRvY3VtZW50J3MgY2FjaGUgb3IKKyAg
ICAgICAgZW5xdWV1ZWluZyBtdXRhdGlvbiByZWNvcmRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yIGV4cGVjdGVkLgorCisgICAgICAgICogZG9tL0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cGFyc2VyU2V0QXR0cmlidXRlTWFw
KTogUmVuYW1lZCwgYWRkZWQgYXNzZXJ0aW9ucworICAgICAgICB0byBtYWtlIHN1cmUgaXQncyBu
b3QgY2FsbGVkIHVuZXhwZWN0ZWRseSwgdXBkYXRlIGNvbW1lbnRzLgorICAgICAgICAqIGRvbS9F
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDogVXNl
IHNldEF0dHJpYnV0ZSBpbnN0ZWFkIG9mIHNldEF0dHJpYnV0ZU1hcC4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmNyZWF0ZUNvbnRhaW5pbmdUYWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MVmlld1NvdXJjZURvY3VtZW50OjphZGRTcGFuV2l0aENsYXNzTmFt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmlld1NvdXJjZURvY3VtZW50OjphZGRMaW5lKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFkZEJhc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRkTGluayk6CisgICAgICAg
ICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwOiBSZWZlcmVuY2UgbmV3IG5h
bWUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEh0
bWxTdGFydFRhZ0JlZm9yZUhUTUwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlv
blNpdGU6Omluc2VydFNjcmlwdEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0
cnVjdGlvblNpdGU6OmNyZWF0ZUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0
cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1dl
YlZUVFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJWVFRQYXJzZXI6OmNvbnN0cnVj
dFRyZWVGcm9tVG9rZW4pOiBVc2Ugc2V0QXR0cmlidXRlIGluc3RlYWQgb2Ygc2V0QXR0cmlidXRl
TWFwLgorICAgICAgICBBbHNvIGdldCByaWQgb2YgYW4gdW5uZWNlc3NhcnkgU3RyaW5nIC0+IEF0
b21pY1N0cmluZyBjb252ZXJzaW9uLgorCiAyMDExLTEyLTE5ICBFcmljIENhcmxzb24gIDxlcmlj
LmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSA8dHJhY2s+IGZvciBNYWMgYnVp
bGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAyN2YzNDY5YTQ2YzY3NTRkYTY0OWNkNDZjODMx
ZjhjMmRjZDYxOGMzLi43ZDdjMDQyNDA3MzdiNGZhMTgwYmMyOTc3NTYyYjllOTQxZjVlODcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC03NTcsMjIgKzc1NywxNCBAQCBzdGF0aWMgYm9vbCBp
c0F0dHJpYnV0ZVRvUmVtb3ZlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgdgogICAgIHJldHVybiAobmFtZS5sb2NhbE5hbWUoKS5lbmRzV2l0aChocmVmQXR0
ci5sb2NhbE5hbWUoKSkgfHwgbmFtZSA9PSBzcmNBdHRyIHx8IG5hbWUgPT0gYWN0aW9uQXR0cikg
JiYgcHJvdG9jb2xJc0phdmFTY3JpcHQoc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2Vz
KHZhbHVlKSk7ICAgICAgIAogfQogCi12b2lkIEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU1hcChQYXNz
UmVmUHRyPE5hbWVkTm9kZU1hcD4gbGlzdCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNj
cmlwdGluZ1Blcm1pc3Npb24pCit2b2lkIEVsZW1lbnQ6OnBhcnNlclNldEF0dHJpYnV0ZU1hcChQ
YXNzUmVmUHRyPE5hbWVkTm9kZU1hcD4gbGlzdCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
IHNjcmlwdGluZ1Blcm1pc3Npb24pCiB7Ci0gICAgZG9jdW1lbnQoKS0+aW5jRE9NVHJlZVZlcnNp
b24oKTsKLQotICAgIC8vIElmIHNldHRpbmcgdGhlIHdob2xlIG1hcCBjaGFuZ2VzIHRoZSBpZCBh
dHRyaWJ1dGUsIHdlIG5lZWQgdG8gY2FsbCB1cGRhdGVJZC4KLQotICAgIGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGlkTmFtZSA9IGRvY3VtZW50KCktPmlkQXR0cmlidXRlTmFtZSgpOwotICAgIEF0dHJp
YnV0ZSogb2xkSWQgPSBtX2F0dHJpYnV0ZU1hcCA/IG1fYXR0cmlidXRlTWFwLT5nZXRBdHRyaWJ1
dGVJdGVtKGlkTmFtZSkgOiAwOwotICAgIEF0dHJpYnV0ZSogbmV3SWQgPSBsaXN0ID8gbGlzdC0+
Z2V0QXR0cmlidXRlSXRlbShpZE5hbWUpIDogMDsKKyAgICBBU1NFUlQoIWluRG9jdW1lbnQoKSk7
CisgICAgQVNTRVJUKCFwYXJlbnROb2RlKCkpOwogCi0gICAgaWYgKG9sZElkIHx8IG5ld0lkKQot
ICAgICAgICB1cGRhdGVJZChvbGRJZCA/IG9sZElkLT52YWx1ZSgpIDogbnVsbEF0b20sIG5ld0lk
ID8gbmV3SWQtPnZhbHVlKCkgOiBudWxsQXRvbSk7Ci0KLSAgICBpZiAobV9hdHRyaWJ1dGVNYXAp
Ci0gICAgICAgIG1fYXR0cmlidXRlTWFwLT5tX2VsZW1lbnQgPSAwOworICAgIGRvY3VtZW50KCkt
PmluY0RPTVRyZWVWZXJzaW9uKCk7CiAKKyAgICBBU1NFUlQoIW1fYXR0cmlidXRlTWFwKTsKICAg
ICBtX2F0dHJpYnV0ZU1hcCA9IGxpc3Q7CiAKICAgICBpZiAobV9hdHRyaWJ1dGVNYXApIHsKQEAg
LTc5OSw3ICs3OTEsNiBAQCB2b2lkIEVsZW1lbnQ6OnNldEF0dHJpYnV0ZU1hcChQYXNzUmVmUHRy
PE5hbWVkTm9kZU1hcD4gbGlzdCwgRnJhZ21lbnRTY3JpcHRpbmdQZQogICAgICAgICBtX2F0dHJp
YnV0ZU1hcC0+Y29weUF0dHJpYnV0ZXNUb1ZlY3RvcihhdHRyaWJ1dGVzKTsKICAgICAgICAgZm9y
IChWZWN0b3I8UmVmUHRyPEF0dHJpYnV0ZT4gPjo6aXRlcmF0b3IgaXRlciA9IGF0dHJpYnV0ZXMu
YmVnaW4oKTsgaXRlciAhPSBhdHRyaWJ1dGVzLmVuZCgpOyArK2l0ZXIpCiAgICAgICAgICAgICBh
dHRyaWJ1dGVDaGFuZ2VkKGl0ZXItPmdldCgpKTsKLSAgICAgICAgLy8gRklYTUU6IFdoYXQgYWJv
dXQgYXR0cmlidXRlcyB0aGF0IHdlcmUgaW4gdGhlIG9sZCBtYXAgdGhhdCBhcmUgbm90IGluIHRo
ZSBuZXcgbWFwPwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggOWIzOWNkMGMyZWRm
ZjQ0MjZiZDYxZWZjNGNjODk1MWEyYjM1NmM1ZC4uODA0MDY5MWQyYjdkMTBkNTEzMzFiYTI5ZTIx
ZWUyM2MxYzVhYTFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0yMTgsNyArMjE4LDkgQEAgcHVi
bGljOgogICAgIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuZXZlciBhbiBhdHRyaWJ1dGUg
aXMgYWRkZWQsIGNoYW5nZWQgb3IgcmVtb3ZlZC4KICAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRl
Q2hhbmdlZChBdHRyaWJ1dGUqLCBib29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7CiAKLSAgICB2
b2lkIHNldEF0dHJpYnV0ZU1hcChQYXNzUmVmUHRyPE5hbWVkTm9kZU1hcD4sIEZyYWdtZW50U2Ny
aXB0aW5nUGVybWlzc2lvbiA9IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CisgICAgLy8gT25s
eSBjYWxsZWQgYnkgdGhlIHBhcnNlciBpbW1lZGlhdGVseSBhZnRlciBlbGVtZW50IGNvbnN0cnVj
dGlvbi4KKyAgICB2b2lkIHBhcnNlclNldEF0dHJpYnV0ZU1hcChQYXNzUmVmUHRyPE5hbWVkTm9k
ZU1hcD4sIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CisKICAgICBOYW1lZE5vZGVNYXAq
IGF0dHJpYnV0ZU1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlTWFwLmdldCgpOyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXMoY29uc3QgRWxlbWVu
dCogc291cmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3Vy
Y2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWV3U291cmNlRG9jdW1l
bnQuY3BwCmluZGV4IDhhZWJiNTQ2ODJjYzdkZWVmNTczMGM5NTk1ZTZlYTc3NGVlZjNkOGUuLjkz
MTdkMmQxZDc5NjhkNGVlMjk2YjJkYzIxMzRmMTdiMjIyNGVkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcApAQCAtNzksOSArNzksNyBAQCB2
b2lkIEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmNyZWF0ZUNvbnRhaW5pbmdUYWJsZSgpCiAgICAg
Ly8gQ3JlYXRlIGEgbGluZSBndXR0ZXIgZGl2IHRoYXQgY2FuIGJlIHVzZWQgdG8gbWFrZSBzdXJl
IHRoZSBndXR0ZXIgZXh0ZW5kcyBkb3duIHRoZSBoZWlnaHQgb2YgdGhlIHdob2xlCiAgICAgLy8g
ZG9jdW1lbnQuCiAgICAgUmVmUHRyPEhUTUxEaXZFbGVtZW50PiBkaXYgPSBIVE1MRGl2RWxlbWVu
dDo6Y3JlYXRlKHRoaXMpOwotICAgIFJlZlB0cjxOYW1lZE5vZGVNYXA+IGF0dHJzID0gTmFtZWRO
b2RlTWFwOjpjcmVhdGUoKTsKLSAgICBhdHRycy0+YWRkQXR0cmlidXRlKEF0dHJpYnV0ZTo6Y3Jl
YXRlTWFwcGVkKGNsYXNzQXR0ciwgIndlYmtpdC1saW5lLWd1dHRlci1iYWNrZHJvcCIpKTsKLSAg
ICBkaXYtPnNldEF0dHJpYnV0ZU1hcChhdHRycy5yZWxlYXNlKCkpOworICAgIGRpdi0+c2V0QXR0
cmlidXRlKGNsYXNzQXR0ciwgIndlYmtpdC1saW5lLWd1dHRlci1iYWNrZHJvcCIpOwogICAgIGJv
ZHktPnBhcnNlckFkZENoaWxkKGRpdik7CiAgICAgZGl2LT5hdHRhY2goKTsKIApAQCAtMTg3LDkg
KzE4NSw3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTFZpZXdTb3VyY2VEb2N1bWVudDo6YWRk
U3BhbldpdGhDbGFzc05hbWUoY29uc3QgQXRvbWljU3RyCiAgICAgfQogCiAgICAgUmVmUHRyPEhU
TUxFbGVtZW50PiBzcGFuID0gSFRNTEVsZW1lbnQ6OmNyZWF0ZShzcGFuVGFnLCB0aGlzKTsKLSAg
ICBSZWZQdHI8TmFtZWROb2RlTWFwPiBhdHRycyA9IE5hbWVkTm9kZU1hcDo6Y3JlYXRlKCk7Ci0g
ICAgYXR0cnMtPmFkZEF0dHJpYnV0ZShBdHRyaWJ1dGU6OmNyZWF0ZU1hcHBlZChjbGFzc0F0dHIs
IGNsYXNzTmFtZSkpOwotICAgIHNwYW4tPnNldEF0dHJpYnV0ZU1hcChhdHRycy5yZWxlYXNlKCkp
OworICAgIHNwYW4tPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIGNsYXNzTmFtZSk7CiAgICAgbV9j
dXJyZW50LT5wYXJzZXJBZGRDaGlsZChzcGFuKTsKICAgICBzcGFuLT5hdHRhY2goKTsKICAgICBy
ZXR1cm4gc3Bhbi5yZWxlYXNlKCk7CkBAIC0yMDQsMTcgKzIwMCwxMyBAQCB2b2lkIEhUTUxWaWV3
U291cmNlRG9jdW1lbnQ6OmFkZExpbmUoY29uc3QgQXRvbWljU3RyaW5nJiBjbGFzc05hbWUpCiAK
ICAgICAvLyBDcmVhdGUgYSBjZWxsIHRoYXQgd2lsbCBob2xkIHRoZSBsaW5lIG51bWJlciAoaXQg
aXMgZ2VuZXJhdGVkIGluIHRoZSBzdHlsZXNoZWV0IHVzaW5nIGNvdW50ZXJzKS4KICAgICBSZWZQ
dHI8SFRNTFRhYmxlQ2VsbEVsZW1lbnQ+IHRkID0gSFRNTFRhYmxlQ2VsbEVsZW1lbnQ6OmNyZWF0
ZSh0ZFRhZywgdGhpcyk7Ci0gICAgUmVmUHRyPE5hbWVkTm9kZU1hcD4gYXR0cnMgPSBOYW1lZE5v
ZGVNYXA6OmNyZWF0ZSgpOwotICAgIGF0dHJzLT5hZGRBdHRyaWJ1dGUoQXR0cmlidXRlOjpjcmVh
dGVNYXBwZWQoY2xhc3NBdHRyLCAid2Via2l0LWxpbmUtbnVtYmVyIikpOwotICAgIHRkLT5zZXRB
dHRyaWJ1dGVNYXAoYXR0cnMucmVsZWFzZSgpKTsKKyAgICB0ZC0+c2V0QXR0cmlidXRlKGNsYXNz
QXR0ciwgIndlYmtpdC1saW5lLW51bWJlciIpOwogICAgIHRyb3ctPnBhcnNlckFkZENoaWxkKHRk
KTsKICAgICB0ZC0+YXR0YWNoKCk7CiAKICAgICAvLyBDcmVhdGUgYSBzZWNvbmQgY2VsbCBmb3Ig
dGhlIGxpbmUgY29udGVudHMKICAgICB0ZCA9IEhUTUxUYWJsZUNlbGxFbGVtZW50OjpjcmVhdGUo
dGRUYWcsIHRoaXMpOwotICAgIGF0dHJzID0gTmFtZWROb2RlTWFwOjpjcmVhdGUoKTsKLSAgICBh
dHRycy0+YWRkQXR0cmlidXRlKEF0dHJpYnV0ZTo6Y3JlYXRlTWFwcGVkKGNsYXNzQXR0ciwgIndl
YmtpdC1saW5lLWNvbnRlbnQiKSk7Ci0gICAgdGQtPnNldEF0dHJpYnV0ZU1hcChhdHRycy5yZWxl
YXNlKCkpOworICAgIHRkLT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCAid2Via2l0LWxpbmUtY29u
dGVudCIpOwogICAgIHRyb3ctPnBhcnNlckFkZENoaWxkKHRkKTsKICAgICB0ZC0+YXR0YWNoKCk7
CiAgICAgbV9jdXJyZW50ID0gbV90ZCA9IHRkOwpAQCAtMjkyLDkgKzI4NCw3IEBAIGludCBIVE1M
Vmlld1NvdXJjZURvY3VtZW50OjphZGRSYW5nZShjb25zdCBTdHJpbmcmIHNvdXJjZSwgaW50IHN0
YXJ0LCBpbnQgZW5kLCBjCiBQYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxWaWV3U291cmNlRG9jdW1l
bnQ6OmFkZEJhc2UoY29uc3QgQXRvbWljU3RyaW5nJiBocmVmKQogewogICAgIFJlZlB0cjxIVE1M
QmFzZUVsZW1lbnQ+IGJhc2UgPSBIVE1MQmFzZUVsZW1lbnQ6OmNyZWF0ZShiYXNlVGFnLCB0aGlz
KTsKLSAgICBSZWZQdHI8TmFtZWROb2RlTWFwPiBhdHRyaWJ1dGVNYXAgPSBOYW1lZE5vZGVNYXA6
OmNyZWF0ZSgpOwotICAgIGF0dHJpYnV0ZU1hcC0+YWRkQXR0cmlidXRlKEF0dHJpYnV0ZTo6Y3Jl
YXRlTWFwcGVkKGhyZWZBdHRyLCBocmVmKSk7Ci0gICAgYmFzZS0+c2V0QXR0cmlidXRlTWFwKGF0
dHJpYnV0ZU1hcC5yZWxlYXNlKCkpOworICAgIGJhc2UtPnNldEF0dHJpYnV0ZShocmVmQXR0ciwg
aHJlZik7CiAgICAgbV9jdXJyZW50LT5wYXJzZXJBZGRDaGlsZChiYXNlKTsKICAgICBiYXNlLT5h
dHRhY2goKTsKICAgICByZXR1cm4gYmFzZS5yZWxlYXNlKCk7CkBAIC0zMDcsMTYgKzI5NywxNCBA
QCBQYXNzUmVmUHRyPEVsZW1lbnQ+IEhUTUxWaWV3U291cmNlRG9jdW1lbnQ6OmFkZExpbmsoY29u
c3QgQXRvbWljU3RyaW5nJiB1cmwsIGJvbwogCiAgICAgLy8gTm93IGNyZWF0ZSBhIGxpbmsgZm9y
IHRoZSBhdHRyaWJ1dGUgdmFsdWUgaW5zdGVhZCBvZiBhIHNwYW4uCiAgICAgUmVmUHRyPEhUTUxB
bmNob3JFbGVtZW50PiBhbmNob3IgPSBIVE1MQW5jaG9yRWxlbWVudDo6Y3JlYXRlKHRoaXMpOwot
ICAgIFJlZlB0cjxOYW1lZE5vZGVNYXA+IGF0dHJzID0gTmFtZWROb2RlTWFwOjpjcmVhdGUoKTsK
ICAgICBjb25zdCBjaGFyKiBjbGFzc1ZhbHVlOwogICAgIGlmIChpc0FuY2hvcikKICAgICAgICAg
Y2xhc3NWYWx1ZSA9ICJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUgd2Via2l0LWh0bWwtZXh0
ZXJuYWwtbGluayI7CiAgICAgZWxzZQogICAgICAgICBjbGFzc1ZhbHVlID0gIndlYmtpdC1odG1s
LWF0dHJpYnV0ZS12YWx1ZSB3ZWJraXQtaHRtbC1yZXNvdXJjZS1saW5rIjsKLSAgICBhdHRycy0+
YWRkQXR0cmlidXRlKEF0dHJpYnV0ZTo6Y3JlYXRlTWFwcGVkKGNsYXNzQXR0ciwgY2xhc3NWYWx1
ZSkpOwotICAgIGF0dHJzLT5hZGRBdHRyaWJ1dGUoQXR0cmlidXRlOjpjcmVhdGVNYXBwZWQodGFy
Z2V0QXR0ciwgIl9ibGFuayIpKTsKLSAgICBhdHRycy0+YWRkQXR0cmlidXRlKEF0dHJpYnV0ZTo6
Y3JlYXRlTWFwcGVkKGhyZWZBdHRyLCB1cmwpKTsKLSAgICBhbmNob3ItPnNldEF0dHJpYnV0ZU1h
cChhdHRycy5yZWxlYXNlKCkpOworICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwg
Y2xhc3NWYWx1ZSk7CisgICAgYW5jaG9yLT5zZXRBdHRyaWJ1dGUodGFyZ2V0QXR0ciwgIl9ibGFu
ayIpOworICAgIGFuY2hvci0+c2V0QXR0cmlidXRlKGhyZWZBdHRyLCB1cmwpOwogICAgIG1fY3Vy
cmVudC0+cGFyc2VyQWRkQ2hpbGQoYW5jaG9yKTsKICAgICBhbmNob3ItPmF0dGFjaCgpOwogICAg
IHJldHVybiBhbmNob3IucmVsZWFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCmluZGV4IDJhZTc3OGZkZTdkY2VlMzRiYTE1
Yzk3MDhkNmE3Y2I4ZjdmOTBhMzkuLmE1NDRjM2NiYjdiODdhMTAwOWI0YmEyODkyNDZlZDg2YzZl
MzczZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1
Y3Rpb25TaXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3Ry
dWN0aW9uU2l0ZS5jcHAKQEAgLTE4OCw3ICsxODgsNyBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25T
aXRlOjpkaXNwYXRjaERvY3VtZW50RWxlbWVudEF2YWlsYWJsZUlmTmVlZGVkKCkKIHZvaWQgSFRN
TENvbnN0cnVjdGlvblNpdGU6Omluc2VydEhUTUxIdG1sU3RhcnRUYWdCZWZvcmVIVE1MKEF0b21p
Y0hUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgUmVmUHRyPEhUTUxIdG1sRWxlbWVudD4gZWxlbWVu
dCA9IEhUTUxIdG1sRWxlbWVudDo6Y3JlYXRlKG1fZG9jdW1lbnQpOwotICAgIGVsZW1lbnQtPnNl
dEF0dHJpYnV0ZU1hcCh0b2tlbi50YWtlQXR0cmlidXRlcygpLCBtX2ZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbik7CisgICAgZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRlTWFwKHRva2VuLnRh
a2VBdHRyaWJ1dGVzKCksIG1fZnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKICAgICBtX29w
ZW5FbGVtZW50cy5wdXNoSFRNTEh0bWxFbGVtZW50KGF0dGFjaDxFbGVtZW50PihtX2F0dGFjaG1l
bnRSb290LCBlbGVtZW50LmdldCgpKSk7CiAgICAgZWxlbWVudC0+aW5zZXJ0ZWRCeVBhcnNlcigp
OwogICAgIGRpc3BhdGNoRG9jdW1lbnRFbGVtZW50QXZhaWxhYmxlSWZOZWVkZWQoKTsKQEAgLTMy
NCw3ICszMjQsNyBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRTY3JpcHRFbGVt
ZW50KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgUmVmUHRyPEhUTUxTY3JpcHRFbGVt
ZW50PiBlbGVtZW50ID0gSFRNTFNjcmlwdEVsZW1lbnQ6OmNyZWF0ZShzY3JpcHRUYWcsIGN1cnJl
bnROb2RlKCktPmRvY3VtZW50KCksIHRydWUpOwogICAgIGlmIChtX2ZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiA9PSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpCi0gICAgICAgIGVsZW1lbnQt
PnNldEF0dHJpYnV0ZU1hcCh0b2tlbi50YWtlQXR0cmlidXRlcygpLCBtX2ZyYWdtZW50U2NyaXB0
aW5nUGVybWlzc2lvbik7CisgICAgICAgIGVsZW1lbnQtPnBhcnNlclNldEF0dHJpYnV0ZU1hcCh0
b2tlbi50YWtlQXR0cmlidXRlcygpLCBtX2ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CiAg
ICAgbV9vcGVuRWxlbWVudHMucHVzaChhdHRhY2hUb0N1cnJlbnQoZWxlbWVudC5yZWxlYXNlKCkp
KTsKIH0KIApAQCAtMzgyLDcgKzM4Miw3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0
cnVjdGlvblNpdGU6OmNyZWF0ZUVsZW1lbnQoQXRvbWljSFRNTFRva2VuJiB0b2tlbiwKIHsKICAg
ICBRdWFsaWZpZWROYW1lIHRhZ05hbWUobnVsbEF0b20sIHRva2VuLm5hbWUoKSwgbmFtZXNwYWNl
VVJJKTsKICAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9IGN1cnJlbnROb2RlKCktPmRvY3Vt
ZW50KCktPmNyZWF0ZUVsZW1lbnQodGFnTmFtZSwgdHJ1ZSk7Ci0gICAgZWxlbWVudC0+c2V0QXR0
cmlidXRlTWFwKHRva2VuLnRha2VBdHRyaWJ1dGVzKCksIG1fZnJhZ21lbnRTY3JpcHRpbmdQZXJt
aXNzaW9uKTsKKyAgICBlbGVtZW50LT5wYXJzZXJTZXRBdHRyaWJ1dGVNYXAodG9rZW4udGFrZUF0
dHJpYnV0ZXMoKSwgbV9mcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwogICAgIHJldHVybiBl
bGVtZW50LnJlbGVhc2UoKTsKIH0KIApAQCAtMzkzLDcgKzM5Myw3IEBAIFBhc3NSZWZQdHI8RWxl
bWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxU
b2tlbiYgdG9rCiAgICAgLy8gaGF2ZSB0byBwYXNzIHRoZSBjdXJyZW50IGZvcm0gZWxlbWVudC4g
IFdlIHNob3VsZCByZXdvcmsgZm9ybSBhc3NvY2lhdGlvbgogICAgIC8vIHRvIG9jY3VyIGFmdGVy
IGNvbnN0cnVjdGlvbiB0byBhbGxvdyBiZXR0ZXIgY29kZSBzaGFyaW5nIGhlcmUuCiAgICAgUmVm
UHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZUhUTUxFbGVt
ZW50KHRhZ05hbWUsIGN1cnJlbnROb2RlKCktPmRvY3VtZW50KCksIGZvcm0oKSwgdHJ1ZSk7Ci0g
ICAgZWxlbWVudC0+c2V0QXR0cmlidXRlTWFwKHRva2VuLnRha2VBdHRyaWJ1dGVzKCksIG1fZnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKKyAgICBlbGVtZW50LT5wYXJzZXJTZXRBdHRyaWJ1
dGVNYXAodG9rZW4udGFrZUF0dHJpYnV0ZXMoKSwgbV9mcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Np
b24pOwogICAgIEFTU0VSVChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkpOwogICAgIHJldHVybiBl
bGVtZW50LnJlbGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svV2ViVlRUUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUUGFy
c2VyLmNwcAppbmRleCA5MTQ5MTVkZjA4OTU4MWIyOWY2NzIwNmQ1YTExZWVkZjQwMjAxYzAyLi45
ZDYxOTUyN2NjZjViZDBiNjRkNzQzMGUxNDRkZWEwZDY5MTlmODk4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuY3BwCkBAIC0zNTksMTMgKzM1OSwxMCBAQCB2b2lk
IFdlYlZUVFBhcnNlcjo6Y29uc3RydWN0VHJlZUZyb21Ub2tlbihEb2N1bWVudCogZG9jdW1lbnQp
CiAgICAgICAgICAgICBjaGlsZCA9IEhUTUxFbGVtZW50OjpjcmVhdGUocVRhZywgZG9jdW1lbnQp
OwogCiAgICAgICAgIGlmIChjaGlsZCkgewotICAgICAgICAgICAgaWYgKG1fdG9rZW4uY2xhc3Nl
cygpLnNpemUoKSA+IDApIHsKLSAgICAgICAgICAgICAgICBSZWZQdHI8TmFtZWROb2RlTWFwPiBh
dHRyaWJ1dGVNYXAgPSBOYW1lZE5vZGVNYXA6OmNyZWF0ZSgpOwotICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZU1hcC0+YWRkQXR0cmlidXRlKEF0dHJpYnV0ZTo6Y3JlYXRlTWFwcGVkKGNsYXNzQXR0
ciwgQXRvbWljU3RyaW5nKG1fdG9rZW4uY2xhc3NlcygpLmRhdGEoKSwgbV90b2tlbi5jbGFzc2Vz
KCkuc2l6ZSgpKSkpOwotICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRBdHRyaWJ1dGVNYXAoYXR0
cmlidXRlTWFwLnJlbGVhc2UoKSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobV90
b2tlbi5jbGFzc2VzKCkuc2l6ZSgpID4gMCkKKyAgICAgICAgICAgICAgICBjaGlsZC0+c2V0QXR0
cmlidXRlKGNsYXNzQXR0ciwgQXRvbWljU3RyaW5nKG1fdG9rZW4uY2xhc3NlcygpLmRhdGEoKSwg
bV90b2tlbi5jbGFzc2VzKCkuc2l6ZSgpKSk7CiAgICAgICAgICAgICBpZiAoY2hpbGQtPmhhc1Rh
Z05hbWUocVRhZykpCi0gICAgICAgICAgICAgICAgY2hpbGQtPnNldEF0dHJpYnV0ZSh0aXRsZUF0
dHIsIFN0cmluZyhtX3Rva2VuLmFubm90YXRpb24oKS5kYXRhKCksIG1fdG9rZW4uYW5ub3RhdGlv
bigpLnNpemUoKSkpOworICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRBdHRyaWJ1dGUodGl0bGVB
dHRyLCBBdG9taWNTdHJpbmcobV90b2tlbi5hbm5vdGF0aW9uKCkuZGF0YSgpLCBtX3Rva2VuLmFu
bm90YXRpb24oKS5zaXplKCkpKTsKICAgICAgICAgICAgIG1fY3VycmVudE5vZGUtPnBhcnNlckFk
ZENoaWxkKGNoaWxkKTsKICAgICAgICAgICAgIG1fY3VycmVudE5vZGUgPSBjaGlsZDsKICAgICAg
ICAgfQo=
</data>
<flag name="review"
          id="120061"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>