<?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>85576</bug_id>
          
          <creation_ts>2012-05-03 21:13:35 -0700</creation_ts>
          <short_desc>[BlackBerry] AutofillManager implementation upstream</short_desc>
          <delta_ts>2012-05-08 00:04:25 -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 BlackBerry</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>85575</dependson>
          <blocked>85577</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jonathan Dong">jonathan.dong.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>leo.yang</cc>
    
    <cc>mstaikos</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>615939</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-03 21:13:35 -0700</bug_when>
    <thetext>RIM PR: 136405

The form auto fill feature by my current implementation is pretty much like the behavior of desktop browsers, when user submits a form, the name attribute and the value of text input fields(exclude password) will be stored in the autofill database as a name-value pair. Next time when the user fills any form on any site, the browser will search the db to find out if there&apos;s any matched name-value pair to fill the current editing input text field. We will find all the values which has the same name attribute and starts with the character that user has input, and pops up a context dialog to notify user those candidates used by him. If user chooses one from the context dialog, the value will fill the current input text field.

This PR is about the implementation of class AutofillManager, which handles autofill interactions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617316</commentid>
    <comment_count>1</comment_count>
      <attachid>140460</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-06 20:03:43 -0700</bug_when>
    <thetext>Created attachment 140460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617599</commentid>
    <comment_count>2</comment_count>
      <attachid>140460</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-07 08:00:24 -0700</bug_when>
    <thetext>Comment on attachment 140460
Patch

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

This can be cleaned up some more.

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h:26
&gt; +class String;

Indent here, this is WebKit style.

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h:31
&gt; +class WebPagePrivate;

Ditto.

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h:37
&gt; +class HTMLInputElement;

The whole block in namespace should be indented.

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h:50
&gt; +    AutofillManager(BlackBerry::WebKit::WebPagePrivate* page):m_webPagePrivate(page), m_element(0) { }

Watch the &apos;:&apos;, it should have space characters around it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618105</commentid>
    <comment_count>3</comment_count>
      <attachid>140460</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 16:55:27 -0700</bug_when>
    <thetext>Comment on attachment 140460
Patch

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

&gt;&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h:37
&gt;&gt; +class HTMLInputElement;
&gt; 
&gt; The whole block in namespace should be indented.

Thanks Rob, for those indentation things, I guess many of our porting&apos;s codes are not following this guideline, especially in WebKit/blackberry. Do we need to fix them when we are about to make some changes?
Anyway I&apos;ll follow your suggestion with my next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618114</commentid>
    <comment_count>4</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 17:03:21 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 140460 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140460&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h:37
&gt; &gt;&gt; +class HTMLInputElement;
&gt; &gt; 
&gt; &gt; The whole block in namespace should be indented.
&gt; 
&gt; Thanks Rob, for those indentation things, I guess many of our porting&apos;s codes are not following this guideline, especially in WebKit/blackberry. Do we need to fix them when we are about to make some changes?
&gt; Anyway I&apos;ll follow your suggestion with my next patch.

oh, the changes with the indentation in namespace are rejected by check-webkit-style, and I also checked the coding style of webkit.org in http://www.webkit.org/coding/coding-style.html which implies that we should not indent in this situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618121</commentid>
    <comment_count>5</comment_count>
      <attachid>140625</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 17:06:53 -0700</bug_when>
    <thetext>Created attachment 140625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618173</commentid>
    <comment_count>6</comment_count>
      <attachid>140625</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-07 17:44:52 -0700</bug_when>
    <thetext>Comment on attachment 140625
Patch

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

Looks good, can be improved some more.

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp:45
&gt; +    Vector&lt;String&gt; candidates = autofillBackingStore().get(element-&gt;getAttribute(&quot;name&quot;).string(), element-&gt;value());

Can you use HTMLNames::nameAttr here? Also is this line needed since you are not using candidates.

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp:66
&gt; +            || element-&gt;isAutofilled() || !element-&gt;shouldAutocomplete())

You are doing these checks here and in didChangeInTextField, can you make a static function for this in this .cpp?

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp:68
&gt; +        autofillBackingStore().add(element-&gt;getAttribute(&quot;name&quot;).string(), element-&gt;value());

Can you use HTMLNames::nameAttr here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618190</commentid>
    <comment_count>7</comment_count>
      <attachid>140642</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 18:27:57 -0700</bug_when>
    <thetext>Created attachment 140642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618215</commentid>
    <comment_count>8</comment_count>
      <attachid>140642</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-07 18:59:56 -0700</bug_when>
    <thetext>Comment on attachment 140642
Patch

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

Sorry, needs one more iteration :)

&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp:31
&gt; +static bool isNotAutofillable(HTMLInputElement* element)

I think this is better to reverse this logic, ie. make it isAutofillable, and test for ! isNotAutofillable().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618216</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-07 19:00:31 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 140642 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140642&amp;action=review
&gt; 
&gt; Sorry, needs one more iteration :)
&gt; 
&gt; &gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp:31
&gt; &gt; +static bool isNotAutofillable(HTMLInputElement* element)
&gt; 
&gt; I think this is better to reverse this logic, ie. make it isAutofillable, and test for ! isNotAutofillable().

Sorry I meant test for !isAutofillable()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618217</commentid>
    <comment_count>10</comment_count>
      <attachid>140642</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 19:04:05 -0700</bug_when>
    <thetext>Comment on attachment 140642
Patch

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

&gt;&gt;&gt; Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp:31
&gt;&gt;&gt; +static bool isNotAutofillable(HTMLInputElement* element)
&gt;&gt; 
&gt;&gt; I think this is better to reverse this logic, ie. make it isAutofillable, and test for ! isNotAutofillable().
&gt; 
&gt; Sorry I meant test for !isAutofillable()

thanks, will fix soon. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618221</commentid>
    <comment_count>11</comment_count>
      <attachid>140649</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 19:12:16 -0700</bug_when>
    <thetext>Created attachment 140649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618230</commentid>
    <comment_count>12</comment_count>
      <attachid>140649</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-07 19:41:10 -0700</bug_when>
    <thetext>Comment on attachment 140649
Patch

I like it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618310</commentid>
    <comment_count>13</comment_count>
      <attachid>140649</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 22:15:15 -0700</bug_when>
    <thetext>Comment on attachment 140649
Patch

Rejecting attachment 140649 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: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebKit/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/12650264</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618315</commentid>
    <comment_count>14</comment_count>
      <attachid>140673</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 22:25:30 -0700</bug_when>
    <thetext>Created attachment 140673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618334</commentid>
    <comment_count>15</comment_count>
      <attachid>140673</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 23:00:45 -0700</bug_when>
    <thetext>Comment on attachment 140673
Patch

Rejecting attachment 140673 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: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebKit/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/12644374</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618341</commentid>
    <comment_count>16</comment_count>
      <attachid>140677</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-07 23:19:54 -0700</bug_when>
    <thetext>Created attachment 140677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618344</commentid>
    <comment_count>17</comment_count>
      <attachid>140677</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-05-07 23:21:45 -0700</bug_when>
    <thetext>Comment on attachment 140677
Patch

Help to commit which was already reviewed by Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618371</commentid>
    <comment_count>18</comment_count>
      <attachid>140677</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-08 00:04:15 -0700</bug_when>
    <thetext>Comment on attachment 140677
Patch

Clearing flags on attachment: 140677

Committed r116400: &lt;http://trac.webkit.org/changeset/116400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618372</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-08 00:04:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140460</attachid>
            <date>2012-05-06 20:03:43 -0700</date>
            <delta_ts>2012-05-07 17:06:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85576-20120507110340.patch</filename>
            <type>text/plain</type>
            <size>8010</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjN2RhZmM4ODNlMWRiZmU0
YWUxYWY1MGYxZWExYjQ2MTBlMjA1YmQuLjIyNWIyZGQ0MzIzOGY3MTE4MWZlZjA4ZmEyOTFjOGE5
ZTFkYjcwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDYgIEpvbmF0aGFu
IERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAg
IEFkZGVkIFdlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5j
cHAKKyAgICAgICAgaW50byBidWlsZGluZyBzeXN0ZW0gb2YgQmxhY2tCZXJyeSBwb3J0aW5nLgor
CisgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorCiAyMDEyLTA1LTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNj
cmVlbkxpc3RlbmVyIGludG8gaXRzIG93biBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cKaW5kZXggNzViNmM0NDZkOTUzN2E5YTY1NWVmNjM4YjZlYmUzZDE2NDliMTI0NS4uMThjYjli
NzA3MGY3MTkzMDQxMDFhNzE1ZjhhY2RkOGJmNjMzNjZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTItMDUtMDYgIEpvbmF0aGFuIERvbmcgIDxq
b25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KIAorICAgICAgICBbQmxhY2tCZXJyeV0g
QXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJJTSBQUjogMTM2NDA1CisgICAgICAgIElt
cGxlbWVudGVkIGNsYXNzIEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGZvcm0gYXV0b2Zp
bGwKKyAgICAgICAgaW50ZXJhY3Rpb25zLgorICAgICAgICBJdCBsaXN0ZW5zIHRvIHRleHQgY2hh
bmdlZCBub3RpZmljYXRpb24gZnJvbSB0ZXh0IGlucHV0LCBzZWFyY2hlcworICAgICAgICBhdXRv
ZmlsbCBkYXRhYmFzZSBmb3IgdGhlIHN1Z2dlc3RlZCBhdXRvZmlsbCBjYW5kaWRhdGUgdmFsdWUs
CisgICAgICAgIGFuZCBub3RpZmllcyBXZWJQYWdlQ2xpZW50IHRvIHBvcCB1cCBhIGNvbnRleHQg
ZGlhbG9nIGZvciB1c2VyOworICAgICAgICBpdCBhbHNvIHJlc3BvbmRzIHRvIHVzZXIncyBjaG9p
Y2UgYnkgYXV0b2ZpbGxpbmcgdGhlIHRleHQgaW5wdXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6QXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNv
cmU6OkF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6
QXV0b2ZpbGxNYW5hZ2VyOjpjbGVhcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXV0b2Zp
bGxNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEF1dG9maWxsTWFuYWdlcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdXRvZmlsbE1hbmFnZXI6Om1fZWxlbWVudCk6CisKKzIwMTItMDUtMDYgIEpvbmF0
aGFuIERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKwogICAgICAgICBb
QmxhY2tCZXJyeV0gQXV0b2ZpbGwgYmFja2luZyBzdG9yZSBpbXBsZW1lbnRhdGlvbiB1cHN0cmVh
bQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU1NzUK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCBmY2ZmOWNiNjc1YWVi
NTJkODQwMDdlNTQ5NjUwZjJiOTNjZDY2YjNiLi5mMjQ0Nzc5Y2ZkNTg1ZTBlMmE5ZWIxMGNjMmVi
MDI5NDE4ZDI3MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJy
eS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAt
NTYsNiArNTYsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIGJsYWNrYmVycnkv
QXBpL1dlYlNldHRpbmdzLmNwcAogICAgIGJsYWNrYmVycnkvQXBpL1dlYlZpZXdwb3J0QXJndW1l
bnRzLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhLmNwcAorICAg
IGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmNwcAogICAgIGJsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvQ2FjaGVDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNr
YmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKICAgICBibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdl
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWU3NTg0ZjFmNTBlNzZiY2JlNGI4ZDRmNjYxMzIwMzM1N2QwNTY3
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN
QSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVk
ZSAiQXV0b2ZpbGxNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJBdXRvZmlsbEJhY2tpbmdTdG9yZS5o
IgorI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50
LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VfcC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8QXV0b2ZpbGxNYW5hZ2VyPiBB
dXRvZmlsbE1hbmFnZXI6OmNyZWF0ZShCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRl
KiBwYWdlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2ZpbGxNYW5hZ2VyKHBhZ2Up
KTsKK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmRpZENoYW5nZUluVGV4dEZpZWxkKEhUTUxJ
bnB1dEVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5p
c1RleHRGaWVsZCgpIHx8IGVsZW1lbnQtPmlzUGFzc3dvcmRGaWVsZCgpCisgICAgICAgIHx8IGVs
ZW1lbnQtPmlzQXV0b2ZpbGxlZCgpIHx8ICFlbGVtZW50LT5zaG91bGRBdXRvY29tcGxldGUoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1fZWxlbWVudCAhPSBlbGVtZW50KQorICAgICAg
ICBtX2VsZW1lbnQgPSBlbGVtZW50OworCisgICAgVmVjdG9yPFN0cmluZz4gY2FuZGlkYXRlcyA9
IGF1dG9maWxsQmFja2luZ1N0b3JlKCkuZ2V0KGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgibmFtZSIp
LnN0cmluZygpLCBlbGVtZW50LT52YWx1ZSgpKTsKKworICAgIC8vIEZJWE1FOiBOb3RpZnkgd2Vi
cGFnZSBjbGllbnQgdG8gcG9wdXAgYSBjb250ZXh0IGRpYWxvZyB0byBkaXNwbGF5IHRoZXNlIGF1
dG9maWxsIGNhbmRpZGF0ZSBpdGVtcy4KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmF1dG9m
aWxsVGV4dEZpZWxkKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKCFtX2VsZW1lbnQp
CisgICAgICAgIHJldHVybjsKKworICAgIG1fZWxlbWVudC0+c2V0VmFsdWUodmFsdWUpOworICAg
IG1fZWxlbWVudC0+c2V0QXV0b2ZpbGxlZCgpOworfQorCit2b2lkIEF1dG9maWxsTWFuYWdlcjo6
c2F2ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQoreworICAgIFJlZlB0cjxIVE1M
Q29sbGVjdGlvbj4gZWxlbWVudHMgPSBmb3JtLT5lbGVtZW50cygpOworICAgIHNpemVfdCBpdGVt
Q291bnQgPSBlbGVtZW50cy0+bGVuZ3RoKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBp
dGVtQ291bnQ7ICsraSkgeworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50ID0gZm9y
bS0+aXRlbShpKS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICAgICAgaWYgKCFlbGVtZW50IHx8ICFl
bGVtZW50LT5pc1RleHRGaWVsZCgpIHx8IGVsZW1lbnQtPmlzUGFzc3dvcmRGaWVsZCgpCisgICAg
ICAgICAgICB8fCBlbGVtZW50LT5pc0F1dG9maWxsZWQoKSB8fCAhZWxlbWVudC0+c2hvdWxkQXV0
b2NvbXBsZXRlKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXV0b2ZpbGxCYWNr
aW5nU3RvcmUoKS5hZGQoZWxlbWVudC0+Z2V0QXR0cmlidXRlKCJuYW1lIikuc3RyaW5nKCksIGVs
ZW1lbnQtPnZhbHVlKCkpOworICAgIH0KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmNsZWFy
KCkKK3sKKyAgICBhdXRvZmlsbEJhY2tpbmdTdG9yZSgpLmNsZWFyKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJD
b3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOGYyZDQyOWY0MmEw
NGVkNDdmNWMzNTdjMDJiNDMwYmEzMGJmYmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5oCkBAIC0wLDAg
KzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRl
ZiBBdXRvZmlsbE1hbmFnZXJfaAorI2RlZmluZSBBdXRvZmlsbE1hbmFnZXJfaAorCisjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV1RGIHsKK2NsYXNzIFN0cmluZzsKK30KKworbmFtZXNwYWNlIEJsYWNrQmVycnkgewor
bmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBXZWJQYWdlUHJpdmF0ZTsKK30KK30KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgSFRNTEZvcm1FbGVtZW50OworY2xhc3MgSFRNTElucHV0RWxl
bWVudDsKKworY2xhc3MgQXV0b2ZpbGxNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8QXV0b2Zp
bGxNYW5hZ2VyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2ZpbGxNYW5h
Z2VyPiBjcmVhdGUoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSopOworCisgICAg
dm9pZCBkaWRDaGFuZ2VJblRleHRGaWVsZChIVE1MSW5wdXRFbGVtZW50Kik7CisgICAgdm9pZCBh
dXRvZmlsbFRleHRGaWVsZChjb25zdCBXVEY6OlN0cmluZyYpOworICAgIHZvaWQgc2F2ZVRleHRG
aWVsZHMoSFRNTEZvcm1FbGVtZW50Kik7CisKKyAgICBzdGF0aWMgdm9pZCBjbGVhcigpOworCitw
cml2YXRlOgorICAgIEF1dG9maWxsTWFuYWdlcihCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQ
cml2YXRlKiBwYWdlKTptX3dlYlBhZ2VQcml2YXRlKHBhZ2UpLCBtX2VsZW1lbnQoMCkgeyB9CisK
KyAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBtX3dlYlBhZ2VQcml2YXRl
OworICAgIEhUTUxJbnB1dEVsZW1lbnQqIG1fZWxlbWVudDsKK307CisKK30gLy8gV2ViQ29yZQor
CisjZW5kaWYgLy8gQXV0b2ZpbGxNYW5hZ2VyX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140625</attachid>
            <date>2012-05-07 17:06:53 -0700</date>
            <delta_ts>2012-05-07 18:27:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85576-20120508080651.patch</filename>
            <type>text/plain</type>
            <size>7946</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjN2RhZmM4ODNlMWRiZmU0
YWUxYWY1MGYxZWExYjQ2MTBlMjA1YmQuLjgwYmZjNDNlN2FhNDQxYjQ4NWM2ZWY0YjRjNzE4YTUx
NTQ0MGJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFu
IERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAg
IEFkZGVkIFdlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5j
cHAKKyAgICAgICAgaW50byBidWlsZGluZyBzeXN0ZW0gb2YgQmxhY2tCZXJyeSBwb3J0aW5nLgor
CisgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorCiAyMDEyLTA1LTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNj
cmVlbkxpc3RlbmVyIGludG8gaXRzIG93biBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cKaW5kZXggNWE2ZjZkNGQzMDdiZTRhZWMyN2M3ZjQxOGJhY2JlZjZkM2Q4NGQ0Zi4uYWZmM2Ux
NTYzODQxZmIzZmQxYzJkNTZiYzVjY2FhMTZlNzQzNmE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFuIERvbmcgIDxq
b25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0g
QXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJJTSBQUjogMTM2NDA1CisgICAgICAgIElt
cGxlbWVudGVkIGNsYXNzIEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGZvcm0gYXV0b2Zp
bGwKKyAgICAgICAgaW50ZXJhY3Rpb25zLgorICAgICAgICBJdCBsaXN0ZW5zIHRvIHRleHQgY2hh
bmdlZCBub3RpZmljYXRpb24gZnJvbSB0ZXh0IGlucHV0LCBzZWFyY2hlcworICAgICAgICBhdXRv
ZmlsbCBkYXRhYmFzZSBmb3IgdGhlIHN1Z2dlc3RlZCBhdXRvZmlsbCBjYW5kaWRhdGUgdmFsdWUs
CisgICAgICAgIGFuZCBub3RpZmllcyBXZWJQYWdlQ2xpZW50IHRvIHBvcCB1cCBhIGNvbnRleHQg
ZGlhbG9nIGZvciB1c2VyOworICAgICAgICBpdCBhbHNvIHJlc3BvbmRzIHRvIHVzZXIncyBjaG9p
Y2UgYnkgYXV0b2ZpbGxpbmcgdGhlIHRleHQgaW5wdXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6QXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNv
cmU6OkF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6
QXV0b2ZpbGxNYW5hZ2VyOjpjbGVhcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXV0b2Zp
bGxNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEF1dG9maWxsTWFuYWdlcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdXRvZmlsbE1hbmFnZXI6Om1fZWxlbWVudCk6CisKIDIwMTItMDUtMDcgIEFuZHJl
dyBMbyAgPGFubG9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRGVsZXRlIHByZXZp
b3VzIGJ1ZmZlciB3aGVuIG5ldyBvdmVyLXNjcm9sbCBpbWFnZSBwYXRoIGlzIHNldApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCBmY2ZmOWNiNjc1YWViNTJkODQwMDdl
NTQ5NjUwZjJiOTNjZDY2YjNiLi5mMjQ0Nzc5Y2ZkNTg1ZTBlMmE5ZWIxMGNjMmViMDI5NDE4ZDI3
MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAtNTYsNiArNTYs
NyBAQCBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIGJsYWNrYmVycnkvQXBpL1dlYlNl
dHRpbmdzLmNwcAogICAgIGJsYWNrYmVycnkvQXBpL1dlYlZpZXdwb3J0QXJndW1lbnRzLmNwcAog
ICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhLmNwcAorICAgIGJsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmNwcAogICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2FjaGVDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWU3NTg0ZjFmNTBlNzZiY2JlNGI4ZDRmNjYxMzIwMzM1N2QwNTY3NAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRv
ZmlsbE1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQXV0b2Zp
bGxNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJBdXRvZmlsbEJhY2tpbmdTdG9yZS5oIgorI2luY2x1
ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VfcC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8QXV0b2ZpbGxNYW5hZ2VyPiBBdXRvZmlsbE1h
bmFnZXI6OmNyZWF0ZShCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBwYWdlKQor
eworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2ZpbGxNYW5hZ2VyKHBhZ2UpKTsKK30KKwor
dm9pZCBBdXRvZmlsbE1hbmFnZXI6OmRpZENoYW5nZUluVGV4dEZpZWxkKEhUTUxJbnB1dEVsZW1l
bnQqIGVsZW1lbnQpCit7CisgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5pc1RleHRGaWVs
ZCgpIHx8IGVsZW1lbnQtPmlzUGFzc3dvcmRGaWVsZCgpCisgICAgICAgIHx8IGVsZW1lbnQtPmlz
QXV0b2ZpbGxlZCgpIHx8ICFlbGVtZW50LT5zaG91bGRBdXRvY29tcGxldGUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKG1fZWxlbWVudCAhPSBlbGVtZW50KQorICAgICAgICBtX2VsZW1l
bnQgPSBlbGVtZW50OworCisgICAgVmVjdG9yPFN0cmluZz4gY2FuZGlkYXRlcyA9IGF1dG9maWxs
QmFja2luZ1N0b3JlKCkuZ2V0KGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgibmFtZSIpLnN0cmluZygp
LCBlbGVtZW50LT52YWx1ZSgpKTsKKworICAgIC8vIEZJWE1FOiBOb3RpZnkgd2VicGFnZSBjbGll
bnQgdG8gcG9wdXAgYSBjb250ZXh0IGRpYWxvZyB0byBkaXNwbGF5IHRoZXNlIGF1dG9maWxsIGNh
bmRpZGF0ZSBpdGVtcy4KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZp
ZWxkKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKCFtX2VsZW1lbnQpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fZWxlbWVudC0+c2V0VmFsdWUodmFsdWUpOworICAgIG1fZWxlbWVu
dC0+c2V0QXV0b2ZpbGxlZCgpOworfQorCit2b2lkIEF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRG
aWVsZHMoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQoreworICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlv
bj4gZWxlbWVudHMgPSBmb3JtLT5lbGVtZW50cygpOworICAgIHNpemVfdCBpdGVtQ291bnQgPSBl
bGVtZW50cy0+bGVuZ3RoKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtQ291bnQ7
ICsraSkgeworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50ID0gZm9ybS0+aXRlbShp
KS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICAgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5p
c1RleHRGaWVsZCgpIHx8IGVsZW1lbnQtPmlzUGFzc3dvcmRGaWVsZCgpCisgICAgICAgICAgICB8
fCBlbGVtZW50LT5pc0F1dG9maWxsZWQoKSB8fCAhZWxlbWVudC0+c2hvdWxkQXV0b2NvbXBsZXRl
KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXV0b2ZpbGxCYWNraW5nU3RvcmUo
KS5hZGQoZWxlbWVudC0+Z2V0QXR0cmlidXRlKCJuYW1lIikuc3RyaW5nKCksIGVsZW1lbnQtPnZh
bHVlKCkpOworICAgIH0KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmNsZWFyKCkKK3sKKyAg
ICBhdXRvZmlsbEJhY2tpbmdTdG9yZSgpLmNsZWFyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9y
dC9BdXRvZmlsbE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3Vw
cG9ydC9BdXRvZmlsbE1hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTdmMTdmNjVlYWNhNDYwODVhMzVl
ZDcyMmVmZTQwOGRiMDhjMmFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5oCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT
b2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBBdXRvZmls
bE1hbmFnZXJfaAorI2RlZmluZSBBdXRvZmlsbE1hbmFnZXJfaAorCisjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV1RG
IHsKK2NsYXNzIFN0cmluZzsKK30KKworbmFtZXNwYWNlIEJsYWNrQmVycnkgeworbmFtZXNwYWNl
IFdlYktpdCB7CitjbGFzcyBXZWJQYWdlUHJpdmF0ZTsKK30KK30KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgSFRNTEZvcm1FbGVtZW50OworY2xhc3MgSFRNTElucHV0RWxlbWVudDsKKwor
Y2xhc3MgQXV0b2ZpbGxNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8QXV0b2ZpbGxNYW5hZ2Vy
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2ZpbGxNYW5hZ2VyPiBjcmVh
dGUoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSopOworCisgICAgdm9pZCBkaWRD
aGFuZ2VJblRleHRGaWVsZChIVE1MSW5wdXRFbGVtZW50Kik7CisgICAgdm9pZCBhdXRvZmlsbFRl
eHRGaWVsZChjb25zdCBXVEY6OlN0cmluZyYpOworICAgIHZvaWQgc2F2ZVRleHRGaWVsZHMoSFRN
TEZvcm1FbGVtZW50Kik7CisKKyAgICBzdGF0aWMgdm9pZCBjbGVhcigpOworCitwcml2YXRlOgor
ICAgIEF1dG9maWxsTWFuYWdlcihCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBw
YWdlKSA6IG1fd2ViUGFnZVByaXZhdGUocGFnZSksIG1fZWxlbWVudCgwKSB7IH0KKworICAgIEJs
YWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGUqIG1fd2ViUGFnZVByaXZhdGU7CisgICAg
SFRNTElucHV0RWxlbWVudCogbV9lbGVtZW50OworfTsKKworfSAvLyBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBBdXRvZmlsbE1hbmFnZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140642</attachid>
            <date>2012-05-07 18:27:57 -0700</date>
            <delta_ts>2012-05-07 19:11:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85576-20120508092754.patch</filename>
            <type>text/plain</type>
            <size>7828</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjN2RhZmM4ODNlMWRiZmU0
YWUxYWY1MGYxZWExYjQ2MTBlMjA1YmQuLjgwYmZjNDNlN2FhNDQxYjQ4NWM2ZWY0YjRjNzE4YTUx
NTQ0MGJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFu
IERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAg
IEFkZGVkIFdlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5j
cHAKKyAgICAgICAgaW50byBidWlsZGluZyBzeXN0ZW0gb2YgQmxhY2tCZXJyeSBwb3J0aW5nLgor
CisgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorCiAyMDEyLTA1LTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNj
cmVlbkxpc3RlbmVyIGludG8gaXRzIG93biBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cKaW5kZXggNWE2ZjZkNGQzMDdiZTRhZWMyN2M3ZjQxOGJhY2JlZjZkM2Q4NGQ0Zi4uYWZmM2Ux
NTYzODQxZmIzZmQxYzJkNTZiYzVjY2FhMTZlNzQzNmE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFuIERvbmcgIDxq
b25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0g
QXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJJTSBQUjogMTM2NDA1CisgICAgICAgIElt
cGxlbWVudGVkIGNsYXNzIEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGZvcm0gYXV0b2Zp
bGwKKyAgICAgICAgaW50ZXJhY3Rpb25zLgorICAgICAgICBJdCBsaXN0ZW5zIHRvIHRleHQgY2hh
bmdlZCBub3RpZmljYXRpb24gZnJvbSB0ZXh0IGlucHV0LCBzZWFyY2hlcworICAgICAgICBhdXRv
ZmlsbCBkYXRhYmFzZSBmb3IgdGhlIHN1Z2dlc3RlZCBhdXRvZmlsbCBjYW5kaWRhdGUgdmFsdWUs
CisgICAgICAgIGFuZCBub3RpZmllcyBXZWJQYWdlQ2xpZW50IHRvIHBvcCB1cCBhIGNvbnRleHQg
ZGlhbG9nIGZvciB1c2VyOworICAgICAgICBpdCBhbHNvIHJlc3BvbmRzIHRvIHVzZXIncyBjaG9p
Y2UgYnkgYXV0b2ZpbGxpbmcgdGhlIHRleHQgaW5wdXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6QXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNv
cmU6OkF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6
QXV0b2ZpbGxNYW5hZ2VyOjpjbGVhcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXV0b2Zp
bGxNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEF1dG9maWxsTWFuYWdlcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdXRvZmlsbE1hbmFnZXI6Om1fZWxlbWVudCk6CisKIDIwMTItMDUtMDcgIEFuZHJl
dyBMbyAgPGFubG9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRGVsZXRlIHByZXZp
b3VzIGJ1ZmZlciB3aGVuIG5ldyBvdmVyLXNjcm9sbCBpbWFnZSBwYXRoIGlzIHNldApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCBmY2ZmOWNiNjc1YWViNTJkODQwMDdl
NTQ5NjUwZjJiOTNjZDY2YjNiLi5mMjQ0Nzc5Y2ZkNTg1ZTBlMmE5ZWIxMGNjMmViMDI5NDE4ZDI3
MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAtNTYsNiArNTYs
NyBAQCBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIGJsYWNrYmVycnkvQXBpL1dlYlNl
dHRpbmdzLmNwcAogICAgIGJsYWNrYmVycnkvQXBpL1dlYlZpZXdwb3J0QXJndW1lbnRzLmNwcAog
ICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhLmNwcAorICAgIGJsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmNwcAogICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2FjaGVDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGExOWYzYTc1MDdkNThiM2U4ZDhkY2FmMGZlODM5OGMwY2E3MWZiYgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRv
ZmlsbE1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQXV0b2Zp
bGxNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJBdXRvZmlsbEJhY2tpbmdTdG9yZS5oIgorI2luY2x1
ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VfcC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBib29sIGlzTm90QXV0b2ZpbGxhYmxlKEhUTUxJbnB1
dEVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgcmV0dXJuICFlbGVtZW50IHx8ICFlbGVtZW50LT5p
c1RleHRGaWVsZCgpIHx8IGVsZW1lbnQtPmlzUGFzc3dvcmRGaWVsZCgpCisgICAgICAgIHx8IGVs
ZW1lbnQtPmlzQXV0b2ZpbGxlZCgpIHx8ICFlbGVtZW50LT5zaG91bGRBdXRvY29tcGxldGUoKTsK
K30KKworUGFzc1JlZlB0cjxBdXRvZmlsbE1hbmFnZXI+IEF1dG9maWxsTWFuYWdlcjo6Y3JlYXRl
KEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGUqIHBhZ2UpCit7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBBdXRvZmlsbE1hbmFnZXIocGFnZSkpOworfQorCit2b2lkIEF1dG9maWxs
TWFuYWdlcjo6ZGlkQ2hhbmdlSW5UZXh0RmllbGQoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkK
K3sKKyAgICBpZiAoaXNOb3RBdXRvZmlsbGFibGUoZWxlbWVudCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmIChtX2VsZW1lbnQgIT0gZWxlbWVudCkKKyAgICAgICAgbV9lbGVtZW50ID0gZWxl
bWVudDsKKworICAgIC8vIEZJWE1FOiBOb3RpZnkgcGFnZSBjbGllbnQgdG8gcG9wdXAgYSBjb250
ZXh0IGRpYWxvZyB0byBkaXNwbGF5IHRoZXNlIGF1dG9maWxsIGNhbmRpZGF0ZSBpdGVtcy4KK30K
Kwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKGNvbnN0IFN0cmluZyYg
dmFsdWUpCit7CisgICAgaWYgKCFtX2VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
ZWxlbWVudC0+c2V0VmFsdWUodmFsdWUpOworICAgIG1fZWxlbWVudC0+c2V0QXV0b2ZpbGxlZCgp
OworfQorCit2b2lkIEF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVt
ZW50KiBmb3JtKQoreworICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVudHMgPSBmb3Jt
LT5lbGVtZW50cygpOworICAgIHNpemVfdCBpdGVtQ291bnQgPSBlbGVtZW50cy0+bGVuZ3RoKCk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSkgeworICAgICAgICBI
VE1MSW5wdXRFbGVtZW50KiBlbGVtZW50ID0gZm9ybS0+aXRlbShpKS0+dG9JbnB1dEVsZW1lbnQo
KTsKKyAgICAgICAgaWYgKGlzTm90QXV0b2ZpbGxhYmxlKGVsZW1lbnQpKQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIGF1dG9maWxsQmFja2luZ1N0b3JlKCkuYWRkKGVsZW1lbnQtPmdl
dEF0dHJpYnV0ZShIVE1MTmFtZXM6Om5hbWVBdHRyKS5zdHJpbmcoKSwgZWxlbWVudC0+dmFsdWUo
KSk7CisgICAgfQorfQorCit2b2lkIEF1dG9maWxsTWFuYWdlcjo6Y2xlYXIoKQoreworICAgIGF1
dG9maWxsQmFja2luZ1N0b3JlKCkuY2xlYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1
dG9maWxsTWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0F1dG9maWxsTWFuYWdlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5N2YxN2Y2NWVhY2E0NjA4NWEzNWVkNzIy
ZWZlNDA4ZGIwOGMyYWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmgKQEAgLTAsMCArMSw1OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIEF1dG9maWxsTWFu
YWdlcl9oCisjZGVmaW5lIEF1dG9maWxsTWFuYWdlcl9oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXVEYgewor
Y2xhc3MgU3RyaW5nOworfQorCituYW1lc3BhY2UgQmxhY2tCZXJyeSB7CituYW1lc3BhY2UgV2Vi
S2l0IHsKK2NsYXNzIFdlYlBhZ2VQcml2YXRlOworfQorfQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBIVE1MRm9ybUVsZW1lbnQ7CitjbGFzcyBIVE1MSW5wdXRFbGVtZW50OworCitjbGFz
cyBBdXRvZmlsbE1hbmFnZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxBdXRvZmlsbE1hbmFnZXI+IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdXRvZmlsbE1hbmFnZXI+IGNyZWF0ZShC
bGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKik7CisKKyAgICB2b2lkIGRpZENoYW5n
ZUluVGV4dEZpZWxkKEhUTUxJbnB1dEVsZW1lbnQqKTsKKyAgICB2b2lkIGF1dG9maWxsVGV4dEZp
ZWxkKGNvbnN0IFdURjo6U3RyaW5nJik7CisgICAgdm9pZCBzYXZlVGV4dEZpZWxkcyhIVE1MRm9y
bUVsZW1lbnQqKTsKKworICAgIHN0YXRpYyB2b2lkIGNsZWFyKCk7CisKK3ByaXZhdGU6CisgICAg
QXV0b2ZpbGxNYW5hZ2VyKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGUqIHBhZ2Up
IDogbV93ZWJQYWdlUHJpdmF0ZShwYWdlKSwgbV9lbGVtZW50KDApIHsgfQorCisgICAgQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSogbV93ZWJQYWdlUHJpdmF0ZTsKKyAgICBIVE1M
SW5wdXRFbGVtZW50KiBtX2VsZW1lbnQ7Cit9OworCit9IC8vIFdlYkNvcmUKKworI2VuZGlmIC8v
IEF1dG9maWxsTWFuYWdlcl9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140649</attachid>
            <date>2012-05-07 19:12:16 -0700</date>
            <delta_ts>2012-05-07 22:25:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85576-20120508101211.patch</filename>
            <type>text/plain</type>
            <size>7820</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjN2RhZmM4ODNlMWRiZmU0
YWUxYWY1MGYxZWExYjQ2MTBlMjA1YmQuLjgwYmZjNDNlN2FhNDQxYjQ4NWM2ZWY0YjRjNzE4YTUx
NTQ0MGJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFu
IERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAg
IEFkZGVkIFdlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5j
cHAKKyAgICAgICAgaW50byBidWlsZGluZyBzeXN0ZW0gb2YgQmxhY2tCZXJyeSBwb3J0aW5nLgor
CisgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorCiAyMDEyLTA1LTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNj
cmVlbkxpc3RlbmVyIGludG8gaXRzIG93biBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cKaW5kZXggNWE2ZjZkNGQzMDdiZTRhZWMyN2M3ZjQxOGJhY2JlZjZkM2Q4NGQ0Zi4uYWZmM2Ux
NTYzODQxZmIzZmQxYzJkNTZiYzVjY2FhMTZlNzQzNmE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFuIERvbmcgIDxq
b25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0g
QXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJJTSBQUjogMTM2NDA1CisgICAgICAgIElt
cGxlbWVudGVkIGNsYXNzIEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGZvcm0gYXV0b2Zp
bGwKKyAgICAgICAgaW50ZXJhY3Rpb25zLgorICAgICAgICBJdCBsaXN0ZW5zIHRvIHRleHQgY2hh
bmdlZCBub3RpZmljYXRpb24gZnJvbSB0ZXh0IGlucHV0LCBzZWFyY2hlcworICAgICAgICBhdXRv
ZmlsbCBkYXRhYmFzZSBmb3IgdGhlIHN1Z2dlc3RlZCBhdXRvZmlsbCBjYW5kaWRhdGUgdmFsdWUs
CisgICAgICAgIGFuZCBub3RpZmllcyBXZWJQYWdlQ2xpZW50IHRvIHBvcCB1cCBhIGNvbnRleHQg
ZGlhbG9nIGZvciB1c2VyOworICAgICAgICBpdCBhbHNvIHJlc3BvbmRzIHRvIHVzZXIncyBjaG9p
Y2UgYnkgYXV0b2ZpbGxpbmcgdGhlIHRleHQgaW5wdXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6QXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNv
cmU6OkF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6
QXV0b2ZpbGxNYW5hZ2VyOjpjbGVhcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXV0b2Zp
bGxNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEF1dG9maWxsTWFuYWdlcik6CisgICAgICAgIChX
ZWJDb3JlOjpBdXRvZmlsbE1hbmFnZXI6Om1fZWxlbWVudCk6CisKIDIwMTItMDUtMDcgIEFuZHJl
dyBMbyAgPGFubG9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRGVsZXRlIHByZXZp
b3VzIGJ1ZmZlciB3aGVuIG5ldyBvdmVyLXNjcm9sbCBpbWFnZSBwYXRoIGlzIHNldApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCBmY2ZmOWNiNjc1YWViNTJkODQwMDdl
NTQ5NjUwZjJiOTNjZDY2YjNiLi5mMjQ0Nzc5Y2ZkNTg1ZTBlMmE5ZWIxMGNjMmViMDI5NDE4ZDI3
MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAtNTYsNiArNTYs
NyBAQCBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIGJsYWNrYmVycnkvQXBpL1dlYlNl
dHRpbmdzLmNwcAogICAgIGJsYWNrYmVycnkvQXBpL1dlYlZpZXdwb3J0QXJndW1lbnRzLmNwcAog
ICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhLmNwcAorICAgIGJsYWNrYmVy
cnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmNwcAogICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2FjaGVDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmNlMjQ5NjIwMjI1ZTlmYmQ1MmQ3MWFmMGMzMTFiNDFhMjIzNDVhMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRv
ZmlsbE1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQXV0b2Zp
bGxNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJBdXRvZmlsbEJhY2tpbmdTdG9yZS5oIgorI2luY2x1
ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VfcC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBib29sIGlzQXV0b2ZpbGxhYmxlKEhUTUxJbnB1dEVs
ZW1lbnQqIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC0+aXNUZXh0
RmllbGQoKSAmJiAhZWxlbWVudC0+aXNQYXNzd29yZEZpZWxkKCkKKyAgICAgICAgJiYgIWVsZW1l
bnQtPmlzQXV0b2ZpbGxlZCgpICYmIGVsZW1lbnQtPnNob3VsZEF1dG9jb21wbGV0ZSgpOworfQor
CitQYXNzUmVmUHRyPEF1dG9maWxsTWFuYWdlcj4gQXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUoQmxh
Y2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSogcGFnZSkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IEF1dG9maWxsTWFuYWdlcihwYWdlKSk7Cit9CisKK3ZvaWQgQXV0b2ZpbGxNYW5h
Z2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZChIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQorewor
ICAgIGlmICghaXNBdXRvZmlsbGFibGUoZWxlbWVudCkpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChtX2VsZW1lbnQgIT0gZWxlbWVudCkKKyAgICAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsK
KworICAgIC8vIEZJWE1FOiBOb3RpZnkgcGFnZSBjbGllbnQgdG8gcG9wdXAgYSBjb250ZXh0IGRp
YWxvZyB0byBkaXNwbGF5IHRoZXNlIGF1dG9maWxsIGNhbmRpZGF0ZSBpdGVtcy4KK30KKwordm9p
ZCBBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKGNvbnN0IFN0cmluZyYgdmFsdWUp
Cit7CisgICAgaWYgKCFtX2VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZWxlbWVu
dC0+c2V0VmFsdWUodmFsdWUpOworICAgIG1fZWxlbWVudC0+c2V0QXV0b2ZpbGxlZCgpOworfQor
Cit2b2lkIEF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50KiBm
b3JtKQoreworICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVudHMgPSBmb3JtLT5lbGVt
ZW50cygpOworICAgIHNpemVfdCBpdGVtQ291bnQgPSBlbGVtZW50cy0+bGVuZ3RoKCk7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSkgeworICAgICAgICBIVE1MSW5w
dXRFbGVtZW50KiBlbGVtZW50ID0gZm9ybS0+aXRlbShpKS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAg
ICAgICAgaWYgKCFpc0F1dG9maWxsYWJsZShlbGVtZW50KSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICBhdXRvZmlsbEJhY2tpbmdTdG9yZSgpLmFkZChlbGVtZW50LT5nZXRBdHRyaWJ1
dGUoSFRNTE5hbWVzOjpuYW1lQXR0cikuc3RyaW5nKCksIGVsZW1lbnQtPnZhbHVlKCkpOworICAg
IH0KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmNsZWFyKCkKK3sKKyAgICBhdXRvZmlsbEJh
Y2tpbmdTdG9yZSgpLmNsZWFyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1h
bmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmls
bE1hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTdmMTdmNjVlYWNhNDYwODVhMzVlZDcyMmVmZTQwOGRi
MDhjMmFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICog
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBBdXRvZmlsbE1hbmFnZXJfaAor
I2RlZmluZSBBdXRvZmlsbE1hbmFnZXJfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFN0
cmluZzsKK30KKworbmFtZXNwYWNlIEJsYWNrQmVycnkgeworbmFtZXNwYWNlIFdlYktpdCB7Citj
bGFzcyBXZWJQYWdlUHJpdmF0ZTsKK30KK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
SFRNTEZvcm1FbGVtZW50OworY2xhc3MgSFRNTElucHV0RWxlbWVudDsKKworY2xhc3MgQXV0b2Zp
bGxNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8QXV0b2ZpbGxNYW5hZ2VyPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2ZpbGxNYW5hZ2VyPiBjcmVhdGUoQmxhY2tCZXJy
eTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSopOworCisgICAgdm9pZCBkaWRDaGFuZ2VJblRleHRG
aWVsZChIVE1MSW5wdXRFbGVtZW50Kik7CisgICAgdm9pZCBhdXRvZmlsbFRleHRGaWVsZChjb25z
dCBXVEY6OlN0cmluZyYpOworICAgIHZvaWQgc2F2ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50
Kik7CisKKyAgICBzdGF0aWMgdm9pZCBjbGVhcigpOworCitwcml2YXRlOgorICAgIEF1dG9maWxs
TWFuYWdlcihCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBwYWdlKSA6IG1fd2Vi
UGFnZVByaXZhdGUocGFnZSksIG1fZWxlbWVudCgwKSB7IH0KKworICAgIEJsYWNrQmVycnk6Oldl
YktpdDo6V2ViUGFnZVByaXZhdGUqIG1fd2ViUGFnZVByaXZhdGU7CisgICAgSFRNTElucHV0RWxl
bWVudCogbV9lbGVtZW50OworfTsKKworfSAvLyBXZWJDb3JlCisKKyNlbmRpZiAvLyBBdXRvZmls
bE1hbmFnZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140673</attachid>
            <date>2012-05-07 22:25:30 -0700</date>
            <delta_ts>2012-05-07 23:19:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85576-20120508132527.patch</filename>
            <type>text/plain</type>
            <size>7814</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Mzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjN2RhZmM4ODNlMWRiZmU0
YWUxYWY1MGYxZWExYjQ2MTBlMjA1YmQuLjgwYmZjNDNlN2FhNDQxYjQ4NWM2ZWY0YjRjNzE4YTUx
NTQ0MGJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFu
IERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAg
IEFkZGVkIFdlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5j
cHAKKyAgICAgICAgaW50byBidWlsZGluZyBzeXN0ZW0gb2YgQmxhY2tCZXJyeSBwb3J0aW5nLgor
CisgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlOgorCiAyMDEyLTA1LTAzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNj
cmVlbkxpc3RlbmVyIGludG8gaXRzIG93biBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VM
b2cKaW5kZXggNWE2ZjZkNGQzMDdiZTRhZWMyN2M3ZjQxOGJhY2JlZjZkM2Q4NGQ0Zi4uMjZkOGJm
NzY4NmY0MjkzZWI4NGEzMjZlMDI5ZTQyYTNkODU5NWJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFuIERvbmcgIDxq
b25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0g
QXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFJvYiBCdWlzLgorCisgICAgICAgIFJJTSBQUjogMTM2NDA1CisgICAgICAgIEltcGxlbWVu
dGVkIGNsYXNzIEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGZvcm0gYXV0b2ZpbGwKKyAg
ICAgICAgaW50ZXJhY3Rpb25zLgorICAgICAgICBJdCBsaXN0ZW5zIHRvIHRleHQgY2hhbmdlZCBu
b3RpZmljYXRpb24gZnJvbSB0ZXh0IGlucHV0LCBzZWFyY2hlcworICAgICAgICBhdXRvZmlsbCBk
YXRhYmFzZSBmb3IgdGhlIHN1Z2dlc3RlZCBhdXRvZmlsbCBjYW5kaWRhdGUgdmFsdWUsCisgICAg
ICAgIGFuZCBub3RpZmllcyBXZWJQYWdlQ2xpZW50IHRvIHBvcCB1cCBhIGNvbnRleHQgZGlhbG9n
IGZvciB1c2VyOworICAgICAgICBpdCBhbHNvIHJlc3BvbmRzIHRvIHVzZXIncyBjaG9pY2UgYnkg
YXV0b2ZpbGxpbmcgdGhlIHRleHQgaW5wdXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9B
dXRvZmlsbE1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXV0
b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpB
dXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6QXV0b2Zp
bGxNYW5hZ2VyOjpjbGVhcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5h
Z2VyLmg6IEFkZGVkLgorICAgICAgICAoV1RGKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKEF1dG9maWxsTWFuYWdlcik6CisgICAgICAgIChXZWJDb3Jl
OjpBdXRvZmlsbE1hbmFnZXI6Om1fZWxlbWVudCk6CisKIDIwMTItMDUtMDcgIEFuZHJldyBMbyAg
PGFubG9AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRGVsZXRlIHByZXZpb3VzIGJ1
ZmZlciB3aGVuIG5ldyBvdmVyLXNjcm9sbCBpbWFnZSBwYXRoIGlzIHNldApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtQmxhY2tCZXJyeS5jbWFrZQppbmRleCBmY2ZmOWNiNjc1YWViNTJkODQwMDdlNTQ5NjUw
ZjJiOTNjZDY2YjNiLi5mMjQ0Nzc5Y2ZkNTg1ZTBlMmE5ZWIxMGNjMmViMDI5NDE4ZDI3MDk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpAQCAtNTYsNiArNTYsNyBAQCBM
SVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUwogICAgIGJsYWNrYmVycnkvQXBpL1dlYlNldHRpbmdz
LmNwcAogICAgIGJsYWNrYmVycnkvQXBpL1dlYlZpZXdwb3J0QXJndW1lbnRzLmNwcAogICAgIGJs
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQWJvdXREYXRhLmNwcAorICAgIGJsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvQ2FjaGVDbGllbnRCbGFja0JlcnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L0NsaWVudEV4dGVuc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmNlMjQ5NjIwMjI1ZTlmYmQ1MmQ3MWFmMGMzMTFiNDFhMjIzNDVhMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1h
bmFnZXIuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVz
ZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAg
VVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQXV0b2ZpbGxNYW5h
Z2VyLmgiCisKKyNpbmNsdWRlICJBdXRvZmlsbEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgIkhU
TUxDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTElucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIldlYlBhZ2VfcC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0YXRpYyBib29sIGlzQXV0b2ZpbGxhYmxlKEhUTUxJbnB1dEVsZW1lbnQq
IGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC0+aXNUZXh0RmllbGQo
KSAmJiAhZWxlbWVudC0+aXNQYXNzd29yZEZpZWxkKCkKKyAgICAgICAgJiYgIWVsZW1lbnQtPmlz
QXV0b2ZpbGxlZCgpICYmIGVsZW1lbnQtPnNob3VsZEF1dG9jb21wbGV0ZSgpOworfQorCitQYXNz
UmVmUHRyPEF1dG9maWxsTWFuYWdlcj4gQXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUoQmxhY2tCZXJy
eTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSogcGFnZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEF1dG9maWxsTWFuYWdlcihwYWdlKSk7Cit9CisKK3ZvaWQgQXV0b2ZpbGxNYW5hZ2VyOjpk
aWRDaGFuZ2VJblRleHRGaWVsZChIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQoreworICAgIGlm
ICghaXNBdXRvZmlsbGFibGUoZWxlbWVudCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICht
X2VsZW1lbnQgIT0gZWxlbWVudCkKKyAgICAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsKKworICAg
IC8vIEZJWE1FOiBOb3RpZnkgcGFnZSBjbGllbnQgdG8gcG9wdXAgYSBjb250ZXh0IGRpYWxvZyB0
byBkaXNwbGF5IHRoZXNlIGF1dG9maWxsIGNhbmRpZGF0ZSBpdGVtcy4KK30KKwordm9pZCBBdXRv
ZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4dEZpZWxkKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7Cisg
ICAgaWYgKCFtX2VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZWxlbWVudC0+c2V0
VmFsdWUodmFsdWUpOworICAgIG1fZWxlbWVudC0+c2V0QXV0b2ZpbGxlZCgpOworfQorCit2b2lk
IEF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQor
eworICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gZWxlbWVudHMgPSBmb3JtLT5lbGVtZW50cygp
OworICAgIHNpemVfdCBpdGVtQ291bnQgPSBlbGVtZW50cy0+bGVuZ3RoKCk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSkgeworICAgICAgICBIVE1MSW5wdXRFbGVt
ZW50KiBlbGVtZW50ID0gZm9ybS0+aXRlbShpKS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICAgICAg
aWYgKCFpc0F1dG9maWxsYWJsZShlbGVtZW50KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBhdXRvZmlsbEJhY2tpbmdTdG9yZSgpLmFkZChlbGVtZW50LT5nZXRBdHRyaWJ1dGUoSFRN
TE5hbWVzOjpuYW1lQXR0cikuc3RyaW5nKCksIGVsZW1lbnQtPnZhbHVlKCkpOworICAgIH0KK30K
Kwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmNsZWFyKCkKK3sKKyAgICBhdXRvZmlsbEJhY2tpbmdT
dG9yZSgpLmNsZWFyKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFn
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zOTdmMTdmNjVlYWNhNDYwODVhMzVlZDcyMmVmZTQwOGRiMDhjMmFj
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0F1dG9maWxsTWFuYWdlci5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAg
MDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBBdXRvZmlsbE1hbmFnZXJfaAorI2RlZmlu
ZSBBdXRvZmlsbE1hbmFnZXJfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFN0cmluZzsK
K30KKworbmFtZXNwYWNlIEJsYWNrQmVycnkgeworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBX
ZWJQYWdlUHJpdmF0ZTsKK30KK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgSFRNTEZv
cm1FbGVtZW50OworY2xhc3MgSFRNTElucHV0RWxlbWVudDsKKworY2xhc3MgQXV0b2ZpbGxNYW5h
Z2VyIDogcHVibGljIFJlZkNvdW50ZWQ8QXV0b2ZpbGxNYW5hZ2VyPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8QXV0b2ZpbGxNYW5hZ2VyPiBjcmVhdGUoQmxhY2tCZXJyeTo6V2Vi
S2l0OjpXZWJQYWdlUHJpdmF0ZSopOworCisgICAgdm9pZCBkaWRDaGFuZ2VJblRleHRGaWVsZChI
VE1MSW5wdXRFbGVtZW50Kik7CisgICAgdm9pZCBhdXRvZmlsbFRleHRGaWVsZChjb25zdCBXVEY6
OlN0cmluZyYpOworICAgIHZvaWQgc2F2ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50Kik7CisK
KyAgICBzdGF0aWMgdm9pZCBjbGVhcigpOworCitwcml2YXRlOgorICAgIEF1dG9maWxsTWFuYWdl
cihCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBwYWdlKSA6IG1fd2ViUGFnZVBy
aXZhdGUocGFnZSksIG1fZWxlbWVudCgwKSB7IH0KKworICAgIEJsYWNrQmVycnk6OldlYktpdDo6
V2ViUGFnZVByaXZhdGUqIG1fd2ViUGFnZVByaXZhdGU7CisgICAgSFRNTElucHV0RWxlbWVudCog
bV9lbGVtZW50OworfTsKKworfSAvLyBXZWJDb3JlCisKKyNlbmRpZiAvLyBBdXRvZmlsbE1hbmFn
ZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140677</attachid>
            <date>2012-05-07 23:19:54 -0700</date>
            <delta_ts>2012-05-08 00:04:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85576-20120508141951.patch</filename>
            <type>text/plain</type>
            <size>7847</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2Mzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjN2RhZmM4ODNlMWRiZmU0
YWUxYWY1MGYxZWExYjQ2MTBlMjA1YmQuLjY0N2YyYWE5YjMzNjYyNjY2MjZlZWI1MDljYzIxY2Zl
ZDgxNGE5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDUtMDcgIEpvbmF0aGFu
IERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVudGF0aW9uIHVwc3RyZWFtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTU3NgorCisgICAgICAg
IFJldmlld2VkIGJ5IFJvYiBCdWlzLgorCisgICAgICAgIEFkZGVkIFdlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5jcHAKKyAgICAgICAgaW50byBidWlsZGlu
ZyBzeXN0ZW0gb2YgQmxhY2tCZXJyeSBwb3J0aW5nLgorCisgICAgICAgICogUGxhdGZvcm1CbGFj
a0JlcnJ5LmNtYWtlOgorCiAyMDEyLTA1LTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNjcmVlbkxpc3RlbmVyIGludG8gaXRzIG93
biBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggNWE2ZjZkNGQzMDdiZTRh
ZWMyN2M3ZjQxOGJhY2JlZjZkM2Q4NGQ0Zi4uMjZkOGJmNzY4NmY0MjkzZWI4NGEzMjZlMDI5ZTQy
YTNkODU5NWJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTItMDUtMDcgIEpvbmF0aGFuIERvbmcgIDxqb25hdGhhbi5kb25nQHRvcmNobW9iaWxl
LmNvbS5jbj4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQXV0b2ZpbGxNYW5hZ2VyIGltcGxlbWVu
dGF0aW9uIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NTU3NgorCisgICAgICAgIFJldmlld2VkIGJ5IFJvYiBCdWlzLgorCisgICAgICAg
IFJJTSBQUjogMTM2NDA1CisgICAgICAgIEltcGxlbWVudGVkIGNsYXNzIEF1dG9maWxsTWFuYWdl
ciB0byBoYW5kbGUgdGhlIGZvcm0gYXV0b2ZpbGwKKyAgICAgICAgaW50ZXJhY3Rpb25zLgorICAg
ICAgICBJdCBsaXN0ZW5zIHRvIHRleHQgY2hhbmdlZCBub3RpZmljYXRpb24gZnJvbSB0ZXh0IGlu
cHV0LCBzZWFyY2hlcworICAgICAgICBhdXRvZmlsbCBkYXRhYmFzZSBmb3IgdGhlIHN1Z2dlc3Rl
ZCBhdXRvZmlsbCBjYW5kaWRhdGUgdmFsdWUsCisgICAgICAgIGFuZCBub3RpZmllcyBXZWJQYWdl
Q2xpZW50IHRvIHBvcCB1cCBhIGNvbnRleHQgZGlhbG9nIGZvciB1c2VyOworICAgICAgICBpdCBh
bHNvIHJlc3BvbmRzIHRvIHVzZXIncyBjaG9pY2UgYnkgYXV0b2ZpbGxpbmcgdGhlIHRleHQgaW5w
dXQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJ
blRleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxs
VGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9maWxsTWFuYWdlcjo6c2F2ZVRleHRG
aWVsZHMpOgorICAgICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpjbGVhcik6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAgICAo
V1RGKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEF1
dG9maWxsTWFuYWdlcik6CisgICAgICAgIChXZWJDb3JlOjpBdXRvZmlsbE1hbmFnZXI6Om1fZWxl
bWVudCk6CisKIDIwMTItMDUtMDcgIEFuZHJldyBMbyAgPGFubG9AcmltLmNvbT4KIAogICAgICAg
ICBbQmxhY2tCZXJyeV0gRGVsZXRlIHByZXZpb3VzIGJ1ZmZlciB3aGVuIG5ldyBvdmVyLXNjcm9s
bCBpbWFnZSBwYXRoIGlzIHNldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUJs
YWNrQmVycnkuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpp
bmRleCBmY2ZmOWNiNjc1YWViNTJkODQwMDdlNTQ5NjUwZjJiOTNjZDY2YjNiLi5mMjQ0Nzc5Y2Zk
NTg1ZTBlMmE5ZWIxMGNjMmViMDI5NDE4ZDI3MDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtQmxh
Y2tCZXJyeS5jbWFrZQpAQCAtNTYsNiArNTYsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNF
UwogICAgIGJsYWNrYmVycnkvQXBpL1dlYlNldHRpbmdzLmNwcAogICAgIGJsYWNrYmVycnkvQXBp
L1dlYlZpZXdwb3J0QXJndW1lbnRzLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQv
QWJvdXREYXRhLmNwcAorICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5h
Z2VyLmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2FjaGVDbGllbnRCbGFja0Jl
cnJ5LmNwcAogICAgIGJsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tC
ZXJyeS5jcHAKICAgICBibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0NsaWVudEV4dGVuc2lvbi5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9B
dXRvZmlsbE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0F1dG9maWxsTWFuYWdlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNlMjQ5NjIwMjI1ZTlmYmQ1MmQ3
MWFmMGMzMTFiNDFhMjIzNDVhMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwCkBAIC0wLDAgKzEsNzkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl
ZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaW5jbHVkZSAiQXV0b2ZpbGxNYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJBdXRv
ZmlsbEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisjaW5jbHVk
ZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIldlYlBhZ2VfcC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBib29s
IGlzQXV0b2ZpbGxhYmxlKEhUTUxJbnB1dEVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgcmV0dXJu
IGVsZW1lbnQgJiYgZWxlbWVudC0+aXNUZXh0RmllbGQoKSAmJiAhZWxlbWVudC0+aXNQYXNzd29y
ZEZpZWxkKCkKKyAgICAgICAgJiYgIWVsZW1lbnQtPmlzQXV0b2ZpbGxlZCgpICYmIGVsZW1lbnQt
PnNob3VsZEF1dG9jb21wbGV0ZSgpOworfQorCitQYXNzUmVmUHRyPEF1dG9maWxsTWFuYWdlcj4g
QXV0b2ZpbGxNYW5hZ2VyOjpjcmVhdGUoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0
ZSogcGFnZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1dG9maWxsTWFuYWdlcihwYWdl
KSk7Cit9CisKK3ZvaWQgQXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZChIVE1M
SW5wdXRFbGVtZW50KiBlbGVtZW50KQoreworICAgIGlmICghaXNBdXRvZmlsbGFibGUoZWxlbWVu
dCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2VsZW1lbnQgIT0gZWxlbWVudCkKKyAg
ICAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsKKworICAgIC8vIEZJWE1FOiBOb3RpZnkgcGFnZSBj
bGllbnQgdG8gcG9wdXAgYSBjb250ZXh0IGRpYWxvZyB0byBkaXNwbGF5IHRoZXNlIGF1dG9maWxs
IGNhbmRpZGF0ZSBpdGVtcy4KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6OmF1dG9maWxsVGV4
dEZpZWxkKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKCFtX2VsZW1lbnQpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fZWxlbWVudC0+c2V0VmFsdWUodmFsdWUpOworICAgIG1fZWxl
bWVudC0+c2V0QXV0b2ZpbGxlZCgpOworfQorCit2b2lkIEF1dG9maWxsTWFuYWdlcjo6c2F2ZVRl
eHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQoreworICAgIFJlZlB0cjxIVE1MQ29sbGVj
dGlvbj4gZWxlbWVudHMgPSBmb3JtLT5lbGVtZW50cygpOworICAgIHNpemVfdCBpdGVtQ291bnQg
PSBlbGVtZW50cy0+bGVuZ3RoKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtQ291
bnQ7ICsraSkgeworICAgICAgICBIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50ID0gZm9ybS0+aXRl
bShpKS0+dG9JbnB1dEVsZW1lbnQoKTsKKyAgICAgICAgaWYgKCFpc0F1dG9maWxsYWJsZShlbGVt
ZW50KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBhdXRvZmlsbEJhY2tpbmdTdG9y
ZSgpLmFkZChlbGVtZW50LT5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpuYW1lQXR0cikuc3RyaW5n
KCksIGVsZW1lbnQtPnZhbHVlKCkpOworICAgIH0KK30KKwordm9pZCBBdXRvZmlsbE1hbmFnZXI6
OmNsZWFyKCkKK3sKKyAgICBhdXRvZmlsbEJhY2tpbmdTdG9yZSgpLmNsZWFyKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTdmMTdm
NjVlYWNhNDYwODVhMzVlZDcyMmVmZTQwOGRiMDhjMmFjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0F1dG9maWxsTWFuYWdlci5oCkBA
IC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKwor
I2lmbmRlZiBBdXRvZmlsbE1hbmFnZXJfaAorI2RlZmluZSBBdXRvZmlsbE1hbmFnZXJfaAorCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV1RGIHsKK2NsYXNzIFN0cmluZzsKK30KKworbmFtZXNwYWNlIEJsYWNrQmVy
cnkgeworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBXZWJQYWdlUHJpdmF0ZTsKK30KK30KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgSFRNTEZvcm1FbGVtZW50OworY2xhc3MgSFRNTElu
cHV0RWxlbWVudDsKKworY2xhc3MgQXV0b2ZpbGxNYW5hZ2VyIDogcHVibGljIFJlZkNvdW50ZWQ8
QXV0b2ZpbGxNYW5hZ2VyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2Zp
bGxNYW5hZ2VyPiBjcmVhdGUoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSopOwor
CisgICAgdm9pZCBkaWRDaGFuZ2VJblRleHRGaWVsZChIVE1MSW5wdXRFbGVtZW50Kik7CisgICAg
dm9pZCBhdXRvZmlsbFRleHRGaWVsZChjb25zdCBXVEY6OlN0cmluZyYpOworICAgIHZvaWQgc2F2
ZVRleHRGaWVsZHMoSFRNTEZvcm1FbGVtZW50Kik7CisKKyAgICBzdGF0aWMgdm9pZCBjbGVhcigp
OworCitwcml2YXRlOgorICAgIEF1dG9maWxsTWFuYWdlcihCbGFja0JlcnJ5OjpXZWJLaXQ6Oldl
YlBhZ2VQcml2YXRlKiBwYWdlKSA6IG1fd2ViUGFnZVByaXZhdGUocGFnZSksIG1fZWxlbWVudCgw
KSB7IH0KKworICAgIEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGUqIG1fd2ViUGFn
ZVByaXZhdGU7CisgICAgSFRNTElucHV0RWxlbWVudCogbV9lbGVtZW50OworfTsKKworfSAvLyBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBBdXRvZmlsbE1hbmFnZXJfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>