<?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>76876</bug_id>
          
          <creation_ts>2012-01-23 16:21:28 -0800</creation_ts>
          <short_desc>Make elements that don&apos;t have attributes smaller.</short_desc>
          <delta_ts>2012-01-31 23:36:33 -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>DOM</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>
          <dependson>76930</dependson>
    
    <dependson>77001</dependson>
    
    <dependson>77304</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>koivisto</cc>
    
    <cc>leviw</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>540941</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-23 16:21:28 -0800</bug_when>
    <thetext>Because you&apos;re worth it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540950</commentid>
    <comment_count>1</comment_count>
      <attachid>123652</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-23 16:28:24 -0800</bug_when>
    <thetext>Created attachment 123652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540952</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-23 16:31:53 -0800</bug_when>
    <thetext>Attachment 123652 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/dom/StyledElement.h:93:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541286</commentid>
    <comment_count>3</comment_count>
      <attachid>123652</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-24 06:23:55 -0800</bug_when>
    <thetext>Comment on attachment 123652
Patch

Attachment 123652 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11212804

New failing tests:
fast/css/getComputedStyle/computed-style-border-image.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541303</commentid>
    <comment_count>4</comment_count>
      <attachid>123652</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-01-24 06:56:43 -0800</bug_when>
    <thetext>Comment on attachment 123652
Patch

It would be good to add some comments to NamedNodeMap about the refactoring plans. The class is getting increasingly confusing as a place to hang random stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541321</commentid>
    <comment_count>5</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-24 07:42:19 -0800</bug_when>
    <thetext>Committed r105738: &lt;http://trac.webkit.org/changeset/105738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541366</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-24 08:57:09 -0800</bug_when>
    <thetext>Reopen, because it made fast/css/getComputedStyle/computed-style-border-image.html crash (at least) on Qt. Could you check what happened?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541482</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-24 10:57:00 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Reopen, because it made fast/css/getComputedStyle/computed-style-border-image.html crash (at least) on Qt. Could you check what happened?

Naturally. Here&apos;s the stack:

#0  WebCore::CSSValue::cssText (this=0x0) at CSSValue.h:153
#1  0x013fddbd in WebCore::CSSValueList::customCssText () at /Users/andreaskling/src/WebKit/Source/WebCore/css/CSSValueList.cpp:133
#2  0x013fcd0a in WebCore::CSSValue::cssText (this=&lt;value temporarily unavailable, due to optimizations&gt;) at /Users/andreaskling/src/WebKit/Source/WebCore/css/CSSValue.cpp:145
#3  0x013b1066 in WebCore::CSSProperty::cssText (this=0x2fb5990) at /Users/andreaskling/src/WebKit/Source/WebCore/css/CSSProperty.cpp:32
#4  0x01386ff1 in WebCore::CSSMutableStyleDeclaration::cssText () at /Users/andreaskling/src/WebKit/Source/WebCore/css/CSSMutableStyleDeclaration.cpp:862
#5  0x01c3abfa in WebCore::StyledElement::updateStyleAttribute (this=0x2fb5f20) at /Users/andreaskling/src/WebKit/Source/WebCore/dom/StyledElement.cpp:116
#6  0x012e3da6 in WebCore::StyledElement::ensureInlineStyleDecl (this=0x2fb5f20) at Element.h:495
#7  0x017cacae in WebCore::jsElementStyle (exec=0xc8ea1a0, slotBase={u = {asInt64 = -21284731472, asDouble = -nan(0xffffb0b54c5b0), asBits = {payload = 190105008, tag = -5}}}) at /Users/andreaskling/Source/Apple/Build/Release/DerivedSources/WebCore/JSElement.cpp:270

I wonder why we have null CSSValues in the CSSValueList here, this smells fishy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541499</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-24 11:14:33 -0800</bug_when>
    <thetext>Looks like I exposed a bug that was introduced in &lt;http://trac.webkit.org/changeset/105502&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543120</commentid>
    <comment_count>9</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-26 06:56:45 -0800</bug_when>
    <thetext>Committed r105999: &lt;http://trac.webkit.org/changeset/105999&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544464</commentid>
    <comment_count>10</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-01-27 15:50:30 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Committed r105999: &lt;http://trac.webkit.org/changeset/105999&gt;

I&apos;m worried that this caused a performance regression. Here is the graph: http://build.chromium.org/f/chromium/perf/mac-release-10.5/dhtml/report.html?history=150&amp;rev=-1

I&apos;m running this test with all Chromium changes up to the latest WebKit roll, which included only these revisions: http://trac.webkit.org/log/?rev=106007&amp;stop_rev=105998&amp;verbose=on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544711</commentid>
    <comment_count>11</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-01-28 19:19:23 -0800</bug_when>
    <thetext>We did a perf test right before this change, and the regression wasn&apos;t present. I&apos;m going to rever this tomorrow morning and try again just for confirmation. Let me know if you have an objection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544733</commentid>
    <comment_count>12</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-29 06:26:59 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; We did a perf test right before this change, and the regression wasn&apos;t present. I&apos;m going to rever this tomorrow morning and try again just for confirmation. Let me know if you have an objection.

Feel free to roll out, I won&apos;t have a chance to look until tomorrow anyway. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544790</commentid>
    <comment_count>13</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-01-29 15:58:29 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Feel free to roll out, I won&apos;t have a chance to look until tomorrow anyway. :/

Thanks! Just did. We&apos;ll know by tomorrow if this was the root cause. Sorry for the bother.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545281</commentid>
    <comment_count>14</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-01-30 12:10:54 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Thanks! Just did. We&apos;ll know by tomorrow if this was the root cause. Sorry for the bother.

http://trac.webkit.org/changeset/106201 was the rollout, and it did fix this performance regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546769</commentid>
    <comment_count>15</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-31 20:28:29 -0800</bug_when>
    <thetext>Reopening to roll back in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546773</commentid>
    <comment_count>16</comment_count>
      <attachid>124878</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-31 20:34:50 -0800</bug_when>
    <thetext>Created attachment 124878
Patch v2

AFAICT the performance regression was introduced by causing us to unnecessarily serialize the inline style declaration into the element&apos;s &apos;style&apos; attribute a lot more often. This happened because I used Element::attributes(false) to force creation of the element&apos;s attribute map. This time around, I&apos;ve added a single-purpose ensureAttributeMap() for that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546801</commentid>
    <comment_count>17</comment_count>
      <attachid>124878</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-31 21:54:55 -0800</bug_when>
    <thetext>Comment on attachment 124878
Patch v2

Attachment 124878 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11386328

New failing tests:
fast/doctypes/002.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546832</commentid>
    <comment_count>18</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-31 23:36:33 -0800</bug_when>
    <thetext>Committed r106435: &lt;http://trac.webkit.org/changeset/106435&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123652</attachid>
            <date>2012-01-23 16:28:24 -0800</date>
            <delta_ts>2012-01-31 20:34:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76876.diff</filename>
            <type>text/plain</type>
            <size>7421</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwNWE2ZmFjLi4zNWM2M2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDEtMjMgIEFuZHJlYXMgS2xpbmcgIDxhd2Vzb21la2xpbmdAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgZWxlbWVudHMgdGhhdCBkb24ndCBoYXZlIGF0dHJpYnV0ZXMgc21hbGxl
ci4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzY4NzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgaW5saW5lIHN0eWxlIGRl
Y2xhcmF0aW9uIGZyb20gU3R5bGVkRWxlbWVudCB0byBOYW1lZE5vZGVNYXAsIHNpbmNlIGhhdmlu
ZworICAgICAgICBhbiBpbmxpbmUgc3R5bGUgZGVjbGFyYXRpb24gYWxzbyBpbXBsaWVzIGhhdmlu
ZyBhIHN0eWxlIGF0dHJpYnV0ZSBvbiB0aGUgZWxlbWVudC4KKyAgICAgICAgVGhpcyBzYXZlcyBv
bmUgQ1BVIHdvcmQgcGVyIGVsZW1lbnQgdGhhdCBoYXMgbm8gYXR0cmlidXRlcy4KKworICAgICAg
ICBUaGlzIHJlZHVjZXMgbWVtb3J5IGNvbnN1bXB0aW9uIGJ5IDQxMiBrQiAob24gNjQtYml0KSB3
aGVuIHZpZXdpbmcgdGhlIGZ1bGwKKyAgICAgICAgSFRNTDUgc3BlYyBhdCA8aHR0cDovL3doYXR3
Zy5vcmcvYz4uCisKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hbWVkTm9kZU1hcDo6ZW5zdXJlSW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5hbWVkTm9kZU1hcDo6ZGVzdHJveUlubGluZVN0eWxlRGVjbCk6CisgICAgICAgIChX
ZWJDb3JlOjpOYW1lZE5vZGVNYXA6OmNyZWF0ZUlubGluZVN0eWxlRGVjbCk6CisgICAgICAgICog
ZG9tL05hbWVkTm9kZU1hcC5oOgorICAgICAgICAoV2ViQ29yZTo6TmFtZWROb2RlTWFwOjppbmxp
bmVTdHlsZURlY2wpOgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OnVwZGF0ZVN0eWxlQXR0cmlidXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyk6Cisg
ICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVs
ZW1lbnQ6OmlubGluZVN0eWxlRGVjbCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50
OjplbnN1cmVJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVu
dDo6ZGVzdHJveUlubGluZVN0eWxlRGVjbCk6CisKIDIwMTItMDEtMjMgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEVsaW1pbmF0ZSBDU1NFbGVtZW50U3R5bGVE
ZWNsYXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcAppbmRleCAxYjZhY2EwLi45
YjcyNDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcApAQCAtMjcsOSArMjcsOSBA
QAogCiAjaW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKKyNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMzMwLDQgKzMzMCwyNyBAQCBib29sIE5hbWVkTm9kZU1hcDo6bWFwc0VxdWl2YWxlbnQo
Y29uc3QgTmFtZWROb2RlTWFwKiBvdGhlck1hcCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAorQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIE5hbWVkTm9kZU1hcDo6ZW5zdXJlSW5saW5l
U3R5bGVEZWNsKCkKK3sKKyAgICBpZiAoIW1faW5saW5lU3R5bGVEZWNsKQorICAgICAgICBjcmVh
dGVJbmxpbmVTdHlsZURlY2woKTsKKyAgICByZXR1cm4gbV9pbmxpbmVTdHlsZURlY2wuZ2V0KCk7
Cit9CisKK3ZvaWQgTmFtZWROb2RlTWFwOjpkZXN0cm95SW5saW5lU3R5bGVEZWNsKCkKK3sKKyAg
ICBpZiAoIW1faW5saW5lU3R5bGVEZWNsKQorICAgICAgICByZXR1cm47CisgICAgbV9pbmxpbmVT
dHlsZURlY2wtPmNsZWFyUGFyZW50RWxlbWVudCgpOworICAgIG1faW5saW5lU3R5bGVEZWNsID0g
MDsKK30KKwordm9pZCBOYW1lZE5vZGVNYXA6OmNyZWF0ZUlubGluZVN0eWxlRGVjbCgpCit7Cisg
ICAgQVNTRVJUKCFtX2lubGluZVN0eWxlRGVjbCk7CisgICAgQVNTRVJUKG1fZWxlbWVudC0+aXNT
dHlsZWRFbGVtZW50KCkpOworICAgIG1faW5saW5lU3R5bGVEZWNsID0gQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb246OmNyZWF0ZUlubGluZShzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obV9l
bGVtZW50KSk7CisgICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldFN0cmljdFBhcnNpbmcobV9lbGVt
ZW50LT5pc0hUTUxFbGVtZW50KCkgJiYgIW1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NN
b2RlKCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2Rl
TWFwLmgKaW5kZXggMDkwNWQ2NC4uZjI2ODk1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL05hbWVkTm9kZU1hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAu
aApAQCAtMTAyLDYgKzEwMiwxMCBAQCBwdWJsaWM6CiAKICAgICBzaXplX3QgbWFwcGVkQXR0cmli
dXRlQ291bnQoKSBjb25zdDsKIAorICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBpbmxp
bmVTdHlsZURlY2woKSBjb25zdCB7IHJldHVybiBtX2lubGluZVN0eWxlRGVjbC5nZXQoKTsgfQor
ICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURlY2woKTsK
KyAgICB2b2lkIGRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKTsKKwogcHJpdmF0ZToKICAgICBOYW1l
ZE5vZGVNYXAoRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkK
QEAgLTExNiwxMSArMTIwLDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVzKGNv
bnN0IE5hbWVkTm9kZU1hcCYpOwogICAgIHZvaWQgY2xlYXJBdHRyaWJ1dGVzKCk7CiAgICAgdm9p
ZCByZXBsYWNlQXR0cmlidXRlKHNpemVfdCBpbmRleCwgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+KTsK
KyAgICB2b2lkIGNyZWF0ZUlubGluZVN0eWxlRGVjbCgpOwogCiAgICAgU3BhY2VTcGxpdFN0cmlu
ZyBtX2NsYXNzTmFtZXM7CiAgICAgRWxlbWVudCogbV9lbGVtZW50OwogICAgIFZlY3RvcjxSZWZQ
dHI8QXR0cmlidXRlPiwgND4gbV9hdHRyaWJ1dGVzOwogICAgIEF0b21pY1N0cmluZyBtX2lkRm9y
U3R5bGVSZXNvbHV0aW9uOworICAgIFJlZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4g
bV9pbmxpbmVTdHlsZURlY2w7CiB9OwogCiBpbmxpbmUgQXR0cmlidXRlKiBOYW1lZE5vZGVNYXA6
OmdldEF0dHJpYnV0ZUl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCBhYmJkNzgyLi44YmVlNTNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0xMTIsOCArMTEyLDggQEAgdm9pZCBTdHls
ZWRFbGVtZW50Ojp1cGRhdGVTdHlsZUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgQVNTRVJUKCFpc1N0
eWxlQXR0cmlidXRlVmFsaWQoKSk7CiAgICAgc2V0SXNTdHlsZUF0dHJpYnV0ZVZhbGlkKCk7CiAg
ICAgc2V0SXNTeW5jaHJvbml6aW5nU3R5bGVBdHRyaWJ1dGUoKTsKLSAgICBpZiAobV9pbmxpbmVT
dHlsZURlY2wpCi0gICAgICAgIGNvbnN0X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KHRoaXMpLT5zZXRB
dHRyaWJ1dGUoc3R5bGVBdHRyLCBtX2lubGluZVN0eWxlRGVjbC0+Y3NzVGV4dCgpKTsKKyAgICBp
ZiAoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGlubGluZVN0eWxlID0gaW5saW5lU3R5bGVE
ZWNsKCkpCisgICAgICAgIGNvbnN0X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KHRoaXMpLT5zZXRBdHRy
aWJ1dGUoc3R5bGVBdHRyLCBpbmxpbmVTdHlsZS0+Y3NzVGV4dCgpKTsKICAgICBjbGVhcklzU3lu
Y2hyb25pemluZ1N0eWxlQXR0cmlidXRlKCk7CiB9CiAKQEAgLTEyNywyMSArMTI3LDYgQEAgUGFz
c1JlZlB0cjxBdHRyaWJ1dGU+IFN0eWxlZEVsZW1lbnQ6OmNyZWF0ZUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBuYW1lLAogICAgIHJldHVybiBBdHRyaWJ1dGU6OmNyZWF0ZU1hcHBlZChu
YW1lLCB2YWx1ZSk7CiB9CiAKLXZvaWQgU3R5bGVkRWxlbWVudDo6Y3JlYXRlSW5saW5lU3R5bGVE
ZWNsKCkKLXsKLSAgICBBU1NFUlQoIW1faW5saW5lU3R5bGVEZWNsKTsKLSAgICBtX2lubGluZVN0
eWxlRGVjbCA9IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGVJbmxpbmUodGhpcyk7
Ci0gICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldFN0cmljdFBhcnNpbmcoaXNIVE1MRWxlbWVudCgp
ICYmICFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSk7Ci19Ci0KLXZvaWQgU3R5bGVkRWxlbWVu
dDo6ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpCi17Ci0gICAgaWYgKCFtX2lubGluZVN0eWxlRGVj
bCkKLSAgICAgICAgcmV0dXJuOwotICAgIG1faW5saW5lU3R5bGVEZWNsLT5jbGVhclBhcmVudEVs
ZW1lbnQoKTsKLSAgICBtX2lubGluZVN0eWxlRGVjbCA9IDA7Ci19Ci0KIHZvaWQgU3R5bGVkRWxl
bWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIsIGJvb2wgcHJlc2VydmVEZWNs
cykKIHsKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1lczo6bmFtZUF0dHIpCkBAIC0y
NDAsMTggKzIyNSw2IEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUo
QXR0cmlidXRlKiBhdHRyKQogICAgIH0KIH0KIAotQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24q
IFN0eWxlZEVsZW1lbnQ6OmVuc3VyZUlubGluZVN0eWxlRGVjbCgpCi17Ci0gICAgaWYgKCFtX2lu
bGluZVN0eWxlRGVjbCkKLSAgICAgICAgY3JlYXRlSW5saW5lU3R5bGVEZWNsKCk7Ci0gICAgcmV0
dXJuIG1faW5saW5lU3R5bGVEZWNsLmdldCgpOwotfQotCi1DU1NTdHlsZURlY2xhcmF0aW9uKiBT
dHlsZWRFbGVtZW50OjpzdHlsZSgpCi17Ci0gICAgcmV0dXJuIGVuc3VyZUlubGluZVN0eWxlRGVj
bCgpOwotfQotCiB2b2lkIFN0eWxlZEVsZW1lbnQ6OnJlbW92ZUNTU1Byb3BlcnR5KEF0dHJpYnV0
ZSogYXR0cmlidXRlLCBpbnQgaWQpCiB7CiAgICAgaWYgKCFhdHRyaWJ1dGUtPmRlY2woKSkKQEAg
LTQ0Myw5ICs0MTYsOCBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmNvcHlOb25BdHRyaWJ1dGVQcm9w
ZXJ0aWVzKGNvbnN0IEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQpCiAKIHZvaWQgU3R5bGVkRWxlbWVu
dDo6YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKSBj
b25zdAogewotICAgIGlmICghbV9pbmxpbmVTdHlsZURlY2wpCi0gICAgICAgIHJldHVybjsKLSAg
ICBtX2lubGluZVN0eWxlRGVjbC0+YWRkU3VicmVzb3VyY2VTdHlsZVVSTHModXJscyk7CisgICAg
aWYgKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBpbmxpbmVTdHlsZSA9IGlubGluZVN0eWxl
RGVjbCgpKQorICAgICAgICBpbmxpbmVTdHlsZS0+YWRkU3VicmVzb3VyY2VTdHlsZVVSTHModXJs
cyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCmluZGV4IGE1ZGNiYzguLmM0
MzQ5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaApAQCAtNTksOSArNTksOSBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFkZGl0aW9uYWxBdHRyaWJ1dGVTdHlsZURlY2xzKFZl
Y3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbio+JikgeyB9CiAgICAgdm9pZCBpbnZhbGlk
YXRlU3R5bGVBdHRyaWJ1dGUoKTsKIAotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBp
bmxpbmVTdHlsZURlY2woKSBjb25zdCB7IHJldHVybiBtX2lubGluZVN0eWxlRGVjbC5nZXQoKTsg
fQotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURlY2wo
KTsKLSAgICB2aXJ0dWFsIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgT1ZFUlJJREU7Cisg
ICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGlubGluZVN0eWxlRGVjbCgpIGNvbnN0IHsg
cmV0dXJuIGF0dHJpYnV0ZU1hcCgpID8gYXR0cmlidXRlTWFwKCktPmlubGluZVN0eWxlRGVjbCgp
IDogMDsgfQorICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHls
ZURlY2woKSB7IHJldHVybiBhdHRyaWJ1dGVzKGZhbHNlKS0+ZW5zdXJlSW5saW5lU3R5bGVEZWNs
KCk7IH0KKyAgICB2aXJ0dWFsIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgT1ZFUlJJREUg
eyByZXR1cm4gZW5zdXJlSW5saW5lU3R5bGVEZWNsKCk7IH0KIAogICAgIGNvbnN0IFNwYWNlU3Bs
aXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdDsKIApAQCAtODksMTEgKzg5LDggQEAgcHJvdGVj
dGVkOgogcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZU1hcHBlZERlY2woQXR0cmlidXRlKik7CiAK
LSAgICB2b2lkIGNyZWF0ZUlubGluZVN0eWxlRGVjbCgpOwotICAgIHZvaWQgZGVzdHJveUlubGlu
ZVN0eWxlRGVjbCgpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHlsZUF0dHJpYnV0ZSgpIGNv
bnN0OwotCi0gICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBtX2lubGluZVN0
eWxlRGVjbDsKKyAgICB2b2lkIGRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKSB7IGlmIChhdHRyaWJ1
dGVNYXAoKSkgYXR0cmlidXRlTWFwKCktPmRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKTsgfQogfTsK
IAogaW5saW5lIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIFN0eWxlZEVsZW1lbnQ6OmNsYXNzTmFt
ZXMoKSBjb25zdAo=
</data>
<flag name="review"
          id="124732"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="124824"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124878</attachid>
            <date>2012-01-31 20:34:50 -0800</date>
            <delta_ts>2012-01-31 22:22:00 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-76876-v2.diff</filename>
            <type>text/plain</type>
            <size>8453</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwYjJlOTBmLi4wOTg0ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTItMDEtMzEgIEFuZHJlYXMgS2xpbmcgIDxhd2Vzb21la2xpbmdAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgZWxlbWVudHMgdGhhdCBkb24ndCBoYXZlIGF0dHJpYnV0ZXMgc21hbGxl
ci4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzY4NzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgaW5saW5lIHN0eWxlIGRl
Y2xhcmF0aW9uIGZyb20gU3R5bGVkRWxlbWVudCB0byBFbGVtZW50QXR0cmlidXRlRGF0YSwgc2lu
Y2UgaGF2aW5nCisgICAgICAgIGFuIGlubGluZSBzdHlsZSBkZWNsYXJhdGlvbiBhbHNvIGltcGxp
ZXMgaGF2aW5nIGEgc3R5bGUgYXR0cmlidXRlIG9uIHRoZSBlbGVtZW50LgorICAgICAgICBUaGlz
IHNhdmVzIG9uZSBDUFUgd29yZCBwZXIgZWxlbWVudCB0aGF0IGhhcyBubyBhdHRyaWJ1dGVzLgor
CisgICAgICAgIFRoaXMgcmVkdWNlcyBtZW1vcnkgY29uc3VtcHRpb24gYnkgNDEyIGtCIChvbiA2
NC1iaXQpIHdoZW4gdmlld2luZyB0aGUgZnVsbAorICAgICAgICBIVE1MNSBzcGVjIGF0IDxodHRw
Oi8vd2hhdHdnLm9yZy9jPi4KKworICAgICAgICBUaGlzIHdhcyByb2xsZWQgb3V0IG9uY2UgYmVj
YXVzZSBvZiBhIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gd2hpY2ggaGFzIGJlZW4gYXZlcnRlZCB0
aGlzCisgICAgICAgIHRpbWUgYXJvdW5kIGJ5IGFkZGluZyBhbiBFbGVtZW50OjplbnN1cmVBdHRy
aWJ1dGVNYXAoKSBzbyB3ZSBjYW4gZm9yY2UgY3JlYXRpb24gb2YgdGhlCisgICAgICAgIE5hbWVk
Tm9kZU1hcCB3aXRob3V0IGFsc28gc2VyaWFsaXppbmcgdGhlIGlubGluZSBzdHlsZSBmb3IgdGhl
ICJzdHlsZSIgYXR0cmlidXRlLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAg
KEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQXR0cmlidXRlTWFw
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0
YS5oOgorICAgICAgICAoRWxlbWVudEF0dHJpYnV0ZURhdGEpOgorICAgICAgICAqIGRvbS9OYW1l
ZE5vZGVNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmFtZWROb2RlTWFwOjplbnN1cmVJbmxp
bmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOYW1l
ZE5vZGVNYXA6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAqIGRvbS9OYW1lZE5v
ZGVNYXAuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTm9kZU1hcDo6aW5saW5lU3R5bGVEZWNs
KToKKyAgICAgICAgKE5hbWVkTm9kZU1hcCk6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6YWRkU3VicmVzb3VyY2VBdHRy
aWJ1dGVVUkxzKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVkRWxlbWVudDo6aW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlZEVsZW1lbnQ6OmVuc3VyZUlubGluZVN0eWxlRGVjbCk6CisgICAgICAgIChTdHlsZWRF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmRlc3Ryb3lJbmxpbmVT
dHlsZURlY2wpOgorCiAyMDEyLTAxLTMxICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBv
cGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgaW5jbHVkZSBjbGVhbnVwLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKaW5kZXggMDE0YTI4ZC4uNTRlMTcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC0yMjMsNiArMjIzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcGFyc2VyU2V0QXR0cmlidXRlTWFw
KFBhc3NPd25QdHI8TmFtZWROb2RlTWFwPiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsK
IAogICAgIE5hbWVkTm9kZU1hcCogYXR0cmlidXRlTWFwKCkgY29uc3QgeyByZXR1cm4gbV9hdHRy
aWJ1dGVNYXAuZ2V0KCk7IH0KKyAgICBOYW1lZE5vZGVNYXAqIGVuc3VyZUF0dHJpYnV0ZU1hcCgp
OwogCiAgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGF0dHJpYnV0ZURhdGEoKSBjb25zdCB7IHJl
dHVybiBtX2F0dHJpYnV0ZU1hcCA/IG1fYXR0cmlidXRlTWFwLT5hdHRyaWJ1dGVEYXRhKCkgOiAw
OyB9CiAgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGVuc3VyZUF0dHJpYnV0ZURhdGEoKSBjb25z
dCB7IHJldHVybiBhdHRyaWJ1dGVzKCktPmF0dHJpYnV0ZURhdGEoKTsgfQpAQCAtNTk3LDYgKzU5
OCwxMyBAQCBpbmxpbmUgdm9pZCBFbGVtZW50OjpzZXRJZEF0dHJpYnV0ZShjb25zdCBBdG9taWNT
dHJpbmcmIHZhbHVlKQogICAgIHNldEF0dHJpYnV0ZShkb2N1bWVudCgpLT5pZEF0dHJpYnV0ZU5h
bWUoKSwgdmFsdWUpOwogfQogCitpbmxpbmUgTmFtZWROb2RlTWFwKiBFbGVtZW50OjplbnN1cmVB
dHRyaWJ1dGVNYXAoKQoreworICAgIGlmICghbV9hdHRyaWJ1dGVNYXApCisgICAgICAgIGNyZWF0
ZUF0dHJpYnV0ZU1hcCgpOworICAgIHJldHVybiBtX2F0dHJpYnV0ZU1hcC5nZXQoKTsKK30KKwog
aW5saW5lIEVsZW1lbnQqIGZpcnN0RWxlbWVudENoaWxkKGNvbnN0IENvbnRhaW5lck5vZGUqIGNv
bnRhaW5lcikKIHsKICAgICBBU1NFUlRfQVJHKGNvbnRhaW5lciwgY29udGFpbmVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgKaW5kZXggZWU2NTkyMS4uMjAxMTZj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNpZm5kZWYgRWxlbWVudEF0dHJpYnV0ZURhdGFfaAogI2RlZmluZSBFbGVtZW50
QXR0cmlidXRlRGF0YV9oCiAKKyNpbmNsdWRlICJDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5o
IgogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDgsNiArNDksNyBAQCBwcml2YXRlOgogICAgIHsKICAgICB9CiAKKyAgICBSZWZQdHI8Q1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+IG1faW5saW5lU3R5bGVEZWNsOwogICAgIFNwYWNlU3Bs
aXRTdHJpbmcgbV9jbGFzc05hbWVzOwogICAgIEF0b21pY1N0cmluZyBtX2lkRm9yU3R5bGVSZXNv
bHV0aW9uOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAKaW5kZXggMDViZWMxZi4u
ODlkMWY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0zMjAsNCArMzIxLDIxIEBAIGJvb2wgTmFtZWROb2RlTWFwOjpt
YXBzRXF1aXZhbGVudChjb25zdCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBjb25zdAogICAgIHJl
dHVybiB0cnVlOwogfQogCitDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogTmFtZWROb2RlTWFw
OjplbnN1cmVJbmxpbmVTdHlsZURlY2woKQoreworICAgIGlmICghYXR0cmlidXRlRGF0YSgpLT5t
X2lubGluZVN0eWxlRGVjbCkgeworICAgICAgICBBU1NFUlQobV9lbGVtZW50LT5pc1N0eWxlZEVs
ZW1lbnQoKSk7CisgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+bV9pbmxpbmVTdHlsZURlY2wgPSBD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlSW5saW5lKHN0YXRpY19jYXN0PFN0eWxl
ZEVsZW1lbnQqPihtX2VsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuIGF0dHJpYnV0ZURhdGEo
KS0+bV9pbmxpbmVTdHlsZURlY2wuZ2V0KCk7Cit9CisKK3ZvaWQgTmFtZWROb2RlTWFwOjpkZXN0
cm95SW5saW5lU3R5bGVEZWNsKCkKK3sKKyAgICBpZiAoIWF0dHJpYnV0ZURhdGEoKS0+bV9pbmxp
bmVTdHlsZURlY2wpCisgICAgICAgIHJldHVybjsKKyAgICBhdHRyaWJ1dGVEYXRhKCktPm1faW5s
aW5lU3R5bGVEZWNsLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKKyAgICBhdHRyaWJ1dGVEYXRhKCkt
Pm1faW5saW5lU3R5bGVEZWNsID0gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL05hbWVkTm9kZU1hcC5oCmluZGV4IGY2ZTgxNzAuLmY1MzA0N2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTmFtZWROb2RlTWFwLmgKQEAgLTk5LDYgKzk5LDEwIEBAIHB1YmxpYzoKICAgICBFbGVtZW50
QXR0cmlidXRlRGF0YSogYXR0cmlidXRlRGF0YSgpIHsgcmV0dXJuICZtX2F0dHJpYnV0ZURhdGE7
IH0KICAgICBjb25zdCBFbGVtZW50QXR0cmlidXRlRGF0YSogYXR0cmlidXRlRGF0YSgpIGNvbnN0
IHsgcmV0dXJuICZtX2F0dHJpYnV0ZURhdGE7IH0KIAorICAgIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uKiBpbmxpbmVTdHlsZURlY2woKSB7IHJldHVybiBhdHRyaWJ1dGVEYXRhKCktPm1faW5s
aW5lU3R5bGVEZWNsLmdldCgpOyB9CisgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGVu
c3VyZUlubGluZVN0eWxlRGVjbCgpOworICAgIHZvaWQgZGVzdHJveUlubGluZVN0eWxlRGVjbCgp
OworCiBwcml2YXRlOgogICAgIE5hbWVkTm9kZU1hcChFbGVtZW50KiBlbGVtZW50KQogICAgICAg
ICA6IG1fZWxlbWVudChlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0
eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmlu
ZGV4IDRiZTIyNGMuLjdlOTkyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHls
ZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAK
QEAgLTEyNywyMSArMTI3LDYgQEAgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+IFN0eWxlZEVsZW1lbnQ6
OmNyZWF0ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLAogICAgIHJldHVybiBB
dHRyaWJ1dGU6OmNyZWF0ZU1hcHBlZChuYW1lLCB2YWx1ZSk7CiB9CiAKLXZvaWQgU3R5bGVkRWxl
bWVudDo6Y3JlYXRlSW5saW5lU3R5bGVEZWNsKCkKLXsKLSAgICBBU1NFUlQoIW1faW5saW5lU3R5
bGVEZWNsKTsKLSAgICBtX2lubGluZVN0eWxlRGVjbCA9IENTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uOjpjcmVhdGVJbmxpbmUodGhpcyk7Ci0gICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldFN0cmlj
dFBhcnNpbmcoaXNIVE1MRWxlbWVudCgpICYmICFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSk7
Ci19Ci0KLXZvaWQgU3R5bGVkRWxlbWVudDo6ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpCi17Ci0g
ICAgaWYgKCFtX2lubGluZVN0eWxlRGVjbCkKLSAgICAgICAgcmV0dXJuOwotICAgIG1faW5saW5l
U3R5bGVEZWNsLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKLSAgICBtX2lubGluZVN0eWxlRGVjbCA9
IDA7Ci19Ci0KIHZvaWQgU3R5bGVkRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUq
IGF0dHIsIGJvb2wgcHJlc2VydmVEZWNscykKIHsKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IEhU
TUxOYW1lczo6bmFtZUF0dHIpCkBAIC0yNDEsMTggKzIyNiw2IEBAIHZvaWQgU3R5bGVkRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogICAgIH0KIH0KIAotQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIFN0eWxlZEVsZW1lbnQ6OmVuc3VyZUlubGluZVN0eWxl
RGVjbCgpCi17Ci0gICAgaWYgKCFtX2lubGluZVN0eWxlRGVjbCkKLSAgICAgICAgY3JlYXRlSW5s
aW5lU3R5bGVEZWNsKCk7Ci0gICAgcmV0dXJuIG1faW5saW5lU3R5bGVEZWNsLmdldCgpOwotfQot
Ci1DU1NTdHlsZURlY2xhcmF0aW9uKiBTdHlsZWRFbGVtZW50OjpzdHlsZSgpCi17Ci0gICAgcmV0
dXJuIGVuc3VyZUlubGluZVN0eWxlRGVjbCgpOwotfQotCiB2b2lkIFN0eWxlZEVsZW1lbnQ6OnJl
bW92ZUNTU1Byb3BlcnR5KEF0dHJpYnV0ZSogYXR0cmlidXRlLCBpbnQgaWQpCiB7CiAgICAgaWYg
KCFhdHRyaWJ1dGUtPmRlY2woKSkKQEAgLTQ0NCw5ICs0MTcsOCBAQCB2b2lkIFN0eWxlZEVsZW1l
bnQ6OmNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzKGNvbnN0IEVsZW1lbnQqIHNvdXJjZUVsZW1l
bnQpCiAKIHZvaWQgU3R5bGVkRWxlbWVudDo6YWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExp
c3RIYXNoU2V0PEtVUkw+JiB1cmxzKSBjb25zdAogewotICAgIGlmICghbV9pbmxpbmVTdHlsZURl
Y2wpCi0gICAgICAgIHJldHVybjsKLSAgICBtX2lubGluZVN0eWxlRGVjbC0+YWRkU3VicmVzb3Vy
Y2VTdHlsZVVSTHModXJscyk7CisgICAgaWYgKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBp
bmxpbmVTdHlsZSA9IGlubGluZVN0eWxlRGVjbCgpKQorICAgICAgICBpbmxpbmVTdHlsZS0+YWRk
U3VicmVzb3VyY2VTdHlsZVVSTHModXJscyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxl
bWVudC5oCmluZGV4IDg0N2M1MGYuLmQ2MWYwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdHlsZWRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1l
bnQuaApAQCAtNTgsOSArNTgsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uPiBhZGRpdGlvbmFsQXR0cmlidXRlU3R5bGUoKSB7IHJl
dHVybiAwOyB9CiAgICAgdm9pZCBpbnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKIAotICAgIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBpbmxpbmVTdHlsZURlY2woKSBjb25zdCB7IHJldHVy
biBtX2lubGluZVN0eWxlRGVjbC5nZXQoKTsgfQotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURlY2woKTsKLSAgICB2aXJ0dWFsIENTU1N0eWxlRGVjbGFy
YXRpb24qIHN0eWxlKCkgT1ZFUlJJREU7CisgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24q
IGlubGluZVN0eWxlRGVjbCgpIGNvbnN0IHsgcmV0dXJuIGF0dHJpYnV0ZU1hcCgpID8gYXR0cmli
dXRlTWFwKCktPmlubGluZVN0eWxlRGVjbCgpIDogMDsgfQorICAgIENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURlY2woKSB7IHJldHVybiBlbnN1cmVBdHRyaWJ1
dGVNYXAoKS0+ZW5zdXJlSW5saW5lU3R5bGVEZWNsKCk7IH0KKyAgICB2aXJ0dWFsIENTU1N0eWxl
RGVjbGFyYXRpb24qIHN0eWxlKCkgT1ZFUlJJREUgeyByZXR1cm4gZW5zdXJlSW5saW5lU3R5bGVE
ZWNsKCk7IH0KIAogICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25z
dDsKIApAQCAtODgsMTEgKzg4LDEzIEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgdm9pZCBj
cmVhdGVNYXBwZWREZWNsKEF0dHJpYnV0ZSopOwogCi0gICAgdm9pZCBjcmVhdGVJbmxpbmVTdHls
ZURlY2woKTsKLSAgICB2b2lkIGRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKTsKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlU3R5bGVBdHRyaWJ1dGUoKSBjb25zdDsKIAotICAgIFJlZlB0cjxDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbj4gbV9pbmxpbmVTdHlsZURlY2w7CisgICAgdm9pZCBkZXN0cm95
SW5saW5lU3R5bGVEZWNsKCkKKyAgICB7CisgICAgICAgIGlmIChhdHRyaWJ1dGVNYXAoKSkKKyAg
ICAgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5kZXN0cm95SW5saW5lU3R5bGVEZWNsKCk7CisgICAg
fQogfTsKIAogaW5saW5lIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIFN0eWxlZEVsZW1lbnQ6OmNs
YXNzTmFtZXMoKSBjb25zdAo=
</data>
<flag name="review"
          id="126257"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="126264"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>