<?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>84183</bug_id>
          
          <creation_ts>2012-04-17 12:49:42 -0700</creation_ts>
          <short_desc>[chromium] Add simplified API for iterating over a WebElement&apos;s attributes.</short_desc>
          <delta_ts>2012-04-19 16:00:19 -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>WebKit API</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>83440</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604257</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-17 12:49:42 -0700</bug_when>
    <thetext>To be able to freely refactor WebCore::Attribute, we first need to get rid of chromium&apos;s WebAttribute API.
This bug is about introducing a replacement API so that the chromium call sites for WebAttribute can be converted without breaking anything in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604259</commentid>
    <comment_count>1</comment_count>
      <attachid>137585</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-17 12:50:58 -0700</bug_when>
    <thetext>Created attachment 137585
Hopefully a patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604260</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 12:54:02 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604302</commentid>
    <comment_count>3</comment_count>
      <attachid>137595</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-17 13:43:07 -0700</bug_when>
    <thetext>Created attachment 137595
Patch

Actually Element::attributeCount() assumes that there are attributes present on the element, so we can&apos;t use that before checking hasAttributes().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604333</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-17 14:21:37 -0700</bug_when>
    <thetext>I can&apos;t find a single bit of code using the Chromium WebKit API that uses the WebAttribute stuff.  I&apos;m not sure if we had anything in the past.  In general, it&apos;s very hard to design good API without a specific use case in mind so I&apos;d suggest not replacing WebAttribute with anything until we have one.

Darin?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604335</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-17 14:24:11 -0700</bug_when>
    <thetext>Oh whoops, my searching skills suck.  Never mind, webkit/glue/webaccessibility.cc in the chromium tree uses it (although it&apos;s the only one).  This API would work fine for that, it appears</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604336</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-17 14:25:27 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Oh whoops, my searching skills suck.  Never mind, webkit/glue/webaccessibility.cc in the chromium tree uses it (although it&apos;s the only one).  This API would work fine for that, it appears

Right. I should have mentioned that this is the (only?) call site I could find.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604396</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-17 15:15:02 -0700</bug_when>
    <thetext>Relevant chromium bug: http://code.google.com/p/chromium/issues/detail?id=123094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604404</commentid>
    <comment_count>8</comment_count>
      <attachid>137595</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 15:30:16 -0700</bug_when>
    <thetext>Comment on attachment 137595
Patch

Attachment 137595 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12423513</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604429</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-04-17 15:56:56 -0700</bug_when>
    <thetext>+dmazzoni, keeper of chrome a11y</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604441</commentid>
    <comment_count>10</comment_count>
      <attachid>137626</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-17 16:04:56 -0700</bug_when>
    <thetext>Created attachment 137626
Patch

Moar build-webkit --ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604493</commentid>
    <comment_count>11</comment_count>
      <attachid>137626</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 17:03:55 -0700</bug_when>
    <thetext>Comment on attachment 137626
Patch

Attachment 137626 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12426032</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604606</commentid>
    <comment_count>12</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-04-17 23:10:37 -0700</bug_when>
    <thetext>Thanks! This new attribute interface looks great to me.

In the future I was hoping to optimize webaccessibility.cc by only fetching the attributes we actually need. Would it be possible to have an efficient getAttributeByName method?

What about a getAttributesByName (plural) where I could pass a list of all of the attributes I&apos;m interested in, and get a list of all matches? The list would be the same for every element (id, class, role, and then ~20 aria attributes from aria-atomic to aria-valuenow) so it&apos;d be nice to figure out the most efficient interface to do this since we need to retrieve these attributes for every node of the tree.

You certainly don&apos;t have to add anything else now - this patch is great - but I&apos;d like to know your thoughts on what the best interface might look like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605170</commentid>
    <comment_count>13</comment_count>
      <attachid>137789</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-18 15:37:20 -0700</bug_when>
    <thetext>Created attachment 137789
Patch

Fourth time&apos;s the charm...   ..........   .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605171</commentid>
    <comment_count>14</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-18 15:38:42 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Thanks! This new attribute interface looks great to me.
&gt; 
&gt; In the future I was hoping to optimize webaccessibility.cc by only fetching the attributes we actually need. Would it be possible to have an efficient getAttributeByName method?
&gt; 
&gt; What about a getAttributesByName (plural) where I could pass a list of all of the attributes I&apos;m interested in, and get a list of all matches? The list would be the same for every element (id, class, role, and then ~20 aria attributes from aria-atomic to aria-valuenow) so it&apos;d be nice to figure out the most efficient interface to do this since we need to retrieve these attributes for every node of the tree.
&gt; 
&gt; You certainly don&apos;t have to add anything else now - this patch is great - but I&apos;d like to know your thoughts on what the best interface might look like.

Given how attributes are stored (unsorted vector), there&apos;s not much we can do, as you always have to iterate over the vector to get all the attributes. :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605699</commentid>
    <comment_count>15</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-04-19 11:08:08 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #12)
&gt; &gt; Thanks! This new attribute interface looks great to me.
&gt; &gt; 
&gt; &gt; In the future I was hoping to optimize webaccessibility.cc by only fetching the attributes we actually need. Would it be possible to have an efficient getAttributeByName method?
&gt; &gt; 
&gt; &gt; What about a getAttributesByName (plural) where I could pass a list of all of the attributes I&apos;m interested in, and get a list of all matches? The list would be the same for every element (id, class, role, and then ~20 aria attributes from aria-atomic to aria-valuenow) so it&apos;d be nice to figure out the most efficient interface to do this since we need to retrieve these attributes for every node of the tree.
&gt; &gt; 
&gt; &gt; You certainly don&apos;t have to add anything else now - this patch is great - but I&apos;d like to know your thoughts on what the best interface might look like.
&gt; 
&gt; Given how attributes are stored (unsorted vector), there&apos;s not much we can do, as you always have to iterate over the vector to get all the attributes. :/

Can this just populate a vector of strings? This seems like the simplest thing to do:

like void getAttributes(WebVector&lt;WebCString&gt;&amp; attributes);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605726</commentid>
    <comment_count>16</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-19 11:21:03 -0700</bug_when>
    <thetext>It&apos;d have to be a pair of name/value tuples</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605866</commentid>
    <comment_count>17</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-19 14:09:22 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; It&apos;d have to be a pair of name/value tuples

Is that an &quot;r-, please replace this by a function that returns a list of name/value pairs&quot;? I&apos;m blocked on this relatively tiny change, so it&apos;d be neat if someone could make a decision :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605979</commentid>
    <comment_count>18</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2012-04-19 15:11:02 -0700</bug_when>
    <thetext>Getting a vector of pairs of strings seems worse to me - you&apos;d have to pay the cost of allocating the whole vector of names and values, even if you only wanted to grab the value of one particular attribute.

I like the current patch. Dimitri?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606063</commentid>
    <comment_count>19</comment_count>
      <attachid>137789</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-19 16:00:12 -0700</bug_when>
    <thetext>Comment on attachment 137789
Patch

Clearing flags on attachment: 137789

Committed r114686: &lt;http://trac.webkit.org/changeset/114686&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606064</commentid>
    <comment_count>20</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-04-19 16:00:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137585</attachid>
            <date>2012-04-17 12:50:58 -0700</date>
            <delta_ts>2012-04-17 13:43:07 -0700</delta_ts>
            <desc>Hopefully a patch</desc>
            <filename>bug-84183.diff</filename>
            <type>text/plain</type>
            <size>2775</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZTQ2MWNkZS4uZjUyY2E0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNC0xNyAgQW5kcmVhcyBL
bGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgc2ltcGxp
ZmllZCBBUEkgZm9yIGl0ZXJhdGluZyBvdmVyIGEgV2ViRWxlbWVudCdzIGF0dHJpYnV0ZXMuCisg
ICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzg0MTgzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhdHRyaWJ1dGVDb3VudCgpLCBhdHRyaWJ1
dGVOYW1lKGluZGV4KSBhbmQgYXR0cmlidXRlVmFsdWUoaW5kZXgpIHRvIHRoZQorICAgICAgICBX
ZWJFbGVtZW50IEFQSSBzbyB0aGF0IGNhbGwgc2l0ZXMgY3VycmVudGx5IHVzaW5nIFdlYk5hbWVk
Tm9kZU1hcCBjYW4gYmUKKyAgICAgICAgY29udmVydGVkLCB3aGljaCB3aWxsIHVsdGltYXRlbHkg
YWxsb3cgdXMgdG8gcmVmYWN0b3IgV2ViQ29yZTo6QXR0cmlidXRlCisgICAgICAgIG9uIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzgzNDQwPi4KKworICAgICAgICAqIHB1YmxpYy9XZWJFbGVtZW50Lmg6
CisgICAgICAgICogc3JjL1dlYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVt
ZW50OjphdHRyaWJ1dGVDb3VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkVsZW1lbnQ6OmF0dHJp
YnV0ZU5hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50OjphdHRyaWJ1dGVWYWx1ZSk6
CisKIDIwMTItMDQtMTYgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBXZWJHZXN0dXJlRXZlbnQgdG8gc3RvcmUgZm91
ciBmbG9hdGluZyBwb2ludCB2YWx1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkVsZW1lbnQuaAppbmRleCBhM2EwNjEyLi5jOWMxOWFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkVsZW1lbnQuaApAQCAtNjEsNiArNjEsOSBAQCBzdHJ1Y3QgV2ViUmVj
dDsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaW5uZXJUZXh0KCk7CiAgICAgICAg
IFdFQktJVF9FWFBPUlQgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdDsKICAgICAgICAgV0VC
S0lUX0VYUE9SVCB2b2lkIHJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgICAgIFdFQktJVF9FWFBP
UlQgV2ViU3RyaW5nIGF0dHJpYnV0ZU5hbWUodW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgICAg
ICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBhdHRyaWJ1dGVWYWx1ZSh1bnNpZ25lZCBpbmRleCkg
Y29uc3Q7CisgICAgICAgIFdFQktJVF9FWFBPUlQgdW5zaWduZWQgYXR0cmlidXRlQ291bnQoKSBj
b25zdDsKIAogICAgICAgICAvLyBSZXR1cm5zIHRoZSBsYW5ndWFnZSBjb2RlIHNwZWNpZmllZCBm
b3IgdGhpcyBlbGVtZW50LiAgVGhpcyBhdHRyaWJ1dGUKICAgICAgICAgLy8gaXMgaW5oZXJpdGVk
LCBzbyB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgZHJhd24gZnJvbSB0aGUgY2xvc2VzdCBwYXJlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKaW5kZXggZTZhMWI2ZS4u
MTU5M2VkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKQEAg
LTgzLDYgKzgzLDI1IEBAIGJvb2wgV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFdlYlN0
cmluZyYgYXR0ck5hbWUsIGNvbnN0IFdlYlN0cmluZyYgYXR0clZhCiAgICAgcmV0dXJuICFleGNl
cHRpb25Db2RlOwogfQogCit1bnNpZ25lZCBXZWJFbGVtZW50OjphdHRyaWJ1dGVDb3VudCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+YXR0cmlidXRlQ291bnQoKTsKK30KKworV2Vi
U3RyaW5nIFdlYkVsZW1lbnQ6OmF0dHJpYnV0ZU5hbWUodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7
CisgICAgaWYgKGluZGV4ID49IG1fcHJpdmF0ZS0+YXR0cmlidXRlQ291bnQoKSkKKyAgICAgICAg
cmV0dXJuIFdlYlN0cmluZygpOworICAgIHJldHVybiBtX3ByaXZhdGUtPmF0dHJpYnV0ZUl0ZW0o
aW5kZXgpLT5uYW1lKCk7Cit9CisKK1dlYlN0cmluZyBXZWJFbGVtZW50OjphdHRyaWJ1dGVWYWx1
ZSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9wcml2YXRlLT5h
dHRyaWJ1dGVDb3VudCgpKQorICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CisgICAgcmV0dXJu
IG1fcHJpdmF0ZS0+YXR0cmlidXRlSXRlbShpbmRleCktPnZhbHVlKCk7Cit9CisKIFdlYk5hbWVk
Tm9kZU1hcCBXZWJFbGVtZW50OjphdHRyaWJ1dGVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gV2Vi
TmFtZWROb2RlTWFwKG1fcHJpdmF0ZS0+YXR0cmlidXRlcygpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137595</attachid>
            <date>2012-04-17 13:43:07 -0700</date>
            <delta_ts>2012-04-17 16:04:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84183-v2.diff</filename>
            <type>text/plain</type>
            <size>2810</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZTQ2MWNkZS4uZjUyY2E0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNC0xNyAgQW5kcmVhcyBL
bGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgc2ltcGxp
ZmllZCBBUEkgZm9yIGl0ZXJhdGluZyBvdmVyIGEgV2ViRWxlbWVudCdzIGF0dHJpYnV0ZXMuCisg
ICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzg0MTgzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhdHRyaWJ1dGVDb3VudCgpLCBhdHRyaWJ1
dGVOYW1lKGluZGV4KSBhbmQgYXR0cmlidXRlVmFsdWUoaW5kZXgpIHRvIHRoZQorICAgICAgICBX
ZWJFbGVtZW50IEFQSSBzbyB0aGF0IGNhbGwgc2l0ZXMgY3VycmVudGx5IHVzaW5nIFdlYk5hbWVk
Tm9kZU1hcCBjYW4gYmUKKyAgICAgICAgY29udmVydGVkLCB3aGljaCB3aWxsIHVsdGltYXRlbHkg
YWxsb3cgdXMgdG8gcmVmYWN0b3IgV2ViQ29yZTo6QXR0cmlidXRlCisgICAgICAgIG9uIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzgzNDQwPi4KKworICAgICAgICAqIHB1YmxpYy9XZWJFbGVtZW50Lmg6
CisgICAgICAgICogc3JjL1dlYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVt
ZW50OjphdHRyaWJ1dGVDb3VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkVsZW1lbnQ6OmF0dHJp
YnV0ZU5hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50OjphdHRyaWJ1dGVWYWx1ZSk6
CisKIDIwMTItMDQtMTYgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBXZWJHZXN0dXJlRXZlbnQgdG8gc3RvcmUgZm91
ciBmbG9hdGluZyBwb2ludCB2YWx1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkVsZW1lbnQuaAppbmRleCBhM2EwNjEyLi5jOWMxOWFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkVsZW1lbnQuaApAQCAtNjEsNiArNjEsOSBAQCBzdHJ1Y3QgV2ViUmVj
dDsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaW5uZXJUZXh0KCk7CiAgICAgICAg
IFdFQktJVF9FWFBPUlQgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdDsKICAgICAgICAgV0VC
S0lUX0VYUE9SVCB2b2lkIHJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgICAgIFdFQktJVF9FWFBP
UlQgV2ViU3RyaW5nIGF0dHJpYnV0ZU5hbWUodW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgICAg
ICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBhdHRyaWJ1dGVWYWx1ZSh1bnNpZ25lZCBpbmRleCkg
Y29uc3Q7CisgICAgICAgIFdFQktJVF9FWFBPUlQgdW5zaWduZWQgYXR0cmlidXRlQ291bnQoKSBj
b25zdDsKIAogICAgICAgICAvLyBSZXR1cm5zIHRoZSBsYW5ndWFnZSBjb2RlIHNwZWNpZmllZCBm
b3IgdGhpcyBlbGVtZW50LiAgVGhpcyBhdHRyaWJ1dGUKICAgICAgICAgLy8gaXMgaW5oZXJpdGVk
LCBzbyB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgZHJhd24gZnJvbSB0aGUgY2xvc2VzdCBwYXJlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKaW5kZXggZTZhMWI2ZS4u
NTc1NDQ1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKQEAg
LTgzLDYgKzgzLDI3IEBAIGJvb2wgV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFdlYlN0
cmluZyYgYXR0ck5hbWUsIGNvbnN0IFdlYlN0cmluZyYgYXR0clZhCiAgICAgcmV0dXJuICFleGNl
cHRpb25Db2RlOwogfQogCit1bnNpZ25lZCBXZWJFbGVtZW50OjphdHRyaWJ1dGVDb3VudCgpIGNv
bnN0Cit7CisgICAgaWYgKCFtX3ByaXZhdGUtPmhhc0F0dHJpYnV0ZXMoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+YXR0cmlidXRlQ291bnQoKTsKK30KKworV2Vi
U3RyaW5nIFdlYkVsZW1lbnQ6OmF0dHJpYnV0ZU5hbWUodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7
CisgICAgaWYgKGluZGV4ID49IGF0dHJpYnV0ZUNvdW50KCkpCisgICAgICAgIHJldHVybiBXZWJT
dHJpbmcoKTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+bmFt
ZSgpOworfQorCitXZWJTdHJpbmcgV2ViRWxlbWVudDo6YXR0cmlidXRlVmFsdWUodW5zaWduZWQg
aW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IGF0dHJpYnV0ZUNvdW50KCkpCisgICAg
ICAgIHJldHVybiBXZWJTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5hdHRyaWJ1dGVJ
dGVtKGluZGV4KS0+dmFsdWUoKTsKK30KKwogV2ViTmFtZWROb2RlTWFwIFdlYkVsZW1lbnQ6OmF0
dHJpYnV0ZXMoKSBjb25zdAogewogICAgIHJldHVybiBXZWJOYW1lZE5vZGVNYXAobV9wcml2YXRl
LT5hdHRyaWJ1dGVzKCkpOwo=
</data>
<flag name="commit-queue"
          id="142721"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137626</attachid>
            <date>2012-04-17 16:04:56 -0700</date>
            <delta_ts>2012-04-18 15:37:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84183-v3.diff</filename>
            <type>text/plain</type>
            <size>2862</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZTQ2MWNkZS4uZjUyY2E0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNC0xNyAgQW5kcmVhcyBL
bGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgc2ltcGxp
ZmllZCBBUEkgZm9yIGl0ZXJhdGluZyBvdmVyIGEgV2ViRWxlbWVudCdzIGF0dHJpYnV0ZXMuCisg
ICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzg0MTgzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhdHRyaWJ1dGVDb3VudCgpLCBhdHRyaWJ1
dGVOYW1lKGluZGV4KSBhbmQgYXR0cmlidXRlVmFsdWUoaW5kZXgpIHRvIHRoZQorICAgICAgICBX
ZWJFbGVtZW50IEFQSSBzbyB0aGF0IGNhbGwgc2l0ZXMgY3VycmVudGx5IHVzaW5nIFdlYk5hbWVk
Tm9kZU1hcCBjYW4gYmUKKyAgICAgICAgY29udmVydGVkLCB3aGljaCB3aWxsIHVsdGltYXRlbHkg
YWxsb3cgdXMgdG8gcmVmYWN0b3IgV2ViQ29yZTo6QXR0cmlidXRlCisgICAgICAgIG9uIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzgzNDQwPi4KKworICAgICAgICAqIHB1YmxpYy9XZWJFbGVtZW50Lmg6
CisgICAgICAgICogc3JjL1dlYkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVt
ZW50OjphdHRyaWJ1dGVDb3VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkVsZW1lbnQ6OmF0dHJp
YnV0ZU5hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50OjphdHRyaWJ1dGVWYWx1ZSk6
CisKIDIwMTItMDQtMTYgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBXZWJHZXN0dXJlRXZlbnQgdG8gc3RvcmUgZm91
ciBmbG9hdGluZyBwb2ludCB2YWx1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkVsZW1lbnQuaAppbmRleCBhM2EwNjEyLi5jOWMxOWFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkVsZW1lbnQuaApAQCAtNjEsNiArNjEsOSBAQCBzdHJ1Y3QgV2ViUmVj
dDsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaW5uZXJUZXh0KCk7CiAgICAgICAg
IFdFQktJVF9FWFBPUlQgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdDsKICAgICAgICAgV0VC
S0lUX0VYUE9SVCB2b2lkIHJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgICAgIFdFQktJVF9FWFBP
UlQgV2ViU3RyaW5nIGF0dHJpYnV0ZU5hbWUodW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgICAg
ICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBhdHRyaWJ1dGVWYWx1ZSh1bnNpZ25lZCBpbmRleCkg
Y29uc3Q7CisgICAgICAgIFdFQktJVF9FWFBPUlQgdW5zaWduZWQgYXR0cmlidXRlQ291bnQoKSBj
b25zdDsKIAogICAgICAgICAvLyBSZXR1cm5zIHRoZSBsYW5ndWFnZSBjb2RlIHNwZWNpZmllZCBm
b3IgdGhpcyBlbGVtZW50LiAgVGhpcyBhdHRyaWJ1dGUKICAgICAgICAgLy8gaXMgaW5oZXJpdGVk
LCBzbyB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgZHJhd24gZnJvbSB0aGUgY2xvc2VzdCBwYXJlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKaW5kZXggZTZhMWI2ZS4u
NTAwZTY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5jcHAKQEAg
LTgzLDYgKzgzLDI3IEBAIGJvb2wgV2ViRWxlbWVudDo6c2V0QXR0cmlidXRlKGNvbnN0IFdlYlN0
cmluZyYgYXR0ck5hbWUsIGNvbnN0IFdlYlN0cmluZyYgYXR0clZhCiAgICAgcmV0dXJuICFleGNl
cHRpb25Db2RlOwogfQogCit1bnNpZ25lZCBXZWJFbGVtZW50OjphdHRyaWJ1dGVDb3VudCgpIGNv
bnN0Cit7CisgICAgaWYgKCFjb25zdFVud3JhcDxFbGVtZW50PigpLT5oYXNBdHRyaWJ1dGVzKCkp
CisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBjb25zdFVud3JhcDxFbGVtZW50PigpLT5h
dHRyaWJ1dGVDb3VudCgpOworfQorCitXZWJTdHJpbmcgV2ViRWxlbWVudDo6YXR0cmlidXRlTmFt
ZSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gYXR0cmlidXRlQ291
bnQoKSkKKyAgICAgICAgcmV0dXJuIFdlYlN0cmluZygpOworICAgIHJldHVybiBjb25zdFVud3Jh
cDxFbGVtZW50PigpLT5hdHRyaWJ1dGVJdGVtKGluZGV4KS0+bmFtZSgpOworfQorCitXZWJTdHJp
bmcgV2ViRWxlbWVudDo6YXR0cmlidXRlVmFsdWUodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7Cisg
ICAgaWYgKGluZGV4ID49IGF0dHJpYnV0ZUNvdW50KCkpCisgICAgICAgIHJldHVybiBXZWJTdHJp
bmcoKTsKKyAgICByZXR1cm4gY29uc3RVbndyYXA8RWxlbWVudD4oKS0+YXR0cmlidXRlSXRlbShp
bmRleCktPnZhbHVlKCk7Cit9CisKIFdlYk5hbWVkTm9kZU1hcCBXZWJFbGVtZW50OjphdHRyaWJ1
dGVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gV2ViTmFtZWROb2RlTWFwKG1fcHJpdmF0ZS0+YXR0
cmlidXRlcygpKTsK
</data>
<flag name="commit-queue"
          id="142749"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137789</attachid>
            <date>2012-04-18 15:37:20 -0700</date>
            <delta_ts>2012-04-19 16:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84183-v4.diff</filename>
            <type>text/plain</type>
            <size>2877</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNDI0ZmRkMi4uMGZmOWRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wNC0xNyAgQW5kcmVhcyBL
bGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBZGQgc2ltcGxp
ZmllZCBBUEkgZm9yIGl0ZXJhdGluZyBvdmVyIGEgV2ViRWxlbWVudCdzIGF0dHJpYnV0ZXMuCisg
ICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzg0MTgzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhdHRyaWJ1dGVDb3VudCgpLCBhdHRyaWJ1
dGVMb2NhbE5hbWUoaW5kZXgpIGFuZCBhdHRyaWJ1dGVWYWx1ZShpbmRleCkgdG8gdGhlCisgICAg
ICAgIFdlYkVsZW1lbnQgQVBJIHNvIHRoYXQgY2FsbCBzaXRlcyBjdXJyZW50bHkgdXNpbmcgV2Vi
TmFtZWROb2RlTWFwIGNhbiBiZQorICAgICAgICBjb252ZXJ0ZWQsIHdoaWNoIHdpbGwgdWx0aW1h
dGVseSBhbGxvdyB1cyB0byByZWZhY3RvciBXZWJDb3JlOjpBdHRyaWJ1dGUKKyAgICAgICAgb24g
PGh0dHA6Ly93ZWJraXQub3JnL2IvODM0NDA+LgorCisgICAgICAgICogcHVibGljL1dlYkVsZW1l
bnQuaDoKKyAgICAgICAgKiBzcmMvV2ViRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkVsZW1lbnQ6OmF0dHJpYnV0ZUNvdW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRWxlbWVudDo6
YXR0cmlidXRlTG9jYWxOYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViRWxlbWVudDo6YXR0cmli
dXRlVmFsdWUpOgorCiAyMDEyLTA0LTE4ICBNeWxlcyBNYXhmaWVsZCAgPG1tYXhmaWVsZEBnb29n
bGUuY29tPgogCiAgICAgICAgIENocm9taXVtIGNvbXBpbGUgb2YgV2ViRGF0YWJhc2UuY3BwIGZh
aWxzIHdpdGhvdXQgU1FMX0RBVEFCQVNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJFbGVtZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJFbGVtZW50LmgKaW5kZXggYTNhMDYxMi4uN2VkNTBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkVsZW1lbnQuaApAQCAtNjEsNiArNjEsOSBAQCBzdHJ1Y3QgV2ViUmVj
dDsKICAgICAgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaW5uZXJUZXh0KCk7CiAgICAgICAg
IFdFQktJVF9FWFBPUlQgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdDsKICAgICAgICAgV0VC
S0lUX0VYUE9SVCB2b2lkIHJlcXVlc3RGdWxsU2NyZWVuKCk7CisgICAgICAgIFdFQktJVF9FWFBP
UlQgV2ViU3RyaW5nIGF0dHJpYnV0ZUxvY2FsTmFtZSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7Cisg
ICAgICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGF0dHJpYnV0ZVZhbHVlKHVuc2lnbmVkIGlu
ZGV4KSBjb25zdDsKKyAgICAgICAgV0VCS0lUX0VYUE9SVCB1bnNpZ25lZCBhdHRyaWJ1dGVDb3Vu
dCgpIGNvbnN0OwogCiAgICAgICAgIC8vIFJldHVybnMgdGhlIGxhbmd1YWdlIGNvZGUgc3BlY2lm
aWVkIGZvciB0aGlzIGVsZW1lbnQuICBUaGlzIGF0dHJpYnV0ZQogICAgICAgICAvLyBpcyBpbmhl
cml0ZWQsIHNvIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBkcmF3biBmcm9tIHRoZSBjbG9zZXN0IHBh
cmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcAppbmRleCBlNmEx
YjZlLi5hYTUzMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFbGVtZW50LmNw
cApAQCAtODMsNiArODMsMjcgQEAgYm9vbCBXZWJFbGVtZW50OjpzZXRBdHRyaWJ1dGUoY29uc3Qg
V2ViU3RyaW5nJiBhdHRyTmFtZSwgY29uc3QgV2ViU3RyaW5nJiBhdHRyVmEKICAgICByZXR1cm4g
IWV4Y2VwdGlvbkNvZGU7CiB9CiAKK3Vuc2lnbmVkIFdlYkVsZW1lbnQ6OmF0dHJpYnV0ZUNvdW50
KCkgY29uc3QKK3sKKyAgICBpZiAoIWNvbnN0VW53cmFwPEVsZW1lbnQ+KCktPmhhc0F0dHJpYnV0
ZXMoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGNvbnN0VW53cmFwPEVsZW1lbnQ+
KCktPmF0dHJpYnV0ZUNvdW50KCk7Cit9CisKK1dlYlN0cmluZyBXZWJFbGVtZW50OjphdHRyaWJ1
dGVMb2NhbE5hbWUodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IGF0
dHJpYnV0ZUNvdW50KCkpCisgICAgICAgIHJldHVybiBXZWJTdHJpbmcoKTsKKyAgICByZXR1cm4g
Y29uc3RVbndyYXA8RWxlbWVudD4oKS0+YXR0cmlidXRlSXRlbShpbmRleCktPmxvY2FsTmFtZSgp
OworfQorCitXZWJTdHJpbmcgV2ViRWxlbWVudDo6YXR0cmlidXRlVmFsdWUodW5zaWduZWQgaW5k
ZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IGF0dHJpYnV0ZUNvdW50KCkpCisgICAgICAg
IHJldHVybiBXZWJTdHJpbmcoKTsKKyAgICByZXR1cm4gY29uc3RVbndyYXA8RWxlbWVudD4oKS0+
YXR0cmlidXRlSXRlbShpbmRleCktPnZhbHVlKCk7Cit9CisKIFdlYk5hbWVkTm9kZU1hcCBXZWJF
bGVtZW50OjphdHRyaWJ1dGVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gV2ViTmFtZWROb2RlTWFw
KG1fcHJpdmF0ZS0+YXR0cmlidXRlcygpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>