<?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>85577</bug_id>
          
          <creation_ts>2012-05-03 21:19:06 -0700</creation_ts>
          <short_desc>[BlackBerry] Autofill feature implementation for BlackBerry porting</short_desc>
          <delta_ts>2012-06-11 17:32:29 -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>85576</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jonathan Dong">jonathan.dong.webkit</reporter>
          <assigned_to name="Jonathan Dong">jonathan.dong.webkit</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>leo.yang</cc>
    
    <cc>mstaikos</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>615941</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-03 21:19:06 -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.

his PR is about the implementation of autofill feature in webkit side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619398</commentid>
    <comment_count>1</comment_count>
      <attachid>140923</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-09 05:16:31 -0700</bug_when>
    <thetext>Created attachment 140923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619545</commentid>
    <comment_count>2</comment_count>
      <attachid>140923</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-09 09:06:32 -0700</bug_when>
    <thetext>Comment on attachment 140923
Patch

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

Looks good, please fix the issues before landing.

&gt; Source/WebKit/blackberry/Api/WebPage.cpp:2136
&gt; +        textItems.push_back(candidates[i].utf8().data());

It would be great if we would not have to do the WTF::Vector to vector conversion but I guess that might be hard...

&gt; Source/WebKit/blackberry/Api/WebPage_p.h:193
&gt; +    void notifyPopupAutofillDialog(const WTF::Vector&lt;WTF::String&gt;&amp;, const WebCore::IntRect&amp;);

I don&apos;t think you need the WTF:: prefixes here.

&gt; Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h:114
&gt; +

No need for this empty line.

&gt; Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp:724
&gt; +credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, CredentialTransformData(prpFormState-&gt;form()));

Indent properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620146</commentid>
    <comment_count>3</comment_count>
      <attachid>140923</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-09 18:34:12 -0700</bug_when>
    <thetext>Comment on attachment 140923
Patch

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

&gt;&gt; Source/WebKit/blackberry/Api/WebPage.cpp:2136
&gt;&gt; +        textItems.push_back(candidates[i].utf8().data());
&gt; 
&gt; It would be great if we would not have to do the WTF::Vector to vector conversion but I guess that might be hard...

Thanks Rob, well this vector is generated from autofill database querying, those codes are in WebCore/platform/network/blackberry, which suppose we should not use std::vector there. That means we need to convert the WTF::Vector to std::vector somewhere before we send them out of webkit.
Fortunately the overhead is not heavy by my test for now. To solve this issue I think we can move AutofillBackingStore.[cpp|h] into WebKit/blackberry/WebCoreSupport and replace the WTF::Vector with std::vector in the future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620166</commentid>
    <comment_count>4</comment_count>
      <attachid>141072</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-05-09 19:10:36 -0700</bug_when>
    <thetext>Created attachment 141072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620183</commentid>
    <comment_count>5</comment_count>
      <attachid>141072</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-05-09 19:46:54 -0700</bug_when>
    <thetext>Comment on attachment 141072
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620211</commentid>
    <comment_count>6</comment_count>
      <attachid>141072</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 20:57:45 -0700</bug_when>
    <thetext>Comment on attachment 141072
Patch

Clearing flags on attachment: 141072

Committed r116603: &lt;http://trac.webkit.org/changeset/116603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>620212</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-09 20:57:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645851</commentid>
    <comment_count>8</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-06-11 02:16:59 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645852</commentid>
    <comment_count>9</comment_count>
      <attachid>146815</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-06-11 02:17:15 -0700</bug_when>
    <thetext>Created attachment 146815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645971</commentid>
    <comment_count>10</comment_count>
      <attachid>146815</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-06-11 07:02:42 -0700</bug_when>
    <thetext>Comment on attachment 146815
Patch

Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646466</commentid>
    <comment_count>11</comment_count>
      <attachid>146815</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-11 17:32:25 -0700</bug_when>
    <thetext>Comment on attachment 146815
Patch

Clearing flags on attachment: 146815

Committed r120022: &lt;http://trac.webkit.org/changeset/120022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646467</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-11 17:32:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140923</attachid>
            <date>2012-05-09 05:16:31 -0700</date>
            <delta_ts>2012-05-09 19:10:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85577-20120509201627.patch</filename>
            <type>text/plain</type>
            <size>11812</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCAzOTljYTNmYjhkOTdlYzZlYzVlMDJkNzQ2YjNmZjhhNzczNjRmNjJlLi4yMzdjODc3YWUx
YTgwZWZhMTE3N2UzMmIyNjAzYzJlNDZmM2YwZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMi0wNS0wOSAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0
aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBdXRv
ZmlsbCBmZWF0dXJlIGltcGxlbWVudGF0aW9uIGZvciBCbGFja0JlcnJ5IHBvcnRpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NTc3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUklNIFBSOiAxMzY0MDUK
KyAgICAgICAgSW1wbGVtZW50ZWQgZm9ybSBhdXRvIGZpbGwgZmVhdHVyZSBmb3IgQmxhY2tCZXJy
eSBwb3J0aW5nLgorCisgICAgICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlOjphdXRvZmlsbFRleHRGaWVsZCk6QWRkZWQgdGhpcyBpbnRl
cmZhY2UKKyAgICAgICAgZnVuY3Rpb24gdG8gYXV0byBmaWxsIHRoZSBpbnB1dHRpbmcgdGV4dCBm
aWVsZCB3aGVuIHVzZXIgc2VsZWN0cworICAgICAgICBhIGF1dG9maWxsIGNhbmRpZGF0ZSB2YWx1
ZSBmcm9tIGF1dG9maWxsIGNvbnRleHQgZGlhbG9nLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OldlYlBhZ2VQcml2YXRlKToK
KyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6Om5vdGlmeVBvcHVw
QXV0b2ZpbGxEaWFsb2cpOiBBZGRlZAorICAgICAgICB0aGlzIGludGVyZmFjZSBmdW5jdGlvbiB0
byBub3RpZnkgV2ViUGFnZUNsaWVudCB0byBwb3AgdXAgdGhlIGF1dG9maWxsCisgICAgICAgIGNv
bnRleHQgZGlhbG9nIHdpdGggdGhlIHN1Z2dlc3RlZCBpbnB1dCBpdGVtcy4KKyAgICAgICAgKEJs
YWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6Y2xlYXJBdXRvZmlsbERhdGEpOgorICAgICAgICAq
IEFwaS9XZWJQYWdlLmg6CisgICAgICAgICogQXBpL1dlYlBhZ2VDbGllbnQuaDoKKyAgICAgICAg
KiBBcGkvV2ViUGFnZV9wLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYlBhZ2VQ
cml2YXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZCk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50QmxhY2tCZXJyeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRCbGFja0JlcnJ5Ojp0ZXh0RGlkQ2hhbmdlSW5U
ZXh0RmllbGQpOiBJbXBsZW1lbnRlZAorICAgICAgICB0aGlzIGZ1bmN0aW9uIHRvIGxpc3RlbiB0
byB0aGUgbm90aWZpY2F0aW9uIG9mIHRleHQgZmllbGQgY2hhbmdlLCBhbmQKKyAgICAgICAgbm90
aWZ5IEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGF1dG9maWxsLgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6ZGlzcGF0Y2hX
aWxsU2VuZFN1Ym1pdEV2ZW50KToKKyAgICAgICAgU2F2ZSB0aGUgbmFtZSBhbmQgdmFsdWUgcGFp
ciBvZiBldmVyeSBhdXRvZmlsbGFibGUgaW5wdXQgdGV4dCBmaWVsZCB3aGVuCisgICAgICAgIHVz
ZXIgc3VibWl0dGluZyBhIGZvcm0uCisKIDIwMTItMDUtMDggIEphc29uIExpdSAgPGphc29uLmxp
dUB0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEF1dGggY3JlZGVu
dGlhbHMgc2V0IGluIHByaXZhdGUgbW9kZSBhcmUgcmV1c2VkIGluIHB1YmxpYyBtb2RlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggMDBmMDhiMGY0NTQ1MzM3
ZWJjNWU4MzlkZjJlNTE0NjRkNGE4ZTY5NS4uODEyM2ZjY2QyZTQ1MWE3MjJjYTkzZTk1NzFiZjAx
MzY1YTgwYTY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBA
IC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJBdXRvZmlsbE1hbmFnZXIuaCIKICNpbmNs
dWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3RJ
bXBsLmgiCiAjaW5jbHVkZSAiQmFja2luZ1N0b3JlQ2xpZW50LmgiCkBAIC0zMDUsNiArMzA2LDEx
IEBAIHByb3RlY3RlZDoKICAgICB0eXBlZGVmIERlZmVycmVkVGFzazxpc0FjdGl2ZT4gRGVmZXJy
ZWRUYXNrVHlwZTsKIH07CiAKK3ZvaWQgV2ViUGFnZTo6YXV0b2ZpbGxUZXh0RmllbGQoY29uc3Qg
c3RyaW5nJiBpdGVtKQoreworICAgIGQtPm1fYXV0b2ZpbGxNYW5hZ2VyLT5hdXRvZmlsbFRleHRG
aWVsZChpdGVtLmNfc3RyKCkpOworfQorCiBXZWJQYWdlUHJpdmF0ZTo6V2ViUGFnZVByaXZhdGUo
V2ViUGFnZSogd2ViUGFnZSwgV2ViUGFnZUNsaWVudCogY2xpZW50LCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQogICAgIDogbV93ZWJQYWdlKHdlYlBhZ2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCkBA
IC0zNzMsNiArMzc5LDcgQEAgV2ViUGFnZVByaXZhdGU6OldlYlBhZ2VQcml2YXRlKFdlYlBhZ2Uq
IHdlYlBhZ2UsIFdlYlBhZ2VDbGllbnQqIGNsaWVudCwgY29uc3QgSW4KICAgICAsIG1faGFzSW5S
ZWdpb25TY3JvbGxhYmxlQXJlYXMoZmFsc2UpCiAgICAgLCBtX3VwZGF0ZURlbGVnYXRlZE92ZXJs
YXlzRGlzcGF0Y2hlZChmYWxzZSkKICAgICAsIG1fZGVmZXJyZWRUYXNrc1RpbWVyKHRoaXMsICZX
ZWJQYWdlUHJpdmF0ZTo6ZGVmZXJyZWRUYXNrc1RpbWVyRmlyZWQpCisgICAgLCBtX2F1dG9maWxs
TWFuYWdlcihBdXRvZmlsbE1hbmFnZXI6OmNyZWF0ZSh0aGlzKSkKIHsKICAgICBzdGF0aWMgYm9v
bCBpc0luaXRpYWxpemVkID0gZmFsc2U7CiAgICAgaWYgKCFpc0luaXRpYWxpemVkKSB7CkBAIC0y
MTIyLDYgKzIxMjksMTQgQEAgUGFnZUNsaWVudEJsYWNrQmVycnk6OlNhdmVDcmVkZW50aWFsVHlw
ZSBXZWJQYWdlUHJpdmF0ZTo6bm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnQKICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8UGFnZUNsaWVudEJsYWNrQmVycnk6OlNhdmVDcmVkZW50aWFsVHlwZT4obV9jbGll
bnQtPm5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGlzTmV3KSk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZVByaXZhdGU6Om5vdGlmeVBvcHVwQXV0b2ZpbGxEaWFsb2coY29uc3QgVmVjdG9yPFN0cmluZz4m
IGNhbmRpZGF0ZXMsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcmVlblJlY3QpCit7CisgICAg
dmVjdG9yPHN0cmluZz4gdGV4dEl0ZW1zOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY2Fu
ZGlkYXRlcy5zaXplKCk7IGkrKykKKyAgICAgICAgdGV4dEl0ZW1zLnB1c2hfYmFjayhjYW5kaWRh
dGVzW2ldLnV0ZjgoKS5kYXRhKCkpOworICAgIG1fY2xpZW50LT5ub3RpZnlQb3B1cEF1dG9maWxs
RGlhbG9nKHRleHRJdGVtcywgc2NyZWVuUmVjdCk7Cit9CisKIGJvb2wgV2ViUGFnZVByaXZhdGU6
OnVzZUZpeGVkTGF5b3V0KCkgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTUxNzIsNiAr
NTE4NywxMSBAQCB2b2lkIFdlYlBhZ2U6OmNsZWFyQ3JlZGVudGlhbHMoKQogI2VuZGlmCiB9CiAK
K3ZvaWQgV2ViUGFnZTo6Y2xlYXJBdXRvZmlsbERhdGEoKQoreworICAgIEF1dG9maWxsTWFuYWdl
cjo6Y2xlYXIoKTsKK30KKwogdm9pZCBXZWJQYWdlOjpjbGVhck5ldmVyUmVtZW1iZXJTaXRlcygp
CiB7CiAjaWYgRU5BQkxFKEJMQUNLQkVSUllfQ1JFREVOVElBTF9QRVJTSVNUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaAppbmRleCA4MmQ0ZWY2ZWFhYjgwYTU3MDZhMzEyNWVk
OWMxMjBmYzc1ZDdjOTY1Li4yOWFlOTdlNTZhZDY0YzIxMGFkYjdkY2E1YTI1NTc1MTU0ZGNhYjJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaApAQCAtMTk1LDYgKzE5NSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyQ2FjaGUoKTsKICAgICB2b2lkIGNsZWFyTG9jYWxT
dG9yYWdlKCk7CiAgICAgdm9pZCBjbGVhckNyZWRlbnRpYWxzKCk7CisgICAgdm9pZCBjbGVhckF1
dG9maWxsRGF0YSgpOwogICAgIHZvaWQgY2xlYXJOZXZlclJlbWVtYmVyU2l0ZXMoKTsKIAogICAg
IHZvaWQgcnVuTGF5b3V0VGVzdHMoKTsKQEAgLTMzMiw2ICszMzMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRVc2VyVmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2ViVmlld3BvcnRBcmd1bWVudHMm
KTsKICAgICB2b2lkIHJlc2V0VXNlclZpZXdwb3J0QXJndW1lbnRzKCk7CiAKKyAgICB2b2lkIGF1
dG9maWxsVGV4dEZpZWxkKGNvbnN0IHN0ZDo6c3RyaW5nJik7CiBwcml2YXRlOgogICAgIHZpcnR1
YWwgfldlYlBhZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0Fw
aS9XZWJQYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VD
bGllbnQuaAppbmRleCA0YWU0ZWI0MmZjNjFmYTAxZGE2OGI1MTk0NWY1NGI5NzVhMTEwY2YzLi4y
YWU5NzNmZGQ4OWMxYWM3MWRiOGFiNDBkMzVlODk0MjYxN2ZmZDU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VDbGllbnQuaApAQCAtMjEzLDYgKzIxMyw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJldmVudHNTY3JlZW5JZGxlRGltbWluZyhib29s
IG5vRGltbWluZykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShjb25zdCB1bnNpZ25lZCBzaG9ydCogcmVhbG0sIHVuc2lnbmVkIGludCByZWFsbUxlbmd0aCwg
V2ViU3RyaW5nJiB1c2VybmFtZSwgV2ViU3RyaW5nJiBwYXNzd29yZCkgPSAwOwogICAgIHZpcnR1
YWwgU2F2ZUNyZWRlbnRpYWxUeXBlIG5vdGlmeVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wgaXNO
ZXcpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5UG9wdXBBdXRvZmlsbERpYWxvZyhjb25z
dCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mLCBjb25zdCBQbGF0Zm9ybTo6SW50UmVjdCYpID0g
MDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQbHVnaW5FbnRlckZ1bGxTY3JlZW4oKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGRpZFBsdWdpbkVudGVyRnVsbFNjcmVlbigpID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmggYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCmluZGV4IDFjODZjMWE0YWM0MjBkNDYy
NmRkNmEwNzI2MjBhMTdkMGIxMDUzMzAuLjA5OGE3Mjk5NzRjMDlmOTNmNWMwYTBjMmY3NTYwOGZk
MzZjNGQwODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFn
ZV9wLmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaApAQCAt
MzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybU1lc3NhZ2UuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQXV0b2ZpbGxNYW5hZ2VyOwogY2xhc3MgRE9NV3Jh
cHBlcldvcmxkOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBGcmFtZTsKQEAgLTE4OSw2ICsxOTAs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBvdmVyZmxvd0V4Y2VlZHNDb250ZW50c1NpemUoKSB7IG1f
b3ZlcmZsb3dFeGNlZWRzQ29udGVudHNTaXplID0gdHJ1ZTsgfQogICAgIHZvaWQgbGF5b3V0Rmlu
aXNoZWQoKTsKICAgICB2b2lkIHNldE5lZWRUb3VjaEV2ZW50cyhib29sKTsKKyAgICB2b2lkIG5v
dGlmeVBvcHVwQXV0b2ZpbGxEaWFsb2coY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+Jiwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogCiAgICAgLy8gQ2FsbGVkIGFjY29yZGluZyB0byBv
dXIgaGV1cmlzdGljIG9yIGZyb20gc2V0TG9hZFN0YXRlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdl
IGhhdmUgYSB2aXJ0dWFsIHZpZXdwb3J0LgogICAgIHZvaWQgem9vbVRvSW5pdGlhbFNjYWxlT25M
b2FkKCk7CkBAIC01NzksNiArNTgxLDcgQEAgcHVibGljOgogICAgIFZlY3RvcjxPd25QdHI8RGVm
ZXJyZWRUYXNrQmFzZT4gPiBtX2RlZmVycmVkVGFza3M7CiAgICAgV2ViQ29yZTo6VGltZXI8V2Vi
UGFnZVByaXZhdGU+IG1fZGVmZXJyZWRUYXNrc1RpbWVyOwogCisgICAgUmVmUHRyPFdlYkNvcmU6
OkF1dG9maWxsTWFuYWdlcj4gbV9hdXRvZmlsbE1hbmFnZXI7CiBwcm90ZWN0ZWQ6CiAgICAgdmly
dHVhbCB+V2ViUGFnZVByaXZhdGUoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQXV0b2ZpbGxNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwCmluZGV4IDZj
ZTI0OTYyMDIyNWU5ZmJkNTJkNzFhZjBjMzExYjQxYTIyMzQ1YTEuLmUzZmMyN2QzMjk0NmM0MTE3
ZjEwZTBlMTYyZGRlYjM1MDU0YTM2YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1hbmFnZXIuY3BwCkBAIC00Nyw3
ICs0Nyw4IEBAIHZvaWQgQXV0b2ZpbGxNYW5hZ2VyOjpkaWRDaGFuZ2VJblRleHRGaWVsZChIVE1M
SW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIGlmIChtX2VsZW1lbnQgIT0gZWxlbWVudCkKICAg
ICAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsKIAotICAgIC8vIEZJWE1FOiBOb3RpZnkgcGFnZSBj
bGllbnQgdG8gcG9wdXAgYSBjb250ZXh0IGRpYWxvZyB0byBkaXNwbGF5IHRoZXNlIGF1dG9maWxs
IGNhbmRpZGF0ZSBpdGVtcy4KKyAgICBWZWN0b3I8U3RyaW5nPiBjYW5kaWRhdGVzID0gYXV0b2Zp
bGxCYWNraW5nU3RvcmUoKS5nZXQoZWxlbWVudC0+Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bmFt
ZUF0dHIpLnN0cmluZygpLCBlbGVtZW50LT52YWx1ZSgpKTsKKyAgICBtX3dlYlBhZ2VQcml2YXRl
LT5ub3RpZnlQb3B1cEF1dG9maWxsRGlhbG9nKGNhbmRpZGF0ZXMsIGVsZW1lbnQtPnNjcmVlblJl
Y3QoKSk7CiB9CiAKIHZvaWQgQXV0b2ZpbGxNYW5hZ2VyOjphdXRvZmlsbFRleHRGaWVsZChjb25z
dCBTdHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4
IDE0OGJlMTY2MzYxYTI5ZDFiM2VhNzczNWFhZjVmMzdkM2FmMDQ5Y2YuLmI1NzZjMDM5NjFiYTVh
MGUwMDU5MDRmZTU4YzFiMzBhMjM0MmRjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50QmxhY2tC
ZXJyeS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJFZGl0b3JDbGllbnRCbGFja0JlcnJ5LmgiCiAKKyNpbmNsdWRlICJBdXRvZmlsbE1hbmFnZXIu
aCIKICNpbmNsdWRlICJET01TdXBwb3J0LmgiCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWVDbGll
bnQuaCIKICNpbmNsdWRlICJFZGl0Q29tbWFuZC5oIgpAQCAtNTExLDkgKzUxMiwxMCBAQCB2b2lk
IEVkaXRvckNsaWVudEJsYWNrQmVycnk6OnRleHRGaWVsZERpZEVuZEVkaXRpbmcoRWxlbWVudCop
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRCbGFja0JlcnJ5
Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoRWxlbWVudCopCit2b2lkIEVkaXRvckNsaWVudEJs
YWNrQmVycnk6OnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChFbGVtZW50KiBlbGVtZW50KQogewot
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxl
bWVudCA9IGVsZW1lbnQtPnRvSW5wdXRFbGVtZW50KCkpCisgICAgICAgIG1fd2ViUGFnZVByaXZh
dGUtPm1fYXV0b2ZpbGxNYW5hZ2VyLT5kaWRDaGFuZ2VJblRleHRGaWVsZChpbnB1dEVsZW1lbnQp
OwogfQogCiBib29sIEVkaXRvckNsaWVudEJsYWNrQmVycnk6OmRvVGV4dEZpZWxkQ29tbWFuZEZy
b21FdmVudChFbGVtZW50KiwgS2V5Ym9hcmRFdmVudCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50QmxhY2tCZXJyeS5oIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEJsYWNr
QmVycnkuaAppbmRleCA0ODYxNzZiMGQxODU4MzU5YmM1YWUxNDIzNDQxNmE0MzMxM2IyMGU4Li4z
MDdkNTA3ZmI4ZjRiOTFlMjkyMjMwMzcyNDNjNDM2NGEzMGY0YmIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50QmxhY2tCZXJy
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRCbGFja0JlcnJ5LmgKQEAgLTExMSw2ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIHR5cGVk
ZWYgRGVxdWU8UmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPiA+IEVkaXRDb21tYW5kU3RhY2s7CiAg
ICAgRWRpdENvbW1hbmRTdGFjayBtX3VuZG9TdGFjazsKICAgICBFZGl0Q29tbWFuZFN0YWNrIG1f
cmVkb1N0YWNrOworCiB9OwogCiB9IC8vIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnku
Y3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNTA4YTA5YmZkZmEyNDJmNGY3MTM4NDE4ZDVjYTQw
OTMzNmIxYmJmMC4uMWZmNWM5YzY5MDkxOTJlZDI0ZjcwNWY1ZTdjODQ4M2Q1ZGE1ZmRiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAgLTE5LDYgKzE5
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEJs
YWNrQmVycnkuaCIKIAorI2luY2x1ZGUgIkF1dG9maWxsTWFuYWdlci5oIgogI2luY2x1ZGUgIkJh
Y2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdEltcGwuaCIK
ICNpbmNsdWRlICJCYWNraW5nU3RvcmVDbGllbnQuaCIKQEAgLTcwNCwxMCArNzA1LDEyIEBAIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaERpZEZhaWxQcm92aXNpb25h
bExvYWQoY29uc3QgUmVzb3VyY2VFCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5
OjpkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUpCiB7CisgICAgaWYgKCFtX3dlYlBhZ2VQcml2
YXRlLT5tX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkgeworICAgICAg
ICBtX3dlYlBhZ2VQcml2YXRlLT5tX2F1dG9maWxsTWFuYWdlci0+c2F2ZVRleHRGaWVsZHMoZm9y
bVN0YXRlLT5mb3JtKCkpOwogI2lmIEVOQUJMRShCTEFDS0JFUlJZX0NSRURFTlRJQUxfUEVSU0lT
VCkKLSAgICBpZiAoIW1fd2ViUGFnZVByaXZhdGUtPm1fd2ViU2V0dGluZ3MtPmlzUHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCgpKQogICAgICAgICBjcmVkZW50aWFsTWFuYWdlcigpLnNhdmVDcmVkZW50
aWFsSWZDb25maXJtZWQobV93ZWJQYWdlUHJpdmF0ZSwgQ3JlZGVudGlhbFRyYW5zZm9ybURhdGEo
Zm9ybVN0YXRlLT5mb3JtKCkpKTsKICNlbmRpZgorICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdHVi
LgogICAgIChtX2ZyYW1lLT5sb2FkZXIoKS0+cG9saWN5Q2hlY2tlcigpLT4qZnVuY3Rpb24pKFBv
bGljeVVzZSk7CkBAIC03MTUsMTIgKzcxOCwxMiBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Qmxh
Y2tCZXJyeTo6ZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShGcmFtZVBvbGljeUZ1bmN0aW9uIGZ1bgog
CiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1p
dEV2ZW50KFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUpCiB7CisgICAgaWYgKCFt
X3dlYlBhZ2VQcml2YXRlLT5tX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQo
KSkgeworICAgICAgICBtX3dlYlBhZ2VQcml2YXRlLT5tX2F1dG9maWxsTWFuYWdlci0+c2F2ZVRl
eHRGaWVsZHMocHJwRm9ybVN0YXRlLT5mb3JtKCkpOwogI2lmIEVOQUJMRShCTEFDS0JFUlJZX0NS
RURFTlRJQUxfUEVSU0lTVCkKLSAgICBpZiAoIW1fd2ViUGFnZVByaXZhdGUtPm1fd2ViU2V0dGlu
Z3MtPmlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQotICAgICAgICBjcmVkZW50aWFsTWFuYWdl
cigpLnNhdmVDcmVkZW50aWFsSWZDb25maXJtZWQobV93ZWJQYWdlUHJpdmF0ZSwgQ3JlZGVudGlh
bFRyYW5zZm9ybURhdGEocHJwRm9ybVN0YXRlLT5mb3JtKCkpKTsKLSNlbHNlCi0gICAgbm90SW1w
bGVtZW50ZWQoKTsKK2NyZWRlbnRpYWxNYW5hZ2VyKCkuc2F2ZUNyZWRlbnRpYWxJZkNvbmZpcm1l
ZChtX3dlYlBhZ2VQcml2YXRlLCBDcmVkZW50aWFsVHJhbnNmb3JtRGF0YShwcnBGb3JtU3RhdGUt
PmZvcm0oKSkpOwogI2VuZGlmCisgICAgfQogfQogCiBQYXNzUmVmUHRyPEZyYW1lPiBGcmFtZUxv
YWRlckNsaWVudEJsYWNrQmVycnk6OmNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiBuYW1lCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141072</attachid>
            <date>2012-05-09 19:10:36 -0700</date>
            <delta_ts>2012-06-11 02:16:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85577-20120510101033.patch</filename>
            <type>text/plain</type>
            <size>10989</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBjNGVjODhlMmRlYWNiYzYxOWM3NWJmMmQ2ZGRjYWQ3Mjc2ZTZiOTljLi40NGRkOWM0NjA2
MWFhMDhmNzcwNWE1M2FhMTJjNTVmMWYxNGMzN2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0wNS0wOSAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0
aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBdXRv
ZmlsbCBmZWF0dXJlIGltcGxlbWVudGF0aW9uIGZvciBCbGFja0JlcnJ5IHBvcnRpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NTc3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5j
cHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6OmF1dG9maWxsVGV4dEZp
ZWxkKTogQWRkZWQgdGhpcyBpbnRlcmZhY2UKKyAgICAgICAgZnVuY3Rpb24gdG8gYXV0byBmaWxs
IHRoZSBpbnB1dHRpbmcgdGV4dCBmaWVsZCB3aGVuIHVzZXIgc2VsZWN0cworICAgICAgICBhIGF1
dG9maWxsIGNhbmRpZGF0ZSB2YWx1ZSBmcm9tIGF1dG9maWxsIGNvbnRleHQgZGlhbG9nLgorICAg
ICAgICAoV2ViS2l0KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZh
dGU6OldlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFn
ZVByaXZhdGU6Om5vdGlmeVBvcHVwQXV0b2ZpbGxEaWFsb2cpOiBBZGRlZAorICAgICAgICB0aGlz
IGludGVyZmFjZSBmdW5jdGlvbiB0byBub3RpZnkgV2ViUGFnZUNsaWVudCB0byBwb3AgdXAgdGhl
IGF1dG9maWxsCisgICAgICAgIGNvbnRleHQgZGlhbG9nIHdpdGggdGhlIHN1Z2dlc3RlZCBpbnB1
dCBpdGVtcy4KKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6Y2xlYXJBdXRv
ZmlsbERhdGEpOgorICAgICAgICAqIEFwaS9XZWJQYWdlLmg6CisgICAgICAgICogQXBpL1dlYlBh
Z2VDbGllbnQuaDoKKyAgICAgICAgKiBBcGkvV2ViUGFnZV9wLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9B
dXRvZmlsbE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXV0b2ZpbGxNYW5hZ2VyOjpk
aWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRCbGFja0Jl
cnJ5Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQpOiBJbXBsZW1lbnRlZAorICAgICAgICB0aGlz
IGZ1bmN0aW9uIHRvIGxpc3RlbiB0byB0aGUgbm90aWZpY2F0aW9uIG9mIHRleHQgZmllbGQgY2hh
bmdlLCBhbmQKKyAgICAgICAgbm90aWZ5IEF1dG9maWxsTWFuYWdlciB0byBoYW5kbGUgdGhlIGF1
dG9maWxsLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tC
ZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6
OmRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJD
bGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQpOgorICAgICAgICBT
YXZlIHRoZSBuYW1lIGFuZCB2YWx1ZSBwYWlyIG9mIGV2ZXJ5IGF1dG9maWxsYWJsZSBpbnB1dCB0
ZXh0IGZpZWxkIHdoZW4KKyAgICAgICAgdXNlciBzdWJtaXR0aW5nIGEgZm9ybS4KKwogMjAxMi0w
NS0wOSAgQ3J5c3RhbCBaaGFuZyAgPGhhaXpoYW5nQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNr
QmVycnldIEVuYWJsZSBQQUdFX1BPUFVQIGluIG1ha2UgZmlsZSwgYW5kIGltcGxlbWVudCByZXF1
aXJlZCBtZXRob2RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRl
eCA5ZWU5ZDk1YzI1Y2JhNjJkOGVjM2QxNzUwNmQzZGZmMzg5ZGU2MjhjLi5iMTI1NWQxYmEyYTg5
OGE1YWIwYjY0M2IzNjAzZDk5YWJhMjM1YzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAK
ICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgorI2luY2x1ZGUgIkF1dG9maWxs
TWFuYWdlci5oIgogI2luY2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IkJhY2tGb3J3YXJkTGlzdEltcGwuaCIKICNpbmNsdWRlICJCYWNraW5nU3RvcmVDbGllbnQuaCIK
QEAgLTMwNiw2ICszMDcsMTEgQEAgcHJvdGVjdGVkOgogICAgIHR5cGVkZWYgRGVmZXJyZWRUYXNr
PGlzQWN0aXZlPiBEZWZlcnJlZFRhc2tUeXBlOwogfTsKIAordm9pZCBXZWJQYWdlOjphdXRvZmls
bFRleHRGaWVsZChjb25zdCBzdHJpbmcmIGl0ZW0pCit7CisgICAgZC0+bV9hdXRvZmlsbE1hbmFn
ZXItPmF1dG9maWxsVGV4dEZpZWxkKGl0ZW0uY19zdHIoKSk7Cit9CisKIFdlYlBhZ2VQcml2YXRl
OjpXZWJQYWdlUHJpdmF0ZShXZWJQYWdlKiB3ZWJQYWdlLCBXZWJQYWdlQ2xpZW50KiBjbGllbnQs
IGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKICAgICAsIG1f
Y2xpZW50KGNsaWVudCkKQEAgLTM3Niw2ICszODIsNyBAQCBXZWJQYWdlUHJpdmF0ZTo6V2ViUGFn
ZVByaXZhdGUoV2ViUGFnZSogd2ViUGFnZSwgV2ViUGFnZUNsaWVudCogY2xpZW50LCBjb25zdCBJ
bgogICAgICwgbV9kZWZlcnJlZFRhc2tzVGltZXIodGhpcywgJldlYlBhZ2VQcml2YXRlOjpkZWZl
cnJlZFRhc2tzVGltZXJGaXJlZCkKICAgICAsIG1fc2VsZWN0UG9wdXAoMCkKICAgICAsIG1fcGFy
ZW50UG9wdXAoMCkKKyAgICAsIG1fYXV0b2ZpbGxNYW5hZ2VyKEF1dG9maWxsTWFuYWdlcjo6Y3Jl
YXRlKHRoaXMpKQogewogICAgIHN0YXRpYyBib29sIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAg
ICBpZiAoIWlzSW5pdGlhbGl6ZWQpIHsKQEAgLTIxMjUsNiArMjEzMiwxNCBAQCBQYWdlQ2xpZW50
QmxhY2tCZXJyeTo6U2F2ZUNyZWRlbnRpYWxUeXBlIFdlYlBhZ2VQcml2YXRlOjpub3RpZnlTaG91
bGRTYXZlQ3JlZGVudAogICAgIHJldHVybiBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50QmxhY2tCZXJy
eTo6U2F2ZUNyZWRlbnRpYWxUeXBlPihtX2NsaWVudC0+bm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRp
YWwoaXNOZXcpKTsKIH0KIAordm9pZCBXZWJQYWdlUHJpdmF0ZTo6bm90aWZ5UG9wdXBBdXRvZmls
bERpYWxvZyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgY2FuZGlkYXRlcywgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgc2NyZWVuUmVjdCkKK3sKKyAgICB2ZWN0b3I8c3RyaW5nPiB0ZXh0SXRlbXM7Cisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYW5kaWRhdGVzLnNpemUoKTsgaSsrKQorICAgICAg
ICB0ZXh0SXRlbXMucHVzaF9iYWNrKGNhbmRpZGF0ZXNbaV0udXRmOCgpLmRhdGEoKSk7CisgICAg
bV9jbGllbnQtPm5vdGlmeVBvcHVwQXV0b2ZpbGxEaWFsb2codGV4dEl0ZW1zLCBzY3JlZW5SZWN0
KTsKK30KKwogYm9vbCBXZWJQYWdlUHJpdmF0ZTo6dXNlRml4ZWRMYXlvdXQoKSBjb25zdAogewog
ICAgIHJldHVybiB0cnVlOwpAQCAtNTE3OCw2ICs1MTkzLDExIEBAIHZvaWQgV2ViUGFnZTo6Y2xl
YXJDcmVkZW50aWFscygpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJQYWdlOjpjbGVhckF1dG9maWxs
RGF0YSgpCit7CisgICAgQXV0b2ZpbGxNYW5hZ2VyOjpjbGVhcigpOworfQorCiB2b2lkIFdlYlBh
Z2U6OmNsZWFyTmV2ZXJSZW1lbWJlclNpdGVzKCkKIHsKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9D
UkVERU5USUFMX1BFUlNJU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5oCmlu
ZGV4IDQwNDliODRkZDYyOGQwNWRmNTYzMGVhOTNlNTdlNTRlODRmMDA3ZjcuLmIwMWU2NjQyNDFm
YTg0OGIxZjYxNzM2ZTNhNmUyNWRiM2UxZjA1MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZS5oCkBAIC0xOTYsNiArMTk2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJD
YWNoZSgpOwogICAgIHZvaWQgY2xlYXJMb2NhbFN0b3JhZ2UoKTsKICAgICB2b2lkIGNsZWFyQ3Jl
ZGVudGlhbHMoKTsKKyAgICB2b2lkIGNsZWFyQXV0b2ZpbGxEYXRhKCk7CiAgICAgdm9pZCBjbGVh
ck5ldmVyUmVtZW1iZXJTaXRlcygpOwogCiAgICAgdm9pZCBydW5MYXlvdXRUZXN0cygpOwpAQCAt
MzQwLDYgKzM0MSw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc09wZW5lZFBvcHVwKCkgY29uc3Q7
CiAgICAgV2ViQ29yZTo6UGFnZVBvcHVwQmxhY2tCZXJyeSogcG9wdXAoKTsKIAorICAgIHZvaWQg
YXV0b2ZpbGxUZXh0RmllbGQoY29uc3Qgc3RkOjpzdHJpbmcmKTsKIHByaXZhdGU6CiAgICAgdmly
dHVhbCB+V2ViUGFnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFn
ZUNsaWVudC5oCmluZGV4IDRhZTRlYjQyZmM2MWZhMDFkYTY4YjUxOTQ1ZjU0Yjk3NWExMTBjZjMu
LjJhZTk3M2ZkZDg5YzFhYzcxZGI4YWI0MGQzNWU4OTQyNjE3ZmZkNTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZUNsaWVudC5oCkBAIC0yMTMsNiArMjEzLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRQcmV2ZW50c1NjcmVlbklkbGVEaW1taW5nKGJv
b2wgbm9EaW1taW5nKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKGNvbnN0IHVuc2lnbmVkIHNob3J0KiByZWFsbSwgdW5zaWduZWQgaW50IHJlYWxtTGVuZ3Ro
LCBXZWJTdHJpbmcmIHVzZXJuYW1lLCBXZWJTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAgICAgdmly
dHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCBp
c05ldykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBub3RpZnlQb3B1cEF1dG9maWxsRGlhbG9nKGNv
bnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYsIGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0Jikg
PSAwOwogCiAgICAgdmlydHVhbCBib29sIHNob3VsZFBsdWdpbkVudGVyRnVsbFNjcmVlbigpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGx1Z2luRW50ZXJGdWxsU2NyZWVuKCkgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaCBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKaW5kZXggNmY1ZTU3MDVmMTBhODAw
N2I1MWRhYWU1MzZlMjkwZTI3MmRiOTY1ZS4uYzY4OGM2ZGU2NTJjZmFlYWM3N2VkZjJiMDE4NmRi
M2YwNDUxMWM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQ
YWdlX3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtTWVzc2FnZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBBdXRvZmlsbE1hbmFnZXI7CiBjbGFzcyBET01X
cmFwcGVyV29ybGQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEZyYW1lOwpAQCAtMTkwLDYgKzE5
MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG92ZXJmbG93RXhjZWVkc0NvbnRlbnRzU2l6ZSgpIHsg
bV9vdmVyZmxvd0V4Y2VlZHNDb250ZW50c1NpemUgPSB0cnVlOyB9CiAgICAgdm9pZCBsYXlvdXRG
aW5pc2hlZCgpOwogICAgIHZvaWQgc2V0TmVlZFRvdWNoRXZlbnRzKGJvb2wpOworICAgIHZvaWQg
bm90aWZ5UG9wdXBBdXRvZmlsbERpYWxvZyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmKTsKIAogICAgIC8vIENhbGxlZCBhY2NvcmRpbmcgdG8gb3VyIGhldXJp
c3RpYyBvciBmcm9tIHNldExvYWRTdGF0ZSBkZXBlbmRpbmcgb24gd2hldGhlciB3ZSBoYXZlIGEg
dmlydHVhbCB2aWV3cG9ydC4KICAgICB2b2lkIHpvb21Ub0luaXRpYWxTY2FsZU9uTG9hZCgpOwpA
QCAtNTg3LDYgKzU4OSw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGUgcG9wdXAgdGhhdCBvd25lZCB0
aGlzIHdlYnBhZ2UKICAgICBXZWJDb3JlOjpQYWdlUG9wdXBCbGFja0JlcnJ5KiBtX3BhcmVudFBv
cHVwOwogCisgICAgUmVmUHRyPFdlYkNvcmU6OkF1dG9maWxsTWFuYWdlcj4gbV9hdXRvZmlsbE1h
bmFnZXI7CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+V2ViUGFnZVByaXZhdGUoKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQXV0b2Zp
bGxNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9B
dXRvZmlsbE1hbmFnZXIuY3BwCmluZGV4IDZjZTI0OTYyMDIyNWU5ZmJkNTJkNzFhZjBjMzExYjQx
YTIyMzQ1YTEuLmUzZmMyN2QzMjk0NmM0MTE3ZjEwZTBlMTYyZGRlYjM1MDU0YTM2YzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9BdXRvZmlsbE1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9B
dXRvZmlsbE1hbmFnZXIuY3BwCkBAIC00Nyw3ICs0Nyw4IEBAIHZvaWQgQXV0b2ZpbGxNYW5hZ2Vy
OjpkaWRDaGFuZ2VJblRleHRGaWVsZChIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIGlm
IChtX2VsZW1lbnQgIT0gZWxlbWVudCkKICAgICAgICAgbV9lbGVtZW50ID0gZWxlbWVudDsKIAot
ICAgIC8vIEZJWE1FOiBOb3RpZnkgcGFnZSBjbGllbnQgdG8gcG9wdXAgYSBjb250ZXh0IGRpYWxv
ZyB0byBkaXNwbGF5IHRoZXNlIGF1dG9maWxsIGNhbmRpZGF0ZSBpdGVtcy4KKyAgICBWZWN0b3I8
U3RyaW5nPiBjYW5kaWRhdGVzID0gYXV0b2ZpbGxCYWNraW5nU3RvcmUoKS5nZXQoZWxlbWVudC0+
Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6bmFtZUF0dHIpLnN0cmluZygpLCBlbGVtZW50LT52YWx1
ZSgpKTsKKyAgICBtX3dlYlBhZ2VQcml2YXRlLT5ub3RpZnlQb3B1cEF1dG9maWxsRGlhbG9nKGNh
bmRpZGF0ZXMsIGVsZW1lbnQtPnNjcmVlblJlY3QoKSk7CiB9CiAKIHZvaWQgQXV0b2ZpbGxNYW5h
Z2VyOjphdXRvZmlsbFRleHRGaWVsZChjb25zdCBTdHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEJsYWNr
QmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4IDE0OGJlMTY2MzYxYTI5ZDFiM2VhNzczNWFhZjVm
MzdkM2FmMDQ5Y2YuLmI1NzZjMDM5NjFiYTVhMGUwMDU5MDRmZTU4YzFiMzBhMjM0MmRjNzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnRCbGFja0JlcnJ5LmgiCiAK
KyNpbmNsdWRlICJBdXRvZmlsbE1hbmFnZXIuaCIKICNpbmNsdWRlICJET01TdXBwb3J0LmgiCiAj
aW5jbHVkZSAiRHVtcFJlbmRlclRyZWVDbGllbnQuaCIKICNpbmNsdWRlICJFZGl0Q29tbWFuZC5o
IgpAQCAtNTExLDkgKzUxMiwxMCBAQCB2b2lkIEVkaXRvckNsaWVudEJsYWNrQmVycnk6OnRleHRG
aWVsZERpZEVuZEVkaXRpbmcoRWxlbWVudCopCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAot
dm9pZCBFZGl0b3JDbGllbnRCbGFja0JlcnJ5Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoRWxl
bWVudCopCit2b2lkIEVkaXRvckNsaWVudEJsYWNrQmVycnk6OnRleHREaWRDaGFuZ2VJblRleHRG
aWVsZChFbGVtZW50KiBlbGVtZW50KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYg
KEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCA9IGVsZW1lbnQtPnRvSW5wdXRFbGVtZW50
KCkpCisgICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPm1fYXV0b2ZpbGxNYW5hZ2VyLT5kaWRDaGFu
Z2VJblRleHRGaWVsZChpbnB1dEVsZW1lbnQpOwogfQogCiBib29sIEVkaXRvckNsaWVudEJsYWNr
QmVycnk6OmRvVGV4dEZpZWxkQ29tbWFuZEZyb21FdmVudChFbGVtZW50KiwgS2V5Ym9hcmRFdmVu
dCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCmluZGV4IDUw
OGEwOWJmZGZhMjQyZjRmNzEzODQxOGQ1Y2E0MDkzMzZiMWJiZjAuLjZlZjRlNDQ5MGJjMWRmNTZk
OTM5NDdkYzkyZmIyMDU0MzZlMzdiOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEJsYWNrQmVycnkuY3BwCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmgiCiAKKyNpbmNsdWRlICJBdXRv
ZmlsbE1hbmFnZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJCYWNrRm9yd2FyZExpc3RJbXBsLmgiCiAjaW5jbHVkZSAiQmFja2luZ1N0b3JlQ2xpZW50
LmgiCkBAIC03MDQsMTAgKzcwNSwxMiBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJy
eTo6ZGlzcGF0Y2hEaWRGYWlsUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFJlc291cmNlRQogCiB2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6ZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShGcmFt
ZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9uLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRl
KQogeworICAgIGlmICghbV93ZWJQYWdlUHJpdmF0ZS0+bV93ZWJTZXR0aW5ncy0+aXNQcml2YXRl
QnJvd3NpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgbV93ZWJQYWdlUHJpdmF0ZS0+bV9hdXRvZmls
bE1hbmFnZXItPnNhdmVUZXh0RmllbGRzKGZvcm1TdGF0ZS0+Zm9ybSgpKTsKICNpZiBFTkFCTEUo
QkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCi0gICAgaWYgKCFtX3dlYlBhZ2VQcml2YXRl
LT5tX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKICAgICAgICAgY3Jl
ZGVudGlhbE1hbmFnZXIoKS5zYXZlQ3JlZGVudGlhbElmQ29uZmlybWVkKG1fd2ViUGFnZVByaXZh
dGUsIENyZWRlbnRpYWxUcmFuc2Zvcm1EYXRhKGZvcm1TdGF0ZS0+Zm9ybSgpKSk7CiAjZW5kaWYK
KyAgICB9CiAKICAgICAvLyBGSVhNRTogU3R1Yi4KICAgICAobV9mcmFtZS0+bG9hZGVyKCktPnBv
bGljeUNoZWNrZXIoKS0+KmZ1bmN0aW9uKShQb2xpY3lVc2UpOwpAQCAtNzE1LDEyICs3MTgsMTIg
QEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmRpc3BhdGNoV2lsbFN1Ym1pdEZv
cm0oRnJhbWVQb2xpY3lGdW5jdGlvbiBmdW4KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNr
QmVycnk6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPEZvcm1TdGF0ZT4g
cHJwRm9ybVN0YXRlKQogeworICAgIGlmICghbV93ZWJQYWdlUHJpdmF0ZS0+bV93ZWJTZXR0aW5n
cy0+aXNQcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpIHsKKyAgICAgICAgbV93ZWJQYWdlUHJpdmF0
ZS0+bV9hdXRvZmlsbE1hbmFnZXItPnNhdmVUZXh0RmllbGRzKHBycEZvcm1TdGF0ZS0+Zm9ybSgp
KTsKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCi0gICAgaWYgKCFt
X3dlYlBhZ2VQcml2YXRlLT5tX3dlYlNldHRpbmdzLT5pc1ByaXZhdGVCcm93c2luZ0VuYWJsZWQo
KSkKLSAgICAgICAgY3JlZGVudGlhbE1hbmFnZXIoKS5zYXZlQ3JlZGVudGlhbElmQ29uZmlybWVk
KG1fd2ViUGFnZVByaXZhdGUsIENyZWRlbnRpYWxUcmFuc2Zvcm1EYXRhKHBycEZvcm1TdGF0ZS0+
Zm9ybSgpKSk7Ci0jZWxzZQotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgY3JlZGVudGlhbE1h
bmFnZXIoKS5zYXZlQ3JlZGVudGlhbElmQ29uZmlybWVkKG1fd2ViUGFnZVByaXZhdGUsIENyZWRl
bnRpYWxUcmFuc2Zvcm1EYXRhKHBycEZvcm1TdGF0ZS0+Zm9ybSgpKSk7CiAjZW5kaWYKKyAgICB9
CiB9CiAKIFBhc3NSZWZQdHI8RnJhbWU+IEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6Y3Jl
YXRlRnJhbWUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146815</attachid>
            <date>2012-06-11 02:17:15 -0700</date>
            <delta_ts>2012-06-11 17:32:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85577-20120611171709.patch</filename>
            <type>text/plain</type>
            <size>2635</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBhN2Y2NGIxOTM1MTY0MDNkYzAzZGNkZGU5ZWUxMTRiYzNiMDFlMDhkLi5iZjMyMWZlNTY2
ODEwYTg1ZjkxMGQ1YWMzMTAyMjVhMTFhY2ZmNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wNi0xMSAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0
aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBdXRv
ZmlsbCBmZWF0dXJlIGltcGxlbWVudGF0aW9uIGZvciBCbGFja0JlcnJ5IHBvcnRpbmcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1NTc3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBhdXRv
ZmlsbCBzYXZpbmcgcHJvY2VkdXJlIG91dCBvZiBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtLCB0aGlz
IHByb2NlZHVyZQorICAgICAgICBpcyBzYW1lIGFzIHRoZSBwcm9jZWR1cmUgaW4gZGlzcGF0Y2hX
aWxsU2VuZFN1Ym1pdEV2ZW50LgorICAgICAgICBTb21lIHNpdGVzIHdpbGwgcmVkaXJlY3QgdG8g
b3RoZXIgdXJsIGluIGl0cyBsb2dpbiBwcm9jZXNzLCB3aGljaCB3aWxsIGNhdXNlIHRoZQorICAg
ICAgICB1c2VyIGdldCBub3RpZmllZCB0byBzYXZlIGNyZWRlbnRpYWxzIGZvciB0aGlzIHByb3Zp
c2lvbmFsIHJlZGlyZWN0aW5nIHVybCBpZiB3ZQorICAgICAgICBwdXQgdGhpcyBzYXZpbmcgcHJv
Y2VkdXJlIGluIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0uIFNvIHdlIHNob3VsZCByZW1vdmUgaXQg
dG8gbWFrZQorICAgICAgICBzdXJlIHdlIG9ubHkgc2F2ZSB0aGUgYXV0b2ZpbGwgZGF0YSBiZWZv
cmUgdGhlIHN1Ym1pdCBldmVudCBpcyBmaXJlZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0pOgorCiAyMDEy
LTA2LTA4ICBDcnlzdGFsIFpoYW5nICA8aGFpemhhbmdAcmltLmNvbT4KIAogICAgICAgICBbQmxh
Y2tCZXJyeV0gRml4IGNyYXNoIG9uIFBhZ2VQb3B1cENocm9tZUNsaWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCBlMjU4MmMzNTFiN2MyNTlkZmVj
NGVkYWJkMjM4ZDY4OGQ3MGRiZTRmLi4wOGVjY2UwNWM5ZmJlOWFiMTc3MWVmNzk3MzdiYTAwMjNk
MzZmMDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcApA
QCAtNzA0LDE3ICs3MDQsOCBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6ZGlz
cGF0Y2hEaWRGYWlsUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFJlc291cmNlRQogICAgIH0KIH0KIAot
dm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0o
RnJhbWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1T
dGF0ZSkKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaFdpbGxTdWJt
aXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sIFBhc3NSZWZQdHI8Rm9ybVN0YXRl
PikKIHsKLSAgICBpZiAoIW1fd2ViUGFnZVByaXZhdGUtPm1fd2ViU2V0dGluZ3MtPmlzUHJpdmF0
ZUJyb3dzaW5nRW5hYmxlZCgpKSB7Ci0gICAgICAgIGlmIChtX3dlYlBhZ2VQcml2YXRlLT5tX3dl
YlNldHRpbmdzLT5pc0Zvcm1BdXRvZmlsbEVuYWJsZWQoKSkKLSAgICAgICAgICAgIG1fd2ViUGFn
ZVByaXZhdGUtPm1fYXV0b2ZpbGxNYW5hZ2VyLT5zYXZlVGV4dEZpZWxkcyhmb3JtU3RhdGUtPmZv
cm0oKSk7Ci0jaWYgRU5BQkxFKEJMQUNLQkVSUllfQ1JFREVOVElBTF9QRVJTSVNUKQotICAgICAg
ICBpZiAobV93ZWJQYWdlUHJpdmF0ZS0+bV93ZWJTZXR0aW5ncy0+aXNDcmVkZW50aWFsQXV0b2Zp
bGxFbmFibGVkKCkpCi0gICAgICAgICAgICBjcmVkZW50aWFsTWFuYWdlcigpLnNhdmVDcmVkZW50
aWFsSWZDb25maXJtZWQobV93ZWJQYWdlUHJpdmF0ZSwgQ3JlZGVudGlhbFRyYW5zZm9ybURhdGEo
Zm9ybVN0YXRlLT5mb3JtKCkpKTsKLSNlbmRpZgotICAgIH0KLQogICAgIC8vIEZJWE1FOiBTdHVi
LgogICAgIChtX2ZyYW1lLT5sb2FkZXIoKS0+cG9saWN5Q2hlY2tlcigpLT4qZnVuY3Rpb24pKFBv
bGljeVVzZSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>