<?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>90265</bug_id>
          
          <creation_ts>2012-06-29 02:57:57 -0700</creation_ts>
          <short_desc>Optimize Element::removeAttribute() by replacing String with AtomicString</short_desc>
          <delta_ts>2012-08-08 01:25:33 -0700</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>
          
          <blocked>90246</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660331</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 02:57:57 -0700</bug_when>
    <thetext>Based on the observation described in this ChangeLog (http://trac.webkit.org/changeset/121439), the performance of Element::removeAttribute() can be optimized by replacing String with AtomicString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660332</commentid>
    <comment_count>1</comment_count>
      <attachid>150124</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 02:58:54 -0700</bug_when>
    <thetext>Created attachment 150124
Performance test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660371</commentid>
    <comment_count>2</comment_count>
      <attachid>150140</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 04:55:00 -0700</bug_when>
    <thetext>Created attachment 150140
Updated performance test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660372</commentid>
    <comment_count>3</comment_count>
      <attachid>150141</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-06-29 04:57:02 -0700</bug_when>
    <thetext>Created attachment 150141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680231</commentid>
    <comment_count>4</comment_count>
      <attachid>150141</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 01:00:36 -0700</bug_when>
    <thetext>Comment on attachment 150141
Patch

#webkit tells me that AP has an opinion about this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680234</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 01:03:49 -0700</bug_when>
    <thetext>Based on further discussion in #webkit, my current understanding is that ap is ok with these patches.  I&apos;m going to r+ them, but please give ap a chance to respond before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680595</commentid>
    <comment_count>6</comment_count>
      <attachid>150141</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-07-27 07:07:46 -0700</bug_when>
    <thetext>Comment on attachment 150141
Patch

This is faster in some cases. But a case I’d expect this makes slower is when the passed-in attribute name is uppercase. This adds a lookup in the atomic string table of the not-yet-lowercased string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680741</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-07-27 09:42:21 -0700</bug_when>
    <thetext>FWIW, my comments are in bug 90246, and are not as specific as Darin&apos;s one above. I have no general objection to these patches as long as they show measurable improvement on benchmarks such as Dromaeo (not just on micro-benchmarks created just for one code path).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680906</commentid>
    <comment_count>8</comment_count>
      <attachid>150141</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 12:00:08 -0700</bug_when>
    <thetext>Comment on attachment 150141
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1476
&gt; -void Element::removeAttributeNS(const String&amp; namespaceURI, const String&amp; localName)
&gt; +void Element::removeAttributeNS(const AtomicString&amp; namespaceURI, const AtomicString&amp; localName)

I see.  That doesn&apos;t seem to be a problem with this part of the change, however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680912</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-27 12:03:42 -0700</bug_when>
    <thetext>@Kentaro: One way to make progress here is to land the NS parts of these changes since they are a strict improvement.

For the non-NS versions, is there a measurable change on non-micro benchmarks?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681283</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-27 17:36:57 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; @Kentaro: One way to make progress here is to land the NS parts of these changes since they are a strict improvement.
&gt; 
&gt; For the non-NS versions, is there a measurable change on non-micro benchmarks?

OK, let me land the NS parts. For non-NS parts I&apos;ll investigate them on Monday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682584</commentid>
    <comment_count>11</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-07-30 18:04:39 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt;&gt; as long as they show measurable improvement on benchmarks such as Dromaeo (not just on micro-benchmarks created just for one code path).
&gt;&gt;
&gt;(In reply to comment #9)
&gt; For the non-NS versions, is there a measurable change on non-micro benchmarks?

ap, abarth: Unfortunately, I couldn&apos;t measure it because there are no tests in Dromaeo and WebKit performance tests for getAttributeNode(), hasAttribute() and removeAttribute().

So the rationale for the patches would be (1) performance improvement in micro benchmarks and (2) code consistency (i.e. mixing String and AtomicString is confusing).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686871</commentid>
    <comment_count>12</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-03 09:56:41 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; ap, abarth: Unfortunately, I couldn&apos;t measure it because there are no tests in Dromaeo and WebKit performance tests for getAttributeNode(), hasAttribute() and removeAttribute().
&gt; 
&gt; So the rationale for the patches would be (1) performance improvement in micro benchmarks and (2) code consistency (i.e. mixing String and AtomicString is confusing).

ap: May I land them? (For performance improvement in micro benchmarks and code consistency.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689709</commentid>
    <comment_count>13</comment_count>
      <attachid>150141</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-07 18:21:28 -0700</bug_when>
    <thetext>Comment on attachment 150141
Patch

Looks like no strong objection, let me commit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689740</commentid>
    <comment_count>14</comment_count>
      <attachid>150141</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 18:47:59 -0700</bug_when>
    <thetext>Comment on attachment 150141
Patch

Rejecting attachment 150141 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
g
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/dom/Element.cpp
Hunk #1 FAILED at 1459.
Hunk #2 succeeded at 1511 with fuzz 1 (offset 38 lines).
1 out of 2 hunks FAILED -- saving rejects to file Source/WebCore/dom/Element.cpp.rej
patching file Source/WebCore/dom/Element.h
Hunk #1 succeeded at 201 (offset 4 lines).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/13456289</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689769</commentid>
    <comment_count>15</comment_count>
      <attachid>157088</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-08-07 19:28:54 -0700</bug_when>
    <thetext>Created attachment 157088
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690041</commentid>
    <comment_count>16</comment_count>
      <attachid>157088</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 01:25:00 -0700</bug_when>
    <thetext>Comment on attachment 157088
patch for landing

Clearing flags on attachment: 157088

Committed r125008: &lt;http://trac.webkit.org/changeset/125008&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>150124</attachid>
            <date>2012-06-29 02:58:54 -0700</date>
            <delta_ts>2012-06-29 02:58:54 -0700</delta_ts>
            <desc>Performance test</desc>
            <filename>remove_attribute_upload.html</filename>
            <type>text/html</type>
            <size>1673</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHNjcmlwdD4KZnVuY3Rpb24gcnVuKHRpdGxl
LCByZXBlYXROdW0sIGZ1bmMsIHJvdW5kcykgewogIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0Iik7CiAgaWYgKCFyZXN1bHQpIHsKICAgIHZhciByZXN1bHQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocmVzdWx0KTsKICB9CgogIHZhciByb3VuZHMgPSByb3VuZHMgfHwgNTsKICB2YXIgdGltZXMg
PSBbXTsKICBmb3IgKHZhciByID0gMDsgciA8IHJvdW5kczsgcisrKSB7CiAgICB2YXIgc3RhcnQg
PSBEYXRlLm5vdygpOwogICAgZnVuYyhyZXBlYXROdW0pOwogICAgdmFyIHRpbWUgPSBEYXRlLm5v
dygpIC0gc3RhcnQ7CiAgICB0aW1lcy5wdXNoKHRpbWUpOwogICAgcmVzdWx0LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRpbWUpKTsKICAgIHJlc3VsdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKICB9CgogIHRpbWVzLnNvcnQoZnVuY3Rpb24g
KGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTsKICB2YXIgbWVkaWFuID0gdGltZXNbTWF0aC5mbG9v
cih0aW1lcy5sZW5ndGggLyAyKV07CiAgdmFyIG1pbiA9IHRpbWVzWzBdOwogIHZhciBtYXggPSB0
aW1lc1t0aW1lcy5sZW5ndGggLSAxXTsKICB2YXIgc3VtID0gMDsKICBmb3IgKHZhciBpID0gMDsg
aSA8IHRpbWVzLmxlbmd0aDsgaSsrKSB7CiAgICBzdW0gKz0gdGltZXNbaV07CiAgfQoKICByZXN1
bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGl0bGUgKyAiIDogbWVhbj0i
ICsgKHN1bSAvIHJvdW5kcykudG9GaXhlZCgyKSArICJtcywgbWluPSIgKyBtaW4gKyAibXMsIG1l
ZGlhbj0iICsgbWVkaWFuICsgIm1zLCBtYXg9IiArIG1heCArICJtcyIpKTsKICByZXN1bHQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Cn0KCndpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CiAgdmFyIHJlcGVhdE51bSA9IDEwMDAwMDAwOwogIHZhciBnbG9iYWxE
aXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGdsb2JhbERpdik7CgogIHJ1bigicmVtb3ZlQXR0cmlidXRlIiwgcmVwZWF0TnVtLCBm
dW5jdGlvbihyZXBlYXROdW0pIHsKICAgIHZhciBkaXYgPSBnbG9iYWxEaXY7CiAgICBkaXYuY2xh
c3NOYW1lID0gImZvbyI7CiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHJlcGVhdE51bTsgaisrKSB7
CiAgICAgIGRpdi5yZW1vdmVBdHRyaWJ1dGUoImZvbyIpOyAvLyBUaGUgZmlyc3Qgb25lIHJlbW92
ZXMgdGhlIGF0dHJpYnV0ZS4KICAgIH0KICB9KTsKCiAgcnVuKCJyZW1vdmVBdHRyaWJ1dGVOUyIs
IHJlcGVhdE51bSwgZnVuY3Rpb24ocmVwZWF0TnVtKSB7CiAgICB2YXIgZGl2ID0gZ2xvYmFsRGl2
OwogICAgZGl2LmNsYXNzTmFtZSA9ICJmb28iOwogICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXBl
YXROdW07IGorKykgewogICAgICBkaXYucmVtb3ZlQXR0cmlidXRlTlMoIiIsICJmb28iKTsgLy8g
VGhlIGZpcnN0IG9uZSByZW1vdmVzIHRoZSBhdHRyaWJ1dGUuCiAgICB9CiAgfSk7Cn0KPC9zY3Jp
cHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>150140</attachid>
            <date>2012-06-29 04:55:00 -0700</date>
            <delta_ts>2012-06-29 04:55:00 -0700</delta_ts>
            <desc>Updated performance test</desc>
            <filename>remove_attribute_upload.html</filename>
            <type>text/html</type>
            <size>1596</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHNjcmlwdD4KZnVuY3Rpb24gcnVuKHRpdGxl
LCByZXBlYXROdW0sIGZ1bmMsIHJvdW5kcykgewogIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0Iik7CiAgaWYgKCFyZXN1bHQpIHsKICAgIHZhciByZXN1bHQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQocmVzdWx0KTsKICB9CgogIHZhciByb3VuZHMgPSByb3VuZHMgfHwgNTsKICB2YXIgdGltZXMg
PSBbXTsKICBmb3IgKHZhciByID0gMDsgciA8IHJvdW5kczsgcisrKSB7CiAgICB2YXIgc3RhcnQg
PSBEYXRlLm5vdygpOwogICAgZnVuYyhyZXBlYXROdW0pOwogICAgdmFyIHRpbWUgPSBEYXRlLm5v
dygpIC0gc3RhcnQ7CiAgICB0aW1lcy5wdXNoKHRpbWUpOwogICAgcmVzdWx0LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRpbWUpKTsKICAgIHJlc3VsdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKICB9CgogIHRpbWVzLnNvcnQoZnVuY3Rpb24g
KGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTsKICB2YXIgbWVkaWFuID0gdGltZXNbTWF0aC5mbG9v
cih0aW1lcy5sZW5ndGggLyAyKV07CiAgdmFyIG1pbiA9IHRpbWVzWzBdOwogIHZhciBtYXggPSB0
aW1lc1t0aW1lcy5sZW5ndGggLSAxXTsKICB2YXIgc3VtID0gMDsKICBmb3IgKHZhciBpID0gMDsg
aSA8IHRpbWVzLmxlbmd0aDsgaSsrKSB7CiAgICBzdW0gKz0gdGltZXNbaV07CiAgfQoKICByZXN1
bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGl0bGUgKyAiIDogbWVhbj0i
ICsgKHN1bSAvIHJvdW5kcykudG9GaXhlZCgyKSArICJtcywgbWluPSIgKyBtaW4gKyAibXMsIG1l
ZGlhbj0iICsgbWVkaWFuICsgIm1zLCBtYXg9IiArIG1heCArICJtcyIpKTsKICByZXN1bHQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7Cn0KCndpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbiAoKSB7CiAgdmFyIHJlcGVhdE51bSA9IDUwMDAwMDA7CiAgdmFyIGdsb2JhbERp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZ2xvYmFsRGl2KTsKCiAgcnVuKCJyZW1vdmVBdHRyaWJ1dGUiLCByZXBlYXROdW0sIGZ1
bmN0aW9uKHJlcGVhdE51bSkgewogICAgdmFyIGRpdiA9IGdsb2JhbERpdjsKICAgIGRpdi5jbGFz
c05hbWUgPSAiZm9vIjsKICAgIGZvciAodmFyIGogPSAwOyBqIDwgcmVwZWF0TnVtOyBqKyspIHsK
ICAgICAgZGl2LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTsKICAgIH0KICB9KTsKCiAgcnVuKCJy
ZW1vdmVBdHRyaWJ1dGVOUyIsIHJlcGVhdE51bSwgZnVuY3Rpb24ocmVwZWF0TnVtKSB7CiAgICB2
YXIgZGl2ID0gZ2xvYmFsRGl2OwogICAgZGl2LmNsYXNzTmFtZSA9ICJmb28iOwogICAgZm9yICh2
YXIgaiA9IDA7IGogPCByZXBlYXROdW07IGorKykgewogICAgICBkaXYucmVtb3ZlQXR0cmlidXRl
TlMoIiIsICJjbGFzcyIpOwogICAgfQogIH0pOwp9Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150141</attachid>
            <date>2012-06-29 04:57:02 -0700</date>
            <delta_ts>2012-08-08 01:25:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90265-20120629205702.patch</filename>
            <type>text/plain</type>
            <size>3289</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY2NGFjNWQ0Yjc4YWJm
NDNhMDVjZGY1Y2Y5ZTgyMDdlMTA5ZWU1NC4uODMyOTI5ZmFlZjJhYmE1NGUzOGZkYWE5ZGY0YmI4
MGQ2MzRlNDUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDEyLTA2LTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBPcHRpbWl6ZSBFbGVt
ZW50OjpyZW1vdmVBdHRyaWJ1dGUoKSBieSByZXBsYWNpbmcgU3RyaW5nIHdpdGggQXRvbWljU3Ry
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDI2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2Vk
IG9uIHRoZSBvYnNlcnZhdGlvbiBkZXNjcmliZWQgaW4gdGhpcyBDaGFuZ2VMb2cKKyAgICAgICAg
KGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMTQzOSksIHRoaXMgcGF0Y2ggb3B0
aW1pemVzCisgICAgICAgIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZSgpIGJ5IHJlcGxhY2luZyBT
dHJpbmcgd2l0aCBBdG9taWNTdHJpbmcuCisKKyAgICAgICAgUGVyZm9ybWFuY2UgdGVzdDogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTUwMTQwCisKKyAgICAgICAg
cmVtb3ZlQXR0cmlidXRlIChDaHJvbWl1bS9MaW51eCk6CisgICAgICAgIDMzNC4yMG1zID0+IDI0
MC42MG1zCisKKyAgICAgICAgcmVtb3ZlQXR0cmlidXRlTlMgKENocm9taXVtL0xpbnV4KToKKyAg
ICAgICAgNTUyLjgwbXMgPT4gNDIxLjYwbXMKKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGVOUyk6CisgICAgICAgICogZG9tL0VsZW1l
bnQuaDoKKyAgICAgICAgKEVsZW1lbnQpOgorCisyMDEyLTA2LTI5ICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
MTIxNTIwLgogICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjE1MjAK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjQ2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZWJjMGM5YjUzZDM1YmJjMGRmZDU4OTVlNTIxZDAwOTJh
YzJhMzlmOS4uYTEyOWYxMGJjMGI3MWQzM2Y0M2I2MTk4OWMyNGQ2MzA3Y2IxODZmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcApAQCAtMTQ1OSwxMyArMTQ1OSwxMyBAQCB2b2lkIEVsZW1lbnQ6OnJl
bW92ZUF0dHJpYnV0ZShzaXplX3QgaW5kZXgpCiAgICAgYXR0cmlidXRlRGF0YSgpLT5yZW1vdmVB
dHRyaWJ1dGUoaW5kZXgsIHRoaXMpOwogfQogCi12b2lkIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0
ZShjb25zdCBTdHJpbmcmIG5hbWUpCit2b2lkIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZShjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUpCiB7CiAgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGF0dHJp
YnV0ZURhdGEgPSB0aGlzLT5hdHRyaWJ1dGVEYXRhKCk7CiAgICAgaWYgKCFhdHRyaWJ1dGVEYXRh
KQogICAgICAgICByZXR1cm47CiAKLSAgICBTdHJpbmcgbG9jYWxOYW1lID0gc2hvdWxkSWdub3Jl
QXR0cmlidXRlQ2FzZSh0aGlzKSA/IG5hbWUubG93ZXIoKSA6IG5hbWU7CisgICAgQXRvbWljU3Ry
aW5nIGxvY2FsTmFtZSA9IHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBuYW1lLmxv
d2VyKCkgOiBuYW1lOwogICAgIHNpemVfdCBpbmRleCA9IGF0dHJpYnV0ZURhdGEtPmdldEF0dHJp
YnV0ZUl0ZW1JbmRleChsb2NhbE5hbWUsIGZhbHNlKTsKICAgICBpZiAoaW5kZXggPT0gbm90Rm91
bmQpCiAgICAgICAgIHJldHVybjsKQEAgLTE0NzMsNyArMTQ3Myw3IEBAIHZvaWQgRWxlbWVudDo6
cmVtb3ZlQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICBhdHRyaWJ1dGVEYXRhLT5y
ZW1vdmVBdHRyaWJ1dGUoaW5kZXgsIHRoaXMpOwogfQogCi12b2lkIEVsZW1lbnQ6OnJlbW92ZUF0
dHJpYnV0ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2Fs
TmFtZSkKK3ZvaWQgRWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlTlMoY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lc3BhY2VVUkksIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKQogewogICAgIHJl
bW92ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWUsIG5hbWVzcGFj
ZVVSSSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZTRmNzBjZmFiOGJhZmQ4YjUzOGI1Y2Vm
ZTIyZjk4OWJiMjNlNTlhMy4uOTA3MDRjZGNkMGJjNzA3ZGVmMTJlNWJlYTkwZTNmZjRiYzJjNWQy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0xOTcsOCArMTk3LDggQEAgcHVibGljOgogICAgIC8v
IFJldHVybnMgdGhlIGFic29sdXRlIGJvdW5kaW5nIGJveCB0cmFuc2xhdGVkIGludG8gc2NyZWVu
IGNvb3JkaW5hdGVzOgogICAgIEludFJlY3Qgc2NyZWVuUmVjdCgpIGNvbnN0OwogCi0gICAgdm9p
ZCByZW1vdmVBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBuYW1lKTsKLSAgICB2b2lkIHJlbW92ZUF0
dHJpYnV0ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBTdHJpbmcmIGxvY2Fs
TmFtZSk7CisgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KTsKKyAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZU5TKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNw
YWNlVVJJLCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSk7CiAKICAgICBQYXNzUmVmUHRy
PEF0dHI+IGRldGFjaEF0dHJpYnV0ZShzaXplX3QgaW5kZXgpOwogCg==
</data>
<flag name="commit-queue"
          id="166904"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157088</attachid>
            <date>2012-08-07 19:28:54 -0700</date>
            <delta_ts>2012-08-08 01:25:00 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-90265-20120808112829.patch</filename>
            <type>text/plain</type>
            <size>3231</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQzOTEyOTkwMTI3ZjIz
ZGExOTFjMjEzOTBjN2UzNDc5MGVlMTc1Ny4uMzVjYmNkYmJkNzk5YzkyNzhkNGNkZGY4ZDRiZTJi
NzZlMjIyZmVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDEyLTA4LTA3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBPcHRpbWl6ZSBFbGVt
ZW50OjpyZW1vdmVBdHRyaWJ1dGUoKSBieSByZXBsYWNpbmcgU3RyaW5nIHdpdGggQXRvbWljU3Ry
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDI2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQmFzZWQgb24g
dGhlIG9ic2VydmF0aW9uIGRlc2NyaWJlZCBpbiB0aGlzIENoYW5nZUxvZworICAgICAgICAoaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTIxNDM5KSwgdGhpcyBwYXRjaCBvcHRpbWl6
ZXMKKyAgICAgICAgRWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlKCkgYnkgcmVwbGFjaW5nIFN0cmlu
ZyB3aXRoIEF0b21pY1N0cmluZy4KKworICAgICAgICBQZXJmb3JtYW5jZSB0ZXN0OiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0xNTAxNDAKKworICAgICAgICByZW1v
dmVBdHRyaWJ1dGUgKENocm9taXVtL0xpbnV4KToKKyAgICAgICAgMzM0LjIwbXMgPT4gMjQwLjYw
bXMKKworICAgICAgICByZW1vdmVBdHRyaWJ1dGVOUyAoQ2hyb21pdW0vTGludXgpOgorICAgICAg
ICA1NTIuODBtcyA9PiA0MjEuNjBtcworCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZU5TKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorICAgICAgICAoRWxlbWVudCk6CisKKzIwMTItMDgtMDcgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtWOF0gUmVtb3ZlIGEgYnVuY2ggb2YgUGVyc2lz
dGVudDo6TmV3KClzIG9uIHNldEpTV3JhcHBlckZvclhYWE9iamVjdCgpCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzM0MgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggN2JlNjQwZWIxMjUwMWIyNWIyZmVkZWNhMTVlYjU0NzM3OWQ4YmY3ZC4uZjYy
YzYxY2YxMzA1ZWNlYmJkZGVmMGI5OWNkMDExM2VhMjk5NWJmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtMTQ5OCwxMiArMTQ5OCwxMiBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0
ZShzaXplX3QgaW5kZXgpCiAgICAgbXV0YWJsZUF0dHJpYnV0ZURhdGEoKS0+cmVtb3ZlQXR0cmli
dXRlKGluZGV4LCB0aGlzKTsKIH0KIAotdm9pZCBFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGUoY29u
c3QgU3RyaW5nJiBuYW1lKQordm9pZCBFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGUoY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lKQogewogICAgIGlmICghYXR0cmlidXRlRGF0YSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBTdHJpbmcgbG9jYWxOYW1lID0gc2hvdWxkSWdub3JlQXR0cmlidXRlQ2Fz
ZSh0aGlzKSA/IG5hbWUubG93ZXIoKSA6IG5hbWU7CisgICAgQXRvbWljU3RyaW5nIGxvY2FsTmFt
ZSA9IHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBuYW1lLmxvd2VyKCkgOiBuYW1l
OwogICAgIHNpemVfdCBpbmRleCA9IGF0dHJpYnV0ZURhdGEoKS0+Z2V0QXR0cmlidXRlSXRlbUlu
ZGV4KGxvY2FsTmFtZSwgZmFsc2UpOwogICAgIGlmIChpbmRleCA9PSBub3RGb3VuZCkKICAgICAg
ICAgcmV0dXJuOwpAQCAtMTUxMSw3ICsxNTExLDcgQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVBdHRy
aWJ1dGUoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIG11dGFibGVBdHRyaWJ1dGVEYXRhKCktPnJl
bW92ZUF0dHJpYnV0ZShpbmRleCwgdGhpcyk7CiB9CiAKLXZvaWQgRWxlbWVudDo6cmVtb3ZlQXR0
cmlidXRlTlMoY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxO
YW1lKQordm9pZCBFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGVOUyhjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWVzcGFjZVVSSSwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUpCiB7CiAgICAgcmVt
b3ZlQXR0cmlidXRlKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGxvY2FsTmFtZSwgbmFtZXNwYWNl
VVJJKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA1OTkxZmVmNGUzMjczYTA0MzM0YTBjOWVl
NjFhYTQxZTExYzIwODU4Li4wNDUzN2FiZmVlNjllNzNjYmJkYmYyOTQ3YzMwYWI3OTg4MWE0ZTU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIwMSw4ICsyMDEsOCBAQCBwdWJsaWM6CiAgICAgLy8g
UmV0dXJucyB0aGUgYWJzb2x1dGUgYm91bmRpbmcgYm94IHRyYW5zbGF0ZWQgaW50byBzY3JlZW4g
Y29vcmRpbmF0ZXM6CiAgICAgSW50UmVjdCBzY3JlZW5SZWN0KCkgY29uc3Q7CiAKLSAgICB2b2lk
IHJlbW92ZUF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUpOwotICAgIHZvaWQgcmVtb3ZlQXR0
cmlidXRlTlMoY29uc3QgU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxO
YW1lKTsKKyAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUp
OworICAgIHZvaWQgcmVtb3ZlQXR0cmlidXRlTlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3Bh
Y2VVUkksIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKTsKIAogICAgIFBhc3NSZWZQdHI8
QXR0cj4gZGV0YWNoQXR0cmlidXRlKHNpemVfdCBpbmRleCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>