<?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>46986</bug_id>
          
          <creation_ts>2010-10-01 09:07:44 -0700</creation_ts>
          <short_desc>Should commit pending autocorrection before next round of text checking.</short_desc>
          <delta_ts>2010-10-11 18:21:28 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jia Pu">jiapu.mail</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>jiapu.mail</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288272</commentid>
    <comment_count>0</comment_count>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2010-10-01 09:07:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/8424535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288321</commentid>
    <comment_count>1</comment_count>
      <attachid>69481</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2010-10-01 10:18:15 -0700</bug_when>
    <thetext>Created attachment 69481
proposed patch (v1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290569</commentid>
    <comment_count>2</comment_count>
      <attachid>69481</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-10-06 14:06:58 -0700</bug_when>
    <thetext>Comment on attachment 69481
proposed patch (v1)

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

&gt; WebCore/editing/Editor.cpp:2410
&gt; +    if (m_rangeToBeReplacedByCorrection.get()) {

No need to call get(). Your test could be
if (m_rangeToBeReplacedByCorrection)

&gt; WebCore/editing/Editor.cpp:2412
&gt; +        RefPtr&lt;Range&gt; paragraphRange = m_rangeToBeReplacedByCorrection-&gt;cloneRange(ec);

It would be great if you could come up with a more descriptive name than paragraphRange.

&gt; WebCore/editing/Editor.cpp:2416
&gt; +            RefPtr&lt;Range&gt; offsetAsRange = Range::create(paragraphRange-&gt;startContainer(ec)-&gt;document(), paragraphRange-&gt;startPosition(), paragraphRange-&gt;startPosition());

Same for offsetAsRange.

&gt; WebCore/editing/Editor.cpp:2421
&gt; +                    // Take note of the location of autocorrection so that we can add marker after the replacement took place.

This code would benefit from a more detailed comment.

&gt; WebCore/editing/Editor.cpp:2439
&gt; +        m_rangeToBeReplacedByCorrection = RefPtr&lt;Range&gt;();

if what you want to do here is release, then call m_rangeToBeReplacedByCorrection.release();

&gt; WebCore/editing/Editor.cpp:2717
&gt; +            for (size_t i = 0; i &lt; markerCount; ++i) {

You don&apos;t need markerCount, you can use directly markers.size() in your for loop.

&gt; WebCore/editing/Editor.cpp:2724
&gt; +            if (doMarkMisspelling)

You can use node-&gt;document()-&gt;markers()-&gt;addMarker, since you have node initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290613</commentid>
    <comment_count>3</comment_count>
      <attachid>69481</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-10-06 15:18:38 -0700</bug_when>
    <thetext>Comment on attachment 69481
proposed patch (v1)

If you address Enrica&apos;s comments, I&apos;ll do the official review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291245</commentid>
    <comment_count>4</comment_count>
      <attachid>70148</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2010-10-07 14:07:52 -0700</bug_when>
    <thetext>Created attachment 70148
Proposed patch (v1)

Updated patch per comment 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291251</commentid>
    <comment_count>5</comment_count>
      <attachid>70148</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2010-10-07 14:17:20 -0700</bug_when>
    <thetext>Comment on attachment 70148
Proposed patch (v1)

Just noticed that this seems have broken the autocorrection-delete test I added earlier. Good thing to have the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291282</commentid>
    <comment_count>6</comment_count>
      <attachid>70158</attachid>
    <who name="Jia Pu">jiapu.mail</who>
    <bug_when>2010-10-07 15:10:25 -0700</bug_when>
    <thetext>Created attachment 70158
Proposed patch (v3)

Updated patch per comment 2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292809</commentid>
    <comment_count>7</comment_count>
      <attachid>70158</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-11 18:21:23 -0700</bug_when>
    <thetext>Comment on attachment 70158
Proposed patch (v3)

Clearing flags on attachment: 70158

Committed r69548: &lt;http://trac.webkit.org/changeset/69548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292810</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-11 18:21:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69481</attachid>
            <date>2010-10-01 10:18:15 -0700</date>
            <delta_ts>2010-10-07 14:07:52 -0700</delta_ts>
            <desc>proposed patch (v1)</desc>
            <filename>webkit_bug46986.patch</filename>
            <type>text/plain</type>
            <size>9145</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODg5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMTAtMDEgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hvdWxkIGNvbW1p
dCBwZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBuZXh0IHJvdW5kIG9mIHRleHQgY2hlY2tp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njk4
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQyNDUzNT4KKworICAgICAgICAxLiBBcHBseSBw
ZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBjYWxsaW5nIG1hcmtBbGxNaXNzcGVsbGluZ3NB
bmRCYWRHcmFtbWFySW5SYW5nZXMoKS4KKyAgICAgICAgMi4gUmVtb3ZlIHVubmVjY2Vzc2FyeSBj
YWxscyB0byBkaXNtaXNzQ29ycmVjdGlvblBhbmVsKCksIHNpbmNlIHRoZSBwYW5lbCBpcyBkaXNt
aXNzZWQgd2hlbgorICAgICAgICAgICBzZWxlY3Rpb24gY2hhbmdlcywgd2hpY2ggb2NjdXJzIGFm
dGVyIGV2ZXJ5IHR5cGluZyBjb21tYW5kLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQWZ0ZXJUeXBpbmdU
b1Bvc2l0aW9uKTogQXBwbHkgcGVuZGluZyBhdXRvY29ycmVjdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyk6IERv
bid0IGFkZCBtaXNzcGVsbGluZyBtYXJrZXIgaWYKKyAgICAgICAgICB0aGUgd29yZCBhbHJlYWR5
IGNvbnRhaW5zIHJlcGxhY2VtZW50IG1hcmtlci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6
c3RhcnRDb3JyZWN0aW9uUGFuZWxUaW1lcik6IFJlbW92ZSBjYWxsIHRvIGRpc21pc3NDb3JyZWN0
aW9uUGFuZWwoKS4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOiBBZGQgbV9jb3JyZWN0aW9u
UmVwbGFjZW1lbnRTdHJpbmcgdG8gc3RvcmUgcHJvcG9zZWQgYXV0b2NvcnJlY3Rpb24gc3RyaW5n
LgorCiAyMDEwLTEwLTAxICBSYWduZXIgTWFnYWxoYWVzICA8cmFnbmVyLm1hZ2FsaGFlc0BvcGVu
Ym9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuLgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHJldmlzaW9uIDY4ODkxKQorKysgV2ViQ29yZS9lZGl0
aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MDQsNiArMjQwNCw0MiBAQCB2b2lk
IEVkaXRvcjo6bWFya01pc3NwZWxsaW5nc0FuZEJhZEdyYW1tCiB2b2lkIEVkaXRvcjo6bWFya01p
c3NwZWxsaW5nc0FmdGVyVHlwaW5nVG9Qb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24gJnAp
CiB7CiAjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCisgICAgLy8gQXBwbHkgcGVuZGluZyBhdXRvY29ycmVjdGlvbiBiZWZvcmUg
bmV4dCByb3VuZCBvZiBzcGVsbCBjaGVja2luZy4KKyAgICBib29sIGRpZEFwcGx5Q29ycmVjdGlv
biA9IGZhbHNlOworICAgIGlmIChtX3JhbmdlVG9CZVJlcGxhY2VkQnlDb3JyZWN0aW9uLmdldCgp
KSB7CisgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICBSZWZQdHI8UmFuZ2U+
IHBhcmFncmFwaFJhbmdlID0gbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbi0+Y2xvbmVS
YW5nZShlYyk7CisgICAgICAgIGlmICghZWMpIHsKKyAgICAgICAgICAgIHNldFN0YXJ0KHBhcmFn
cmFwaFJhbmdlLmdldCgpLCBzdGFydE9mUGFyYWdyYXBoKG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNv
cnJlY3Rpb24tPnN0YXJ0UG9zaXRpb24oKSkpOworICAgICAgICAgICAgc2V0RW5kKHBhcmFncmFw
aFJhbmdlLmdldCgpLCBlbmRPZlBhcmFncmFwaChtX3JhbmdlVG9CZVJlcGxhY2VkQnlDb3JyZWN0
aW9uLT5lbmRQb3NpdGlvbigpKSk7CisgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IG9mZnNldEFz
UmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKHBhcmFncmFwaFJhbmdlLT5zdGFydENvbnRhaW5lcihlYykt
PmRvY3VtZW50KCksIHBhcmFncmFwaFJhbmdlLT5zdGFydFBvc2l0aW9uKCksIHBhcmFncmFwaFJh
bmdlLT5zdGFydFBvc2l0aW9uKCkpOworICAgICAgICAgICAgaWYgKCFlYykgeworICAgICAgICAg
ICAgICAgIFBvc2l0aW9uIHN0YXJ0UG9zaXRpb25PZlJhbmdlVG9CZVJlcGxhY2VkID0gbV9yYW5n
ZVRvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbi0+c3RhcnRQb3NpdGlvbigpOworICAgICAgICAgICAg
ICAgIG9mZnNldEFzUmFuZ2UtPnNldEVuZChzdGFydFBvc2l0aW9uT2ZSYW5nZVRvQmVSZXBsYWNl
ZC5jb250YWluZXJOb2RlKCksIHN0YXJ0UG9zaXRpb25PZlJhbmdlVG9CZVJlcGxhY2VkLmNvbXB1
dGVPZmZzZXRJbkNvbnRhaW5lck5vZGUoKSwgZWMpOworICAgICAgICAgICAgICAgIGlmICghZWMp
IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGFrZSBub3RlIG9mIHRoZSBsb2NhdGlvbiBvZiBh
dXRvY29ycmVjdGlvbiBzbyB0aGF0IHdlIGNhbiBhZGQgbWFya2VyIGFmdGVyIHRoZSByZXBsYWNl
bWVudCB0b29rIHBsYWNlLgorICAgICAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0SW50b1BhcmFn
cmFwaFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChvZmZzZXRBc1JhbmdlLmdldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgUG9zaXRpb24gY2FyZXRQb3NpdGlvbiA9IG1fZnJhbWUt
PnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS5lbmQoKTsKKyAgICAgICAgICAgICAgICAgICAgUmVm
UHRyPFJhbmdlPiByYW5nZVRvQmVSZXBsYWNlZCA9IG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJl
Y3Rpb24tPmNsb25lUmFuZ2UoZWMpOworICAgICAgICAgICAgICAgICAgICBWaXNpYmxlU2VsZWN0
aW9uIHNlbGVjdGlvblRvUmVwbGFjZShyYW5nZVRvQmVSZXBsYWNlZC5nZXQoKSwgRE9XTlNUUkVB
TSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2hvdWxk
Q2hhbmdlU2VsZWN0aW9uKHNlbGVjdGlvblRvUmVwbGFjZSkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24oc2VsZWN0aW9uVG9SZXBs
YWNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VTZWxlY3Rpb25XaXRoVGV4dCht
X2NvcnJlY3Rpb25SZXBsYWNlbWVudFN0cmluZywgZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNhcmV0UG9zaXRpb24ubW92ZVRvT2Zmc2V0KGNhcmV0UG9zaXRpb24ub2Zm
c2V0SW5Db250YWluZXJOb2RlKCkgKyBtX2NvcnJlY3Rpb25SZXBsYWNlbWVudFN0cmluZy5sZW5n
dGgoKSAtIG1fc3RyaW5nVG9CZVJlcGxhY2VkQnlDb3JyZWN0aW9uLmxlbmd0aCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gcmVwbGFjZW1lbnRSYW5nZSA9IFRleHRJ
dGVyYXRvcjo6c3VicmFuZ2UocGFyYWdyYXBoUmFuZ2UuZ2V0KCksIG9mZnNldEludG9QYXJhZ3Jh
cGhSYW5nZSwgbV9jb3JyZWN0aW9uUmVwbGFjZW1lbnRTdHJpbmcubGVuZ3RoKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRSYW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9j
dW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIocmVwbGFjZW1lbnRSYW5nZS5nZXQoKSwgRG9j
dW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50LCBtX2NvcnJlY3Rpb25SZXBsYWNlbWVudFN0cmluZyk7
CisgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudFJhbmdlLT5zdGFydENvbnRhaW5l
cigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPmFkZE1hcmtlcihyZXBsYWNlbWVudFJhbmdlLmdl
dCgpLCBEb2N1bWVudE1hcmtlcjo6Q29ycmVjdGlvbkluZGljYXRvcik7CisgICAgICAgICAgICAg
ICAgICAgICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+bW92ZVRvKGNhcmV0UG9zaXRpb24sIGZh
bHNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZEFwcGx5Q29ycmVjdGlvbiA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICAgICAgbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbiA9IFJl
ZlB0cjxSYW5nZT4oKTsKKyAgICB9CisjZW5kaWYKKwogICAgIFRleHRDaGVja2luZ09wdGlvbnMg
dGV4dENoZWNraW5nT3B0aW9ucyA9IDA7CiAgICAgaWYgKGlzQ29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkKCkpCiAgICAgICAgIHRleHRDaGVja2luZ09wdGlvbnMgfD0gTWFya1NwZWxsaW5n
OwpAQCAtMjY3MCw4ICsyNzA2LDIzIEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3BlbGxpbmdz
QW5kQmFkR3IKICAgICAgICAgaW50IHJlc3VsdExlbmd0aCA9IHJlc3VsdC0+bGVuZ3RoOwogICAg
ICAgICBpZiAoc2hvdWxkTWFya1NwZWxsaW5nICYmIHJlc3VsdC0+dHlwZSA9PSBUZXh0Q2hlY2tp
bmdUeXBlU3BlbGxpbmcgJiYgcmVzdWx0TG9jYXRpb24gPj0gc3BlbGxpbmdSYW5nZVN0YXJ0T2Zm
c2V0ICYmIHJlc3VsdExvY2F0aW9uICsgcmVzdWx0TGVuZ3RoIDw9IHNwZWxsaW5nUmFuZ2VFbmRP
ZmZzZXQpIHsKICAgICAgICAgICAgIEFTU0VSVChyZXN1bHRMZW5ndGggPiAwICYmIHJlc3VsdExv
Y2F0aW9uID49IDApOworICAgICAgICAgICAgLy8gRG9uJ3QgbWFyayBpdCBhcyBtaXNzcGVsbGVk
IGlmIHRoZSB3b3JkIHdhcyB0aGUgcmVzdWx0IG9mIHByZXZpb3VzIGF1dG9jb3JyZWN0aW9uLgog
ICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlID0gVGV4dEl0ZXJhdG9y
OjpzdWJyYW5nZShzcGVsbGluZ1JhbmdlLCByZXN1bHRMb2NhdGlvbiAtIHNwZWxsaW5nUmFuZ2VT
dGFydE9mZnNldCwgcmVzdWx0TGVuZ3RoKTsKLSAgICAgICAgICAgIG1pc3NwZWxsaW5nUmFuZ2Ut
PnN0YXJ0Q29udGFpbmVyKGVjKS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIobWlz
c3BlbGxpbmdSYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nKTsKKyAgICAgICAg
ICAgIE5vZGUqIG5vZGUgPSBtaXNzcGVsbGluZ1JhbmdlLT5zdGFydENvbnRhaW5lcigpOworICAg
ICAgICAgICAgaW50IHN0YXJ0T2Zmc2V0ID0gbWlzc3BlbGxpbmdSYW5nZS0+c3RhcnRPZmZzZXQo
KTsKKyAgICAgICAgICAgIGludCBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIHJlc3VsdExvY2F0
aW9uOworICAgICAgICAgICAgYm9vbCBkb01hcmtNaXNzcGVsbGluZyA9IHRydWU7CisgICAgICAg
ICAgICBWZWN0b3I8RG9jdW1lbnRNYXJrZXI+IG1hcmtlcnMgPSBub2RlLT5kb2N1bWVudCgpLT5t
YXJrZXJzKCktPm1hcmtlcnNGb3JOb2RlKG5vZGUpOworICAgICAgICAgICAgc2l6ZV90IG1hcmtl
ckNvdW50ID0gbWFya2Vycy5zaXplKCk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1hcmtlckNvdW50OyArK2kpIHsKKyAgICAgICAgICAgICAgICBjb25zdCBEb2N1bWVudE1h
cmtlciYgbWFya2VyID0gbWFya2Vyc1tpXTsKKyAgICAgICAgICAgICAgICBpZiAobWFya2VyLnR5
cGUgPT0gRG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50ICYmIHN0YXRpY19jYXN0PGludD4obWFy
a2VyLnN0YXJ0T2Zmc2V0KSA8IGVuZE9mZnNldCAmJiBzdGF0aWNfY2FzdDxpbnQ+KG1hcmtlci5l
bmRPZmZzZXQpID4gc3RhcnRPZmZzZXQpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9NYXJrTWlz
c3BlbGxpbmcgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGRvTWFya01pc3NwZWxsaW5n
KQorICAgICAgICAgICAgICAgIG1pc3NwZWxsaW5nUmFuZ2UtPnN0YXJ0Q29udGFpbmVyKGVjKS0+
ZG9jdW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIobWlzc3BlbGxpbmdSYW5nZS5nZXQoKSwg
RG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nKTsKICAgICAgICAgfSBlbHNlIGlmIChzaG91bGRNYXJr
R3JhbW1hciAmJiByZXN1bHQtPnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUdyYW1tYXIgJiYgcmVz
dWx0TG9jYXRpb24gPCBncmFtbWFyUmFuZ2VFbmRPZmZzZXQgJiYgcmVzdWx0TG9jYXRpb24gKyBy
ZXN1bHRMZW5ndGggPiBncmFtbWFyUmFuZ2VTdGFydE9mZnNldCkgewogICAgICAgICAgICAgQVNT
RVJUKHJlc3VsdExlbmd0aCA+IDAgJiYgcmVzdWx0TG9jYXRpb24gPj0gMCk7CiAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgcmVzdWx0LT5kZXRhaWxzLnNpemUoKTsgaisrKSB7
CkBAIC0yNzU0LDYgKzI4MDUsNyBAQCB2b2lkIEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0Fu
ZEJhZEdyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxCb3VuZGluZ0JveC51bml0
ZShpdC0+Ym91bmRpbmdCb3goKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3JhbmdlVG9C
ZVJlcGxhY2VkQnlDb3JyZWN0aW9uID0gcmFuZ2VUb1JlcGxhY2U7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBtX3N0cmluZ1RvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbiA9IHJlcGxhY2VkU3RyaW5n
OworICAgICAgICAgICAgICAgICAgICAgICAgbV9jb3JyZWN0aW9uUmVwbGFjZW1lbnRTdHJpbmcg
PSByZXN1bHQtPnJlcGxhY2VtZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50KCkt
PnNob3dDb3JyZWN0aW9uUGFuZWwodG90YWxCb3VuZGluZ0JveCwgbV9zdHJpbmdUb0JlUmVwbGFj
ZWRCeUNvcnJlY3Rpb24sIHJlc3VsdC0+cmVwbGFjZW1lbnQsIHRoaXMpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgZG9SZXBsYWNlbWVudCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICB9
CkBAIC0yNzY1LDEwICsyODE3LDYgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbGxNaXNzcGVsbGluZ3NB
bmRCYWRHcgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdExvY2F0aW9uIDwgc2Vs
ZWN0aW9uT2Zmc2V0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk9mZnNl
dCArPSByZXBsYWNlbWVudExlbmd0aCAtIHJlc3VsdExlbmd0aDsKICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXN1bHQtPnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUNvcnJlY3Rpb24pIHsK
LSNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsaWVudCgpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQoKS0+ZGlzbWlzc0NvcnJlY3Rpb25QYW5l
bCh0cnVlKTsKLSNlbmRpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBhIG1h
cmtlciBzbyB0aGF0IGNvcnJlY3Rpb25zIGNhbiBlYXNpbHkgYmUgdW5kb25lIGFuZCB3b24ndCBi
ZSByZS1jb3JyZWN0ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdl
PiByZXBsYWNlZFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpzdWJyYW5nZShwYXJhZ3JhcGhSYW5nZS5n
ZXQoKSwgcmVzdWx0TG9jYXRpb24sIHJlcGxhY2VtZW50TGVuZ3RoKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXBsYWNlZFJhbmdlLT5zdGFydENvbnRhaW5lcigpLT5kb2N1bWVudCgp
LT5tYXJrZXJzKCktPmFkZE1hcmtlcihyZXBsYWNlZFJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtl
cjo6UmVwbGFjZW1lbnQsIHJlcGxhY2VkU3RyaW5nKTsKQEAgLTI4NTcsOCArMjkwNSw2IEBAIHZv
aWQgRWRpdG9yOjpzdGFydENvcnJlY3Rpb25QYW5lbFRpbWVyKCkKIHsKICNpZiBQTEFURk9STShN
QUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgc3Rh
dGljIGNvbnN0IGRvdWJsZSBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsID0gMC4zOwotICAg
IGlmIChjbGllbnQoKSkKLSAgICAgICAgY2xpZW50KCktPmRpc21pc3NDb3JyZWN0aW9uUGFuZWwo
dHJ1ZSk7CiAgICAgaWYgKGlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCgpKQog
ICAgICAgICBtX2NvcnJlY3Rpb25QYW5lbFRpbWVyLnN0YXJ0T25lU2hvdChjb3JyZWN0aW9uUGFu
ZWxUaW1lckludGVydmFsKTsKICNlbmRpZgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAkocmV2aXNpb24gNjg4OTEp
CisrKyBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3OSw2ICsz
NzksNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxLaWxsUmluZz4gbV9raWxsUmluZzsKICAgICBS
ZWZQdHI8UmFuZ2U+IG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb247CiAgICAgU3RyaW5n
IG1fc3RyaW5nVG9CZVJlcGxhY2VkQnlDb3JyZWN0aW9uOworICAgIFN0cmluZyBtX2NvcnJlY3Rp
b25SZXBsYWNlbWVudFN0cmluZzsKICAgICBUaW1lcjxFZGl0b3I+IG1fY29ycmVjdGlvblBhbmVs
VGltZXI7CiAgICAgVmlzaWJsZVNlbGVjdGlvbiBtX21hcms7CiAgICAgYm9vbCBtX2FyZU1hcmtl
ZFRleHRNYXRjaGVzSGlnaGxpZ2h0ZWQ7Cg==
</data>
<flag name="review"
          id="59179"
          type_id="1"
          status="-"
          setter="adele"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70148</attachid>
            <date>2010-10-07 14:07:52 -0700</date>
            <delta_ts>2010-10-07 14:17:20 -0700</delta_ts>
            <desc>Proposed patch (v1)</desc>
            <filename>webkit_bug46986.patch</filename>
            <type>text/plain</type>
            <size>9997</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTMzMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMTAtMDcgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hvdWxkIGNvbW1p
dCBwZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBuZXh0IHJvdW5kIG9mIHRleHQgY2hlY2tp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njk4
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQyNDUzNT4KKworICAgICAgICAxLiBBcHBseSBw
ZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBjYWxsaW5nIG1hcmtBbGxNaXNzcGVsbGluZ3NB
bmRCYWRHcmFtbWFySW5SYW5nZXMoKS4KKyAgICAgICAgMi4gUmVtb3ZlIHVubmVjY2Vzc2FyeSBj
YWxscyB0byBkaXNtaXNzQ29ycmVjdGlvblBhbmVsKCksIHNpbmNlIHRoZSBwYW5lbCBpcyBkaXNt
aXNzZWQgd2hlbgorICAgICAgICAgICBzZWxlY3Rpb24gY2hhbmdlcywgd2hpY2ggb2NjdXJzIGFm
dGVyIGV2ZXJ5IHR5cGluZyBjb21tYW5kLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQWZ0ZXJUeXBpbmdU
b1Bvc2l0aW9uKTogQXBwbHkgcGVuZGluZyBhdXRvY29ycmVjdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyk6IERv
bid0IGFkZCBtaXNzcGVsbGluZyBtYXJrZXIgaWYKKyAgICAgICAgICB0aGUgd29yZCBhbHJlYWR5
IGNvbnRhaW5zIHJlcGxhY2VtZW50IG1hcmtlci4KKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6
c3RhcnRDb3JyZWN0aW9uUGFuZWxUaW1lcik6IFJlbW92ZSBjYWxsIHRvIGRpc21pc3NDb3JyZWN0
aW9uUGFuZWwoKS4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOiBBZGQgbV9jb3JyZWN0aW9u
UmVwbGFjZW1lbnRTdHJpbmcgdG8gc3RvcmUgcHJvcG9zZWQgYXV0b2NvcnJlY3Rpb24gc3RyaW5n
LgorCiAyMDEwLTEwLTA3ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkocmV2
aXNpb24gNjkzMzMpCisrKyBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQwNCw2ICsyNDA0LDQ5IEBAIHZvaWQgRWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQW5k
QmFkR3JhbW0KIHZvaWQgRWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQWZ0ZXJUeXBpbmdUb1Bvc2l0
aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiAmcCkKIHsKICNpZiBQTEFURk9STShNQUMpICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyAgICAvLyBBcHBseSBw
ZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBuZXh0IHJvdW5kIG9mIHNwZWxsIGNoZWNraW5n
LgorICAgIGJvb2wgZGlkQXBwbHlDb3JyZWN0aW9uID0gZmFsc2U7CisgICAgaWYgKG1fcmFuZ2VU
b0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24pIHsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7
CisgICAgICAgIFJlZlB0cjxSYW5nZT4gcGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlv
biA9IG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24tPmNsb25lUmFuZ2UoZWMpOworICAg
ICAgICBpZiAoIWVjKSB7CisgICAgICAgICAgICBzZXRTdGFydChwYXJhZ3JhcGhSYW5nZUNvbnRh
aW5pbmdDb3JyZWN0aW9uLmdldCgpLCBzdGFydE9mUGFyYWdyYXBoKG1fcmFuZ2VUb0JlUmVwbGFj
ZWRCeUNvcnJlY3Rpb24tPnN0YXJ0UG9zaXRpb24oKSkpOworICAgICAgICAgICAgc2V0RW5kKHBh
cmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24uZ2V0KCksIGVuZE9mUGFyYWdyYXBoKG1f
cmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24tPmVuZFBvc2l0aW9uKCkpKTsKKyAgICAgICAg
ICAgIC8vIEFmdGVyIHdlIHJlcGxhY2UgdGhlIHdvcmQgYXQgcmFuZ2UgbV9yYW5nZVRvQmVSZXBs
YWNlZEJ5Q29ycmVjdGlvbiwgd2UgbmVlZCB0byBhZGQgCisgICAgICAgICAgICAvLyBhdXRvY29y
cmVjdGlvbiB1bmRlcmxpbmUgYXQgdGhhdCByYW5nZS4gSG93ZXZlciwgb25jZSB0aGUgcmVwbGFj
ZW1lbnQgdG9vayBwbGFjZSwgdGhlCisgICAgICAgICAgICAvLyB2YWx1ZSBvZiBtX3JhbmdlVG9C
ZVJlcGxhY2VkQnlDb3JyZWN0aW9uIGlzIG5vdCB2YWxpZCBhbnltb3JlLiBTbyBiZWZvcmUgd2Ug
Y2Fycnkgb3V0CisgICAgICAgICAgICAvLyB0aGUgcmVwbGFjZW1lbnQsIHdlIG5lZWQgdG8gc3Rv
cmUgdGhlIHN0YXJ0IHBvc2l0aW9uIG9mIG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24K
KyAgICAgICAgICAgIC8vIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgY29u
dGFpbmluZyBwYXJhZ3JhcGguIFdlIHVzZSBjb3JyZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFw
aAorICAgICAgICAgICAgLy8gdG8gc3RvcmUgdGhpcyB2YWx1ZS4gSW4gb3JkZXIgdG8gb2J0YWlu
IHRoaXMgb2Zmc2V0LCB3ZSBuZWVkIHRvIGZpcnN0IGNyZWF0ZSBhIHJhbmdlCisgICAgICAgICAg
ICAvLyB3aGljaCBzcGFucyBmcm9tIHRoZSBzdGFydCBvZiBwYXJhZ3JhcGggdG8gdGhlIHN0YXJ0
IHBvc2l0aW9uIG9mIG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24uCisgICAgICAgICAg
ICBSZWZQdHI8UmFuZ2U+IGNvcnJlY3Rpb25TdGFydE9mZnNldEluUGFyYWdyYXBoQXNSYW5nZSA9
IFJhbmdlOjpjcmVhdGUocGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi0+c3RhcnRD
b250YWluZXIoZWMpLT5kb2N1bWVudCgpLCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0
aW9uLT5zdGFydFBvc2l0aW9uKCksIHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24t
PnN0YXJ0UG9zaXRpb24oKSk7CisgICAgICAgICAgICBpZiAoIWVjKSB7CisgICAgICAgICAgICAg
ICAgUG9zaXRpb24gc3RhcnRQb3NpdGlvbk9mUmFuZ2VUb0JlUmVwbGFjZWQgPSBtX3JhbmdlVG9C
ZVJlcGxhY2VkQnlDb3JyZWN0aW9uLT5zdGFydFBvc2l0aW9uKCk7CisgICAgICAgICAgICAgICAg
Y29ycmVjdGlvblN0YXJ0T2Zmc2V0SW5QYXJhZ3JhcGhBc1JhbmdlLT5zZXRFbmQoc3RhcnRQb3Np
dGlvbk9mUmFuZ2VUb0JlUmVwbGFjZWQuY29udGFpbmVyTm9kZSgpLCBzdGFydFBvc2l0aW9uT2ZS
YW5nZVRvQmVSZXBsYWNlZC5jb21wdXRlT2Zmc2V0SW5Db250YWluZXJOb2RlKCksIGVjKTsKKyAg
ICAgICAgICAgICAgICBpZiAoIWVjKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRha2Ugbm90
ZSBvZiB0aGUgbG9jYXRpb24gb2YgYXV0b2NvcnJlY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWRkIG1h
cmtlciBhZnRlciB0aGUgcmVwbGFjZW1lbnQgdG9vayBwbGFjZS4KKyAgICAgICAgICAgICAgICAg
ICAgaW50IGNvcnJlY3Rpb25TdGFydE9mZnNldEluUGFyYWdyYXBoID0gVGV4dEl0ZXJhdG9yOjpy
YW5nZUxlbmd0aChjb3JyZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFwaEFzUmFuZ2UuZ2V0KCkp
OworICAgICAgICAgICAgICAgICAgICBQb3NpdGlvbiBjYXJldFBvc2l0aW9uID0gbV9mcmFtZS0+
c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLmVuZCgpOworICAgICAgICAgICAgICAgICAgICBSZWZQ
dHI8UmFuZ2U+IHJhbmdlVG9CZVJlcGxhY2VkID0gbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29ycmVj
dGlvbi0+Y2xvbmVSYW5nZShlYyk7CisgICAgICAgICAgICAgICAgICAgIFZpc2libGVTZWxlY3Rp
b24gc2VsZWN0aW9uVG9SZXBsYWNlKHJhbmdlVG9CZVJlcGxhY2VkLmdldCgpLCBET1dOU1RSRUFN
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zaG91bGRD
aGFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uVG9SZXBsYWNlKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihzZWxlY3Rpb25Ub1JlcGxh
Y2UpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KG1f
Y29ycmVjdGlvblJlcGxhY2VtZW50U3RyaW5nLCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAg
ICAgICAgICAgICAgY2FyZXRQb3NpdGlvbi5tb3ZlVG9PZmZzZXQoY2FyZXRQb3NpdGlvbi5vZmZz
ZXRJbkNvbnRhaW5lck5vZGUoKSArIG1fY29ycmVjdGlvblJlcGxhY2VtZW50U3RyaW5nLmxlbmd0
aCgpIC0gbV9zdHJpbmdUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24ubGVuZ3RoKCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gVGV4dEl0
ZXJhdG9yOjpzdWJyYW5nZShwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdldCgp
LCBjb3JyZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFwaCwgbV9jb3JyZWN0aW9uUmVwbGFjZW1l
bnRTdHJpbmcubGVuZ3RoKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRS
YW5nZS0+c3RhcnRDb250YWluZXIoKS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIo
cmVwbGFjZW1lbnRSYW5nZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50LCBtX2Nv
cnJlY3Rpb25SZXBsYWNlbWVudFN0cmluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBs
YWNlbWVudFJhbmdlLT5zdGFydENvbnRhaW5lcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPmFk
ZE1hcmtlcihyZXBsYWNlbWVudFJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6Q29ycmVjdGlv
bkluZGljYXRvcik7CisgICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24o
KS0+bW92ZVRvKGNhcmV0UG9zaXRpb24sIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGRpZEFwcGx5Q29ycmVjdGlvbiA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgbV9yYW5nZVRv
QmVSZXBsYWNlZEJ5Q29ycmVjdGlvbi5yZWxlYXNlKCk7CisgICAgfQorI2VuZGlmCisKICAgICBU
ZXh0Q2hlY2tpbmdPcHRpb25zIHRleHRDaGVja2luZ09wdGlvbnMgPSAwOwogICAgIGlmIChpc0Nv
bnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpKQogICAgICAgICB0ZXh0Q2hlY2tpbmdPcHRp
b25zIHw9IE1hcmtTcGVsbGluZzsKQEAgLTI2NzAsOCArMjcxMywyMiBAQCB2b2lkIEVkaXRvcjo6
bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyCiAgICAgICAgIGludCByZXN1bHRMZW5ndGggPSBy
ZXN1bHQtPmxlbmd0aDsKICAgICAgICAgaWYgKHNob3VsZE1hcmtTcGVsbGluZyAmJiByZXN1bHQt
PnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZVNwZWxsaW5nICYmIHJlc3VsdExvY2F0aW9uID49IHNw
ZWxsaW5nUmFuZ2VTdGFydE9mZnNldCAmJiByZXN1bHRMb2NhdGlvbiArIHJlc3VsdExlbmd0aCA8
PSBzcGVsbGluZ1JhbmdlRW5kT2Zmc2V0KSB7CiAgICAgICAgICAgICBBU1NFUlQocmVzdWx0TGVu
Z3RoID4gMCAmJiByZXN1bHRMb2NhdGlvbiA+PSAwKTsKKyAgICAgICAgICAgIC8vIERvbid0IG1h
cmsgaXQgYXMgbWlzc3BlbGxlZCBpZiB0aGUgd29yZCB3YXMgdGhlIHJlc3VsdCBvZiBwcmV2aW91
cyBhdXRvY29ycmVjdGlvbi4KICAgICAgICAgICAgIFJlZlB0cjxSYW5nZT4gbWlzc3BlbGxpbmdS
YW5nZSA9IFRleHRJdGVyYXRvcjo6c3VicmFuZ2Uoc3BlbGxpbmdSYW5nZSwgcmVzdWx0TG9jYXRp
b24gLSBzcGVsbGluZ1JhbmdlU3RhcnRPZmZzZXQsIHJlc3VsdExlbmd0aCk7Ci0gICAgICAgICAg
ICBtaXNzcGVsbGluZ1JhbmdlLT5zdGFydENvbnRhaW5lcihlYyktPmRvY3VtZW50KCktPm1hcmtl
cnMoKS0+YWRkTWFya2VyKG1pc3NwZWxsaW5nUmFuZ2UuZ2V0KCksIERvY3VtZW50TWFya2VyOjpT
cGVsbGluZyk7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gbWlzc3BlbGxpbmdSYW5nZS0+c3Rh
cnRDb250YWluZXIoKTsKKyAgICAgICAgICAgIGludCBzdGFydE9mZnNldCA9IG1pc3NwZWxsaW5n
UmFuZ2UtPnN0YXJ0T2Zmc2V0KCk7CisgICAgICAgICAgICBpbnQgZW5kT2Zmc2V0ID0gc3RhcnRP
ZmZzZXQgKyByZXN1bHRMb2NhdGlvbjsKKyAgICAgICAgICAgIGJvb2wgZG9NYXJrTWlzc3BlbGxp
bmcgPSB0cnVlOworICAgICAgICAgICAgVmVjdG9yPERvY3VtZW50TWFya2VyPiBtYXJrZXJzID0g
bm9kZS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5tYXJrZXJzRm9yTm9kZShub2RlKTsKKyAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWFya2Vycy5zaXplKCk7ICsraSkgeworICAg
ICAgICAgICAgICAgIGNvbnN0IERvY3VtZW50TWFya2VyJiBtYXJrZXIgPSBtYXJrZXJzW2ldOwor
ICAgICAgICAgICAgICAgIGlmIChtYXJrZXIudHlwZSA9PSBEb2N1bWVudE1hcmtlcjo6UmVwbGFj
ZW1lbnQgJiYgc3RhdGljX2Nhc3Q8aW50PihtYXJrZXIuc3RhcnRPZmZzZXQpIDwgZW5kT2Zmc2V0
ICYmIHN0YXRpY19jYXN0PGludD4obWFya2VyLmVuZE9mZnNldCkgPiBzdGFydE9mZnNldCkgewor
ICAgICAgICAgICAgICAgICAgICBkb01hcmtNaXNzcGVsbGluZyA9IGZhbHNlOworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAoZG9NYXJrTWlzc3BlbGxpbmcpCisgICAgICAgICAgICAgICAgbm9kZS0+ZG9j
dW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIobWlzc3BlbGxpbmdSYW5nZS5nZXQoKSwgRG9j
dW1lbnRNYXJrZXI6OlNwZWxsaW5nKTsKICAgICAgICAgfSBlbHNlIGlmIChzaG91bGRNYXJrR3Jh
bW1hciAmJiByZXN1bHQtPnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUdyYW1tYXIgJiYgcmVzdWx0
TG9jYXRpb24gPCBncmFtbWFyUmFuZ2VFbmRPZmZzZXQgJiYgcmVzdWx0TG9jYXRpb24gKyByZXN1
bHRMZW5ndGggPiBncmFtbWFyUmFuZ2VTdGFydE9mZnNldCkgewogICAgICAgICAgICAgQVNTRVJU
KHJlc3VsdExlbmd0aCA+IDAgJiYgcmVzdWx0TG9jYXRpb24gPj0gMCk7CiAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgcmVzdWx0LT5kZXRhaWxzLnNpemUoKTsgaisrKSB7CkBA
IC0yNzU0LDYgKzI4MTEsNyBAQCB2b2lkIEVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJh
ZEdyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxCb3VuZGluZ0JveC51bml0ZShp
dC0+Ym91bmRpbmdCb3goKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3JhbmdlVG9CZVJl
cGxhY2VkQnlDb3JyZWN0aW9uID0gcmFuZ2VUb1JlcGxhY2U7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBtX3N0cmluZ1RvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbiA9IHJlcGxhY2VkU3RyaW5nOwor
ICAgICAgICAgICAgICAgICAgICAgICAgbV9jb3JyZWN0aW9uUmVwbGFjZW1lbnRTdHJpbmcgPSBy
ZXN1bHQtPnJlcGxhY2VtZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50KCktPnNo
b3dDb3JyZWN0aW9uUGFuZWwodG90YWxCb3VuZGluZ0JveCwgbV9zdHJpbmdUb0JlUmVwbGFjZWRC
eUNvcnJlY3Rpb24sIHJlc3VsdC0+cmVwbGFjZW1lbnQsIHRoaXMpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgZG9SZXBsYWNlbWVudCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICB9CkBA
IC0yNzY1LDEwICsyODIzLDYgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbGxNaXNzcGVsbGluZ3NBbmRC
YWRHcgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdExvY2F0aW9uIDwgc2VsZWN0
aW9uT2Zmc2V0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk9mZnNldCAr
PSByZXBsYWNlbWVudExlbmd0aCAtIHJlc3VsdExlbmd0aDsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChyZXN1bHQtPnR5cGUgPT0gVGV4dENoZWNraW5nVHlwZUNvcnJlY3Rpb24pIHsKLSNp
ZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsaWVudCgpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQoKS0+ZGlzbWlzc0NvcnJlY3Rpb25QYW5lbCh0
cnVlKTsKLSNlbmRpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBhIG1hcmtl
ciBzbyB0aGF0IGNvcnJlY3Rpb25zIGNhbiBlYXNpbHkgYmUgdW5kb25lIGFuZCB3b24ndCBiZSBy
ZS1jb3JyZWN0ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBy
ZXBsYWNlZFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpzdWJyYW5nZShwYXJhZ3JhcGhSYW5nZS5nZXQo
KSwgcmVzdWx0TG9jYXRpb24sIHJlcGxhY2VtZW50TGVuZ3RoKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXBsYWNlZFJhbmdlLT5zdGFydENvbnRhaW5lcigpLT5kb2N1bWVudCgpLT5t
YXJrZXJzKCktPmFkZE1hcmtlcihyZXBsYWNlZFJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6
UmVwbGFjZW1lbnQsIHJlcGxhY2VkU3RyaW5nKTsKQEAgLTI4NTcsOCArMjkxMSw2IEBAIHZvaWQg
RWRpdG9yOjpzdGFydENvcnJlY3Rpb25QYW5lbFRpbWVyKCkKIHsKICNpZiBQTEFURk9STShNQUMp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9M
RU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsID0gMC4zOwotICAgIGlm
IChjbGllbnQoKSkKLSAgICAgICAgY2xpZW50KCktPmRpc21pc3NDb3JyZWN0aW9uUGFuZWwodHJ1
ZSk7CiAgICAgaWYgKGlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCgpKQogICAg
ICAgICBtX2NvcnJlY3Rpb25QYW5lbFRpbWVyLnN0YXJ0T25lU2hvdChjb3JyZWN0aW9uUGFuZWxU
aW1lckludGVydmFsKTsKICNlbmRpZgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAkocmV2aXNpb24gNjkzMzMpCisr
KyBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3OSw2ICszNzks
NyBAQCBwcml2YXRlOgogICAgIE93blB0cjxLaWxsUmluZz4gbV9raWxsUmluZzsKICAgICBSZWZQ
dHI8UmFuZ2U+IG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb247CiAgICAgU3RyaW5nIG1f
c3RyaW5nVG9CZVJlcGxhY2VkQnlDb3JyZWN0aW9uOworICAgIFN0cmluZyBtX2NvcnJlY3Rpb25S
ZXBsYWNlbWVudFN0cmluZzsKICAgICBUaW1lcjxFZGl0b3I+IG1fY29ycmVjdGlvblBhbmVsVGlt
ZXI7CiAgICAgVmlzaWJsZVNlbGVjdGlvbiBtX21hcms7CiAgICAgYm9vbCBtX2FyZU1hcmtlZFRl
eHRNYXRjaGVzSGlnaGxpZ2h0ZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70158</attachid>
            <date>2010-10-07 15:10:25 -0700</date>
            <delta_ts>2010-10-11 18:21:23 -0700</delta_ts>
            <desc>Proposed patch (v3)</desc>
            <filename>webkit_bug46986.patch</filename>
            <type>text/plain</type>
            <size>8067</size>
            <attacher name="Jia Pu">jiapu.mail</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTM0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMTAtMDcgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hvdWxkIGNvbW1p
dCBwZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBuZXh0IHJvdW5kIG9mIHRleHQgY2hlY2tp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Njk4
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQyNDUzNT4KKworICAgICAgICAxLiBBcHBseSBw
ZW5kaW5nIGF1dG9jb3JyZWN0aW9uIGJlZm9yZSBjYWxsaW5nIG1hcmtBbGxNaXNzcGVsbGluZ3NB
bmRCYWRHcmFtbWFySW5SYW5nZXMoKS4KKyAgICAgICAgMi4gUmVtb3ZlIHVubmVjY2Vzc2FyeSBj
YWxscyB0byBkaXNtaXNzQ29ycmVjdGlvblBhbmVsKCksIHNpbmNlIHRoZSBwYW5lbCBpcyBkaXNt
aXNzZWQgd2hlbgorICAgICAgICAgICBzZWxlY3Rpb24gY2hhbmdlcywgd2hpY2ggb2NjdXJzIGFm
dGVyIGV2ZXJ5IHR5cGluZyBjb21tYW5kLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQWZ0ZXJUeXBpbmdU
b1Bvc2l0aW9uKTogQXBwbHkgcGVuZGluZyBhdXRvY29ycmVjdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6OkVkaXRvcjo6bWFya0FsbE1pc3NwZWxsaW5nc0FuZEJhZEdyYW1tYXJJblJhbmdlcyk6IFN0
b3JlIGN1cnJlbnQgY29ycmVjdGlvbiByZXBsYWNlbWVudAorICAgICAgICAgIGluIG1fY29ycmVj
dGlvblJlcGxhY2VtZW50U3RyaW5nLgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpzdGFydENv
cnJlY3Rpb25QYW5lbFRpbWVyKTogUmVtb3ZlIGNhbGwgdG8gZGlzbWlzc0NvcnJlY3Rpb25QYW5l
bCgpLgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6IEFkZCBtX2NvcnJlY3Rpb25SZXBsYWNl
bWVudFN0cmluZyB0byBzdG9yZSBwcm9wb3NlZCBhdXRvY29ycmVjdGlvbiBzdHJpbmcuCisKIDIw
MTAtMTAtMDcgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkocmV2aXNpb24gNjkzNDIpCisr
KyBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQwNCw2ICsy
NDA0LDQ5IEBAIHZvaWQgRWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQW5kQmFkR3JhbW0KIHZvaWQg
RWRpdG9yOjptYXJrTWlzc3BlbGxpbmdzQWZ0ZXJUeXBpbmdUb1Bvc2l0aW9uKGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmcCkKIHsKICNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKQorI2lmICFkZWZpbmVk
KEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyAgICAvLyBBcHBseSBwZW5kaW5nIGF1dG9jb3Jy
ZWN0aW9uIGJlZm9yZSBuZXh0IHJvdW5kIG9mIHNwZWxsIGNoZWNraW5nLgorICAgIGJvb2wgZGlk
QXBwbHlDb3JyZWN0aW9uID0gZmFsc2U7CisgICAgaWYgKG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNv
cnJlY3Rpb24pIHsKKyAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgICAgIFJlZlB0
cjxSYW5nZT4gcGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbiA9IG1fcmFuZ2VUb0Jl
UmVwbGFjZWRCeUNvcnJlY3Rpb24tPmNsb25lUmFuZ2UoZWMpOworICAgICAgICBpZiAoIWVjKSB7
CisgICAgICAgICAgICBzZXRTdGFydChwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9u
LmdldCgpLCBzdGFydE9mUGFyYWdyYXBoKG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24t
PnN0YXJ0UG9zaXRpb24oKSkpOworICAgICAgICAgICAgc2V0RW5kKHBhcmFncmFwaFJhbmdlQ29u
dGFpbmluZ0NvcnJlY3Rpb24uZ2V0KCksIGVuZE9mUGFyYWdyYXBoKG1fcmFuZ2VUb0JlUmVwbGFj
ZWRCeUNvcnJlY3Rpb24tPmVuZFBvc2l0aW9uKCkpKTsKKyAgICAgICAgICAgIC8vIEFmdGVyIHdl
IHJlcGxhY2UgdGhlIHdvcmQgYXQgcmFuZ2UgbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29ycmVjdGlv
biwgd2UgbmVlZCB0byBhZGQgCisgICAgICAgICAgICAvLyBhdXRvY29ycmVjdGlvbiB1bmRlcmxp
bmUgYXQgdGhhdCByYW5nZS4gSG93ZXZlciwgb25jZSB0aGUgcmVwbGFjZW1lbnQgdG9vayBwbGFj
ZSwgdGhlCisgICAgICAgICAgICAvLyB2YWx1ZSBvZiBtX3JhbmdlVG9CZVJlcGxhY2VkQnlDb3Jy
ZWN0aW9uIGlzIG5vdCB2YWxpZCBhbnltb3JlLiBTbyBiZWZvcmUgd2UgY2Fycnkgb3V0CisgICAg
ICAgICAgICAvLyB0aGUgcmVwbGFjZW1lbnQsIHdlIG5lZWQgdG8gc3RvcmUgdGhlIHN0YXJ0IHBv
c2l0aW9uIG9mIG1fcmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24KKyAgICAgICAgICAgIC8v
IHJlbGF0aXZlIHRvIHRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmluZyBwYXJhZ3Jh
cGguIFdlIHVzZSBjb3JyZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFwaAorICAgICAgICAgICAg
Ly8gdG8gc3RvcmUgdGhpcyB2YWx1ZS4gSW4gb3JkZXIgdG8gb2J0YWluIHRoaXMgb2Zmc2V0LCB3
ZSBuZWVkIHRvIGZpcnN0IGNyZWF0ZSBhIHJhbmdlCisgICAgICAgICAgICAvLyB3aGljaCBzcGFu
cyBmcm9tIHRoZSBzdGFydCBvZiBwYXJhZ3JhcGggdG8gdGhlIHN0YXJ0IHBvc2l0aW9uIG9mIG1f
cmFuZ2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24uCisgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+
IGNvcnJlY3Rpb25TdGFydE9mZnNldEluUGFyYWdyYXBoQXNSYW5nZSA9IFJhbmdlOjpjcmVhdGUo
cGFyYWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi0+c3RhcnRDb250YWluZXIoZWMpLT5k
b2N1bWVudCgpLCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLT5zdGFydFBvc2l0
aW9uKCksIHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24tPnN0YXJ0UG9zaXRpb24o
KSk7CisgICAgICAgICAgICBpZiAoIWVjKSB7CisgICAgICAgICAgICAgICAgUG9zaXRpb24gc3Rh
cnRQb3NpdGlvbk9mUmFuZ2VUb0JlUmVwbGFjZWQgPSBtX3JhbmdlVG9CZVJlcGxhY2VkQnlDb3Jy
ZWN0aW9uLT5zdGFydFBvc2l0aW9uKCk7CisgICAgICAgICAgICAgICAgY29ycmVjdGlvblN0YXJ0
T2Zmc2V0SW5QYXJhZ3JhcGhBc1JhbmdlLT5zZXRFbmQoc3RhcnRQb3NpdGlvbk9mUmFuZ2VUb0Jl
UmVwbGFjZWQuY29udGFpbmVyTm9kZSgpLCBzdGFydFBvc2l0aW9uT2ZSYW5nZVRvQmVSZXBsYWNl
ZC5jb21wdXRlT2Zmc2V0SW5Db250YWluZXJOb2RlKCksIGVjKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIWVjKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFRha2Ugbm90ZSBvZiB0aGUgbG9jYXRp
b24gb2YgYXV0b2NvcnJlY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWRkIG1hcmtlciBhZnRlciB0aGUg
cmVwbGFjZW1lbnQgdG9vayBwbGFjZS4KKyAgICAgICAgICAgICAgICAgICAgaW50IGNvcnJlY3Rp
b25TdGFydE9mZnNldEluUGFyYWdyYXBoID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0aChjb3Jy
ZWN0aW9uU3RhcnRPZmZzZXRJblBhcmFncmFwaEFzUmFuZ2UuZ2V0KCkpOworICAgICAgICAgICAg
ICAgICAgICBQb3NpdGlvbiBjYXJldFBvc2l0aW9uID0gbV9mcmFtZS0+c2VsZWN0aW9uKCktPnNl
bGVjdGlvbigpLmVuZCgpOworICAgICAgICAgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IHJhbmdl
VG9CZVJlcGxhY2VkID0gbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbi0+Y2xvbmVSYW5n
ZShlYyk7CisgICAgICAgICAgICAgICAgICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uVG9S
ZXBsYWNlKHJhbmdlVG9CZVJlcGxhY2VkLmdldCgpLCBET1dOU1RSRUFNKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24o
c2VsZWN0aW9uVG9SZXBsYWNlKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgbV9mcmFtZS0+
c2VsZWN0aW9uKCktPnNldFNlbGVjdGlvbihzZWxlY3Rpb25Ub1JlcGxhY2UpOworICAgICAgICAg
ICAgICAgICAgICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KG1fY29ycmVjdGlvblJlcGxh
Y2VtZW50U3RyaW5nLCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAgICAgICAgICAgICAgY2Fy
ZXRQb3NpdGlvbi5tb3ZlVG9PZmZzZXQoY2FyZXRQb3NpdGlvbi5vZmZzZXRJbkNvbnRhaW5lck5v
ZGUoKSArIG1fY29ycmVjdGlvblJlcGxhY2VtZW50U3RyaW5nLmxlbmd0aCgpIC0gbV9zdHJpbmdU
b0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24ubGVuZ3RoKCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgUmVmUHRyPFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpzdWJyYW5n
ZShwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdldCgpLCBjb3JyZWN0aW9uU3Rh
cnRPZmZzZXRJblBhcmFncmFwaCwgbV9jb3JyZWN0aW9uUmVwbGFjZW1lbnRTdHJpbmcubGVuZ3Ro
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRSYW5nZS0+c3RhcnRDb250
YWluZXIoKS0+ZG9jdW1lbnQoKS0+bWFya2VycygpLT5hZGRNYXJrZXIocmVwbGFjZW1lbnRSYW5n
ZS5nZXQoKSwgRG9jdW1lbnRNYXJrZXI6OlJlcGxhY2VtZW50LCBtX2NvcnJlY3Rpb25SZXBsYWNl
bWVudFN0cmluZyk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudFJhbmdlLT5z
dGFydENvbnRhaW5lcigpLT5kb2N1bWVudCgpLT5tYXJrZXJzKCktPmFkZE1hcmtlcihyZXBsYWNl
bWVudFJhbmdlLmdldCgpLCBEb2N1bWVudE1hcmtlcjo6Q29ycmVjdGlvbkluZGljYXRvcik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+bW92ZVRvKGNhcmV0
UG9zaXRpb24sIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZEFwcGx5Q29ycmVj
dGlvbiA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29y
cmVjdGlvbi5yZWxlYXNlKCk7CisgICAgfQorI2VuZGlmCisKICAgICBUZXh0Q2hlY2tpbmdPcHRp
b25zIHRleHRDaGVja2luZ09wdGlvbnMgPSAwOwogICAgIGlmIChpc0NvbnRpbnVvdXNTcGVsbENo
ZWNraW5nRW5hYmxlZCgpKQogICAgICAgICB0ZXh0Q2hlY2tpbmdPcHRpb25zIHw9IE1hcmtTcGVs
bGluZzsKQEAgLTI3NTQsNiArMjc5Nyw3IEBAIHZvaWQgRWRpdG9yOjptYXJrQWxsTWlzc3BlbGxp
bmdzQW5kQmFkR3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbEJvdW5kaW5nQm94
LnVuaXRlKGl0LT5ib3VuZGluZ0JveCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fcmFu
Z2VUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb24gPSByYW5nZVRvUmVwbGFjZTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fc3RyaW5nVG9CZVJlcGxhY2VkQnlDb3JyZWN0aW9uID0gcmVwbGFjZWRT
dHJpbmc7CisgICAgICAgICAgICAgICAgICAgICAgICBtX2NvcnJlY3Rpb25SZXBsYWNlbWVudFN0
cmluZyA9IHJlc3VsdC0+cmVwbGFjZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBjbGll
bnQoKS0+c2hvd0NvcnJlY3Rpb25QYW5lbCh0b3RhbEJvdW5kaW5nQm94LCBtX3N0cmluZ1RvQmVS
ZXBsYWNlZEJ5Q29ycmVjdGlvbiwgcmVzdWx0LT5yZXBsYWNlbWVudCwgdGhpcyk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBkb1JlcGxhY2VtZW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAg
ICAgIH0KQEAgLTI3NjUsMTAgKzI4MDksNiBAQCB2b2lkIEVkaXRvcjo6bWFya0FsbE1pc3NwZWxs
aW5nc0FuZEJhZEdyCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0TG9jYXRpb24g
PCBzZWxlY3Rpb25PZmZzZXQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9u
T2Zmc2V0ICs9IHJlcGxhY2VtZW50TGVuZ3RoIC0gcmVzdWx0TGVuZ3RoOwogICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHJlc3VsdC0+dHlwZSA9PSBUZXh0Q2hlY2tpbmdUeXBlQ29ycmVjdGlv
bikgewotI2lmIFBMQVRGT1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xpZW50KCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudCgpLT5kaXNtaXNzQ29ycmVjdGlv
blBhbmVsKHRydWUpOwotI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWRk
IGEgbWFya2VyIHNvIHRoYXQgY29ycmVjdGlvbnMgY2FuIGVhc2lseSBiZSB1bmRvbmUgYW5kIHdv
bid0IGJlIHJlLWNvcnJlY3RlZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWZQdHI8
UmFuZ2U+IHJlcGxhY2VkUmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnN1YnJhbmdlKHBhcmFncmFwaFJh
bmdlLmdldCgpLCByZXN1bHRMb2NhdGlvbiwgcmVwbGFjZW1lbnRMZW5ndGgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkUmFuZ2UtPnN0YXJ0Q29udGFpbmVyKCktPmRvY3Vt
ZW50KCktPm1hcmtlcnMoKS0+YWRkTWFya2VyKHJlcGxhY2VkUmFuZ2UuZ2V0KCksIERvY3VtZW50
TWFya2VyOjpSZXBsYWNlbWVudCwgcmVwbGFjZWRTdHJpbmcpOwpAQCAtMjg1Nyw4ICsyODk3LDYg
QEAgdm9pZCBFZGl0b3I6OnN0YXJ0Q29ycmVjdGlvblBhbmVsVGltZXIoKQogewogI2lmIFBMQVRG
T1JNKE1BQykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAg
ICBzdGF0aWMgY29uc3QgZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7
Ci0gICAgaWYgKGNsaWVudCgpKQotICAgICAgICBjbGllbnQoKS0+ZGlzbWlzc0NvcnJlY3Rpb25Q
YW5lbCh0cnVlKTsKICAgICBpZiAoaXNBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVk
KCkpCiAgICAgICAgIG1fY29ycmVjdGlvblBhbmVsVGltZXIuc3RhcnRPbmVTaG90KGNvcnJlY3Rp
b25QYW5lbFRpbWVySW50ZXJ2YWwpOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCShyZXZpc2lvbiA2
OTM0MikKKysrIFdlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzc5
LDYgKzM3OSw3IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPEtpbGxSaW5nPiBtX2tpbGxSaW5nOwog
ICAgIFJlZlB0cjxSYW5nZT4gbV9yYW5nZVRvQmVSZXBsYWNlZEJ5Q29ycmVjdGlvbjsKICAgICBT
dHJpbmcgbV9zdHJpbmdUb0JlUmVwbGFjZWRCeUNvcnJlY3Rpb247CisgICAgU3RyaW5nIG1fY29y
cmVjdGlvblJlcGxhY2VtZW50U3RyaW5nOwogICAgIFRpbWVyPEVkaXRvcj4gbV9jb3JyZWN0aW9u
UGFuZWxUaW1lcjsKICAgICBWaXNpYmxlU2VsZWN0aW9uIG1fbWFyazsKICAgICBib29sIG1fYXJl
TWFya2VkVGV4dE1hdGNoZXNIaWdobGlnaHRlZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>