<?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>77879</bug_id>
          
          <creation_ts>2012-02-06 09:02:29 -0800</creation_ts>
          <short_desc>Move style related functions from NamedNodeMap to ElementAttributeData</short_desc>
          <delta_ts>2012-02-07 04:09:25 -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>77952</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>tonyg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>550042</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-02-06 09:02:29 -0800</bug_when>
    <thetext>Move style related functions from NamedNodeMap to ElementAttributeData</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550048</commentid>
    <comment_count>1</comment_count>
      <attachid>125661</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-02-06 09:07:23 -0800</bug_when>
    <thetext>Created attachment 125661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550081</commentid>
    <comment_count>2</comment_count>
      <attachid>125661</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-06 10:10:37 -0800</bug_when>
    <thetext>Comment on attachment 125661
Patch

Excellent!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550095</commentid>
    <comment_count>3</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-02-06 10:37:48 -0800</bug_when>
    <thetext>Committed r106819: &lt;http://trac.webkit.org/changeset/106819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550248</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-06 13:32:31 -0800</bug_when>
    <thetext>This change seems to significantly (~28% or so) regress performance of the ManInBlue HTML (http://themaninblue.com/experiment/AnimationBenchmark/html/) benchmark, among others. Looking at the change, though, I&apos;m not sure how that&apos;s possible. Could you potentially take a look at this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550280</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-06 14:22:20 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; This change seems to significantly (~28% or so) regress performance of the ManInBlue HTML (http://themaninblue.com/experiment/AnimationBenchmark/html/) benchmark, among others. Looking at the change, though, I&apos;m not sure how that&apos;s possible. Could you potentially take a look at this?

That&apos;s surprising. The only reason I can think of this is happening if some functions in NamedNodeMap were benefiting from ensureInlineStyleDecl, destroyInlineStyleDecl, and ensureAttributeStyle being inlined. Could you try that and see what happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550604</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-06 21:32:18 -0800</bug_when>
    <thetext>The regression is probably caused by additional tertiary operators in inlineStyleDecl() and friends. We should probably do this refactoring when we move m_attributeData from NamedNodeMap to Element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550646</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-06 23:12:22 -0800</bug_when>
    <thetext>king is right. This is caused by ensureInlineStyleDecl now calling ensureAttributeData, which updates attributes, instead of ensureInlineStyleDecl, which doesn&apos;t update attributes:

As a result, we&apos;re spending 2+% of time in StyledElement::style().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550751</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-07 02:30:29 -0800</bug_when>
    <thetext>It also caused a regression on DOM/Accessors:
http://webkit-perf.appspot.com/graph.html?#tests=[[3113,2001,32196]]&amp;sel=1328551109987.2344,1328555918820.6528&amp;displayrange=7&amp;datatype=running</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550815</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-02-07 04:03:56 -0800</bug_when>
    <thetext>This appears to have regressed several of chromium&apos;s page cyclers and is a blocker for us.

Would you be opposed to rolling out this patch and working on the fix off of the tree?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550816</commentid>
    <comment_count>10</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-02-07 04:04:51 -0800</bug_when>
    <thetext>Chromium bug: http://code.google.com/p/chromium/issues/detail?id=112854#c21</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550819</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-02-07 04:09:25 -0800</bug_when>
    <thetext>Actually, looks like rniwa has a proposed fix here: https://bugs.webkit.org/show_bug.cgi?id=77952</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125661</attachid>
            <date>2012-02-06 09:07:23 -0800</date>
            <delta_ts>2012-02-06 10:10:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77879-20120206140720.patch</filename>
            <type>text/plain</type>
            <size>8820</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RkMWZiN2UzMmE4YzVi
N2UyYzk5OGEzNDNjZWE1ZDY4NWM3ZGZjNS4uMjBhYWU5ODVhMTNhZDZhMWQwNWU2MTY0MTBiNDZm
NzQ0NzRhNjgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTA2ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgTW92ZSBzdHlsZSByZWxhdGVkIGZ1bmN0aW9ucyBmcm9tIE5hbWVkTm9kZU1h
cCB0byBFbGVtZW50QXR0cmlidXRlRGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIGNvbW1pdCBhbHNvIHJlbW92ZXMgdGhlIE5hbWVkTm9kZU1h
cDo6bWFwcGVkQXR0cmlidXRlQ291bnQoKSwKKyAgICAgICAgd2hpY2ggaXMgYSBsZWZ0b3ZlciBm
cm9tIHJlbW92YWwgb2YgbWFwcGVkIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBkb20vRWxlbWVu
dEF0dHJpYnV0ZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURh
dGE6OmVuc3VyZUlubGluZVN0eWxlRGVjbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpkZXN0cm95SW5saW5lU3R5bGVEZWNsKToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjplbnN1cmVBdHRyaWJ1dGVT
dHlsZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmg6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6aW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAg
KEVsZW1lbnRBdHRyaWJ1dGVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjphdHRyaWJ1dGVTdHlsZSk6CisgICAgICAgICogZG9tL05hbWVkTm9kZU1hcC5jcHA6
CisgICAgICAgICogZG9tL05hbWVkTm9kZU1hcC5oOgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVt
ZW50Lmg6CisgICAgICAgIChTdHlsZWRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
ZEVsZW1lbnQ6OmlubGluZVN0eWxlRGVjbCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVt
ZW50OjplbnN1cmVJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxl
bWVudDo6YXR0cmlidXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6
ZW5zdXJlQXR0cmlidXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6
ZGVzdHJveUlubGluZVN0eWxlRGVjbCk6CisKIDIwMTItMDItMDYgIEFsZXhhbmRlciBQYXZsb3Yg
IDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1vdmUg
dW51c2VkIGRpc2FibGVkQ29tcHV0ZWRQcm9wZXJ0aWVzIGZyb20gbWV0aG9kcyBpbiBTdHlsZXNT
aWRlYmFyUGFuZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1
dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAK
aW5kZXggMTI4MzMwNGJkYzA3NWNhNDE0NmE1NjViYzE2N2I2MTNkNTI4MDZhNS4uYzI3ZjEyNDJh
MTlmOTI3ZWVjMDI3M2RkOGI2MWRjZWY1MWEzMGMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRWxlbWVudEF0dHJpYnV0ZURhdGEuaCIKIAorI2luY2x1ZGUgIlN0
eWxlZEVsZW1lbnQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEVsZW1lbnRBdHRy
aWJ1dGVEYXRhOjpzZXRDbGFzcyhjb25zdCBTdHJpbmcmIGNsYXNzTmFtZSwgYm9vbCBzaG91bGRG
b2xkQ2FzZSkKQEAgLTMzLDQgKzM1LDMxIEBAIHZvaWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6OnNl
dENsYXNzKGNvbnN0IFN0cmluZyYgY2xhc3NOYW1lLCBib29sIHNob3VsZEZvbGRDYXNlCiAgICAg
bV9jbGFzc05hbWVzLnNldChjbGFzc05hbWUsIHNob3VsZEZvbGRDYXNlKTsKIH0KIAorU3R5bGVQ
cm9wZXJ0eVNldCogRWxlbWVudEF0dHJpYnV0ZURhdGE6OmVuc3VyZUlubGluZVN0eWxlRGVjbChF
bGVtZW50KiBlbGVtZW50KQoreworICAgIGlmICghbV9pbmxpbmVTdHlsZURlY2wpIHsKKyAgICAg
ICAgQVNTRVJUKGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKTsKKyAgICAgICAgbV9pbmxpbmVT
dHlsZURlY2wgPSBTdHlsZVByb3BlcnR5U2V0OjpjcmVhdGVJbmxpbmUoc3RhdGljX2Nhc3Q8U3R5
bGVkRWxlbWVudCo+KGVsZW1lbnQpKTsKKyAgICAgICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldFN0
cmljdFBhcnNpbmcoZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpICYmICFlbGVtZW50LT5kb2N1bWVu
dCgpLT5pblF1aXJrc01vZGUoKSk7CisgICAgfQorICAgIHJldHVybiBtX2lubGluZVN0eWxlRGVj
bC5nZXQoKTsKK30KKwordm9pZCBFbGVtZW50QXR0cmlidXRlRGF0YTo6ZGVzdHJveUlubGluZVN0
eWxlRGVjbCgpCit7CisgICAgaWYgKCFtX2lubGluZVN0eWxlRGVjbCkKKyAgICAgICAgcmV0dXJu
OworICAgIG1faW5saW5lU3R5bGVEZWNsLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKKyAgICBtX2lu
bGluZVN0eWxlRGVjbCA9IDA7Cit9CisKK1N0eWxlUHJvcGVydHlTZXQqIEVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjplbnN1cmVBdHRyaWJ1dGVTdHlsZSgpCit7CisgICAgaWYgKCFtX2F0dHJpYnV0ZVN0
eWxlKSB7CisgICAgICAgIG1fYXR0cmlidXRlU3R5bGUgPSBTdHlsZVByb3BlcnR5U2V0OjpjcmVh
dGUoKTsKKyAgICAgICAgbV9hdHRyaWJ1dGVTdHlsZS0+c2V0U3RyaWN0UGFyc2luZyhmYWxzZSk7
CisgICAgfQorICAgIHJldHVybiBtX2F0dHJpYnV0ZVN0eWxlLmdldCgpOworfQorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oCmluZGV4IGNmZDA1YjgxM2VlYjJi
OTUwNzYyZTNkYjk2NTVjNzZhNjgzNzg4ZDMuLjAyODM3MjhlOGI5MTFhNjEzZTE1MWE4ZjgyY2I2
N2M4MzVmYjRmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmli
dXRlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5o
CkBAIC00Miw2ICs0MiwxMyBAQCBwdWJsaWM6CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBpZEZv
clN0eWxlUmVzb2x1dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faWRGb3JTdHlsZVJlc29sdXRpb247
IH0KICAgICB2b2lkIHNldElkRm9yU3R5bGVSZXNvbHV0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYg
bmV3SWQpIHsgbV9pZEZvclN0eWxlUmVzb2x1dGlvbiA9IG5ld0lkOyB9CiAKKyAgICBTdHlsZVBy
b3BlcnR5U2V0KiBpbmxpbmVTdHlsZURlY2woKSB7IHJldHVybiBtX2lubGluZVN0eWxlRGVjbC5n
ZXQoKTsgfQorICAgIFN0eWxlUHJvcGVydHlTZXQqIGVuc3VyZUlubGluZVN0eWxlRGVjbChFbGVt
ZW50Kik7CisgICAgdm9pZCBkZXN0cm95SW5saW5lU3R5bGVEZWNsKCk7CisKKyAgICBTdHlsZVBy
b3BlcnR5U2V0KiBhdHRyaWJ1dGVTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlU3R5
bGUuZ2V0KCk7IH0KKyAgICBTdHlsZVByb3BlcnR5U2V0KiBlbnN1cmVBdHRyaWJ1dGVTdHlsZSgp
OworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOYW1lZE5vZGVNYXA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05hbWVkTm9kZU1hcC5jcHAKaW5kZXggMzZlM2JhZWYwNTE2YTIxNTVjMDdmZWQ1YzBmOTgw
ZGE5MGYwODMyNC4uMGEzMmE2NmNhZmVkNzJjNWU5YWZlNjcyODJhMjE0YzNjYzJiMjFjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgotI2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zMTgsMzEgKzMxNyw0IEBAIGJvb2wgTmFtZWROb2RlTWFwOjptYXBzRXF1aXZhbGVu
dChjb25zdCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBjb25zdAogICAgIHJldHVybiB0cnVlOwog
fQogCi1TdHlsZVByb3BlcnR5U2V0KiBOYW1lZE5vZGVNYXA6OmVuc3VyZUlubGluZVN0eWxlRGVj
bCgpCi17Ci0gICAgaWYgKCFhdHRyaWJ1dGVEYXRhKCktPm1faW5saW5lU3R5bGVEZWNsKSB7Ci0g
ICAgICAgIEFTU0VSVChtX2VsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKTsKLSAgICAgICAgYXR0
cmlidXRlRGF0YSgpLT5tX2lubGluZVN0eWxlRGVjbCA9IFN0eWxlUHJvcGVydHlTZXQ6OmNyZWF0
ZUlubGluZShzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obV9lbGVtZW50KSk7Ci0gICAgICAg
IGF0dHJpYnV0ZURhdGEoKS0+bV9pbmxpbmVTdHlsZURlY2wtPnNldFN0cmljdFBhcnNpbmcobV9l
bGVtZW50LT5pc0hUTUxFbGVtZW50KCkgJiYgIW1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+aW5RdWly
a3NNb2RlKCkpOwotICAgIH0KLSAgICByZXR1cm4gYXR0cmlidXRlRGF0YSgpLT5tX2lubGluZVN0
eWxlRGVjbC5nZXQoKTsKLX0KLQotdm9pZCBOYW1lZE5vZGVNYXA6OmRlc3Ryb3lJbmxpbmVTdHls
ZURlY2woKQotewotICAgIGlmICghYXR0cmlidXRlRGF0YSgpLT5tX2lubGluZVN0eWxlRGVjbCkK
LSAgICAgICAgcmV0dXJuOwotICAgIGF0dHJpYnV0ZURhdGEoKS0+bV9pbmxpbmVTdHlsZURlY2wt
PmNsZWFyUGFyZW50RWxlbWVudCgpOwotICAgIGF0dHJpYnV0ZURhdGEoKS0+bV9pbmxpbmVTdHls
ZURlY2wgPSAwOwotfQotCi1TdHlsZVByb3BlcnR5U2V0KiBOYW1lZE5vZGVNYXA6OmVuc3VyZUF0
dHJpYnV0ZVN0eWxlKCkKLXsKLSAgICBpZiAoIWF0dHJpYnV0ZURhdGEoKS0+bV9hdHRyaWJ1dGVT
dHlsZSkgewotICAgICAgICBhdHRyaWJ1dGVEYXRhKCktPm1fYXR0cmlidXRlU3R5bGUgPSBTdHls
ZVByb3BlcnR5U2V0OjpjcmVhdGUoKTsKLSAgICAgICAgYXR0cmlidXRlRGF0YSgpLT5tX2F0dHJp
YnV0ZVN0eWxlLT5zZXRTdHJpY3RQYXJzaW5nKGZhbHNlKTsKLSAgICB9Ci0gICAgcmV0dXJuIGF0
dHJpYnV0ZURhdGEoKS0+bV9hdHRyaWJ1dGVTdHlsZS5nZXQoKTsKLX0KLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oCmluZGV4IGRhMzM0OTZkYjJhOWVl
NWE5MGFiMDM3NGMyNTdjMzExOWUxNWE5ZWIuLjZiZGRlMGZiMzIzMDU4YmM5MjQyMGMzMTllMmJl
NmRkYWRlZmMzNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgKQEAgLTI2LDcgKzI2LDYg
QEAKICNkZWZpbmUgTmFtZWROb2RlTWFwX2gKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJFbGVtZW50QXR0cmlidXRlRGF0
YS5oIgogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvTm90Rm91
bmQuaD4KQEAgLTk1LDE4ICs5NCw5IEBAIHB1YmxpYzoKIAogICAgIEVsZW1lbnQqIGVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnQ7IH0KIAotICAgIHNpemVfdCBtYXBwZWRBdHRyaWJ1
dGVDb3VudCgpIGNvbnN0OwotCiAgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGF0dHJpYnV0ZURh
dGEoKSB7IHJldHVybiAmbV9hdHRyaWJ1dGVEYXRhOyB9CiAgICAgY29uc3QgRWxlbWVudEF0dHJp
YnV0ZURhdGEqIGF0dHJpYnV0ZURhdGEoKSBjb25zdCB7IHJldHVybiAmbV9hdHRyaWJ1dGVEYXRh
OyB9CiAKLSAgICBTdHlsZVByb3BlcnR5U2V0KiBpbmxpbmVTdHlsZURlY2woKSB7IHJldHVybiBh
dHRyaWJ1dGVEYXRhKCktPm1faW5saW5lU3R5bGVEZWNsLmdldCgpOyB9Ci0gICAgU3R5bGVQcm9w
ZXJ0eVNldCogZW5zdXJlSW5saW5lU3R5bGVEZWNsKCk7Ci0gICAgdm9pZCBkZXN0cm95SW5saW5l
U3R5bGVEZWNsKCk7Ci0KLSAgICBTdHlsZVByb3BlcnR5U2V0KiBhdHRyaWJ1dGVTdHlsZSgpIGNv
bnN0IHsgcmV0dXJuIGF0dHJpYnV0ZURhdGEoKS0+bV9hdHRyaWJ1dGVTdHlsZS5nZXQoKTsgfQot
ICAgIFN0eWxlUHJvcGVydHlTZXQqIGVuc3VyZUF0dHJpYnV0ZVN0eWxlKCk7Ci0KIHByaXZhdGU6
CiAgICAgTmFtZWROb2RlTWFwKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIDogbV9lbGVtZW50
KGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAppbmRleCBjNDIyNDkwZTQ5MjVm
MzI4NmFhMDU0ZWY0MjI4NWQyNWQ2NGI2OTVlLi5mOTQxYjhiZDMwMzBiMmUzNTk2MjRjNmEwNGJj
ODgwZjFjNzIxZWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKQEAgLTM2LDggKzM2
LDYgQEAgY2xhc3MgU3R5bGVkRWxlbWVudCA6IHB1YmxpYyBFbGVtZW50IHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5TdHlsZWRFbGVtZW50KCk7CiAKLSAgICBzaXplX3QgbWFwcGVkQXR0cmlidXRl
Q291bnQoKSBjb25zdCB7IHJldHVybiBhdHRyaWJ1dGVNYXAoKSA/IGF0dHJpYnV0ZU1hcCgpLT5t
YXBwZWRBdHRyaWJ1dGVDb3VudCgpIDogMDsgfQotCiAgICAgdm9pZCBhZGRDU1NMZW5ndGgoaW50
IGlkLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAgICB2b2lkIGFkZENTU1Byb3BlcnR5KGludCBp
ZCwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAgICAgdm9pZCBhZGRDU1NQcm9wZXJ0eShpbnQgaWQs
IGludCB2YWx1ZSk7CkBAIC00OSwxMiArNDcsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBhZGRpdGlvbmFsQXR0cmlidXRlU3R5bGUoKSB7IHJl
dHVybiAwOyB9CiAgICAgdm9pZCBpbnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKIAotICAgIFN0
eWxlUHJvcGVydHlTZXQqIGlubGluZVN0eWxlRGVjbCgpIGNvbnN0IHsgcmV0dXJuIGF0dHJpYnV0
ZU1hcCgpID8gYXR0cmlidXRlTWFwKCktPmlubGluZVN0eWxlRGVjbCgpIDogMDsgfQotICAgIFN0
eWxlUHJvcGVydHlTZXQqIGVuc3VyZUlubGluZVN0eWxlRGVjbCgpIHsgcmV0dXJuIGVuc3VyZUF0
dHJpYnV0ZU1hcCgpLT5lbnN1cmVJbmxpbmVTdHlsZURlY2woKTsgfQorICAgIFN0eWxlUHJvcGVy
dHlTZXQqIGlubGluZVN0eWxlRGVjbCgpIGNvbnN0IHsgcmV0dXJuIGF0dHJpYnV0ZURhdGEoKSA/
IGF0dHJpYnV0ZURhdGEoKS0+aW5saW5lU3R5bGVEZWNsKCkgOiAwOyB9CisgICAgU3R5bGVQcm9w
ZXJ0eVNldCogZW5zdXJlSW5saW5lU3R5bGVEZWNsKCkgeyByZXR1cm4gZW5zdXJlQXR0cmlidXRl
RGF0YSgpLT5lbnN1cmVJbmxpbmVTdHlsZURlY2wodGhpcyk7IH0KICAgICB2aXJ0dWFsIENTU1N0
eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgT1ZFUlJJREUgeyByZXR1cm4gZW5zdXJlSW5saW5lU3R5
bGVEZWNsKCktPmVuc3VyZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsgfQogCi0gICAgU3R5bGVQcm9w
ZXJ0eVNldCogYXR0cmlidXRlU3R5bGUoKSBjb25zdCB7IHJldHVybiBhdHRyaWJ1dGVNYXAoKSA/
IGF0dHJpYnV0ZU1hcCgpLT5hdHRyaWJ1dGVTdHlsZSgpIDogMDsgfQotICAgIFN0eWxlUHJvcGVy
dHlTZXQqIGVuc3VyZUF0dHJpYnV0ZVN0eWxlKCkgeyByZXR1cm4gZW5zdXJlQXR0cmlidXRlTWFw
KCktPmVuc3VyZUF0dHJpYnV0ZVN0eWxlKCk7IH0KKyAgICBTdHlsZVByb3BlcnR5U2V0KiBhdHRy
aWJ1dGVTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGF0dHJpYnV0ZURhdGEoKSA/IGF0dHJpYnV0ZURh
dGEoKS0+YXR0cmlidXRlU3R5bGUoKSA6IDA7IH0KKyAgICBTdHlsZVByb3BlcnR5U2V0KiBlbnN1
cmVBdHRyaWJ1dGVTdHlsZSgpIHsgcmV0dXJuIGVuc3VyZUF0dHJpYnV0ZURhdGEoKS0+ZW5zdXJl
QXR0cmlidXRlU3R5bGUoKTsgfQogCiAgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgY2xhc3NO
YW1lcygpIGNvbnN0OwogCkBAIC04MCw4ICs3OCw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRl
c3Ryb3lJbmxpbmVTdHlsZURlY2woKQogICAgIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgp
KQotICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPmRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKTsK
KyAgICAgICAgaWYgKGF0dHJpYnV0ZURhdGEoKSkKKyAgICAgICAgICAgIGF0dHJpYnV0ZURhdGEo
KS0+ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpOwogICAgIH0KIH07CiAK
</data>
<flag name="review"
          id="127213"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>