<?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>49401</bug_id>
          
          <creation_ts>2010-11-11 12:42:30 -0800</creation_ts>
          <short_desc>Defer ScriptExecutionContext::Task&apos;s in Document when page loading is deferred</short_desc>
          <delta_ts>2012-04-23 10:52:57 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73945</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yong Li">yong.li.webkit</reporter>
          <assigned_to name="Yong Li">yong.li.webkit</assigned_to>
          <cc>abarth</cc>
    
    <cc>alice.barraclough</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pnormand</cc>
    
    <cc>rniwa</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>308069</commentid>
    <comment_count>0</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 12:42:30 -0800</bug_when>
    <thetext>2 reasons why we should do this:

1) when page loading is deferred, we are not supposed to execute JS.

2) Currently, if we perform the tasks when page loading is deferred, those JS callbacks will be discarded, because ActiveDOMObjects are all suspended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308119</commentid>
    <comment_count>1</comment_count>
      <attachid>73654</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 13:51:35 -0800</bug_when>
    <thetext>Created attachment 73654
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308121</commentid>
    <comment_count>2</comment_count>
      <attachid>73654</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 13:53:00 -0800</bug_when>
    <thetext>Comment on attachment 73654
the patch

test case should be rewritten</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308124</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-11 13:55:53 -0800</bug_when>
    <thetext>Attachment 73654 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/dom/Document.cpp&apos;, u&apos;WebCore/dom/Document.h&apos;, u&apos;WebCore/manual-tests/database-callback-deferred.html&apos;, u&apos;WebCore/page/PageGroupLoadDeferrer.cpp&apos;]&quot; exit_code: 1
WebCore/dom/Document.cpp:592:  Missing space before ( in for(  [whitespace/parens] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308128</commentid>
    <comment_count>4</comment_count>
      <attachid>73657</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 13:59:36 -0800</bug_when>
    <thetext>Created attachment 73657
updated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308130</commentid>
    <comment_count>5</comment_count>
      <attachid>73658</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-11 14:01:33 -0800</bug_when>
    <thetext>Created attachment 73658
fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308131</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-11 14:02:55 -0800</bug_when>
    <thetext>Attachment 73657 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/dom/Document.cpp&apos;, u&apos;WebCore/dom/Document.h&apos;, u&apos;WebCore/manual-tests/database-callback-deferred.html&apos;, u&apos;WebCore/page/PageGroupLoadDeferrer.cpp&apos;]&quot; exit_code: 1
WebCore/dom/Document.cpp:592:  Missing space before ( in for(  [whitespace/parens] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308220</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-11 15:39:40 -0800</bug_when>
    <thetext>Attachment 73654 did not build on mac:
Build output: http://queues.webkit.org/results/5702008</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308269</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-11 16:54:44 -0800</bug_when>
    <thetext>Attachment 73658 did not build on chromium:
Build output: http://queues.webkit.org/results/5670006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308300</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-11 17:35:00 -0800</bug_when>
    <thetext>Attachment 73658 did not build on mac:
Build output: http://queues.webkit.org/results/5771004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311446</commentid>
    <comment_count>10</comment_count>
      <attachid>74385</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-11-19 07:17:17 -0800</bug_when>
    <thetext>Created attachment 74385
remove an unused variable in test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311457</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-19 07:47:35 -0800</bug_when>
    <thetext>Attachment 74385 did not build on chromium:
Build output: http://queues.webkit.org/results/6229071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311508</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-19 09:02:45 -0800</bug_when>
    <thetext>Attachment 74385 did not build on mac:
Build output: http://queues.webkit.org/results/6197085</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311551</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-19 10:19:34 -0800</bug_when>
    <thetext>Attachment 74385 did not build on mac:
Build output: http://queues.webkit.org/results/6204053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320596</commentid>
    <comment_count>14</comment_count>
      <attachid>74385</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-10 22:21:12 -0800</bug_when>
    <thetext>Comment on attachment 74385
remove an unused variable in test case

Would break mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321139</commentid>
    <comment_count>15</comment_count>
      <attachid>76389</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-13 08:42:39 -0800</bug_when>
    <thetext>Created attachment 76389
try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321149</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 09:20:12 -0800</bug_when>
    <thetext>Attachment 76389 did not build on chromium:
Build output: http://queues.webkit.org/results/6984090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321228</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-13 10:36:59 -0800</bug_when>
    <thetext>Attachment 76389 did not build on chromium:
Build output: http://queues.webkit.org/results/6891121</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321233</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-13 10:39:48 -0800</bug_when>
    <thetext>Attachment 76389 did not build on mac:
Build output: http://queues.webkit.org/results/7042024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321239</commentid>
    <comment_count>19</comment_count>
      <attachid>76407</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-13 10:47:19 -0800</bug_when>
    <thetext>Created attachment 76407
finally found the warning that fails build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321244</commentid>
    <comment_count>20</comment_count>
      <attachid>76407</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-13 10:58:23 -0800</bug_when>
    <thetext>Comment on attachment 76407
finally found the warning that fails build

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

&gt; WebCore/dom/Document.cpp:600
&gt; +    for (size_t i = 0; i &lt; m_pendingTasks.size(); ++i)
&gt; +        delete m_pendingTasks[i];

There’s a function for this called deleteAllValues.

But more importantly, Vector&lt;OwnPtr&gt; works just fine, so we should use it here rather than ll those leakPtr calls.

&gt; WebCore/dom/Document.cpp:4696
&gt; -static void performTask(void* ctx)
&gt; +void Document::didReceiveTask(void* ctx)

Lets use a word here instead of the “ctx” abbreviation. Maybe contextPtr? Yes, that uses an abbrevation too, so I may be a hypocrite.

&gt; WebCore/dom/Document.cpp:4700
&gt; +    OwnPtr&lt;PerformTaskContext&gt; context(reinterpret_cast&lt;PerformTaskContext*&gt;(ctx));

This should be using adoptPtr and should use static_cast rather than reinterpret_cast.

&gt; WebCore/dom/Document.cpp:4728
&gt; +        OwnPtr&lt;Task&gt; task(m_pendingTasks[0]);

This should use adoptPtr, but would actually use release if it was a Vector&lt;OwnPtr&gt;.

Since we use this by adding to the end and removing from the start, this should be a Deque rather than a Vector. If it was a Deque we could probably use the takeFirst function rather than writing it like this.

&gt; WebCore/dom/Document.cpp:4738
&gt; +    suspendActiveDOMObjects(ActiveDOMObject::WillShowDialog);
&gt; +    asyncScriptRunner()-&gt;suspend();
&gt; +    m_pendingTasksTimer.stop();

Perhaps suspendActiveDOMObjects could be made private now?

&gt; WebCore/dom/Document.cpp:4746
&gt; +    resumeActiveDOMObjects();

Perhaps resumeActiveDOMObjects could be made private now?

&gt; WebCore/dom/Document.h:1067
&gt; +    virtual void willDeferLoading();
&gt; +    virtual void didResumeLoading();

Why are these functions virtual?

It would be better if these names paired up a bit better.

&gt; WebCore/page/PageGroupLoadDeferrer.cpp:50
&gt; -                for (Frame* frame = otherPage-&gt;mainFrame(); frame; frame = frame-&gt;tree()-&gt;traverseNext()) {
&gt; -                    frame-&gt;document()-&gt;suspendActiveDOMObjects(ActiveDOMObject::WillShowDialog);
&gt; -                    frame-&gt;document()-&gt;asyncScriptRunner()-&gt;suspend();
&gt; -                }
&gt; +                for (Frame* frame = otherPage-&gt;mainFrame(); frame; frame = frame-&gt;tree()-&gt;traverseNext())
&gt; +                    frame-&gt;document()-&gt;willDeferLoading();

Each frame already gets a call about deferring loading in response to the Page::setDefersLoading call. Specifically, FrameLoader::setDefersLoading. Could we put the responsibility for calling these functions there? Is there some other call site that calls setDefersLoading but does not want this additional work to be done?

I find the willDefer and didResume names a little confusing and this is existing code is strangely disconnected from the main setDefersLoading feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321301</commentid>
    <comment_count>21</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-13 11:54:17 -0800</bug_when>
    <thetext>(In reply to comment #20)

Many cool ideas. Working on another patch.

suspendActiveDOMObjects cannot be private because it is from parent class: ScriptExecutionContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321394</commentid>
    <comment_count>22</comment_count>
      <attachid>76435</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-13 14:07:26 -0800</bug_when>
    <thetext>Created attachment 76435
updated

cannot use Deque&lt;OwnPtr&lt;T&gt; &gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321502</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-13 15:38:25 -0800</bug_when>
    <thetext>Attachment 76435 did not build on chromium:
Build output: http://queues.webkit.org/results/6993098</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321976</commentid>
    <comment_count>24</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-14 08:20:08 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; Attachment 76435 [details] did not build on chromium:
&gt; Build output: http://queues.webkit.org/results/6993098

I don&apos;t think it is caused by this patch. Where can I find the detailed error message?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322089</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 11:56:08 -0800</bug_when>
    <thetext>You can re-post the patch, we recently fixed a logging problem with the mac-based EWS bots.  Hopefully they&apos;ll show errors better now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322152</commentid>
    <comment_count>26</comment_count>
      <attachid>76562</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-14 13:17:00 -0800</bug_when>
    <thetext>Created attachment 76562
rerun builtbot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325118</commentid>
    <comment_count>27</comment_count>
      <attachid>76562</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-21 11:51:30 -0800</bug_when>
    <thetext>Comment on attachment 76562
rerun builtbot

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

Change looks OK, but this is a super-tricky area; I’d prefer it if we had more tests.

&gt; WebCore/dom/Document.cpp:4693
&gt; +void Document::didReceiveTask(void* rawContext)

I used the name “untypedContext” for this when I recently wrote some code using the same idiom. Your name is good too. Just wanted to share mine.

&gt; WebCore/dom/Document.cpp:4710
&gt; +        document-&gt;m_pendingTasks.append(context-&gt;task.leakPtr());

The leakPtr here is not what you want. You want to call release here instead. This only compiles because of LOOSE_OWN_PTR.

&gt; WebCore/dom/Document.cpp:4728
&gt; +    while (!m_pendingTasks.isEmpty()) {
&gt; +        OwnPtr&lt;Task&gt; task = m_pendingTasks[0].release();
&gt; +        m_pendingTasks.remove(0);
&gt; +        task-&gt;performTask(this);
&gt; +    }

This function is an argument for using the Deque class. Deque has a takeFirst function that is perfect for idioms like this.

&gt; WebCore/loader/FrameLoader.cpp:260
&gt; +    // This code is not logically part of load deferring, but we do not want JS code executed beneath modal
&gt; +    // windows or sheets, which is exactly when PageGroupLoadDeferrer is used.
&gt; +    // NOTE: if PageGroupLoadDeferrer is ever used for tasks other than showing a modal window or sheet,

It no longer makes sense to mention PageGroupLoadDeferrer here. This comment is now far enough away from PageGroupLoadDeferrer that people will not see the comment.

The word “if” should be capitalized here at the start of a sentence.

&gt; WebCore/loader/FrameLoader.cpp:265
&gt; +    if (defers)
&gt; +        m_frame-&gt;document()-&gt;suspendScheduledTasks();
&gt; +    else
&gt; +        m_frame-&gt;document()-&gt;resumeScheduledTasks();

What’s the guarantee that we won’t change the document of a frame while suspended? If we don’t have that guarantee we could end up calling suspendScheduledTasks on a document and never calling resumeScheduledTasks on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325165</commentid>
    <comment_count>28</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-21 13:19:01 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 76562 [details])
&gt; &gt; WebCore/dom/Document.cpp:4710
&gt; &gt; +        document-&gt;m_pendingTasks.append(context-&gt;task.leakPtr());
&gt; The leakPtr here is not what you want. You want to call release here instead. This only compiles because of LOOSE_OWN_PTR.

forgot that I&apos;m using Vector&lt;OwnPtr&gt; now.

&gt; &gt; WebCore/dom/Document.cpp:4728
&gt; &gt; +    while (!m_pendingTasks.isEmpty()) {
&gt; &gt; +        OwnPtr&lt;Task&gt; task = m_pendingTasks[0].release();
&gt; &gt; +        m_pendingTasks.remove(0);
&gt; &gt; +        task-&gt;performTask(this);
&gt; &gt; +    }
&gt; This function is an argument for using the Deque class. Deque has a takeFirst function that is perfect for idioms like this.

I tried Deque&lt;OwnPtr&gt;, but it doesn&apos;t compile. Probably it is worth reporting another bug.

&gt; &gt; WebCore/loader/FrameLoader.cpp:265
&gt; &gt; +    if (defers)
&gt; &gt; +        m_frame-&gt;document()-&gt;suspendScheduledTasks();
&gt; &gt; +    else
&gt; &gt; +        m_frame-&gt;document()-&gt;resumeScheduledTasks();
&gt; What’s the guarantee that we won’t change the document of a frame while suspended? If we don’t have that guarantee we could end up calling suspendScheduledTasks on a document and never calling resumeScheduledTasks on it.

From my understanding, when loading is deferred (for example a modal dialog is up), frame should never change its document except there is another bug, because if it can open new document, it must also be able to run JS, load resources, ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325191</commentid>
    <comment_count>29</comment_count>
      <attachid>77150</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2010-12-21 14:02:14 -0800</bug_when>
    <thetext>Created attachment 77150
updated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325300</commentid>
    <comment_count>30</comment_count>
      <attachid>77150</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-21 17:42:52 -0800</bug_when>
    <thetext>Comment on attachment 77150
updated

Rejecting attachment 77150 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 77150]&quot; exit_code: 2
Last 500 characters of output:
 with fuzz 2 (offset 5 lines).
Hunk #2 succeeded at 1137 (offset -2 lines).
Hunk #3 succeeded at 1388 (offset -3 lines).
patching file WebCore/loader/FrameLoader.cpp
patching file WebCore/manual-tests/database-callback-deferred.html
patching file WebCore/page/PageGroupLoadDeferrer.cpp
Hunk #1 FAILED at 40.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/page/PageGroupLoadDeferrer.cpp.rej

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

Full output: http://queues.webkit.org/results/7303085</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329148</commentid>
    <comment_count>31</comment_count>
      <attachid>77919</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-01-04 12:55:13 -0800</bug_when>
    <thetext>Created attachment 77919
fix merge error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329149</commentid>
    <comment_count>32</comment_count>
      <attachid>77920</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-01-04 12:56:15 -0800</bug_when>
    <thetext>Created attachment 77920
the right one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329453</commentid>
    <comment_count>33</comment_count>
      <attachid>77920</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-04 23:34:57 -0800</bug_when>
    <thetext>Comment on attachment 77920
the right one

Rejecting attachment 77920 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-sf-cq&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 77920]&quot; exit_code: 2
Last 500 characters of output:
bCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/dom/Document.cpp
patching file WebCore/dom/Document.h
patching file WebCore/loader/FrameLoader.cpp
patching file WebCore/manual-tests/database-callback-deferred.html
patching file WebCore/page/PageGroupLoadDeferrer.cpp
Hunk #1 FAILED at 40.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/page/PageGroupLoadDeferrer.cpp.rej

Failed to run &quot;[u&apos;/Projects/CommitQueue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7266419</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329748</commentid>
    <comment_count>34</comment_count>
      <attachid>78032</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-01-05 13:22:04 -0800</bug_when>
    <thetext>Created attachment 78032
try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329962</commentid>
    <comment_count>35</comment_count>
      <attachid>78032</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-05 18:23:59 -0800</bug_when>
    <thetext>Comment on attachment 78032
try again

Rejecting attachment 78032 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;build-and-test&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--test&apos;, &apos;--non-interactive&apos;]&quot; exit_code: 2
Last 500 characters of output:
....................................
fast/text/whitespace ..........................................
fast/tokenizer ........................................
fast/transforms ........................
fast/url ....................
fast/workers .........................
fast/workers/worker-close-more.html -&gt; failed

Exiting early after 1 failures. 16401 tests run.
320.18s total testing time

16400 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
6 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/7200441</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329967</commentid>
    <comment_count>36</comment_count>
      <attachid>78032</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-05 18:28:59 -0800</bug_when>
    <thetext>Comment on attachment 78032
try again

It&apos;s possible that simply flaked twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330011</commentid>
    <comment_count>37</comment_count>
      <attachid>78032</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-05 21:04:51 -0800</bug_when>
    <thetext>Comment on attachment 78032
try again

Rejecting attachment 78032 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;build-and-test&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--test&apos;, &apos;--non-interactive&apos;]&quot; exit_code: 2
Last 500 characters of output:
....................................
fast/text/whitespace ..........................................
fast/tokenizer ........................................
fast/transforms ........................
fast/url ....................
fast/workers .........................
fast/workers/worker-close-more.html -&gt; failed

Exiting early after 1 failures. 16401 tests run.
339.88s total testing time

16400 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
7 test cases (&lt;1%) had stderr output

Full output: http://queues.webkit.org/results/7362002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330132</commentid>
    <comment_count>38</comment_count>
      <attachid>78117</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-01-06 07:20:38 -0800</bug_when>
    <thetext>Created attachment 78117
ertry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330176</commentid>
    <comment_count>39</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-01-06 09:17:26 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; (From update of attachment 78032 [details])
&gt; It&apos;s possible that simply flaked twice.

seems it is a real issue. where can I find the actual result?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330210</commentid>
    <comment_count>40</comment_count>
      <attachid>78129</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-01-06 10:40:25 -0800</bug_when>
    <thetext>Created attachment 78129
Change the expected result of worker-close-more test

The only change is to add this line to the expected result of worker-close-more test:

CONSOLE MESSAGE: line 31: JavaScript execution exceeded timeout

This message is caused by the 31st line in worker-close.js: while (true) { }

So I think it was just missed and now we can catch it.

However I haven&apos;t been able to see the result diff on the bots... not sure if it is the same story.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342898</commentid>
    <comment_count>41</comment_count>
      <attachid>76562</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-31 16:07:26 -0800</bug_when>
    <thetext>Comment on attachment 76562
rerun builtbot

Cleared Darin Adler&apos;s review+ from obsolete attachment 76562 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352037</commentid>
    <comment_count>42</comment_count>
      <attachid>78129</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-02-16 06:50:55 -0800</bug_when>
    <thetext>Comment on attachment 78129
Change the expected result of worker-close-more test

I&apos;ll update the patch because the files are moved to Source now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352110</commentid>
    <comment_count>43</comment_count>
      <attachid>82647</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-02-16 08:53:02 -0800</bug_when>
    <thetext>Created attachment 82647
Based on latest code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352174</commentid>
    <comment_count>44</comment_count>
      <attachid>82647</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-02-16 10:26:12 -0800</bug_when>
    <thetext>Comment on attachment 82647
Based on latest code

still fail the test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352182</commentid>
    <comment_count>45</comment_count>
      <attachid>82660</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-02-16 10:41:36 -0800</bug_when>
    <thetext>Created attachment 82660
Let commit log test the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352260</commentid>
    <comment_count>46</comment_count>
      <attachid>82660</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-02-16 12:35:14 -0800</bug_when>
    <thetext>Comment on attachment 82660
Let commit log test the patch

Darnn. still fail the test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361915</commentid>
    <comment_count>47</comment_count>
      <attachid>82647</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 14:02:08 -0800</bug_when>
    <thetext>Comment on attachment 82647
Based on latest code

Rejecting attachment 82647 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
t.h
Hunk #1 succeeded at 1119 with fuzz 2 (offset 10 lines).
Hunk #2 succeeded at 1168 (offset 10 lines).
Hunk #3 FAILED at 1431.
1 out of 3 hunks FAILED -- saving rejects to file Source/WebCore/dom/Document.h.rej
patching file Source/WebCore/loader/FrameLoader.cpp
patching file Source/WebCore/manual-tests/database-callback-deferred.html
patching file Source/WebCore/page/PageGroupLoadDeferrer.cpp

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

Full output: http://queues.webkit.org/results/8084426</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361965</commentid>
    <comment_count>48</comment_count>
      <attachid>84630</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-03-03 14:49:19 -0800</bug_when>
    <thetext>Created attachment 84630
up-to-date</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363364</commentid>
    <comment_count>49</comment_count>
      <attachid>84950</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-03-07 09:06:48 -0800</bug_when>
    <thetext>Created attachment 84950
Try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363411</commentid>
    <comment_count>50</comment_count>
      <attachid>84950</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-07 10:55:14 -0800</bug_when>
    <thetext>Comment on attachment 84950
Try again

Clearing flags on attachment: 84950

Committed r80478: &lt;http://trac.webkit.org/changeset/80478&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363412</commentid>
    <comment_count>51</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-07 10:55:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363422</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-07 11:10:55 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/80478 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363429</commentid>
    <comment_count>53</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-03-07 11:20:39 -0800</bug_when>
    <thetext>(In reply to comment #52)
&gt; http://trac.webkit.org/changeset/80478 might have broken Qt Linux Release

buildfix landed in http://trac.webkit.org/changeset/80480</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363790</commentid>
    <comment_count>54</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-07 20:31:58 -0800</bug_when>
    <thetext>It seems like 16 inspector tests have been crashing sine this patch is landed:
http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug/builds/20099
http://build.webkit.org/results/GTK%20Linux%2064-bit%20Debug/r80480%20(20099)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363809</commentid>
    <comment_count>55</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-03-07 21:39:58 -0800</bug_when>
    <thetext>Here&apos;s what I believe is the stack for these crashes:


#0  0x00007fdb4d7c11b6 in WebCore::SuspendableTimer::suspend (this=0x7fdb3c003ab0) at ../../Source/WebCore/page/SuspendableTimer.cpp:62
62	    ASSERT(!m_suspended);

#1  0x00007fdb4d43be0a in WebCore::ScriptExecutionContext::suspendActiveDOMObjects (this=0x7fdb3c00a808, why=WebCore::ActiveDOMObject::JavaScriptDebuggerPaused) at ../../Source/WebCore/dom/ScriptExecutionContext.cpp:247
#2  0x00007fdb4d233040 in WebCore::ScriptDebugServer::setJavaScriptPaused (this=0x20d9660, frame=0x1ade000, paused=true) at ../../Source/WebCore/bindings/js/ScriptDebugServer.cpp:413
#3  0x00007fdb4d232f38 in WebCore::ScriptDebugServer::setJavaScriptPaused (this=0x20d9660, page=0x1ad1ac0, paused=true) at ../../Source/WebCore/bindings/js/ScriptDebugServer.cpp:398
#4  0x00007fdb4d232e5f in WebCore::ScriptDebugServer::setJavaScriptPaused (this=0x20d9660, pageGroup=..., paused=true) at ../../Source/WebCore/bindings/js/ScriptDebugServer.cpp:388
#5  0x00007fdb4d233542 in WebCore::ScriptDebugServer::pauseIfNeeded (this=0x20d9660, page=0x1ad1ac0) at ../../Source/WebCore/bindings/js/ScriptDebugServer.cpp:478
#6  0x00007fdb4d2333a9 in WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded (this=0x20d9660, debuggerCallFrame=..., sourceID=40408256, lineNumber=10) at ../../Source/WebCore/bindings/js/ScriptDebugServer.cpp:454
#7  0x00007fdb4d233980 in WebCore::ScriptDebugServer::didReachBreakpoint (this=0x20d9660, debuggerCallFrame=..., sourceID=40408256, lineNumber=10) at ../../Source/WebCore/bindings/js/ScriptDebugServer.cpp:560
#8  0x00007fdb4df40350 in JSC::Interpreter::debug (this=0x20d82d0, callFrame=0x7fdafb9fd038, debugHookID=JSC::DidReachBreakpoint, firstLine=10, lastLine=10) at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:1186
#9  0x00007fdb4df7a4a5 in JSC::cti_op_debug (args=0x7fff74a467d0) at ../../Source/JavaScriptCore/jit/JITStubs.cpp:3458
#10 0x00007fdb4df6e6a3 in JSC::JITThunks::tryCacheGetByID (callFrame=0x7fff74a467d0, codeBlock=0x7fff74a467d0, returnAddress=..., baseValue=..., propertyName=..., slot=..., stubInfo=0x1abbe00) at ../../Source/JavaScriptCore/jit/JITStubs.cpp:869
#11 0x00007fdb4df41683 in JSC::JITCode::execute (this=0x256a128, registerFile=0x20d82e8, callFrame=0x7fdafb9fd038, globalData=0x1abbe00) at ../../Source/JavaScriptCore/jit/JITCode.h:77
#12 0x00007fdb4df3e753 in JSC::Interpreter::executeCall (this=0x20d82d0, callFrame=0x21f8408, function=0x7fdb4fb48d90, callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/JavaScriptCore/interpreter/Interpreter.cpp:844
#13 0x00007fdb4dfcb898 in JSC::call (exec=0x21f8408, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/JavaScriptCore/runtime/CallData.cpp:38
#14 0x00007fdb4d1c36c7 in WebCore::JSMainThreadExecState::call (exec=0x21f8408, functionObject=..., callType=JSC::CallTypeJS, callData=..., thisValue=..., args=...) at ../../Source/WebCore/bindings/js/JSMainThreadExecState.h:48
#15 0x00007fdb4d223aca in WebCore::ScheduledAction::executeFunctionInContext (this=0x2f2d050, globalObject=0x7fdafb178c78, thisValue=..., context=0x7fdb3c00a808) at ../../Source/WebCore/bindings/js/ScheduledAction.cpp:106
#16 0x00007fdb4d223cbc in WebCore::ScheduledAction::execute (this=0x2f2d050, document=0x7fdb3c00a7a0) at ../../Source/WebCore/bindings/js/ScheduledAction.cpp:128
#17 0x00007fdb4d223886 in WebCore::ScheduledAction::execute (this=0x2f2d050, context=0x7fdb3c00a808) at ../../Source/WebCore/bindings/js/ScheduledAction.cpp:76
#18 0x00007fdb4d7520d1 in WebCore::DOMTimer::fired (this=0x2ecc510) at ../../Source/WebCore/page/DOMTimer.cpp:130
#19 0x00007fdb4d879718 in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x1b06c00) at ../../Source/WebCore/platform/ThreadTimers.cpp:112
#20 0x00007fdb4d87964f in WebCore::ThreadTimers::sharedTimerFired () at ../../Source/WebCore/platform/ThreadTimers.cpp:90
#21 0x00007fdb4d05b0fa in WebCore::timeout_cb () at ../../Source/WebCore/platform/gtk/SharedTimerGtk.cpp:49
#22 0x00007fdb4a25fdbb in g_timeout_dispatch (source=0x2712720, callback=0, user_data=0x7fdb490d5e00) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3877
#23 0x00007fdb4a25f362 in g_main_dispatch (context=0xffff000000000002) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:2440
#24 g_main_context_dispatch (context=0xffff000000000002) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3013
#25 0x00007fdb4a263a28 in g_main_context_iterate (context=0x1a52760, block=&lt;value optimized out&gt;, dispatch=&lt;value optimized out&gt;, self=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3091
#26 0x00007fdb4a263f35 in g_main_loop_run (loop=0x7fdb3c001f40) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3299
#27 0x00007fdb4c198657 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#28 0x000000000041e485 in runTest (testPathOrURL=...) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:679
#29 0x000000000041db17 in runTestingServerLoop () at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:489
#30 0x000000000041fbfc in main (argc=2, argv=0x7fff74a479e8) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1143</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363903</commentid>
    <comment_count>56</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-03-08 01:37:15 -0800</bug_when>
    <thetext>Is someone looking at the inspector crashes caused by this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364481</commentid>
    <comment_count>57</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-09 07:10:35 -0800</bug_when>
    <thetext>This change broke inspector debugger tests on the Leopard Debug Tests bot. 

#0  WebCore::SuspendableTimer::suspend (this=0x1196c26a0) at Source/WebCore/page/SuspendableTimer.cpp:62
#1  0x0000000101b349cf in WebCore::ScriptExecutionContext::suspendActiveDOMObjects (this=0x1073cc668, why=WebCore::ActiveDOMObject::WillShowDialog) at Source/WebCore/dom/ScriptExecutionContext.cpp:247
#2  0x00000001011c13fc in WebCore::Document::suspendScheduledTasks (this=0x1073cc600) at Source/WebCore/dom/Document.cpp:4758
#3  0x00000001013785ae in WebCore::FrameLoader::setDefersLoading (this=0x10607e8b8, defers=true) at Source/WebCore/loader/FrameLoader.cpp:260
#4  0x00000001019187c1 in WebCore::Page::setDefersLoading (this=0x105e83e10, defers=true) at Source/WebCore/page/Page.cpp:549
#5  0x0000000101b276fc in WebCore::ScriptDebugServer::setJavaScriptPaused (this=0x105ed9920, page=0x105e83e10, paused=true) at Source/WebCore/bindings/js/ScriptDebugServer.cpp:395
#6  0x0000000101b277ad in WebCore::ScriptDebugServer::setJavaScriptPaused (this=0x105ed9920, pageGroup=@0x105e6b280, paused=true) at Source/WebCore/bindings/js/ScriptDebugServer.cpp:388
#7  0x0000000101b2835f in WebCore::ScriptDebugServer::pauseIfNeeded (this=0x105ed9920, page=0x105e83e10) at Source/WebCore/bindings/js/ScriptDebugServer.cpp:478
#8  0x0000000101b28501 in WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded (this=0x105ed9920, debuggerCallFrame=@0x7fff5fbfe0e0, sourceID=4407861248, lineNumber=13) at Source/WebCore/bindings/js/ScriptDebugServer.cpp:454
#9  0x0000000101b2854d in WebCore::ScriptDebugServer::didReachBreakpoint (this=0x105ed9920, debuggerCallFrame=@0x7fff5fbfe0e0, sourceID=4407861248, lineNumber=13) at Source/WebCore/bindings/js/ScriptDebugServer.cpp:560
#10 0x00000001001bfb20 in JSC::Interpreter::debug (this=0x106b2e9c0, callFrame=0x1186bc038, debugHookID=JSC::DidReachBreakpoint, firstLine=13, lastLine=13) at Interpreter.cpp:1186
#11 0x00000001001e82e7 in cti_op_debug (args=0x7fff5fbfe1c0) at JITStubs.cpp:3460
#12 0x00000001001e73ef in WTF::doubleHash (key=Could not find the frame base for &quot;WTF::doubleHash(unsigned int)&quot;.
) at HashTable.h:447
#13 0x00000001001c58b1 in JSC::JITCode::execute (this=0x106fff9b8, registerFile=0x106b2e9d8, callFrame=0x1186bc038, globalData=0x107026000) at JITCode.h:77
#14 0x00000001001c055a in JSC::Interpreter::executeCall (this=0x106b2e9c0, callFrame=0x11d1967b8, function=0x118e8f180, callType=JSC::CallTypeJS, callData=@0x7fff5fbfe5e0, thisValue={m_ptr = 0x118e73440}, args=@0x7fff5fbfe5d0) at Interpreter.cpp:844
#15 0x000000010017b9b1 in JSC::call (exec=0x11d1967b8, functionObject={m_ptr = 0x118e8f180}, callType=JSC::CallTypeJS, callData=@0x7fff5fbfe5e0, thisValue={m_ptr = 0x118e73440}, args=@0x7fff5fbfe5d0) at CallData.cpp:38
#16 0x0000000101cfa451 in WebCore::JSMainThreadExecState::call (exec=0x11d1967b8, functionObject={m_ptr = 0x118e8f180}, callType=JSC::CallTypeJS, callData=@0x7fff5fbfe5e0, thisValue={m_ptr = 0x118e73440}, args=@0x7fff5fbfe5d0) at JSMainThreadExecState.h:48
#17 0x0000000101b18884 in WebCore::ScheduledAction::executeFunctionInContext (this=0x11a4723d0, globalObject=0x118ae65c8, thisValue={m_ptr = 0x118e73440}, context=0x1073cc668) at Source/WebCore/bindings/js/ScheduledAction.cpp:106
#18 0x0000000101b18dfc in WebCore::ScheduledAction::execute (this=0x11a4723d0, document=0x1073cc600) at Source/WebCore/bindings/js/ScheduledAction.cpp:128
#19 0x0000000101b18ed0 in WebCore::ScheduledAction::execute (this=0x11a4723d0, context=0x1073cc668) at Source/WebCore/bindings/js/ScheduledAction.cpp:76
#20 0x00000001012ac1d5 in WebCore::DOMTimer::fired (this=0x11d180c40) at Source/WebCore/page/DOMTimer.cpp:130
#21 0x0000000101cae3ea in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x105e6ac50) at Source/WebCore/platform/ThreadTimers.cpp:112
#22 0x0000000101cae605 in WebCore::ThreadTimers::sharedTimerFired () at Source/WebCore/platform/ThreadTimers.cpp:90
#23 0x0000000101b7fd08 in WebCore::timerFired () at Source/WebCore/platform/mac/SharedTimerMac.mm:166
#24 0x00007fff870c9678 in __CFRunLoopRun ()
#25 0x00007fff870c784f in CFRunLoopRunSpecific ()
#26 0x00007fff86e45a18 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
#27 0x00000001000116d1 in runTest (testPathOrURL=@0x7fff5fbff2e0) at Tools/DumpRenderTree/mac/DumpRenderTree.mm:1127
#28 0x0000000100011bc8 in runTestingServerLoop () at Tools/DumpRenderTree/mac/DumpRenderTree.mm:615
#29 0x0000000100011fe2 in dumpRenderTree (argc=2, argv=0x7fff5fbffbf8) at Tools/DumpRenderTree/mac/DumpRenderTree.mm:671
#30 0x0000000100012204 in main (argc=2, argv=0x7fff5fbffbf8) at Tools/DumpRenderTree/mac/DumpRenderTree.mm:712


inspector/console/console-api-on-call-frame.html -&gt; crashed
...................
inspector/debugger .
inspector/debugger/debug-inlined-scripts.html -&gt; crashed
...
inspector/debugger/debugger-cyclic-ref.html -&gt; crashed
.
inspector/debugger/debugger-eval-on-call-frame.html -&gt; crashed
.
inspector/debugger/debugger-eval-while-paused.html -&gt; crashed
.
inspector/debugger/debugger-expand-scope.html -&gt; crashed
.
inspector/debugger/debugger-no-nested-pause.html -&gt; crashed
.
inspector/debugger/debugger-pause-in-eval-script.html -&gt; crashed
.
inspector/debugger/debugger-pause-on-breakpoint.html -&gt; crashed
.
inspector/debugger/debugger-pause-on-debugger-statement.html -&gt; crashed
.
inspector/debugger/debugger-pause-on-exception.html -&gt; crashed
.
inspector/debugger/debugger-proto-property.html -&gt; crashed
..
inspector/debugger/debugger-step-in.html -&gt; crashed
.
inspector/debugger/debugger-step-out.html -&gt; crashed
.
inspector/debugger/debugger-step-over.html -&gt; crashed
.
inspector/debugger/debugger-suspend-active-dom-objects.html -&gt; crashed
..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364489</commentid>
    <comment_count>58</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-03-09 07:17:35 -0800</bug_when>
    <thetext>(In reply to comment #57)
&gt; This change broke inspector debugger tests on the Leopard Debug Tests bot. 
&gt; 

Pavel, see patch in bug 55941.

It fixes the inspector tests on GTK at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364994</commentid>
    <comment_count>59</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-03-09 22:20:28 -0800</bug_when>
    <thetext>This checkin seems to have caused bug 56073</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364999</commentid>
    <comment_count>60</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-09 22:33:54 -0800</bug_when>
    <thetext>(In reply to comment #59)
&gt; This checkin seems to have caused bug 56073

Given inspector breakage and now engadget.com breakage, do we want to roll it out? If Leopard Debug bots were alive at the time of the commit, this would have been rolled out immediately. So if I hear no objections, I&apos;ll roll it out in couple of hours and reopen the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365152</commentid>
    <comment_count>61</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-10 07:18:38 -0800</bug_when>
    <thetext>Rolled out as r80718

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	D	Source/WebCore/manual-tests/database-callback-deferred.html
	M	LayoutTests/ChangeLog
	M	LayoutTests/platform/gtk/Skipped
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/dom/Document.cpp
	M	Source/WebCore/dom/Document.h
	M	Source/WebCore/loader/FrameLoader.cpp
	M	Source/WebCore/page/PageGroupLoadDeferrer.cpp
Committed r80718</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365521</commentid>
    <comment_count>62</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-03-10 14:03:33 -0800</bug_when>
    <thetext>These regressions also mean PageGroupLoadDeferrer is frequently used by WebKit2 / inspector, so the patch is really needed. Regressions should be fixed though</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516708</commentid>
    <comment_count>63</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-12-07 10:18:19 -0800</bug_when>
    <thetext>Now I got it. My patch moves the following lines to FrameLoader::setDefersLoading, then Page::setDefersLoading() runs them. If someone calls Page::setDefersLoading() directly, it will conflict with PageGroupLoadDeferrer.

                for (Frame* frame = otherPage-&gt;mainFrame(); frame; frame = frame-&gt;tree()-&gt;traverseNext()) {
                    frame-&gt;document()-&gt;suspendScriptedAnimationControllerCallbacks();
                    frame-&gt;document()-&gt;suspendActiveDOMObjects(ActiveDOMObject::WillShowDialog);
                    frame-&gt;document()-&gt;scriptRunner()-&gt;suspend();
                    if (DocumentParser* parser = frame-&gt;document()-&gt;parser())
                        parser-&gt;suspendScheduledTasks();
                }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516743</commentid>
    <comment_count>64</comment_count>
      <attachid>118230</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-12-07 10:47:28 -0800</bug_when>
    <thetext>Created attachment 118230
Remove the part that causes conflict with other callers of Page::setDefersLoading().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516757</commentid>
    <comment_count>65</comment_count>
      <attachid>118230</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-07 11:03:07 -0800</bug_when>
    <thetext>Comment on attachment 118230
Remove the part that causes conflict with other callers of Page::setDefersLoading().

Attachment 118230 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10753211</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516766</commentid>
    <comment_count>66</comment_count>
      <attachid>118230</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 11:12:23 -0800</bug_when>
    <thetext>Comment on attachment 118230
Remove the part that causes conflict with other callers of Page::setDefersLoading().

Attachment 118230 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10767138</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516778</commentid>
    <comment_count>67</comment_count>
      <attachid>118241</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2011-12-07 11:30:02 -0800</bug_when>
    <thetext>Created attachment 118241
fix the &amp;&amp; || warning</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516953</commentid>
    <comment_count>68</comment_count>
      <attachid>118241</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 15:41:36 -0800</bug_when>
    <thetext>Comment on attachment 118241
fix the &amp;&amp; || warning

Clearing flags on attachment: 118241

Committed r102278: &lt;http://trac.webkit.org/changeset/102278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516954</commentid>
    <comment_count>69</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 15:41:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607836</commentid>
    <comment_count>70</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-04-23 10:52:57 -0700</bug_when>
    <thetext>&gt;If someone calls Page::setDefersLoading() directly, it will conflict with PageGroupLoadDeferrer.

It&apos;s unfortunate that a bit of exploration wasn&apos;t made to demonstrate that Page::setDefersLoading() has been used directly in WebKit API/SPI since the beginning of the WebKit open source project.

(See bug https://bugs.webkit.org/show_bug.cgi?id=84488)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73654</attachid>
            <date>2010-11-11 13:51:35 -0800</date>
            <delta_ts>2010-11-11 13:59:36 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7465</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWI1MzljNy4uY2I5ZTIyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMC0yMSAgWW9uZyBMaSAg
PHlvbGlAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCAzMWQ3ZDFmLi40N2I1ZGYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MTMsNiArNDEzLDcg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29s
IGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lcih0
aGlzLCAmRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCkKICAgICAsIG1fZGlyZWN0
aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dyaXRpbmdNb2RlU2V0T25E
b2N1bWVudEVsZW1lbnQoZmFsc2UpCisgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZE
b2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhp
czsKIApAQCAtNTc2LDYgKzU3Nyw5IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgICAgICBt
X3N0eWxlU2hlZXRzLT5kb2N1bWVudERlc3Ryb3llZCgpOwogCiAgICAgbV93ZWFrUmVmZXJlbmNl
LT5jbGVhcigpOworCisgICAgZm9yKGludCBpID0gMDsgaSA8IG1fcGVuZGluZ1Rhc2tzLnNpemUo
KTsgKytpKQorICAgICAgICBkZWxldGUgbV9wZW5kaW5nVGFza3NbaV07CiB9CiAKICNpZiBVU0Uo
SlNDKQpAQCAtNDYzNCwyMiArNDYzOCw1NyBAQCBzdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDog
Tm9uY29weWFibGUgewogICAgIE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0
YXNrOwogfTsKIAotc3RhdGljIHZvaWQgcGVyZm9ybVRhc2sodm9pZCogY3R4KQordm9pZCBEb2N1
bWVudDo6ZGlkUmVjZWl2ZVRhc2sodm9pZCogY3R4KQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CiAKLSAgICBQZXJmb3JtVGFza0NvbnRleHQqIGNvbnRleHQgPSByZWludGVycHJldF9j
YXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCk7CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29u
dGV4dD4gY29udGV4dChyZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCkp
OwogICAgIEFTU0VSVChjb250ZXh0KTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBj
b250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgY29udGV4dC0+
dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNv
bnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpOworCisgICAgaWYgKCFkb2N1bWVu
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7
CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CiAKLSAgICBkZWxldGUgY29udGV4dDsK
KyAgICBpZiAocGFnZS0+ZGVmZXJzTG9hZGluZygpIHx8ICFkb2N1bWVudC0+bV9wZW5kaW5nVGFz
a3MuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5hcHBlbmQo
Y29udGV4dC0+dGFzay5sZWFrUHRyKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Y29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOwogfQogCiB2b2lkIERvY3VtZW50
Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spCiB7Ci0gICAgY2FsbE9uTWFpblRocmVh
ZChwZXJmb3JtVGFzaywgbmV3IFBlcmZvcm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRh
c2spKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRh
c2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworfQorCit2b2lkIERvY3VtZW50Ojpw
ZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCit7CisgICAgd2hpbGUgKCFt
X3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgT3duUHRyPFRhc2s+IHRhc2sobV9w
ZW5kaW5nVGFza3NbMF0pOworICAgICAgICBtX3BlbmRpbmdUYXNrcy5yZW1vdmUoMCk7CisgICAg
ICAgIHRhc2stPnBlcmZvcm1UYXNrKHRoaXMpOworICAgIH0KK30KKwordm9pZCBEb2N1bWVudDo6
d2lsbERlZmVyTG9hZGluZygpCit7CisgICAgc3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0aXZl
RE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+c3Vz
cGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOworfQorCit2b2lkIERvY3Vt
ZW50OjpkaWRSZXN1bWVMb2FkaW5nKCkKK3sKKyAgICBpZiAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1w
dHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
YXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CisgICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0
cygpOwogfQogCiBFbGVtZW50KiBEb2N1bWVudDo6ZmluZEFuY2hvcihjb25zdCBTdHJpbmcmIG5h
bWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA4Y2M2MjcyLi5jZGQ0NGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEwNDgsNiArMTA0OCw5
IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcoKSBjb25zdCB7
IHJldHVybiAmbV9kb2N1bWVudFRpbWluZzsgfQogCisgICAgdmlydHVhbCB2b2lkIHdpbGxEZWZl
ckxvYWRpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVzdW1lTG9hZGluZygpOworCiBwcm90
ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRN
TCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMTE4
LDYgKzExMjEsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgbG9hZEV2ZW50RGVsYXlUaW1lckZp
cmVkKFRpbWVyPERvY3VtZW50PiopOwogCisgICAgdm9pZCBwZW5kaW5nVGFza3NUaW1lckZpcmVk
KFRpbWVyPERvY3VtZW50PiopOworCisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9p
ZCopOworCiAgICAgT3duUHRyPENTU1N0eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAg
ICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5bGVTZWxlY3RvcjsKIApAQCAtMTM2Myw2ICsxMzcwLDkg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fd3JpdGluZ01vZGVTZXRPbkRvY3VtZW50RWxlbWVudDsK
IAogICAgIERvY3VtZW50VGltaW5nIG1fZG9jdW1lbnRUaW1pbmc7CisKKyAgICBUaW1lcjxEb2N1
bWVudD4gbV9wZW5kaW5nVGFza3NUaW1lcjsKKyAgICBWZWN0b3I8VGFzayo+IG1fcGVuZGluZ1Rh
c2tzOwogfTsKIAogaW5saW5lIGJvb2wgRG9jdW1lbnQ6OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29u
dGFpbnMoQXRvbWljU3RyaW5nSW1wbCogaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL21h
bnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sIGIvV2ViQ29yZS9tYW51
YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43MzExYjUzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9t
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApAQCAtMCwwICsxLDIy
IEBACis8aHRtbD4KKzxzY3JpcHQ+CisKK3ZhciBjYWxsYmFja0lzQ2FsbGVkID0gZmFsc2U7Citm
dW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrKCkKK3sKKyAgICBjYWxsYmFja0lzQ2FsbGVkID0g
dHJ1ZTsKK30KK3ZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VDYWxsYmFja0RlZmVycmVk
IiwgIjEuMCIsICIiLCAxKTsKK2RiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRUZXN0IChy
YW5kb21EYXRhKSIsIFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rpb25DYWxs
YmFjayk7CisKK2FsZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRzIGFuZCBjbG9zZSBpdCIpOwor
CitpZiAoY2FsbGJhY2tJc0NhbGxlZCkKKyAgICBkb2N1bWVudC53cml0ZSgiQ2FsbGJhY2sgd2Fz
IGNhbGxlZC4gVGVzdCBwYXNzZWQiKTsKK2Vsc2UKKyAgICBkb2N1bWVudC53cml0ZSgiQ2FsbGJh
Y2sgd2FzIG1pc3NlZC4gVGVzdCBmYWlsZWQiKTsKKworPC9zY3JpcHQ+Cis8Ym9keT4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJy
ZXIuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKaW5kZXggOThh
NDcyMC4uYTZmY2I4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZl
cnJlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKQEAg
LTQ2LDEwICs0Niw4IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVy
cmVyKFBhZ2UqIHBhZ2UsIGJvb2wgZGVmZXJTZWxmKQogICAgICAgICAgICAgICAgIC8vIHdpbmRv
d3Mgb3Igc2hlZXRzLCB3aGljaCBpcyBleGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVy
IGlzIHVzZWQuCiAgICAgICAgICAgICAgICAgLy8gTk9URTogaWYgUGFnZUdyb3VwTG9hZERlZmVy
cmVyIGlzIGV2ZXIgdXNlZCBmb3IgdGFza3Mgb3RoZXIgdGhhbiBzaG93aW5nIGEgbW9kYWwgd2lu
ZG93IG9yIHNoZWV0LAogICAgICAgICAgICAgICAgIC8vIHRoZSBjb25zdHJ1Y3RvciB3aWxsIG5l
ZWQgdG8gdGFrZSBhIEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbi4KLSAgICAg
ICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3Rp
dmVET01PYmplY3Q6OldpbGxTaG93RGlhbG9nKTsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUt
PmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsKLSAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBvdGhlclBhZ2UtPm1h
aW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkK
KyAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPndpbGxEZWZlckxvYWRpbmco
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTY2LDEwICs2NCw4IEBAIFBh
Z2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcigpCiAgICAgICAgIGlm
IChQYWdlKiBwYWdlID0gbV9kZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKSB7CiAgICAgICAgICAg
ICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsKIAotICAgICAgICAgICAgZm9yIChGcmFt
ZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUo
KS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwotICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFt
ZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKQorICAgICAgICAgICAgICAgIGZyYW1l
LT5kb2N1bWVudCgpLT5kaWRSZXN1bWVMb2FkaW5nKCk7CiAgICAgICAgIH0KICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73657</attachid>
            <date>2010-11-11 13:59:36 -0800</date>
            <delta_ts>2010-11-11 14:01:33 -0800</delta_ts>
            <desc>updated</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7471</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWI1MzljNy4uY2I5ZTIyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMC0yMSAgWW9uZyBMaSAg
PHlvbGlAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCAzMWQ3ZDFmLi40N2I1ZGYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MTMsNiArNDEzLDcg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29s
IGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lcih0
aGlzLCAmRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCkKICAgICAsIG1fZGlyZWN0
aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dyaXRpbmdNb2RlU2V0T25E
b2N1bWVudEVsZW1lbnQoZmFsc2UpCisgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZE
b2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhp
czsKIApAQCAtNTc2LDYgKzU3Nyw5IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgICAgICBt
X3N0eWxlU2hlZXRzLT5kb2N1bWVudERlc3Ryb3llZCgpOwogCiAgICAgbV93ZWFrUmVmZXJlbmNl
LT5jbGVhcigpOworCisgICAgZm9yKGludCBpID0gMDsgaSA8IG1fcGVuZGluZ1Rhc2tzLnNpemUo
KTsgKytpKQorICAgICAgICBkZWxldGUgbV9wZW5kaW5nVGFza3NbaV07CiB9CiAKICNpZiBVU0Uo
SlNDKQpAQCAtNDYzNCwyMiArNDYzOCw1NyBAQCBzdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDog
Tm9uY29weWFibGUgewogICAgIE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0
YXNrOwogfTsKIAotc3RhdGljIHZvaWQgcGVyZm9ybVRhc2sodm9pZCogY3R4KQordm9pZCBEb2N1
bWVudDo6ZGlkUmVjZWl2ZVRhc2sodm9pZCogY3R4KQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CiAKLSAgICBQZXJmb3JtVGFza0NvbnRleHQqIGNvbnRleHQgPSByZWludGVycHJldF9j
YXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCk7CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29u
dGV4dD4gY29udGV4dChyZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCkp
OwogICAgIEFTU0VSVChjb250ZXh0KTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBj
b250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgY29udGV4dC0+
dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNv
bnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpOworCisgICAgaWYgKCFkb2N1bWVu
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7
CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CiAKLSAgICBkZWxldGUgY29udGV4dDsK
KyAgICBpZiAocGFnZS0+ZGVmZXJzTG9hZGluZygpIHx8ICFkb2N1bWVudC0+bV9wZW5kaW5nVGFz
a3MuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5hcHBlbmQo
Y29udGV4dC0+dGFzay5sZWFrUHRyKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
Y29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOwogfQogCiB2b2lkIERvY3VtZW50
Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spCiB7Ci0gICAgY2FsbE9uTWFpblRocmVh
ZChwZXJmb3JtVGFzaywgbmV3IFBlcmZvcm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRh
c2spKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRh
c2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworfQorCit2b2lkIERvY3VtZW50Ojpw
ZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCit7CisgICAgd2hpbGUgKCFt
X3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgT3duUHRyPFRhc2s+IHRhc2sobV9w
ZW5kaW5nVGFza3NbMF0pOworICAgICAgICBtX3BlbmRpbmdUYXNrcy5yZW1vdmUoMCk7CisgICAg
ICAgIHRhc2stPnBlcmZvcm1UYXNrKHRoaXMpOworICAgIH0KK30KKwordm9pZCBEb2N1bWVudDo6
d2lsbERlZmVyTG9hZGluZygpCit7CisgICAgc3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0aXZl
RE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+c3Vz
cGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOworfQorCit2b2lkIERvY3Vt
ZW50OjpkaWRSZXN1bWVMb2FkaW5nKCkKK3sKKyAgICBpZiAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1w
dHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
YXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CisgICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0
cygpOwogfQogCiBFbGVtZW50KiBEb2N1bWVudDo6ZmluZEFuY2hvcihjb25zdCBTdHJpbmcmIG5h
bWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA4Y2M2MjcyLi5jZGQ0NGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEwNDgsNiArMTA0OCw5
IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmcoKSBjb25zdCB7
IHJldHVybiAmbV9kb2N1bWVudFRpbWluZzsgfQogCisgICAgdmlydHVhbCB2b2lkIHdpbGxEZWZl
ckxvYWRpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVzdW1lTG9hZGluZygpOworCiBwcm90
ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRN
TCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMTE4
LDYgKzExMjEsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgbG9hZEV2ZW50RGVsYXlUaW1lckZp
cmVkKFRpbWVyPERvY3VtZW50PiopOwogCisgICAgdm9pZCBwZW5kaW5nVGFza3NUaW1lckZpcmVk
KFRpbWVyPERvY3VtZW50PiopOworCisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9p
ZCopOworCiAgICAgT3duUHRyPENTU1N0eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAg
ICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5bGVTZWxlY3RvcjsKIApAQCAtMTM2Myw2ICsxMzcwLDkg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fd3JpdGluZ01vZGVTZXRPbkRvY3VtZW50RWxlbWVudDsK
IAogICAgIERvY3VtZW50VGltaW5nIG1fZG9jdW1lbnRUaW1pbmc7CisKKyAgICBUaW1lcjxEb2N1
bWVudD4gbV9wZW5kaW5nVGFza3NUaW1lcjsKKyAgICBWZWN0b3I8VGFzayo+IG1fcGVuZGluZ1Rh
c2tzOwogfTsKIAogaW5saW5lIGJvb2wgRG9jdW1lbnQ6OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29u
dGFpbnMoQXRvbWljU3RyaW5nSW1wbCogaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL21h
bnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sIGIvV2ViQ29yZS9tYW51
YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43ODk3YzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9t
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8aHRtbD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIHZhciBjYWxsYmFj
a0lzQ2FsbGVkID0gZmFsc2U7CisgICAgZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjaygpCisg
ICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1M
ID0gIkNhbGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsKKyAgICB9CisgICAgdmFyIGRi
ID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJyZWQiLCAiMS4wIiwgIiIsIDEp
OworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRUZXN0IChyYW5kb21EYXRhKSIs
IFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rpb25DYWxsYmFjayk7CisKKyAg
ICBhbGVydCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xvc2UgaXQiKTsKK30KKzwvc2Ny
aXB0PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJlc3VsdCI+V2FpdC4uLjwvcD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKaW5k
ZXggOThhNDcyMC4uYTZmY2I4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExv
YWREZWZlcnJlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5j
cHAKQEAgLTQ2LDEwICs0Niw4IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9h
ZERlZmVycmVyKFBhZ2UqIHBhZ2UsIGJvb2wgZGVmZXJTZWxmKQogICAgICAgICAgICAgICAgIC8v
IHdpbmRvd3Mgb3Igc2hlZXRzLCB3aGljaCBpcyBleGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERl
ZmVycmVyIGlzIHVzZWQuCiAgICAgICAgICAgICAgICAgLy8gTk9URTogaWYgUGFnZUdyb3VwTG9h
ZERlZmVycmVyIGlzIGV2ZXIgdXNlZCBmb3IgdGFza3Mgb3RoZXIgdGhhbiBzaG93aW5nIGEgbW9k
YWwgd2luZG93IG9yIHNoZWV0LAogICAgICAgICAgICAgICAgIC8vIHRoZSBjb25zdHJ1Y3RvciB3
aWxsIG5lZWQgdG8gdGFrZSBhIEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbi4K
LSAgICAgICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG90aGVyUGFnZS0+bWFpbkZyYW1l
KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kQWN0aXZlRE9NT2JqZWN0
cyhBY3RpdmVET01PYmplY3Q6OldpbGxTaG93RGlhbG9nKTsKLSAgICAgICAgICAgICAgICAgICAg
ZnJhbWUtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsKLSAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBvdGhlclBh
Z2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5l
eHQoKSkKKyAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPndpbGxEZWZlckxv
YWRpbmcoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTY2LDEwICs2NCw4
IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcigpCiAgICAg
ICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKSB7CiAgICAg
ICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsKIAotICAgICAgICAgICAgZm9y
IChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUt
PnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1l
bnQoKS0+cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwotICAgICAgICAgICAgICAgIGZyYW1lLT5k
b2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1l
OyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKQorICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5kaWRSZXN1bWVMb2FkaW5nKCk7CiAgICAgICAgIH0KICAgICB9
CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73658</attachid>
            <date>2010-11-11 14:01:33 -0800</date>
            <delta_ts>2010-11-19 07:17:17 -0800</delta_ts>
            <desc>fix style</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7472</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWI1MzljNy4uY2I5ZTIyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMC0yMSAgWW9uZyBMaSAg
PHlvbGlAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCAzMWQ3ZDFmLi5iOTZhNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MTMsNiArNDEzLDcg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29s
IGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lcih0
aGlzLCAmRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCkKICAgICAsIG1fZGlyZWN0
aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dyaXRpbmdNb2RlU2V0T25E
b2N1bWVudEVsZW1lbnQoZmFsc2UpCisgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZE
b2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhp
czsKIApAQCAtNTc2LDYgKzU3Nyw5IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgICAgICBt
X3N0eWxlU2hlZXRzLT5kb2N1bWVudERlc3Ryb3llZCgpOwogCiAgICAgbV93ZWFrUmVmZXJlbmNl
LT5jbGVhcigpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX3BlbmRpbmdUYXNrcy5zaXpl
KCk7ICsraSkKKyAgICAgICAgZGVsZXRlIG1fcGVuZGluZ1Rhc2tzW2ldOwogfQogCiAjaWYgVVNF
KEpTQykKQEAgLTQ2MzQsMjIgKzQ2MzgsNTcgQEAgc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6
IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4g
dGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0eCkKK3ZvaWQgRG9j
dW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIGN0eCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0ID0gcmVpbnRlcnByZXRf
Y2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0cjxQZXJmb3JtVGFza0Nv
bnRleHQ+IGNvbnRleHQocmVpbnRlcnByZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgp
KTsKICAgICBBU1NFUlQoY29udGV4dCk7CiAKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
Y29udGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCkpCi0gICAgICAgIGNvbnRleHQt
PnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBj
b250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKTsKKworICAgIGlmICghZG9jdW1l
bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgp
OworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7
CisgICAgaWYgKHBhZ2UtPmRlZmVyc0xvYWRpbmcoKSB8fCAhZG9jdW1lbnQtPm1fcGVuZGluZ1Rh
c2tzLmlzRW1wdHkoKSkgeworICAgICAgICBkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuYXBwZW5k
KGNvbnRleHQtPnRhc2subGVha1B0cigpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNvbnRleHQtPnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKIH0KIAogdm9pZCBEb2N1bWVu
dDo6cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIGNhbGxPbk1haW5UaHJl
YWQocGVyZm9ybVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVmZXJlbmNlLCB0
YXNrKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChkaWRSZWNlaXZlVGFzaywgbmV3IFBlcmZvcm1U
YXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKK30KKwordm9pZCBEb2N1bWVudDo6
cGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxlICgh
bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIE93blB0cjxUYXNrPiB0YXNrKG1f
cGVuZGluZ1Rhc2tzWzBdKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAg
ICAgICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6
OndpbGxEZWZlckxvYWRpbmcoKQoreworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2
ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1
c3BlbmQoKTsKKyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBEb2N1
bWVudDo6ZGlkUmVzdW1lTG9hZGluZygpCit7CisgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0Vt
cHR5KCkpCisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IGFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOworICAgIHJlc3VtZUFjdGl2ZURPTU9iamVj
dHMoKTsKIH0KIAogRWxlbWVudCogRG9jdW1lbnQ6OmZpbmRBbmNob3IoY29uc3QgU3RyaW5nJiBu
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKaW5kZXggOGNjNjI3Mi4uY2RkNDRlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDQ4LDYgKzEwNDgs
OSBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nKCkgY29uc3Qg
eyByZXR1cm4gJm1fZG9jdW1lbnRUaW1pbmc7IH0KIAorICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVm
ZXJMb2FkaW5nKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlc3VtZUxvYWRpbmcoKTsKKwogcHJv
dGVjdGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhU
TUwsIGJvb2wgaXNIVE1MLCBjb25zdCBLVVJMJiBiYXNlVVJMID0gS1VSTCgpKTsKIApAQCAtMTEx
OCw2ICsxMTIxLDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWRFdmVudERlbGF5VGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAgIHZvaWQgcGVuZGluZ1Rhc2tzVGltZXJGaXJl
ZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVUYXNrKHZv
aWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNlbGVjdG9yPiBtX3N0eWxlU2VsZWN0b3I7CiAg
ICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2VsZWN0b3I7CiAKQEAgLTEzNjMsNiArMTM3MCw5
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dyaXRpbmdNb2RlU2V0T25Eb2N1bWVudEVsZW1lbnQ7
CiAKICAgICBEb2N1bWVudFRpbWluZyBtX2RvY3VtZW50VGltaW5nOworCisgICAgVGltZXI8RG9j
dW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVmVjdG9yPFRhc2sqPiBtX3BlbmRpbmdU
YXNrczsKIH07CiAKIGlubGluZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNv
bnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9t
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbCBiL1dlYkNvcmUvbWFu
dWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNzg5N2M0NgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
bWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPGh0bWw+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICB2YXIgY2FsbGJh
Y2tJc0NhbGxlZCA9IGZhbHNlOworICAgIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2soKQor
ICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRN
TCA9ICJDYWxsYmFjayB3YXMgY2FsbGVkLiBUZXN0IHBhc3NlZCI7CisgICAgfQorICAgIHZhciBk
YiA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VDYWxsYmFja0RlZmVycmVkIiwgIjEuMCIsICIiLCAx
KTsKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJDUkVB
VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBDYWxsYmFja0RlZmVycmVkVGVzdCAocmFuZG9tRGF0YSki
LCBbXSk7IH0sIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIHRyYW5zYWN0aW9uQ2FsbGJhY2spOworCisg
ICAgYWxlcnQoIldhaXQgZm9yIGEgZmV3IHNlY29uZHMgYW5kIGNsb3NlIGl0Iik7Cit9Cis8L3Nj
cmlwdD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxwIGlkPSJyZXN1bHQiPldhaXQuLi48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9h
ZERlZmVycmVyLmNwcCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCmlu
ZGV4IDk4YTQ3MjAuLmE2ZmNiODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBM
b2FkRGVmZXJyZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIu
Y3BwCkBAIC00NiwxMCArNDYsOCBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6OlBhZ2VHcm91cExv
YWREZWZlcnJlcihQYWdlKiBwYWdlLCBib29sIGRlZmVyU2VsZikKICAgICAgICAgICAgICAgICAv
LyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3aGVuIFBhZ2VHcm91cExvYWRE
ZWZlcnJlciBpcyB1c2VkLgogICAgICAgICAgICAgICAgIC8vIE5PVEU6IGlmIFBhZ2VHcm91cExv
YWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tzIG90aGVyIHRoYW4gc2hvd2luZyBhIG1v
ZGFsIHdpbmRvdyBvciBzaGVldCwKICAgICAgICAgICAgICAgICAvLyB0aGUgY29uc3RydWN0b3Ig
d2lsbCBuZWVkIHRvIHRha2UgYSBBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24u
Ci0gICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBvdGhlclBhZ2UtPm1haW5GcmFt
ZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAg
ICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVj
dHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7Ci0gICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3RoZXJQ
YWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VO
ZXh0KCkpCisgICAgICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT53aWxsRGVmZXJM
b2FkaW5nKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC02NiwxMCArNjQs
OCBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKQogICAg
ICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNbaV0tPnBhZ2UoKSkgewogICAg
ICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CiAKLSAgICAgICAgICAgIGZv
ciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1l
LT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmRvY3Vt
ZW50KCktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsKLSAgICAgICAgICAgICAgICBmcmFtZS0+
ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7Ci0gICAgICAgICAgICB9
CisgICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFt
ZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkKKyAgICAgICAgICAgICAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+ZGlkUmVzdW1lTG9hZGluZygpOwogICAgICAgICB9CiAgICAg
fQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74385</attachid>
            <date>2010-11-19 07:17:17 -0800</date>
            <delta_ts>2010-12-13 08:42:39 -0800</delta_ts>
            <desc>remove an unused variable in test case</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7437</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWI1MzljNy4uY2I5ZTIyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMC0yMSAgWW9uZyBMaSAg
PHlvbGlAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCAzMWQ3ZDFmLi5iOTZhNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MTMsNiArNDEzLDcg
QEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29s
IGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lcih0
aGlzLCAmRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCkKICAgICAsIG1fZGlyZWN0
aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dyaXRpbmdNb2RlU2V0T25E
b2N1bWVudEVsZW1lbnQoZmFsc2UpCisgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZE
b2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhp
czsKIApAQCAtNTc2LDYgKzU3Nyw5IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgICAgICBt
X3N0eWxlU2hlZXRzLT5kb2N1bWVudERlc3Ryb3llZCgpOwogCiAgICAgbV93ZWFrUmVmZXJlbmNl
LT5jbGVhcigpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX3BlbmRpbmdUYXNrcy5zaXpl
KCk7ICsraSkKKyAgICAgICAgZGVsZXRlIG1fcGVuZGluZ1Rhc2tzW2ldOwogfQogCiAjaWYgVVNF
KEpTQykKQEAgLTQ2MzQsMjIgKzQ2MzgsNTcgQEAgc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6
IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4g
dGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0eCkKK3ZvaWQgRG9j
dW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIGN0eCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0ID0gcmVpbnRlcnByZXRf
Y2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0cjxQZXJmb3JtVGFza0Nv
bnRleHQ+IGNvbnRleHQocmVpbnRlcnByZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgp
KTsKICAgICBBU1NFUlQoY29udGV4dCk7CiAKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
Y29udGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCkpCi0gICAgICAgIGNvbnRleHQt
PnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBj
b250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKTsKKworICAgIGlmICghZG9jdW1l
bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgp
OworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7
CisgICAgaWYgKHBhZ2UtPmRlZmVyc0xvYWRpbmcoKSB8fCAhZG9jdW1lbnQtPm1fcGVuZGluZ1Rh
c2tzLmlzRW1wdHkoKSkgeworICAgICAgICBkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuYXBwZW5k
KGNvbnRleHQtPnRhc2subGVha1B0cigpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNvbnRleHQtPnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKIH0KIAogdm9pZCBEb2N1bWVu
dDo6cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIGNhbGxPbk1haW5UaHJl
YWQocGVyZm9ybVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVmZXJlbmNlLCB0
YXNrKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChkaWRSZWNlaXZlVGFzaywgbmV3IFBlcmZvcm1U
YXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKK30KKwordm9pZCBEb2N1bWVudDo6
cGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxlICgh
bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIE93blB0cjxUYXNrPiB0YXNrKG1f
cGVuZGluZ1Rhc2tzWzBdKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAg
ICAgICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6
OndpbGxEZWZlckxvYWRpbmcoKQoreworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2
ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1
c3BlbmQoKTsKKyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBEb2N1
bWVudDo6ZGlkUmVzdW1lTG9hZGluZygpCit7CisgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0Vt
cHR5KCkpCisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IGFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOworICAgIHJlc3VtZUFjdGl2ZURPTU9iamVj
dHMoKTsKIH0KIAogRWxlbWVudCogRG9jdW1lbnQ6OmZpbmRBbmNob3IoY29uc3QgU3RyaW5nJiBu
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKaW5kZXggOGNjNjI3Mi4uY2RkNDRlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDQ4LDYgKzEwNDgs
OSBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBEb2N1bWVudFRpbWluZyogdGltaW5nKCkgY29uc3Qg
eyByZXR1cm4gJm1fZG9jdW1lbnRUaW1pbmc7IH0KIAorICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVm
ZXJMb2FkaW5nKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlc3VtZUxvYWRpbmcoKTsKKwogcHJv
dGVjdGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhU
TUwsIGJvb2wgaXNIVE1MLCBjb25zdCBLVVJMJiBiYXNlVVJMID0gS1VSTCgpKTsKIApAQCAtMTEx
OCw2ICsxMTIxLDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWRFdmVudERlbGF5VGltZXJG
aXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAgIHZvaWQgcGVuZGluZ1Rhc2tzVGltZXJGaXJl
ZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVUYXNrKHZv
aWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNlbGVjdG9yPiBtX3N0eWxlU2VsZWN0b3I7CiAg
ICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2VsZWN0b3I7CiAKQEAgLTEzNjMsNiArMTM3MCw5
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dyaXRpbmdNb2RlU2V0T25Eb2N1bWVudEVsZW1lbnQ7
CiAKICAgICBEb2N1bWVudFRpbWluZyBtX2RvY3VtZW50VGltaW5nOworCisgICAgVGltZXI8RG9j
dW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVmVjdG9yPFRhc2sqPiBtX3BlbmRpbmdU
YXNrczsKIH07CiAKIGlubGluZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNv
bnRhaW5zKEF0b21pY1N0cmluZ0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9t
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbCBiL1dlYkNvcmUvbWFu
dWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uY2YzZDAzYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUv
bWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCArMSwx
NyBAQAorPGh0bWw+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlvbiB0
cmFuc2FjdGlvbkNhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiQ2FsbGJhY2sgd2FzIGNhbGxlZC4gVGVzdCBwYXNz
ZWQiOworICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlQ2FsbGJhY2tE
ZWZlcnJlZCIsICIxLjAiLCAiIiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tEZWZl
cnJlZFRlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0cmFu
c2FjdGlvbkNhbGxiYWNrKTsKKworICAgIGFsZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRzIGFu
ZCBjbG9zZSBpdCIpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cCBp
ZD0icmVzdWx0Ij5XYWl0Li4uPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZUdy
b3VwTG9hZERlZmVycmVyLmNwcAppbmRleCA5OGE0NzIwLi5hNmZjYjg1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApAQCAtNDYsMTAgKzQ2LDggQEAgUGFnZUdyb3VwTG9h
ZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZlclNl
bGYpCiAgICAgICAgICAgICAgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0
bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KICAgICAgICAgICAgICAgICAv
LyBOT1RFOiBpZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBv
dGhlciB0aGFuIHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCiAgICAgICAgICAgICAg
ICAgLy8gdGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0
OjpSZWFzb25Gb3JTdXNwZW5zaW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1l
ID0gb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+
dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCkt
PnN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cp
OwotICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5u
ZXIoKS0+c3VzcGVuZCgpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3Ig
KEZyYW1lKiBmcmFtZSA9IG90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZy
YW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKQorICAgICAgICAgICAgICAgICAgICBmcmFtZS0+
ZG9jdW1lbnQoKS0+d2lsbERlZmVyTG9hZGluZygpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgfQpAQCAtNjYsMTAgKzY0LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdy
b3VwTG9hZERlZmVycmVyKCkKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJh
bWVzW2ldLT5wYWdlKCkpIHsKICAgICAgICAgICAgIHBhZ2UtPnNldERlZmVyc0xvYWRpbmcoZmFs
c2UpOwogCi0gICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgp
OyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAg
ICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVBY3RpdmVET01PYmplY3RzKCk7Ci0g
ICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnJl
c3VtZSgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBw
YWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VO
ZXh0KCkpCisgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmRpZFJlc3VtZUxvYWRp
bmcoKTsKICAgICAgICAgfQogICAgIH0KIH0K
</data>
<flag name="review"
          id="64972"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76389</attachid>
            <date>2010-12-13 08:42:39 -0800</date>
            <delta_ts>2010-12-13 10:29:16 -0800</delta_ts>
            <desc>try again</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7476</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFjZWIyZi4uYjIyOTNmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMi0xMyAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBRdCBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNzQzZTI4Ny4uMDYxNTY3YiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDE4LDYgKzQxOCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRFdmVu
dERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQpCiAg
ICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93cml0
aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFza3NU
aW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAgbV9k
b2N1bWVudCA9IHRoaXM7CiAKQEAgLTU5NCw2ICs1OTUsOSBAQCBEb2N1bWVudDo6fkRvY3VtZW50
KCkKIAogICAgIGlmIChtX21lZGlhUXVlcnlNYXRjaGVyKQogICAgICAgICBtX21lZGlhUXVlcnlN
YXRjaGVyLT5kb2N1bWVudERlc3Ryb3llZCgpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt
X3BlbmRpbmdUYXNrcy5zaXplKCk7ICsraSkKKyAgICAgICAgZGVsZXRlIG1fcGVuZGluZ1Rhc2tz
W2ldOwogfQogCiBNZWRpYVF1ZXJ5TWF0Y2hlciogRG9jdW1lbnQ6Om1lZGlhUXVlcnlNYXRjaGVy
KCkKQEAgLTQ2ODksMjIgKzQ2OTMsNTcgQEAgc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5v
bmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFz
azsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0eCkKK3ZvaWQgRG9jdW1l
bnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIGN0eCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0ID0gcmVpbnRlcnByZXRfY2Fz
dDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0cjxQZXJmb3JtVGFza0NvbnRl
eHQ+IGNvbnRleHQocmVpbnRlcnByZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpKTsK
ICAgICBBU1NFUlQoY29udGV4dCk7CiAKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gY29u
dGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCkpCi0gICAgICAgIGNvbnRleHQtPnRh
c2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250
ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKTsKKworICAgIGlmICghZG9jdW1lbnQp
CisgICAgICAgIHJldHVybjsKKworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOwor
ICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7Cisg
ICAgaWYgKHBhZ2UtPmRlZmVyc0xvYWRpbmcoKSB8fCAhZG9jdW1lbnQtPm1fcGVuZGluZ1Rhc2tz
LmlzRW1wdHkoKSkgeworICAgICAgICBkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuYXBwZW5kKGNv
bnRleHQtPnRhc2subGVha1B0cigpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNv
bnRleHQtPnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6
cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIGNhbGxPbk1haW5UaHJlYWQo
cGVyZm9ybVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVmZXJlbmNlLCB0YXNr
KSk7CisgICAgY2FsbE9uTWFpblRocmVhZChkaWRSZWNlaXZlVGFzaywgbmV3IFBlcmZvcm1UYXNr
Q29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKK30KKwordm9pZCBEb2N1bWVudDo6cGVu
ZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxlICghbV9w
ZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIE93blB0cjxUYXNrPiB0YXNrKG1fcGVu
ZGluZ1Rhc2tzWzBdKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAgICAg
ICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6Ondp
bGxEZWZlckxvYWRpbmcoKQoreworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURP
TU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3Bl
bmQoKTsKKyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBEb2N1bWVu
dDo6ZGlkUmVzdW1lTG9hZGluZygpCit7CisgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5
KCkpCisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGFz
eW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOworICAgIHJlc3VtZUFjdGl2ZURPTU9iamVjdHMo
KTsKIH0KIAogRWxlbWVudCogRG9jdW1lbnQ6OmZpbmRBbmNob3IoY29uc3QgU3RyaW5nJiBuYW1l
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKaW5kZXggM2I4NmI5Ny4uNDViZWJmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDYzLDYgKzEwNjMsOSBA
QCBwdWJsaWM6CiAKICAgICBib29sIG1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgpIGNv
bnN0OwogCisgICAgdmlydHVhbCB2b2lkIHdpbGxEZWZlckxvYWRpbmcoKTsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVzdW1lTG9hZGluZygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJh
bWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtV
UkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMTM2LDYgKzExMzksMTAgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgbG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwog
CisgICAgdm9pZCBwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworCisg
ICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAgICAgT3duUHRyPENTU1N0
eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5
bGVTZWxlY3RvcjsKIApAQCAtMTM4NCw2ICsxMzkxLDkgQEAgcHJpdmF0ZToKIAogICAgIERvY3Vt
ZW50VGltaW5nIG1fZG9jdW1lbnRUaW1pbmc7CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlNYXRjaGVy
PiBtX21lZGlhUXVlcnlNYXRjaGVyOworCisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rh
c2tzVGltZXI7CisgICAgVmVjdG9yPFRhc2sqPiBtX3BlbmRpbmdUYXNrczsKIH07CiAKIGlubGlu
ZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNvbnRhaW5zKEF0b21pY1N0cmlu
Z0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0YWJh
c2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFiYXNl
LWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uY2YzZDAzYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFi
YXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPGh0bWw+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNr
KCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5l
ckhUTUwgPSAiQ2FsbGJhY2sgd2FzIGNhbGxlZC4gVGVzdCBwYXNzZWQiOworICAgIH0KKyAgICB2
YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlQ2FsbGJhY2tEZWZlcnJlZCIsICIxLjAiLCAi
IiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgdHguZXhlY3V0ZVNxbCgi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tEZWZlcnJlZFRlc3QgKHJhbmRvbURh
dGEpIiwgW10pOyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0cmFuc2FjdGlvbkNhbGxiYWNrKTsK
KworICAgIGFsZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRzIGFuZCBjbG9zZSBpdCIpOworfQor
PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cCBpZD0icmVzdWx0Ij5XYWl0Li4u
PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cExvYWREZWZlcnJlci5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNw
cAppbmRleCA5OGE0NzIwLi5hNmZjYjg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdy
b3VwTG9hZERlZmVycmVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVy
cmVyLmNwcApAQCAtNDYsMTAgKzQ2LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdlR3Jv
dXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZlclNlbGYpCiAgICAgICAgICAgICAg
ICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdlR3JvdXBM
b2FkRGVmZXJyZXIgaXMgdXNlZC4KICAgICAgICAgICAgICAgICAvLyBOT1RFOiBpZiBQYWdlR3Jv
dXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0aGFuIHNob3dpbmcg
YSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCiAgICAgICAgICAgICAgICAgLy8gdGhlIGNvbnN0cnVj
dG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5z
aW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3RoZXJQYWdlLT5tYWlu
RnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRBY3RpdmVET01P
YmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwotICAgICAgICAgICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgpOwot
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG90
aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZl
cnNlTmV4dCgpKQorICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+d2lsbERl
ZmVyTG9hZGluZygpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtNjYsMTAg
KzY0LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKCkK
ICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkpIHsK
ICAgICAgICAgICAgIHBhZ2UtPnNldERlZmVyc0xvYWRpbmcoZmFsc2UpOwogCi0gICAgICAgICAg
ICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBm
cmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgIGZyYW1lLT5k
b2N1bWVudCgpLT5yZXN1bWVBY3RpdmVET01PYmplY3RzKCk7Ci0gICAgICAgICAgICAgICAgZnJh
bWUtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsg
ZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpCisgICAgICAgICAg
ICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmRpZFJlc3VtZUxvYWRpbmcoKTsKICAgICAgICAgfQog
ICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76407</attachid>
            <date>2010-12-13 10:47:19 -0800</date>
            <delta_ts>2010-12-13 14:07:26 -0800</delta_ts>
            <desc>finally found the warning that fails build</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7479</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFjZWIyZi4uYjIyOTNmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMi0xMyAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBRdCBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNzQzZTI4Ny4uMDg1YzEzMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDE4LDYgKzQxOCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRFdmVu
dERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQpCiAg
ICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93cml0
aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFza3NU
aW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAgbV9k
b2N1bWVudCA9IHRoaXM7CiAKQEAgLTU5NCw2ICs1OTUsOSBAQCBEb2N1bWVudDo6fkRvY3VtZW50
KCkKIAogICAgIGlmIChtX21lZGlhUXVlcnlNYXRjaGVyKQogICAgICAgICBtX21lZGlhUXVlcnlN
YXRjaGVyLT5kb2N1bWVudERlc3Ryb3llZCgpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBtX3BlbmRpbmdUYXNrcy5zaXplKCk7ICsraSkKKyAgICAgICAgZGVsZXRlIG1fcGVuZGluZ1Rh
c2tzW2ldOwogfQogCiBNZWRpYVF1ZXJ5TWF0Y2hlciogRG9jdW1lbnQ6Om1lZGlhUXVlcnlNYXRj
aGVyKCkKQEAgLTQ2ODksMjIgKzQ2OTMsNTcgQEAgc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6
IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4g
dGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0eCkKK3ZvaWQgRG9j
dW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIGN0eCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0ID0gcmVpbnRlcnByZXRf
Y2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0cjxQZXJmb3JtVGFza0Nv
bnRleHQ+IGNvbnRleHQocmVpbnRlcnByZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgp
KTsKICAgICBBU1NFUlQoY29udGV4dCk7CiAKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
Y29udGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCkpCi0gICAgICAgIGNvbnRleHQt
PnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBj
b250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKTsKKworICAgIGlmICghZG9jdW1l
bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgp
OworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7
CisgICAgaWYgKHBhZ2UtPmRlZmVyc0xvYWRpbmcoKSB8fCAhZG9jdW1lbnQtPm1fcGVuZGluZ1Rh
c2tzLmlzRW1wdHkoKSkgeworICAgICAgICBkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuYXBwZW5k
KGNvbnRleHQtPnRhc2subGVha1B0cigpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNvbnRleHQtPnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKIH0KIAogdm9pZCBEb2N1bWVu
dDo6cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIGNhbGxPbk1haW5UaHJl
YWQocGVyZm9ybVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVmZXJlbmNlLCB0
YXNrKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChkaWRSZWNlaXZlVGFzaywgbmV3IFBlcmZvcm1U
YXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKK30KKwordm9pZCBEb2N1bWVudDo6
cGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxlICgh
bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIE93blB0cjxUYXNrPiB0YXNrKG1f
cGVuZGluZ1Rhc2tzWzBdKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAg
ICAgICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6
OndpbGxEZWZlckxvYWRpbmcoKQoreworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2
ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1
c3BlbmQoKTsKKyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBEb2N1
bWVudDo6ZGlkUmVzdW1lTG9hZGluZygpCit7CisgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0Vt
cHR5KCkpCisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IGFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOworICAgIHJlc3VtZUFjdGl2ZURPTU9iamVj
dHMoKTsKIH0KIAogRWxlbWVudCogRG9jdW1lbnQ6OmZpbmRBbmNob3IoY29uc3QgU3RyaW5nJiBu
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKaW5kZXggM2I4NmI5Ny4uNDViZWJmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDYzLDYgKzEwNjMs
OSBAQCBwdWJsaWM6CiAKICAgICBib29sIG1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgp
IGNvbnN0OwogCisgICAgdmlydHVhbCB2b2lkIHdpbGxEZWZlckxvYWRpbmcoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVzdW1lTG9hZGluZygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQo
RnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0
IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMTM2LDYgKzExMzksMTAgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgbG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50Piop
OwogCisgICAgdm9pZCBwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwor
CisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAgICAgT3duUHRyPENT
U1N0eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3VsYXRl
U3R5bGVTZWxlY3RvcjsKIApAQCAtMTM4NCw2ICsxMzkxLDkgQEAgcHJpdmF0ZToKIAogICAgIERv
Y3VtZW50VGltaW5nIG1fZG9jdW1lbnRUaW1pbmc7CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlNYXRj
aGVyPiBtX21lZGlhUXVlcnlNYXRjaGVyOworCisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGlu
Z1Rhc2tzVGltZXI7CisgICAgVmVjdG9yPFRhc2sqPiBtX3BlbmRpbmdUYXNrczsKIH07CiAKIGlu
bGluZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNvbnRhaW5zKEF0b21pY1N0
cmluZ0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0
YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFi
YXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uY2YzZDAzYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2Rh
dGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPGh0bWw+Cis8
c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxi
YWNrKCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5p
bm5lckhUTUwgPSAiQ2FsbGJhY2sgd2FzIGNhbGxlZC4gVGVzdCBwYXNzZWQiOworICAgIH0KKyAg
ICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlQ2FsbGJhY2tEZWZlcnJlZCIsICIxLjAi
LCAiIiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tEZWZlcnJlZFRlc3QgKHJhbmRv
bURhdGEpIiwgW10pOyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0cmFuc2FjdGlvbkNhbGxiYWNr
KTsKKworICAgIGFsZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRzIGFuZCBjbG9zZSBpdCIpOwor
fQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cCBpZD0icmVzdWx0Ij5XYWl0
Li4uPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VH
cm91cExvYWREZWZlcnJlci5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmNwcAppbmRleCA5OGE0NzIwLi5hNmZjYjg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFn
ZUdyb3VwTG9hZERlZmVycmVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERl
ZmVycmVyLmNwcApAQCAtNDYsMTAgKzQ2LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdl
R3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZlclNlbGYpCiAgICAgICAgICAg
ICAgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdlR3Jv
dXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KICAgICAgICAgICAgICAgICAvLyBOT1RFOiBpZiBQYWdl
R3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0aGFuIHNob3dp
bmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCiAgICAgICAgICAgICAgICAgLy8gdGhlIGNvbnN0
cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNw
ZW5zaW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3RoZXJQYWdlLT5t
YWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkp
IHsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRBY3RpdmVE
T01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwotICAgICAgICAgICAg
ICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgp
OwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9
IG90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRy
YXZlcnNlTmV4dCgpKQorICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+d2ls
bERlZmVyTG9hZGluZygpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtNjYs
MTAgKzY0LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVy
KCkKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkp
IHsKICAgICAgICAgICAgIHBhZ2UtPnNldERlZmVyc0xvYWRpbmcoZmFsc2UpOwogCi0gICAgICAg
ICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUg
PSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgIGZyYW1l
LT5kb2N1bWVudCgpLT5yZXN1bWVBY3RpdmVET01PYmplY3RzKCk7Ci0gICAgICAgICAgICAgICAg
ZnJhbWUtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwotICAgICAg
ICAgICAgfQorICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUo
KTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpCisgICAgICAg
ICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmRpZFJlc3VtZUxvYWRpbmcoKTsKICAgICAgICAg
fQogICAgIH0KIH0K
</data>
<flag name="review"
          id="67351"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76435</attachid>
            <date>2010-12-13 14:07:26 -0800</date>
            <delta_ts>2010-12-14 13:17:00 -0800</delta_ts>
            <desc>updated</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>8648</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFjZWIyZi4uYjIyOTNmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMi0xMyAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBRdCBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNzQzZTI4Ny4uZTQzMTg3OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDE4LDYgKzQxOCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRFdmVu
dERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQpCiAg
ICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93cml0
aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFza3NU
aW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAgbV9k
b2N1bWVudCA9IHRoaXM7CiAKQEAgLTQ2ODksMjIgKzQ2OTAsNTcgQEAgc3RydWN0IFBlcmZvcm1U
YXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0
eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIHJhd0NvbnRleHQpCiB7CiAg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIFBlcmZvcm1UYXNrQ29udGV4dCogY29u
dGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UGVyZm9ybVRhc2tDb250ZXh0Kj4oY3R4KTsKKyAgICBP
d25QdHI8UGVyZm9ybVRhc2tDb250ZXh0PiBjb250ZXh0ID0gYWRvcHRQdHIoc3RhdGljX2Nhc3Q8
UGVyZm9ybVRhc2tDb250ZXh0Kj4ocmF3Q29udGV4dCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsK
IAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5j
ZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1l
bnQpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNl
LT5kb2N1bWVudCgpOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7CisgICAgaWYgKCFkb2N1bWVudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7Cisg
ICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZS0+ZGVmZXJzTG9h
ZGluZygpIHx8ICFkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAg
IGRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5sZWFrUHRyKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRh
c2soZG9jdW1lbnQpOwogfQogCiB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRh
c2s+IHRhc2spCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBlcmZv
cm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWluVGhy
ZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5j
ZSwgdGFzaykpOworfQorCit2b2lkIERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRp
bWVyPERvY3VtZW50PiopCit7CisgICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgT3duUHRyPFRhc2s+IHRhc2sgPSBtX3BlbmRpbmdUYXNrc1swXS5yZWxlYXNl
KCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzLnJlbW92ZSgwKTsKKyAgICAgICAgdGFzay0+cGVy
Zm9ybVRhc2sodGhpcyk7CisgICAgfQorfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kU2NoZWR1
bGVkVGFza3MoKQoreworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVj
dDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsK
KyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBEb2N1bWVudDo6cmVz
dW1lU2NoZWR1bGVkVGFza3MoKQoreworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgp
KQorICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBhc3lu
Y1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKKyAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKCk7
CiB9CiAKIEVsZW1lbnQqIERvY3VtZW50OjpmaW5kQW5jaG9yKGNvbnN0IFN0cmluZyYgbmFtZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCmluZGV4IDNiODZiOTcuLmY2OGRjOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTA2Myw2ICsxMDYzLDkgQEAg
cHVibGljOgogCiAgICAgYm9vbCBtYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSBjb25z
dDsKIAorICAgIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CisgICAgdm9pZCByZXN1bWVT
Y2hlZHVsZWRUYXNrcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25z
dCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VV
UkwgPSBLVVJMKCkpOwogCkBAIC0xMTM2LDYgKzExMzksMTAgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgbG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwogCisgICAgdm9p
ZCBwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworCisgICAgc3RhdGlj
IHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAgICAgT3duUHRyPENTU1N0eWxlU2VsZWN0
b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5bGVTZWxlY3Rv
cjsKIApAQCAtMTM4NCw2ICsxMzkxLDkgQEAgcHJpdmF0ZToKIAogICAgIERvY3VtZW50VGltaW5n
IG1fZG9jdW1lbnRUaW1pbmc7CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlNYXRjaGVyPiBtX21lZGlh
UXVlcnlNYXRjaGVyOworCisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7
CisgICAgVmVjdG9yPE93blB0cjxUYXNrPiA+IG1fcGVuZGluZ1Rhc2tzOwogfTsKIAogaW5saW5l
IGJvb2wgRG9jdW1lbnQ6OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29udGFpbnMoQXRvbWljU3RyaW5n
SW1wbCogaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggOWQ1ZTdkMC4uM2M3OThk
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjU0LDYgKzI1NCwxNSBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICBtX2ZyYW1lLT5u
YXZpZ2F0aW9uU2NoZWR1bGVyKCktPnN0YXJ0VGltZXIoKTsKICAgICAgICAgc3RhcnRDaGVja0Nv
bXBsZXRlVGltZXIoKTsKICAgICB9CisKKyAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxs
eSBwYXJ0IG9mIGxvYWQgZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVj
dXRlZCBiZW5lYXRoIG1vZGFsCisgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4
YWN0bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KKyAgICAvLyBOT1RFOiBp
ZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0aGFu
IHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCisgICAgLy8gdGhlIGNvbnN0cnVjdG9y
IHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9u
LgorICAgIGlmIChkZWZlcnMpCisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRT
Y2hlZHVsZWRUYXNrcygpOworICAgIGVsc2UKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6Y2FuSGFuZGxl
UmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL21hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sIGIvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjNkMDNhCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApAQCAtMCww
ICsxLDE3IEBACis8aHRtbD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGZ1bmN0
aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2soKQorICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJDYWxsYmFjayB3YXMgY2FsbGVkLiBUZXN0
IHBhc3NlZCI7CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VDYWxs
YmFja0RlZmVycmVkIiwgIjEuMCIsICIiLCAxKTsKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlv
bih0eCkgeyB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBDYWxsYmFj
a0RlZmVycmVkVGVzdCAocmFuZG9tRGF0YSkiLCBbXSk7IH0sIHRyYW5zYWN0aW9uQ2FsbGJhY2ss
IHRyYW5zYWN0aW9uQ2FsbGJhY2spOworCisgICAgYWxlcnQoIldhaXQgZm9yIGEgZmV3IHNlY29u
ZHMgYW5kIGNsb3NlIGl0Iik7Cit9Cis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
KzxwIGlkPSJyZXN1bHQiPldhaXQuLi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcCBiL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCmluZGV4IDk4YTQ3MjAuLjMyZmQ0MTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCisrKyBiL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCkBAIC0zOSwzOCArMzksMjMgQEAgUGFnZUdy
b3VwTG9hZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBk
ZWZlclNlbGYpCiAgICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBw
YWdlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgUGFnZSogb3RoZXJQYWdl
ID0gKml0OwogICAgICAgICBpZiAoKGRlZmVyU2VsZiB8fCBvdGhlclBhZ2UgIT0gcGFnZSkpIHsK
LSAgICAgICAgICAgIGlmICghb3RoZXJQYWdlLT5kZWZlcnNMb2FkaW5nKCkpIHsKKyAgICAgICAg
ICAgIGlmICghb3RoZXJQYWdlLT5kZWZlcnNMb2FkaW5nKCkpCiAgICAgICAgICAgICAgICAgbV9k
ZWZlcnJlZEZyYW1lcy5hcHBlbmQob3RoZXJQYWdlLT5tYWluRnJhbWUoKSk7Ci0KLSAgICAgICAg
ICAgICAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQgZGVmZXJy
aW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVjdXRlZCBiZW5lYXRoIG1vZGFsCi0g
ICAgICAgICAgICAgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hl
biBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KLSAgICAgICAgICAgICAgICAvLyBOT1RF
OiBpZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0
aGFuIHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCi0gICAgICAgICAgICAgICAgLy8g
dGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFz
b25Gb3JTdXNwZW5zaW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3Ro
ZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVy
c2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3Bl
bmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwotICAg
ICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+
c3VzcGVuZCgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KIAogICAgIHNpemVfdCBjb3VudCA9IG1fZGVmZXJyZWRGcmFtZXMuc2l6ZSgpOwotICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVk
RnJhbWVzW2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKHRy
dWUpOworICAgIH0KIH0KIAogUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdyb3VwTG9hZERl
ZmVycmVyKCkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZGVmZXJyZWRGcmFtZXMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVz
W2ldLT5wYWdlKCkpIHsKKyAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVz
W2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsK
LQotICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJh
bWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwotICAgICAg
ICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76562</attachid>
            <date>2010-12-14 13:17:00 -0800</date>
            <delta_ts>2011-01-31 16:07:26 -0800</delta_ts>
            <desc>rerun builtbot</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>8648</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDFjZWIyZi4uYjIyOTNmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hl
biBwYWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0
aW1lciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJm
b3JtZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9i
bGVtIHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVu
IHBhZ2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBt
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAq
IGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMi0xMyAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBRdCBi
dWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNzQzZTI4Ny4uZTQzMTg3OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NDE4LDYgKzQxOCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtV
UkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRFdmVu
dERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQpCiAg
ICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93cml0
aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFza3NU
aW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAgbV9k
b2N1bWVudCA9IHRoaXM7CiAKQEAgLTQ2ODksMjIgKzQ2OTAsNTcgQEAgc3RydWN0IFBlcmZvcm1U
YXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0
eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIHJhd0NvbnRleHQpCiB7CiAg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIFBlcmZvcm1UYXNrQ29udGV4dCogY29u
dGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UGVyZm9ybVRhc2tDb250ZXh0Kj4oY3R4KTsKKyAgICBP
d25QdHI8UGVyZm9ybVRhc2tDb250ZXh0PiBjb250ZXh0ID0gYWRvcHRQdHIoc3RhdGljX2Nhc3Q8
UGVyZm9ybVRhc2tDb250ZXh0Kj4ocmF3Q29udGV4dCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsK
IAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5j
ZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1l
bnQpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNl
LT5kb2N1bWVudCgpOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7CisgICAgaWYgKCFkb2N1bWVudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7Cisg
ICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZS0+ZGVmZXJzTG9h
ZGluZygpIHx8ICFkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAg
IGRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5sZWFrUHRyKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRh
c2soZG9jdW1lbnQpOwogfQogCiB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRh
c2s+IHRhc2spCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBlcmZv
cm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWluVGhy
ZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5j
ZSwgdGFzaykpOworfQorCit2b2lkIERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRp
bWVyPERvY3VtZW50PiopCit7CisgICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgT3duUHRyPFRhc2s+IHRhc2sgPSBtX3BlbmRpbmdUYXNrc1swXS5yZWxlYXNl
KCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzLnJlbW92ZSgwKTsKKyAgICAgICAgdGFzay0+cGVy
Zm9ybVRhc2sodGhpcyk7CisgICAgfQorfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kU2NoZWR1
bGVkVGFza3MoKQoreworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVj
dDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsK
KyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKK30KKwordm9pZCBEb2N1bWVudDo6cmVz
dW1lU2NoZWR1bGVkVGFza3MoKQoreworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgp
KQorICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBhc3lu
Y1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKKyAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKCk7
CiB9CiAKIEVsZW1lbnQqIERvY3VtZW50OjpmaW5kQW5jaG9yKGNvbnN0IFN0cmluZyYgbmFtZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCmluZGV4IDNiODZiOTcuLmY2OGRjOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTA2Myw2ICsxMDYzLDkgQEAg
cHVibGljOgogCiAgICAgYm9vbCBtYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSBjb25z
dDsKIAorICAgIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CisgICAgdm9pZCByZXN1bWVT
Y2hlZHVsZWRUYXNrcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25z
dCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VV
UkwgPSBLVVJMKCkpOwogCkBAIC0xMTM2LDYgKzExMzksMTAgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgbG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwogCisgICAgdm9p
ZCBwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworCisgICAgc3RhdGlj
IHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAgICAgT3duUHRyPENTU1N0eWxlU2VsZWN0
b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5bGVTZWxlY3Rv
cjsKIApAQCAtMTM4NCw2ICsxMzkxLDkgQEAgcHJpdmF0ZToKIAogICAgIERvY3VtZW50VGltaW5n
IG1fZG9jdW1lbnRUaW1pbmc7CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlNYXRjaGVyPiBtX21lZGlh
UXVlcnlNYXRjaGVyOworCisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7
CisgICAgVmVjdG9yPE93blB0cjxUYXNrPiA+IG1fcGVuZGluZ1Rhc2tzOwogfTsKIAogaW5saW5l
IGJvb2wgRG9jdW1lbnQ6OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29udGFpbnMoQXRvbWljU3RyaW5n
SW1wbCogaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggOWQ1ZTdkMC4uM2M3OThk
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjU0LDYgKzI1NCwxNSBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICBtX2ZyYW1lLT5u
YXZpZ2F0aW9uU2NoZWR1bGVyKCktPnN0YXJ0VGltZXIoKTsKICAgICAgICAgc3RhcnRDaGVja0Nv
bXBsZXRlVGltZXIoKTsKICAgICB9CisKKyAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxs
eSBwYXJ0IG9mIGxvYWQgZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVj
dXRlZCBiZW5lYXRoIG1vZGFsCisgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4
YWN0bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KKyAgICAvLyBOT1RFOiBp
ZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0aGFu
IHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCisgICAgLy8gdGhlIGNvbnN0cnVjdG9y
IHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9u
LgorICAgIGlmIChkZWZlcnMpCisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRT
Y2hlZHVsZWRUYXNrcygpOworICAgIGVsc2UKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6Y2FuSGFuZGxl
UmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL21hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sIGIvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjNkMDNhCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApAQCAtMCww
ICsxLDE3IEBACis8aHRtbD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGZ1bmN0
aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2soKQorICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJDYWxsYmFjayB3YXMgY2FsbGVkLiBUZXN0
IHBhc3NlZCI7CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VDYWxs
YmFja0RlZmVycmVkIiwgIjEuMCIsICIiLCAxKTsKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlv
bih0eCkgeyB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBDYWxsYmFj
a0RlZmVycmVkVGVzdCAocmFuZG9tRGF0YSkiLCBbXSk7IH0sIHRyYW5zYWN0aW9uQ2FsbGJhY2ss
IHRyYW5zYWN0aW9uQ2FsbGJhY2spOworCisgICAgYWxlcnQoIldhaXQgZm9yIGEgZmV3IHNlY29u
ZHMgYW5kIGNsb3NlIGl0Iik7Cit9Cis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
KzxwIGlkPSJyZXN1bHQiPldhaXQuLi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcCBiL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCmluZGV4IDk4YTQ3MjAuLjMyZmQ0MTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCisrKyBiL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCkBAIC0zOSwzOCArMzksMjMgQEAgUGFnZUdy
b3VwTG9hZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBk
ZWZlclNlbGYpCiAgICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBw
YWdlcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgUGFnZSogb3RoZXJQYWdl
ID0gKml0OwogICAgICAgICBpZiAoKGRlZmVyU2VsZiB8fCBvdGhlclBhZ2UgIT0gcGFnZSkpIHsK
LSAgICAgICAgICAgIGlmICghb3RoZXJQYWdlLT5kZWZlcnNMb2FkaW5nKCkpIHsKKyAgICAgICAg
ICAgIGlmICghb3RoZXJQYWdlLT5kZWZlcnNMb2FkaW5nKCkpCiAgICAgICAgICAgICAgICAgbV9k
ZWZlcnJlZEZyYW1lcy5hcHBlbmQob3RoZXJQYWdlLT5tYWluRnJhbWUoKSk7Ci0KLSAgICAgICAg
ICAgICAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQgZGVmZXJy
aW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVjdXRlZCBiZW5lYXRoIG1vZGFsCi0g
ICAgICAgICAgICAgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hl
biBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KLSAgICAgICAgICAgICAgICAvLyBOT1RF
OiBpZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0
aGFuIHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCi0gICAgICAgICAgICAgICAgLy8g
dGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFz
b25Gb3JTdXNwZW5zaW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3Ro
ZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVy
c2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3Bl
bmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwotICAg
ICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+
c3VzcGVuZCgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KIAogICAgIHNpemVfdCBjb3VudCA9IG1fZGVmZXJyZWRGcmFtZXMuc2l6ZSgpOwotICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVk
RnJhbWVzW2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKHRy
dWUpOworICAgIH0KIH0KIAogUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdyb3VwTG9hZERl
ZmVycmVyKCkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZGVmZXJyZWRGcmFtZXMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVz
W2ldLT5wYWdlKCkpIHsKKyAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVz
W2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsK
LQotICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJh
bWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwotICAgICAg
ICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUo
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77150</attachid>
            <date>2010-12-21 14:02:14 -0800</date>
            <delta_ts>2011-01-04 12:55:13 -0800</delta_ts>
            <desc>updated</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>8810</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmQ4YTg3OC4uY2VkYzBhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0xMS0xMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hlbiBw
YWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0aW1l
ciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJmb3Jt
ZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9ibGVt
IHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVuIHBh
Z2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBtYW51
YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1l
ckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJh
Y2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVy
cmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKwogMjAxMC0xMi0yMSAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDc0M2UyODcuLjU0MDMxY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQxOCw2ICs0MTgsNyBAQCBEb2N1
bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRN
TCwgYm9vbCBpc0hUTUwsIGNvbgogICAgICwgbV9sb2FkRXZlbnREZWxheVRpbWVyKHRoaXMsICZE
b2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKQogICAgICwgbV9kaXJlY3Rpb25TZXRP
bkRvY3VtZW50RWxlbWVudChmYWxzZSkKICAgICAsIG1fd3JpdGluZ01vZGVTZXRPbkRvY3VtZW50
RWxlbWVudChmYWxzZSkKKyAgICAsIG1fcGVuZGluZ1Rhc2tzVGltZXIodGhpcywgJkRvY3VtZW50
OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKQogewogICAgIG1fZG9jdW1lbnQgPSB0aGlzOwogCkBA
IC00Njg5LDIyICs0NjkwLDYxIEBAIHN0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgOiBOb25jb3B5
YWJsZSB7CiAgICAgT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2s7CiB9
OwogCi1zdGF0aWMgdm9pZCBwZXJmb3JtVGFzayh2b2lkKiBjdHgpCit2b2lkIERvY3VtZW50Ojpk
aWRSZWNlaXZlVGFzayh2b2lkKiB1bnR5cGVkQ29udGV4dCkKIHsKICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0ID0gcmVpbnRlcnBy
ZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0cjxQZXJmb3JtVGFz
a0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFB0cihzdGF0aWNfY2FzdDxQZXJmb3JtVGFza0NvbnRl
eHQqPih1bnR5cGVkQ29udGV4dCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsKIAotICAgIGlmIChE
b2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQo
KSkKLSAgICAgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOworICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgp
OwogCi0gICAgZGVsZXRlIGNvbnRleHQ7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZS0+ZGVmZXJzTG9hZGluZygpIHx8ICFk
b2N1bWVudC0+bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT5t
X3BlbmRpbmdUYXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5yZWxlYXNlKCkpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQp
OwogfQogCiB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spCiB7
Ci0gICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBlcmZvcm1UYXNrQ29udGV4
dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKGRpZFJlY2Vp
dmVUYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOwor
fQorCit2b2lkIERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50
PiopCit7CisgICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpIHsKKyAgICAgICAg
T3duUHRyPFRhc2s+IHRhc2sgPSBtX3BlbmRpbmdUYXNrc1swXS5yZWxlYXNlKCk7CisgICAgICAg
IG1fcGVuZGluZ1Rhc2tzLnJlbW92ZSgwKTsKKyAgICAgICAgdGFzay0+cGVyZm9ybVRhc2sodGhp
cyk7CisgICAgfQorfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kU2NoZWR1bGVkVGFza3MoKQor
eworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dE
aWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsKKyAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0b3AoKTsKKyAgICBpZiAobV9wYXJzZXIpCisgICAgICAgIG1fcGFyc2Vy
LT5zdXNwZW5kUGFyc2luZygpOworfQorCit2b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRU
YXNrcygpCit7CisgICAgaWYgKG1fcGFyc2VyKQorICAgICAgICBtX3BhcnNlci0+cmVzdW1lUGFy
c2luZygpOworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKQorICAgICAgICBtX3Bl
bmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBhc3luY1NjcmlwdFJ1bm5lcigp
LT5yZXN1bWUoKTsKKyAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKCk7CiB9CiAKIEVsZW1lbnQq
IERvY3VtZW50OjpmaW5kQW5jaG9yKGNvbnN0IFN0cmluZyYgbmFtZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDNiODZi
OTcuLmY2OGRjOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTA2Myw2ICsxMDYzLDkgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBtYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSBjb25zdDsKIAorICAgIHZvaWQg
c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CisgICAgdm9pZCByZXN1bWVTY2hlZHVsZWRUYXNrcygp
OworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJv
b2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNvbnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwog
CkBAIC0xMTM2LDYgKzExMzksMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgbG9hZEV2ZW50RGVs
YXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwogCisgICAgdm9pZCBwZW5kaW5nVGFza3NU
aW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworCisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2
ZVRhc2sodm9pZCopOworCiAgICAgT3duUHRyPENTU1N0eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxl
Y3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3VsYXRlU3R5bGVTZWxlY3RvcjsKIApAQCAtMTM4NCw2
ICsxMzkxLDkgQEAgcHJpdmF0ZToKIAogICAgIERvY3VtZW50VGltaW5nIG1fZG9jdW1lbnRUaW1p
bmc7CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlNYXRjaGVyPiBtX21lZGlhUXVlcnlNYXRjaGVyOwor
CisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVmVjdG9yPE93
blB0cjxUYXNrPiA+IG1fcGVuZGluZ1Rhc2tzOwogfTsKIAogaW5saW5lIGJvb2wgRG9jdW1lbnQ6
OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29udGFpbnMoQXRvbWljU3RyaW5nSW1wbCogaWQpIGNvbnN0
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggOWQ1ZTdkMC4uMWM4MjMwNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcApAQCAtMjU0LDYgKzI1NCwxMyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXREZWZl
cnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICBtX2ZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1
bGVyKCktPnN0YXJ0VGltZXIoKTsKICAgICAgICAgc3RhcnRDaGVja0NvbXBsZXRlVGltZXIoKTsK
ICAgICB9CisKKyAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQg
ZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVjdXRlZCBiZW5lYXRoIG1v
ZGFsCisgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdl
R3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KKyAgICBpZiAoZGVmZXJzKQorICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kU2NoZWR1bGVkVGFza3MoKTsKKyAgICBlbHNlCisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiB9CiAKIGJv
b2wgRnJhbWVMb2FkZXI6OmNhbkhhbmRsZVJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJh
Y2stZGVmZXJyZWQuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNr
LWRlZmVycmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YzZDAz
YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxi
YWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPGh0bWw+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrKCkKKyAgICB7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAi
Q2FsbGJhY2sgd2FzIGNhbGxlZC4gVGVzdCBwYXNzZWQiOworICAgIH0KKyAgICB2YXIgZGIgPSBv
cGVuRGF0YWJhc2UoIkRhdGFiYXNlQ2FsbGJhY2tEZWZlcnJlZCIsICIxLjAiLCAiIiwgMSk7Cisg
ICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tEZWZlcnJlZFRlc3QgKHJhbmRvbURhdGEpIiwgW10p
OyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0cmFuc2FjdGlvbkNhbGxiYWNrKTsKKworICAgIGFs
ZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRzIGFuZCBjbG9zZSBpdCIpOworfQorPC9zY3JpcHQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cCBpZD0icmVzdWx0Ij5XYWl0Li4uPC9wPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZl
cnJlci5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcAppbmRleCA2
ODBjNTJmLi45YTdjMTg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERl
ZmVycmVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApA
QCAtNDAsNDIgKzQwLDIzIEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqIHBhZ2UsIGJvb2wgZGVmZXJTZWxmKQogICAgIGZvciAoSGFzaFNldDxQYWdl
Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcGFnZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7
CiAgICAgICAgIFBhZ2UqIG90aGVyUGFnZSA9ICppdDsKICAgICAgICAgaWYgKChkZWZlclNlbGYg
fHwgb3RoZXJQYWdlICE9IHBhZ2UpKSB7Ci0gICAgICAgICAgICBpZiAoIW90aGVyUGFnZS0+ZGVm
ZXJzTG9hZGluZygpKSB7CisgICAgICAgICAgICBpZiAoIW90aGVyUGFnZS0+ZGVmZXJzTG9hZGlu
ZygpKQogICAgICAgICAgICAgICAgIG1fZGVmZXJyZWRGcmFtZXMuYXBwZW5kKG90aGVyUGFnZS0+
bWFpbkZyYW1lKCkpOwotCi0gICAgICAgICAgICAgICAgLy8gVGhpcyBjb2RlIGlzIG5vdCBsb2dp
Y2FsbHkgcGFydCBvZiBsb2FkIGRlZmVycmluZywgYnV0IHdlIGRvIG5vdCB3YW50IEpTIGNvZGUg
ZXhlY3V0ZWQgYmVuZWF0aCBtb2RhbAotICAgICAgICAgICAgICAgIC8vIHdpbmRvd3Mgb3Igc2hl
ZXRzLCB3aGljaCBpcyBleGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQu
Ci0gICAgICAgICAgICAgICAgLy8gTk9URTogaWYgUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIGV2
ZXIgdXNlZCBmb3IgdGFza3Mgb3RoZXIgdGhhbiBzaG93aW5nIGEgbW9kYWwgd2luZG93IG9yIHNo
ZWV0LAotICAgICAgICAgICAgICAgIC8vIHRoZSBjb25zdHJ1Y3RvciB3aWxsIG5lZWQgdG8gdGFr
ZSBhIEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbi4KLSAgICAgICAgICAgICAg
ICBmb3IgKEZyYW1lKiBmcmFtZSA9IG90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFt
ZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmpl
Y3Q6OldpbGxTaG93RGlhbG9nKTsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50
KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBmcmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXItPnN1c3BlbmRQYXJzaW5nKCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCiAgICAgc2l6
ZV90IGNvdW50ID0gbV9kZWZlcnJlZEZyYW1lcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBjb3VudDsgKytpKQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsr
aSkgewogICAgICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNbaV0tPnBhZ2Uo
KSkKICAgICAgICAgICAgIHBhZ2UtPnNldERlZmVyc0xvYWRpbmcodHJ1ZSk7CisgICAgfQogfQog
CiBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKQogewogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9kZWZlcnJlZEZyYW1lcy5zaXplKCk7ICsraSkgewot
ICAgICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNbaV0tPnBhZ2UoKSkgewor
ICAgICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNbaV0tPnBhZ2UoKSkKICAg
ICAgICAgICAgIHBhZ2UtPnNldERlZmVyc0xvYWRpbmcoZmFsc2UpOwotCi0gICAgICAgICAgICBm
b3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFt
ZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1
bWVudCgpLT5yZXN1bWVBY3RpdmVET01PYmplY3RzKCk7Ci0gICAgICAgICAgICAgICAgZnJhbWUt
PmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwotICAgICAgICAgICAg
ICAgIGlmIChEb2N1bWVudFBhcnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3VtZW50KCktPnBhcnNl
cigpKQotICAgICAgICAgICAgICAgICAgICBwYXJzZXItPnJlc3VtZVBhcnNpbmcoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>
<flag name="commit-queue"
          id="68196"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77919</attachid>
            <date>2011-01-04 12:55:13 -0800</date>
            <delta_ts>2011-01-04 12:55:31 -0800</delta_ts>
            <desc>fix merge error</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>7479</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">RnJvbSA5MWEyOGQ5MDZkNmFiNzVkNWQ5OWU2MTMzYmJkZDM4ZThmZTFjMzA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBZb25nIExpIDx5b2xpQHJpbS5jb20+CkRhdGU6IFRodSwgMTEg
Tm92IDIwMTAgMTY6Mzk6MjAgLTA1MDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTExLTExICBZb25n
IExpICA8eW9saUByaW0uY29tPgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CiAgICAgICAgRGVmZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaydzIGluIERvY3VtZW50
IHdoZW4gcGFnZSBsb2FkaW5nIGlzIGRlZmVycmVkLgogICAgICAgIFJJTSBCdWcgIzE3MjguCiAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDAxLgoKICAg
ICAgICBNYW51YWwgdGVzdCBhZGRlZDogbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRl
ZmVycmVkLmh0bWwuCgogICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1
bWVudCk6CiAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZWNlaXZlVGFzayk6CiAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwb3N0VGFzayk6CiAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKToKICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OndpbGxEZWZlckxvYWRpbmcpOgogICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkUmVzdW1l
TG9hZGluZyk6CiAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKICAgICAgICAqIG1hbnVhbC10ZXN0
cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sOiBBZGRlZC4KICAgICAgICAqIHBhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDoKICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9h
ZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOgogICAgICAgIChXZWJDb3JlOjpQYWdl
R3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBMb2FkRGVmZXJyZXIpOgotLS0KIFdlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1MSArKysrKysr
KysrKysrKysrKy0tCiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTAgKysrKwogLi4uL21hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1k
ZWZlcnJlZC5odG1sICAgfCAgIDIyICsrKysrKysrCiBXZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9h
ZERlZmVycmVyLmNwcCAgICAgICAgICAgICB8ICAgMTIgKystLS0KIDQgZmlsZXMgY2hhbmdlZCwg
ODEgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2Vi
Q29yZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbAoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCA0NjQwYTExLi4yOWU0NDBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MDgsNiArNDA4LDcgQEAg
RG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlz
WEhUTUwsIGJvb2wgaXNIVE1MLCBjb24KICAgICAsIG1fYXJlS2V5c0VuYWJsZWRJbkZ1bGxTY3Jl
ZW4oMCkKICNlbmRpZgogICAgICwgbV9sb2FkRXZlbnREZWxheUNvdW50KDApCisgICAgLCBtX3Bl
bmRpbmdUYXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkK
IHsKICAgICBtX2RvY3VtZW50ID0gdGhpczsKIApAQCAtNTY1LDYgKzU2Niw5IEBAIERvY3VtZW50
Ojp+RG9jdW1lbnQoKQogICAgICAgICBtX3N0eWxlU2hlZXRzLT5kb2N1bWVudERlc3Ryb3llZCgp
OwogCiAgICAgbV93ZWFrUmVmZXJlbmNlLT5jbGVhcigpOworCisgICAgZm9yKGludCBpID0gMDsg
aSA8IG1fcGVuZGluZ1Rhc2tzLnNpemUoKTsgKytpKQorICAgICAgICBkZWxldGUgbV9wZW5kaW5n
VGFza3NbaV07CiB9CiAKICNpZiBVU0UoSlNDKQpAQCAtNDYwMSwyMiArNDYwNSw1NyBAQCBzdHJ1
Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9uY29weWFibGUgewogICAgIE93blB0cjxTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrOwogfTsKIAotc3RhdGljIHZvaWQgcGVyZm9ybVRh
c2sodm9pZCogY3R4KQordm9pZCBEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2sodm9pZCogY3R4KQog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBQZXJmb3JtVGFza0NvbnRleHQq
IGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCk7Cisg
ICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29udGV4dChyZWludGVycHJldF9jYXN0PFBl
cmZvcm1UYXNrQ29udGV4dCo+KGN0eCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsKIAotICAgIGlm
IChEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1l
bnQoKSkKLSAgICAgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOworICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVu
dCgpOworCisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSog
cGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47
CiAKLSAgICBkZWxldGUgY29udGV4dDsKKyAgICBpZiAocGFnZS0+ZGVmZXJzTG9hZGluZygpIHx8
ICFkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50
LT5tX3BlbmRpbmdUYXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5sZWFrUHRyKCkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1l
bnQpOwogfQogCiB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2sp
CiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBlcmZvcm1UYXNrQ29u
dGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKGRpZFJl
Y2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykp
OworfQorCit2b2lkIERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3Vt
ZW50PiopCit7CisgICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgT3duUHRyPFRhc2s+IHRhc2sobV9wZW5kaW5nVGFza3NbMF0pOworICAgICAgICBtX3BlbmRp
bmdUYXNrcy5yZW1vdmUoMCk7CisgICAgICAgIHRhc2stPnBlcmZvcm1UYXNrKHRoaXMpOworICAg
IH0KK30KKwordm9pZCBEb2N1bWVudDo6d2lsbERlZmVyTG9hZGluZygpCit7CisgICAgc3VzcGVu
ZEFjdGl2ZURPTU9iamVjdHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAg
YXN5bmNTY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIu
c3RvcCgpOworfQorCit2b2lkIERvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKCkKK3sKKyAgICBp
ZiAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7Cisg
ICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwogfQogCiBFbGVtZW50KiBEb2N1bWVudDo6Zmlu
ZEFuY2hvcihjb25zdCBTdHJpbmcmIG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA1MzUzZjc1Li5lMTE3ZTE1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKQEAgLTEwMjksNiArMTAyOSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlY3JlbWVudExv
YWRFdmVudERlbGF5Q291bnQoKTsKICAgICBib29sIGlzRGVsYXlpbmdMb2FkRXZlbnQoKSBjb25z
dCB7IHJldHVybiBtX2xvYWRFdmVudERlbGF5Q291bnQ7IH0KIAorICAgIHZpcnR1YWwgdm9pZCB3
aWxsRGVmZXJMb2FkaW5nKCk7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlc3VtZUxvYWRpbmcoKTsK
KwogI2lmIFBMQVRGT1JNKE9MWU1QSUEpCiAgICAgU3RyaW5nIGdyb3VwTmFtZSgpOwogI2VuZGlm
CkBAIC0xMDc3LDYgKzEwODAsMTAgQEAgcHJpdmF0ZToKIAogICAgIFBhc3NSZWZQdHI8Tm9kZUxp
c3Q+IGhhbmRsZVplcm9QYWRkaW5nKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3Vs
dCYpIGNvbnN0OwogCisgICAgdm9pZCBwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3Vt
ZW50PiopOworCisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAgICAg
T3duUHRyPENTU1N0eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxlY3RvcjsKIAogICAgIGJvb2wgbV9k
aWRDYWxjdWxhdGVTdHlsZVNlbGVjdG9yOwpAQCAtMTMyMCw2ICsxMzI3LDkgQEAgcHJpdmF0ZToK
ICNlbmRpZgogCiAgICAgaW50IG1fbG9hZEV2ZW50RGVsYXlDb3VudDsKKworICAgIFRpbWVyPERv
Y3VtZW50PiBtX3BlbmRpbmdUYXNrc1RpbWVyOworICAgIFZlY3RvcjxUYXNrKj4gbV9wZW5kaW5n
VGFza3M7CiB9OwogCiBpbmxpbmUgYm9vbCBEb2N1bWVudDo6aGFzRWxlbWVudFdpdGhJZChBdG9t
aWNTdHJpbmdJbXBsKiBpZCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9k
YXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjczMTFiNTMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1s
PgorPHNjcmlwdD4KKwordmFyIGNhbGxiYWNrSXNDYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIHRy
YW5zYWN0aW9uQ2FsbGJhY2soKQoreworICAgIGNhbGxiYWNrSXNDYWxsZWQgPSB0cnVlOworfQor
dmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJyZWQiLCAiMS4wIiwg
IiIsIDEpOworZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgdHguZXhlY3V0ZVNxbCgiQ1JF
QVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tEZWZlcnJlZFRlc3QgKHJhbmRvbURhdGEp
IiwgW10pOyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0cmFuc2FjdGlvbkNhbGxiYWNrKTsKKwor
YWxlcnQoIldhaXQgZm9yIGEgZmV3IHNlY29uZHMgYW5kIGNsb3NlIGl0Iik7CisKK2lmIChjYWxs
YmFja0lzQ2FsbGVkKQorICAgIGRvY3VtZW50LndyaXRlKCJDYWxsYmFjayB3YXMgY2FsbGVkLiBU
ZXN0IHBhc3NlZCIpOworZWxzZQorICAgIGRvY3VtZW50LndyaXRlKCJDYWxsYmFjayB3YXMgbWlz
c2VkLiBUZXN0IGZhaWxlZCIpOworCis8L3NjcmlwdD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAgYi9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcAppbmRleCA0NGMzOGJjLi5jZGU1
Zjg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcAor
KysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApAQCAtNjMsMTAgKzYz
LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSog
cGFnZSwgYm9vbCBkZWZlclNlbGYpCiAgICAgICAgIC8vIHdpbmRvd3Mgb3Igc2hlZXRzLCB3aGlj
aCBpcyBleGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQuCiAgICAgICAg
IC8vIE5PVEU6IGlmIFBhZ2VHcm91cExvYWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tz
IG90aGVyIHRoYW4gc2hvd2luZyBhIG1vZGFsIHdpbmRvdyBvciBzaGVldCwKICAgICAgICAgLy8g
dGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFz
b25Gb3JTdXNwZW5zaW9uLgotICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG1fZGVmZXJyZWRG
cmFtZXNbaV0uZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4
dCgpKSB7Ci0gICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9i
amVjdHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICBmcmFt
ZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgpOwotICAgICAgICB9
CisgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gbV9kZWZlcnJlZEZyYW1lc1tpXS5nZXQoKTsg
ZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpCisgICAgICAgICAg
ICBmcmFtZS0+ZG9jdW1lbnQoKS0+d2lsbERlZmVyTG9hZGluZygpOwogCiAgICAgICAgIGlmIChQ
YWdlKiBwYWdlID0gbV9kZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFn
ZS0+c2V0RGVmZXJzTG9hZGluZyh0cnVlKTsKQEAgLTc5LDEwICs3Nyw4IEBAIFBhZ2VHcm91cExv
YWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcigpCiAgICAgICAgIGlmIChQYWdlKiBw
YWdlID0gbV9kZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKSB7CiAgICAgICAgICAgICBwYWdlLT5z
ZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsKIAotICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUg
PSBwYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVy
c2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lQWN0
aXZlRE9NT2JqZWN0cygpOwotICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hc3lu
Y1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZv
ciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1l
LT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKQorICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5kaWRSZXN1bWVMb2FkaW5nKCk7CiAgICAgICAgIH0KICAgICB9CiAKLS0gCjEuNi41LjEu
MTM2Ny5nY2Q0OAoK
</data>
<flag name="commit-queue"
          id="69154"
          type_id="3"
          status="+"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77920</attachid>
            <date>2011-01-04 12:56:15 -0800</date>
            <delta_ts>2011-01-05 13:22:04 -0800</delta_ts>
            <desc>the right one</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>9296</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUwODc3NC4uOTc3ZmRhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMSBAQAogMjAxMS0wMS0wNCAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hlbiBw
YWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0aW1l
ciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJmb3Jt
ZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9ibGVt
IHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVuIHBh
Z2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBtYW51
YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1l
ckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJh
Y2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVy
cmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKworMjAxMS0wMS0wNCAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgogCiAgICAgICAg
IFN1c3BlbmQgSFRNTFBhcnNlclNjaGVkdWxlciB3aGVuIHBhZ2UgbG9hZCBpcyBkZWZlcnJlZCB0
bwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDc2YjBhNGYuLjU4ZjU2YmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE5LDcgKzE5
LDcgQEAKICAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWZmIG5vdCwgd3JpdGUg
dG8KICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwpA
QCAtNDE5LDYgKzQxOSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0
IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRF
dmVudERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQp
CiAgICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93
cml0aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFz
a3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAg
bV9kb2N1bWVudCA9IHRoaXM7CiAKQEAgLTQ2NzEsMjIgKzQ2NzIsNjEgQEAgc3RydWN0IFBlcmZv
cm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQq
IGN0eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIHVudHlwZWRDb250ZXh0
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBQZXJmb3JtVGFza0NvbnRl
eHQqIGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCk7
CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29udGV4dCA9IGFkb3B0UHRyKHN0YXRp
Y19jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KHVudHlwZWRDb250ZXh0KSk7CiAgICAgQVNTRVJU
KGNvbnRleHQpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3Vt
ZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpKQotICAgICAgICBjb250ZXh0LT50YXNrLT5wZXJmb3Jt
VGFzayhkb2N1bWVudCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dC0+ZG9jdW1l
bnRSZWZlcmVuY2UtPmRvY3VtZW50KCk7CiAKLSAgICBkZWxldGUgY29udGV4dDsKKyAgICBpZiAo
IWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQt
PnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwYWdl
LT5kZWZlcnNMb2FkaW5nKCkgfHwgIWRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgZG9jdW1lbnQtPm1fcGVuZGluZ1Rhc2tzLmFwcGVuZChjb250ZXh0LT50YXNr
LnJlbGVhc2UoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb250ZXh0LT50YXNr
LT5wZXJmb3JtVGFzayhkb2N1bWVudCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnBvc3RUYXNrKFBh
c3NPd25QdHI8VGFzaz4gdGFzaykKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKHBlcmZvcm1UYXNr
LCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworICAgIGNh
bGxPbk1haW5UaHJlYWQoZGlkUmVjZWl2ZVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93
ZWFrUmVmZXJlbmNlLCB0YXNrKSk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1Rp
bWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKK3sKKyAgICB3aGlsZSAoIW1fcGVuZGluZ1Rhc2tz
LmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8VGFzaz4gdGFzayA9IG1fcGVuZGluZ1Rhc2tz
WzBdLnJlbGVhc2UoKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAgICAg
ICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnN1
c3BlbmRTY2hlZHVsZWRUYXNrcygpCit7CisgICAgc3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0
aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+
c3VzcGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOworICAgIGlmIChtX3Bh
cnNlcikKKyAgICAgICAgbV9wYXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworfQorCit2
b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcygpCit7CisgICAgaWYgKG1fcGFyc2Vy
KQorICAgICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKKyAgICBpZiAoIW1f
cGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CisgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cygpOwogfQogCiBFbGVtZW50KiBEb2N1bWVudDo6ZmluZEFuY2hv
cihjb25zdCBTdHJpbmcmIG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA3ZTc5NjdmLi5hNzQ2NGRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTEwNjcsNiArMTA2Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW5pdEROU1ByZWZldGNo
KCk7CiAKKyAgICB2b2lkIHN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworICAgIHZvaWQgcmVzdW1l
U2NoZWR1bGVkVGFza3MoKTsKKwogcHJvdGVjdGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29u
c3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb25zdCBLVVJMJiBiYXNl
VVJMID0gS1VSTCgpKTsKIApAQCAtMTEzMyw2ICsxMTM2LDEwIEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAgIHZv
aWQgcGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0YXRp
YyB2b2lkIGRpZFJlY2VpdmVUYXNrKHZvaWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNlbGVj
dG9yPiBtX3N0eWxlU2VsZWN0b3I7CiAgICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2VsZWN0
b3I7CiAKQEAgLTEzODAsNiArMTM4Nyw5IEBAIHByaXZhdGU6CiAKICAgICBEb2N1bWVudFRpbWlu
ZyBtX2RvY3VtZW50VGltaW5nOwogICAgIFJlZlB0cjxNZWRpYVF1ZXJ5TWF0Y2hlcj4gbV9tZWRp
YVF1ZXJ5TWF0Y2hlcjsKKworICAgIFRpbWVyPERvY3VtZW50PiBtX3BlbmRpbmdUYXNrc1RpbWVy
OworICAgIFZlY3RvcjxPd25QdHI8VGFzaz4gPiBtX3BlbmRpbmdUYXNrczsKIH07CiAKIGlubGlu
ZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNvbnRhaW5zKEF0b21pY1N0cmlu
Z0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGViMDllNTcuLmNiOGVm
OTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI1NCw2ICsyNTQsMTMgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgbV9mcmFtZS0+
bmF2aWdhdGlvblNjaGVkdWxlcigpLT5zdGFydFRpbWVyKCk7CiAgICAgICAgIHN0YXJ0Q2hlY2tD
b21wbGV0ZVRpbWVyKCk7CiAgICAgfQorCisgICAgLy8gVGhpcyBjb2RlIGlzIG5vdCBsb2dpY2Fs
bHkgcGFydCBvZiBsb2FkIGRlZmVycmluZywgYnV0IHdlIGRvIG5vdCB3YW50IEpTIGNvZGUgZXhl
Y3V0ZWQgYmVuZWF0aCBtb2RhbAorICAgIC8vIHdpbmRvd3Mgb3Igc2hlZXRzLCB3aGljaCBpcyBl
eGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQuCisgICAgaWYgKGRlZmVy
cykKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7
CisgICAgZWxzZQorICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY2hlZHVsZWRU
YXNrcygpOwogfQogCiBib29sIEZyYW1lTG9hZGVyOjpjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9k
YXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNmM2QwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1s
PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgZnVuY3Rpb24gdHJhbnNhY3Rpb25D
YWxsYmFjaygpCisgICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MID0gIkNhbGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsKKyAgICB9
CisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJyZWQiLCAi
MS4wIiwgIiIsIDEpOworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRUZXN0IChy
YW5kb21EYXRhKSIsIFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rpb25DYWxs
YmFjayk7CisKKyAgICBhbGVydCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xvc2UgaXQi
KTsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJlc3VsdCI+
V2FpdC4uLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZl
cnJlci5jcHAKaW5kZXggNzgxYmMzNC4uOWE3YzE4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExv
YWREZWZlcnJlci5jcHAKQEAgLTQwLDQyICs0MCwyMyBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6
OlBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiBwYWdlLCBib29sIGRlZmVyU2VsZikKICAgICBm
b3IgKEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewogICAgICAgICBQYWdlKiBvdGhlclBhZ2UgPSAqaXQ7CiAgICAgICAg
IGlmICgoZGVmZXJTZWxmIHx8IG90aGVyUGFnZSAhPSBwYWdlKSkgewotICAgICAgICAgICAgaWYg
KCFvdGhlclBhZ2UtPmRlZmVyc0xvYWRpbmcoKSkgeworICAgICAgICAgICAgaWYgKCFvdGhlclBh
Z2UtPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgICAgICAgICBtX2RlZmVycmVkRnJhbWVzLmFw
cGVuZChvdGhlclBhZ2UtPm1haW5GcmFtZSgpKTsKLQotICAgICAgICAgICAgICAgIC8vIFRoaXMg
Y29kZSBpcyBub3QgbG9naWNhbGx5IHBhcnQgb2YgbG9hZCBkZWZlcnJpbmcsIGJ1dCB3ZSBkbyBu
b3Qgd2FudCBKUyBjb2RlIGV4ZWN1dGVkIGJlbmVhdGggbW9kYWwKLSAgICAgICAgICAgICAgICAv
LyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3aGVuIFBhZ2VHcm91cExvYWRE
ZWZlcnJlciBpcyB1c2VkLgotICAgICAgICAgICAgICAgIC8vIE5PVEU6IGlmIFBhZ2VHcm91cExv
YWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tzIG90aGVyIHRoYW4gc2hvd2luZyBhIG1v
ZGFsIHdpbmRvdyBvciBzaGVldCwKLSAgICAgICAgICAgICAgICAvLyB0aGUgY29uc3RydWN0b3Ig
d2lsbCBuZWVkIHRvIHRha2UgYSBBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24u
Ci0gICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBvdGhlclBhZ2UtPm1haW5GcmFt
ZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAg
ICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVj
dHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChEb2N1bWVudFBhcnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3Vt
ZW50KCktPnBhcnNlcigpKQotICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VyLT5zdXNwZW5k
U2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAKICAgICBzaXplX3QgY291bnQgPSBtX2RlZmVycmVkRnJhbWVzLnNpemUo
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9k
ZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9h
ZGluZyh0cnVlKTsKKyAgICB9CiB9CiAKIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91
cExvYWREZWZlcnJlcigpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2RlZmVycmVk
RnJhbWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJl
ZEZyYW1lc1tpXS0+cGFnZSgpKSB7CisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJl
ZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9hZGluZyhm
YWxzZSk7Ci0KLSAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1l
KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAg
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsK
LSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+
cmVzdW1lKCk7Ci0gICAgICAgICAgICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBm
cmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgICAgICAgICAgICAgIHBhcnNlci0+
cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgIH0K
IH0KIAo=
</data>
<flag name="commit-queue"
          id="69155"
          type_id="3"
          status="+"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78032</attachid>
            <date>2011-01-05 13:22:04 -0800</date>
            <delta_ts>2011-01-06 07:20:38 -0800</delta_ts>
            <desc>try again</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>9296</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUwODc3NC4uOTc3ZmRhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMSBAQAogMjAxMS0wMS0wNCAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hlbiBw
YWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0aW1l
ciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJmb3Jt
ZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9ibGVt
IHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVuIHBh
Z2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBtYW51
YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1l
ckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJh
Y2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVy
cmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKworMjAxMS0wMS0wNCAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgogCiAgICAgICAg
IFN1c3BlbmQgSFRNTFBhcnNlclNjaGVkdWxlciB3aGVuIHBhZ2UgbG9hZCBpcyBkZWZlcnJlZCB0
bwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDc2YjBhNGYuLjU4ZjU2YmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE5LDcgKzE5
LDcgQEAKICAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWZmIG5vdCwgd3JpdGUg
dG8KICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwpA
QCAtNDE5LDYgKzQxOSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0
IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRF
dmVudERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQp
CiAgICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93
cml0aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFz
a3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAg
bV9kb2N1bWVudCA9IHRoaXM7CiAKQEAgLTQ2NzEsMjIgKzQ2NzIsNjEgQEAgc3RydWN0IFBlcmZv
cm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQq
IGN0eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIHVudHlwZWRDb250ZXh0
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBQZXJmb3JtVGFza0NvbnRl
eHQqIGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCk7
CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29udGV4dCA9IGFkb3B0UHRyKHN0YXRp
Y19jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KHVudHlwZWRDb250ZXh0KSk7CiAgICAgQVNTRVJU
KGNvbnRleHQpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3Vt
ZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpKQotICAgICAgICBjb250ZXh0LT50YXNrLT5wZXJmb3Jt
VGFzayhkb2N1bWVudCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dC0+ZG9jdW1l
bnRSZWZlcmVuY2UtPmRvY3VtZW50KCk7CiAKLSAgICBkZWxldGUgY29udGV4dDsKKyAgICBpZiAo
IWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQt
PnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwYWdl
LT5kZWZlcnNMb2FkaW5nKCkgfHwgIWRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgZG9jdW1lbnQtPm1fcGVuZGluZ1Rhc2tzLmFwcGVuZChjb250ZXh0LT50YXNr
LnJlbGVhc2UoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb250ZXh0LT50YXNr
LT5wZXJmb3JtVGFzayhkb2N1bWVudCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnBvc3RUYXNrKFBh
c3NPd25QdHI8VGFzaz4gdGFzaykKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKHBlcmZvcm1UYXNr
LCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworICAgIGNh
bGxPbk1haW5UaHJlYWQoZGlkUmVjZWl2ZVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93
ZWFrUmVmZXJlbmNlLCB0YXNrKSk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1Rp
bWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKK3sKKyAgICB3aGlsZSAoIW1fcGVuZGluZ1Rhc2tz
LmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8VGFzaz4gdGFzayA9IG1fcGVuZGluZ1Rhc2tz
WzBdLnJlbGVhc2UoKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAgICAg
ICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnN1
c3BlbmRTY2hlZHVsZWRUYXNrcygpCit7CisgICAgc3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0
aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+
c3VzcGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOworICAgIGlmIChtX3Bh
cnNlcikKKyAgICAgICAgbV9wYXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworfQorCit2
b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcygpCit7CisgICAgaWYgKG1fcGFyc2Vy
KQorICAgICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKKyAgICBpZiAoIW1f
cGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CisgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cygpOwogfQogCiBFbGVtZW50KiBEb2N1bWVudDo6ZmluZEFuY2hv
cihjb25zdCBTdHJpbmcmIG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA3ZTc5NjdmLi5hNzQ2NGRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTEwNjcsNiArMTA2Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW5pdEROU1ByZWZldGNo
KCk7CiAKKyAgICB2b2lkIHN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworICAgIHZvaWQgcmVzdW1l
U2NoZWR1bGVkVGFza3MoKTsKKwogcHJvdGVjdGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29u
c3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb25zdCBLVVJMJiBiYXNl
VVJMID0gS1VSTCgpKTsKIApAQCAtMTEzMyw2ICsxMTM2LDEwIEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAgIHZv
aWQgcGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0YXRp
YyB2b2lkIGRpZFJlY2VpdmVUYXNrKHZvaWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNlbGVj
dG9yPiBtX3N0eWxlU2VsZWN0b3I7CiAgICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2VsZWN0
b3I7CiAKQEAgLTEzODAsNiArMTM4Nyw5IEBAIHByaXZhdGU6CiAKICAgICBEb2N1bWVudFRpbWlu
ZyBtX2RvY3VtZW50VGltaW5nOwogICAgIFJlZlB0cjxNZWRpYVF1ZXJ5TWF0Y2hlcj4gbV9tZWRp
YVF1ZXJ5TWF0Y2hlcjsKKworICAgIFRpbWVyPERvY3VtZW50PiBtX3BlbmRpbmdUYXNrc1RpbWVy
OworICAgIFZlY3RvcjxPd25QdHI8VGFzaz4gPiBtX3BlbmRpbmdUYXNrczsKIH07CiAKIGlubGlu
ZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNvbnRhaW5zKEF0b21pY1N0cmlu
Z0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGViMDllNTcuLmNiOGVm
OTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI1NCw2ICsyNTQsMTMgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgbV9mcmFtZS0+
bmF2aWdhdGlvblNjaGVkdWxlcigpLT5zdGFydFRpbWVyKCk7CiAgICAgICAgIHN0YXJ0Q2hlY2tD
b21wbGV0ZVRpbWVyKCk7CiAgICAgfQorCisgICAgLy8gVGhpcyBjb2RlIGlzIG5vdCBsb2dpY2Fs
bHkgcGFydCBvZiBsb2FkIGRlZmVycmluZywgYnV0IHdlIGRvIG5vdCB3YW50IEpTIGNvZGUgZXhl
Y3V0ZWQgYmVuZWF0aCBtb2RhbAorICAgIC8vIHdpbmRvd3Mgb3Igc2hlZXRzLCB3aGljaCBpcyBl
eGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQuCisgICAgaWYgKGRlZmVy
cykKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7
CisgICAgZWxzZQorICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY2hlZHVsZWRU
YXNrcygpOwogfQogCiBib29sIEZyYW1lTG9hZGVyOjpjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9k
YXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNmM2QwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1s
PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgZnVuY3Rpb24gdHJhbnNhY3Rpb25D
YWxsYmFjaygpCisgICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MID0gIkNhbGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsKKyAgICB9
CisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJyZWQiLCAi
MS4wIiwgIiIsIDEpOworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRUZXN0IChy
YW5kb21EYXRhKSIsIFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rpb25DYWxs
YmFjayk7CisKKyAgICBhbGVydCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xvc2UgaXQi
KTsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJlc3VsdCI+
V2FpdC4uLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZl
cnJlci5jcHAKaW5kZXggNzgxYmMzNC4uOWE3YzE4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExv
YWREZWZlcnJlci5jcHAKQEAgLTQwLDQyICs0MCwyMyBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6
OlBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiBwYWdlLCBib29sIGRlZmVyU2VsZikKICAgICBm
b3IgKEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewogICAgICAgICBQYWdlKiBvdGhlclBhZ2UgPSAqaXQ7CiAgICAgICAg
IGlmICgoZGVmZXJTZWxmIHx8IG90aGVyUGFnZSAhPSBwYWdlKSkgewotICAgICAgICAgICAgaWYg
KCFvdGhlclBhZ2UtPmRlZmVyc0xvYWRpbmcoKSkgeworICAgICAgICAgICAgaWYgKCFvdGhlclBh
Z2UtPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgICAgICAgICBtX2RlZmVycmVkRnJhbWVzLmFw
cGVuZChvdGhlclBhZ2UtPm1haW5GcmFtZSgpKTsKLQotICAgICAgICAgICAgICAgIC8vIFRoaXMg
Y29kZSBpcyBub3QgbG9naWNhbGx5IHBhcnQgb2YgbG9hZCBkZWZlcnJpbmcsIGJ1dCB3ZSBkbyBu
b3Qgd2FudCBKUyBjb2RlIGV4ZWN1dGVkIGJlbmVhdGggbW9kYWwKLSAgICAgICAgICAgICAgICAv
LyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3aGVuIFBhZ2VHcm91cExvYWRE
ZWZlcnJlciBpcyB1c2VkLgotICAgICAgICAgICAgICAgIC8vIE5PVEU6IGlmIFBhZ2VHcm91cExv
YWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tzIG90aGVyIHRoYW4gc2hvd2luZyBhIG1v
ZGFsIHdpbmRvdyBvciBzaGVldCwKLSAgICAgICAgICAgICAgICAvLyB0aGUgY29uc3RydWN0b3Ig
d2lsbCBuZWVkIHRvIHRha2UgYSBBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24u
Ci0gICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBvdGhlclBhZ2UtPm1haW5GcmFt
ZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAg
ICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVj
dHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChEb2N1bWVudFBhcnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3Vt
ZW50KCktPnBhcnNlcigpKQotICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VyLT5zdXNwZW5k
U2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAKICAgICBzaXplX3QgY291bnQgPSBtX2RlZmVycmVkRnJhbWVzLnNpemUo
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9k
ZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9h
ZGluZyh0cnVlKTsKKyAgICB9CiB9CiAKIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91
cExvYWREZWZlcnJlcigpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2RlZmVycmVk
RnJhbWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJl
ZEZyYW1lc1tpXS0+cGFnZSgpKSB7CisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJl
ZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9hZGluZyhm
YWxzZSk7Ci0KLSAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1l
KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAg
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsK
LSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+
cmVzdW1lKCk7Ci0gICAgICAgICAgICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBm
cmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgICAgICAgICAgICAgIHBhcnNlci0+
cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgIH0K
IH0KIAo=
</data>
<flag name="commit-queue"
          id="69274"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78117</attachid>
            <date>2011-01-06 07:20:38 -0800</date>
            <delta_ts>2011-01-06 09:16:39 -0800</delta_ts>
            <desc>ertry</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>9296</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjUwODc3NC4uOTc3ZmRhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMSBAQAogMjAxMS0wMS0wNCAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBEZWZlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrJ3MgaW4gRG9jdW1lbnQgd2hlbiBw
YWdlIGxvYWRpbmcgaXMgZGVmZXJyZWQuCisgICAgICAgIFNjaGVkdWxlIHRoZW0gd2l0aCB0aW1l
ciB3aGVuIHBhZ2UgbG9hZGluZyBpcyByZXN1bWVkLiBUaGUgdGFza3Mgd2lsbCBiZSBwZXJmb3Jt
ZWQKKyAgICAgICAgaW4gdGhlIG9yaWdpbmFsIG9yZGVyLiBUaGlzIGZpeGVzIHRoZSBwcm9ibGVt
IHRoYXQgZGF0YWJhc2UgY2FsbGJhY2tzIGNvdWxkIGJlIG1pc3NlZAorICAgICAgICB3aGVuIHBh
Z2UgbG9hZGluZyB3YXMgZGVmZXJyZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTQwMQorCisgICAgICAgIE1hbnVhbCB0ZXN0IGFkZGVkOiBtYW51
YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4KKworICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6On5Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnBvc3RUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1l
ckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3aWxsRGVmZXJMb2FkaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZXN1bWVMb2FkaW5nKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBtYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJh
Y2stZGVmZXJyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUdyb3VwTG9hZERlZmVy
cmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKworMjAxMS0wMS0wNCAgWW9uZyBMaSAgPHlv
bGlAcmltLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgogCiAgICAgICAg
IFN1c3BlbmQgSFRNTFBhcnNlclNjaGVkdWxlciB3aGVuIHBhZ2UgbG9hZCBpcyBkZWZlcnJlZCB0
bwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDc2YjBhNGYuLjU4ZjU2YmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE5LDcgKzE5
LDcgQEAKICAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgogICoKICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWZmIG5vdCwgd3JpdGUg
dG8KICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwpA
QCAtNDE5LDYgKzQxOSw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0
IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCwgY29uCiAgICAgLCBtX2xvYWRF
dmVudERlbGF5VGltZXIodGhpcywgJkRvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQp
CiAgICAgLCBtX2RpcmVjdGlvblNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQogICAgICwgbV93
cml0aW5nTW9kZVNldE9uRG9jdW1lbnRFbGVtZW50KGZhbHNlKQorICAgICwgbV9wZW5kaW5nVGFz
a3NUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpCiB7CiAgICAg
bV9kb2N1bWVudCA9IHRoaXM7CiAKQEAgLTQ2NzEsMjIgKzQ2NzIsNjEgQEAgc3RydWN0IFBlcmZv
cm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKICAgICBPd25QdHI8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNrKHZvaWQq
IGN0eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIHVudHlwZWRDb250ZXh0
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBQZXJmb3JtVGFza0NvbnRl
eHQqIGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KGN0eCk7
CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29udGV4dCA9IGFkb3B0UHRyKHN0YXRp
Y19jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KHVudHlwZWRDb250ZXh0KSk7CiAgICAgQVNTRVJU
KGNvbnRleHQpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3Vt
ZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpKQotICAgICAgICBjb250ZXh0LT50YXNrLT5wZXJmb3Jt
VGFzayhkb2N1bWVudCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dC0+ZG9jdW1l
bnRSZWZlcmVuY2UtPmRvY3VtZW50KCk7CiAKLSAgICBkZWxldGUgY29udGV4dDsKKyAgICBpZiAo
IWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQt
PnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwYWdl
LT5kZWZlcnNMb2FkaW5nKCkgfHwgIWRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgZG9jdW1lbnQtPm1fcGVuZGluZ1Rhc2tzLmFwcGVuZChjb250ZXh0LT50YXNr
LnJlbGVhc2UoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb250ZXh0LT50YXNr
LT5wZXJmb3JtVGFzayhkb2N1bWVudCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnBvc3RUYXNrKFBh
c3NPd25QdHI8VGFzaz4gdGFzaykKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKHBlcmZvcm1UYXNr
LCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworICAgIGNh
bGxPbk1haW5UaHJlYWQoZGlkUmVjZWl2ZVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93
ZWFrUmVmZXJlbmNlLCB0YXNrKSk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1Rp
bWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKK3sKKyAgICB3aGlsZSAoIW1fcGVuZGluZ1Rhc2tz
LmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8VGFzaz4gdGFzayA9IG1fcGVuZGluZ1Rhc2tz
WzBdLnJlbGVhc2UoKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAgICAg
ICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnN1
c3BlbmRTY2hlZHVsZWRUYXNrcygpCit7CisgICAgc3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0
aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+
c3VzcGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOworICAgIGlmIChtX3Bh
cnNlcikKKyAgICAgICAgbV9wYXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworfQorCit2
b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcygpCit7CisgICAgaWYgKG1fcGFyc2Vy
KQorICAgICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKKyAgICBpZiAoIW1f
cGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CisgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cygpOwogfQogCiBFbGVtZW50KiBEb2N1bWVudDo6ZmluZEFuY2hv
cihjb25zdCBTdHJpbmcmIG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA3ZTc5NjdmLi5hNzQ2NGRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
QEAgLTEwNjcsNiArMTA2Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgaW5pdEROU1ByZWZldGNo
KCk7CiAKKyAgICB2b2lkIHN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworICAgIHZvaWQgcmVzdW1l
U2NoZWR1bGVkVGFza3MoKTsKKwogcHJvdGVjdGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29u
c3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb25zdCBLVVJMJiBiYXNl
VVJMID0gS1VSTCgpKTsKIApAQCAtMTEzMyw2ICsxMTM2LDEwIEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAgIHZv
aWQgcGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0YXRp
YyB2b2lkIGRpZFJlY2VpdmVUYXNrKHZvaWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNlbGVj
dG9yPiBtX3N0eWxlU2VsZWN0b3I7CiAgICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2VsZWN0
b3I7CiAKQEAgLTEzODAsNiArMTM4Nyw5IEBAIHByaXZhdGU6CiAKICAgICBEb2N1bWVudFRpbWlu
ZyBtX2RvY3VtZW50VGltaW5nOwogICAgIFJlZlB0cjxNZWRpYVF1ZXJ5TWF0Y2hlcj4gbV9tZWRp
YVF1ZXJ5TWF0Y2hlcjsKKworICAgIFRpbWVyPERvY3VtZW50PiBtX3BlbmRpbmdUYXNrc1RpbWVy
OworICAgIFZlY3RvcjxPd25QdHI8VGFzaz4gPiBtX3BlbmRpbmdUYXNrczsKIH07CiAKIGlubGlu
ZSBib29sIERvY3VtZW50OjpEb2N1bWVudE9yZGVyZWRNYXA6OmNvbnRhaW5zKEF0b21pY1N0cmlu
Z0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGViMDllNTcuLmNiOGVm
OTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI1NCw2ICsyNTQsMTMgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgbV9mcmFtZS0+
bmF2aWdhdGlvblNjaGVkdWxlcigpLT5zdGFydFRpbWVyKCk7CiAgICAgICAgIHN0YXJ0Q2hlY2tD
b21wbGV0ZVRpbWVyKCk7CiAgICAgfQorCisgICAgLy8gVGhpcyBjb2RlIGlzIG5vdCBsb2dpY2Fs
bHkgcGFydCBvZiBsb2FkIGRlZmVycmluZywgYnV0IHdlIGRvIG5vdCB3YW50IEpTIGNvZGUgZXhl
Y3V0ZWQgYmVuZWF0aCBtb2RhbAorICAgIC8vIHdpbmRvd3Mgb3Igc2hlZXRzLCB3aGljaCBpcyBl
eGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQuCisgICAgaWYgKGRlZmVy
cykKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7
CisgICAgZWxzZQorICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY2hlZHVsZWRU
YXNrcygpOwogfQogCiBib29sIEZyYW1lTG9hZGVyOjpjYW5IYW5kbGVSZXF1ZXN0KGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwgYi9XZWJDb3JlL21hbnVhbC10ZXN0cy9k
YXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmNmM2QwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL21hbnVhbC10ZXN0
cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1s
PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgZnVuY3Rpb24gdHJhbnNhY3Rpb25D
YWxsYmFjaygpCisgICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0
IikuaW5uZXJIVE1MID0gIkNhbGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsKKyAgICB9
CisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJyZWQiLCAi
MS4wIiwgIiIsIDEpOworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRUZXN0IChy
YW5kb21EYXRhKSIsIFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rpb25DYWxs
YmFjayk7CisKKyAgICBhbGVydCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xvc2UgaXQi
KTsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJlc3VsdCI+
V2FpdC4uLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZl
cnJlci5jcHAKaW5kZXggNzgxYmMzNC4uOWE3YzE4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExv
YWREZWZlcnJlci5jcHAKQEAgLTQwLDQyICs0MCwyMyBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6
OlBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiBwYWdlLCBib29sIGRlZmVyU2VsZikKICAgICBm
b3IgKEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkgewogICAgICAgICBQYWdlKiBvdGhlclBhZ2UgPSAqaXQ7CiAgICAgICAg
IGlmICgoZGVmZXJTZWxmIHx8IG90aGVyUGFnZSAhPSBwYWdlKSkgewotICAgICAgICAgICAgaWYg
KCFvdGhlclBhZ2UtPmRlZmVyc0xvYWRpbmcoKSkgeworICAgICAgICAgICAgaWYgKCFvdGhlclBh
Z2UtPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgICAgICAgICBtX2RlZmVycmVkRnJhbWVzLmFw
cGVuZChvdGhlclBhZ2UtPm1haW5GcmFtZSgpKTsKLQotICAgICAgICAgICAgICAgIC8vIFRoaXMg
Y29kZSBpcyBub3QgbG9naWNhbGx5IHBhcnQgb2YgbG9hZCBkZWZlcnJpbmcsIGJ1dCB3ZSBkbyBu
b3Qgd2FudCBKUyBjb2RlIGV4ZWN1dGVkIGJlbmVhdGggbW9kYWwKLSAgICAgICAgICAgICAgICAv
LyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3aGVuIFBhZ2VHcm91cExvYWRE
ZWZlcnJlciBpcyB1c2VkLgotICAgICAgICAgICAgICAgIC8vIE5PVEU6IGlmIFBhZ2VHcm91cExv
YWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tzIG90aGVyIHRoYW4gc2hvd2luZyBhIG1v
ZGFsIHdpbmRvdyBvciBzaGVldCwKLSAgICAgICAgICAgICAgICAvLyB0aGUgY29uc3RydWN0b3Ig
d2lsbCBuZWVkIHRvIHRha2UgYSBBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24u
Ci0gICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBvdGhlclBhZ2UtPm1haW5GcmFt
ZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAg
ICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVj
dHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChEb2N1bWVudFBhcnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3Vt
ZW50KCktPnBhcnNlcigpKQotICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VyLT5zdXNwZW5k
U2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAKICAgICBzaXplX3QgY291bnQgPSBtX2RlZmVycmVkRnJhbWVzLnNpemUo
KTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9k
ZWZlcnJlZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9h
ZGluZyh0cnVlKTsKKyAgICB9CiB9CiAKIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91
cExvYWREZWZlcnJlcigpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2RlZmVycmVk
RnJhbWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJl
ZEZyYW1lc1tpXS0+cGFnZSgpKSB7CisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJl
ZEZyYW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9hZGluZyhm
YWxzZSk7Ci0KLSAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1l
KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAg
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsK
LSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+
cmVzdW1lKCk7Ci0gICAgICAgICAgICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBm
cmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgICAgICAgICAgICAgIHBhcnNlci0+
cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAgIH0K
IH0KIAo=
</data>
<flag name="commit-queue"
          id="69383"
          type_id="3"
          status="+"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78129</attachid>
            <date>2011-01-06 10:40:25 -0800</date>
            <delta_ts>2011-02-16 06:50:55 -0800</delta_ts>
            <desc>Change the expected result of worker-close-more test</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>10621</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYWRjOGVhLi41NDNlOTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEt
MDYgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ5NDAxCisgICAgICAgIE5vdyB3ZSBkb24ndCBtaXNzIHRoZSBjYWxsYmFjayB3aXRoIHRo
ZSBidWcgZml4ZWQuCisgICAgICAgIFRoZSB0aW1lb3V0IG1lc3NhZ2UgaXMgY2F1c2VkIGJ5ICJ3
aGlsZSAodHJ1ZSkge30iIGluICB3b3JrZXItY2xvc2UuanMsIGFuZAorICAgICAgICBpdCBpcyBn
b29kIHdlIGNhbiBjYXRjaCBpdC4KKworICAgICAgICAqIGZhc3Qvd29ya2Vycy93b3JrZXItY2xv
c2UtbW9yZS1leHBlY3RlZC50eHQ6CisKIDIwMTEtMDEtMDQgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZDsgQWRkZWQgZWRpdGluZy9zZWxlY3Rp
b24vY2FyZXQtYmlkaS1maXJzdC1hbmQtbGFzdC1sZXR0ZXJzLmh0bWwgdG8gUXQncyBza2lwcGVk
IGxpc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNsb3Nl
LW1vcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1jbG9z
ZS1tb3JlLWV4cGVjdGVkLnR4dAppbmRleCA3OTQ0ZDk3Li5iNGE1ZmFjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNsb3NlLW1vcmUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItY2xvc2UtbW9yZS1leHBlY3RlZC50
eHQKQEAgLTEsMyArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzE6IEphdmFTY3JpcHQg
ZXhlY3V0aW9uIGV4Y2VlZGVkIHRpbWVvdXQKIFRlc3QgV29ya2VyR2xvYmFsU2NvcGUuY2xvc2Uo
KSBtZXRob2QuIFdpbGwgcHJpbnQgUEFTUyBtdWx0aXBsZSB0aW1lcywgZm9sbG93ZWQgYnkgRE9O
RS4KIAogVGVzdCAxOiBDYWxsIGNsb3NlKCkgaW4gdGhlIHdvcmtlciwgdGhlbiBlbnRlciBpbmZp
bml0ZSBsb29wLiBGcm9tIHRoZSBXb3JrZXIgb2JqZWN0IHNpZGUsIGNhbGwgdGVybWluYXRlKCku
IFZlcmlmeSB0aGUgbG9vcCBpcyB0ZXJtaW5hdGVkLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZjlkODQ5Li4xZWMzYzM1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDMxIEBACiAyMDExLTAxLTA0ICBZb25nIExpICA8eW9saUByaW0uY29tPgogCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIERlZmVyIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlRhc2sncyBpbiBEb2N1bWVudCB3aGVuIHBhZ2UgbG9hZGluZyBpcyBkZWZlcnJlZC4K
KyAgICAgICAgU2NoZWR1bGUgdGhlbSB3aXRoIHRpbWVyIHdoZW4gcGFnZSBsb2FkaW5nIGlzIHJl
c3VtZWQuIFRoZSB0YXNrcyB3aWxsIGJlIHBlcmZvcm1lZAorICAgICAgICBpbiB0aGUgb3JpZ2lu
YWwgb3JkZXIuIFRoaXMgZml4ZXMgdGhlIHByb2JsZW0gdGhhdCBkYXRhYmFzZSBjYWxsYmFja3Mg
Y291bGQgYmUgbWlzc2VkCisgICAgICAgIHdoZW4gcGFnZSBsb2FkaW5nIHdhcyBkZWZlcnJlZC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDAxCisK
KyAgICAgICAgTWFudWFsIHRlc3QgYWRkZWQ6IG1hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFj
ay1kZWZlcnJlZC5odG1sLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZWNlaXZlVGFz
ayk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cG9zdFRhc2spOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OndpbGxEZWZlckxvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OmRpZFJlc3VtZUxvYWRpbmcpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAg
ICAqIG1hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXI6OlBhZ2VHcm91cExvYWREZWZlcnJlcik6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBMb2FkRGVmZXJy
ZXIpOgorCisyMDExLTAxLTA0ICBZb25nIExpICA8eW9saUByaW0uY29tPgorCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFkYW0gQmFydGguCiAgICAgICAgIEFkZCB0aGUgdGVzdCBjYXNlIHRoYXQgaXMg
bWlzc2VkIGluIHI3NTA2Ni4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ4MDc3CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNzZiMGE0Zi4uNThmNTZiZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtMTksNyArMTksNyBAQAogICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCiAgKgogICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZmYgbm90LCB3cml0ZSB0bwogICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgogICovCkBAIC00MTksNiArNDE5LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1l
KiBmcmFtZSwgY29uc3QgS1VSTCYgdXJsLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MLCBjb24K
ICAgICAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lcih0aGlzLCAmRG9jdW1lbnQ6OmxvYWRFdmVudERl
bGF5VGltZXJGaXJlZCkKICAgICAsIG1fZGlyZWN0aW9uU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFs
c2UpCiAgICAgLCBtX3dyaXRpbmdNb2RlU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCisgICAg
LCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJG
aXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhpczsKIApAQCAtNDY3MSwyMiArNDY3Miw2MSBA
QCBzdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9uY29weWFibGUgewogICAgIE93blB0cjxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrOwogfTsKIAotc3RhdGljIHZvaWQgcGVy
Zm9ybVRhc2sodm9pZCogY3R4KQordm9pZCBEb2N1bWVudDo6ZGlkUmVjZWl2ZVRhc2sodm9pZCog
dW50eXBlZENvbnRleHQpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIFBl
cmZvcm1UYXNrQ29udGV4dCogY29udGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UGVyZm9ybVRhc2tD
b250ZXh0Kj4oY3R4KTsKKyAgICBPd25QdHI8UGVyZm9ybVRhc2tDb250ZXh0PiBjb250ZXh0ID0g
YWRvcHRQdHIoc3RhdGljX2Nhc3Q8UGVyZm9ybVRhc2tDb250ZXh0Kj4odW50eXBlZENvbnRleHQp
KTsKICAgICBBU1NFUlQoY29udGV4dCk7CiAKLSAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
Y29udGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCkpCi0gICAgICAgIGNvbnRleHQt
PnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBj
b250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKTsKIAotICAgIGRlbGV0ZSBjb250
ZXh0OworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFBhZ2UqIHBh
Z2UgPSBkb2N1bWVudC0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKHBhZ2UtPmRlZmVyc0xvYWRpbmcoKSB8fCAhZG9jdW1lbnQtPm1fcGVuZGluZ1Rh
c2tzLmlzRW1wdHkoKSkgeworICAgICAgICBkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuYXBwZW5k
KGNvbnRleHQtPnRhc2sucmVsZWFzZSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNvbnRleHQtPnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKIH0KIAogdm9pZCBEb2N1bWVu
dDo6cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIGNhbGxPbk1haW5UaHJl
YWQocGVyZm9ybVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVmZXJlbmNlLCB0
YXNrKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChkaWRSZWNlaXZlVGFzaywgbmV3IFBlcmZvcm1U
YXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKK30KKwordm9pZCBEb2N1bWVudDo6
cGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxlICgh
bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIE93blB0cjxUYXNrPiB0YXNrID0g
bV9wZW5kaW5nVGFza3NbMF0ucmVsZWFzZSgpOworICAgICAgICBtX3BlbmRpbmdUYXNrcy5yZW1v
dmUoMCk7CisgICAgICAgIHRhc2stPnBlcmZvcm1UYXNrKHRoaXMpOworICAgIH0KK30KKwordm9p
ZCBEb2N1bWVudDo6c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCkKK3sKKyAgICBzdXNwZW5kQWN0aXZl
RE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OldpbGxTaG93RGlhbG9nKTsKKyAgICBhc3luY1Nj
cmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7CisgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdG9wKCk7
CisgICAgaWYgKG1fcGFyc2VyKQorICAgICAgICBtX3BhcnNlci0+c3VzcGVuZFNjaGVkdWxlZFRh
c2tzKCk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKCkKK3sKKyAg
ICBpZiAobV9wYXJzZXIpCisgICAgICAgIG1fcGFyc2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygp
OworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKQorICAgICAgICBtX3BlbmRpbmdU
YXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBhc3luY1NjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKKyAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKCk7CiB9CiAKIEVsZW1lbnQqIERvY3Vt
ZW50OjpmaW5kQW5jaG9yKGNvbnN0IFN0cmluZyYgbmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDdlNzk2N2YuLmE3
NDY0ZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaApAQCAtMTA2Nyw2ICsxMDY3LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBp
bml0RE5TUHJlZmV0Y2goKTsKIAorICAgIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7Cisg
ICAgdm9pZCByZXN1bWVTY2hlZHVsZWRUYXNrcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1l
bnQoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwsIGNv
bnN0IEtVUkwmIGJhc2VVUkwgPSBLVVJMKCkpOwogCkBAIC0xMTMzLDYgKzExMzYsMTAgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgbG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50
PiopOwogCisgICAgdm9pZCBwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50Piop
OworCisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAgICAgT3duUHRy
PENTU1N0eWxlU2VsZWN0b3I+IG1fc3R5bGVTZWxlY3RvcjsKICAgICBib29sIG1fZGlkQ2FsY3Vs
YXRlU3R5bGVTZWxlY3RvcjsKIApAQCAtMTM4MCw2ICsxMzg3LDkgQEAgcHJpdmF0ZToKIAogICAg
IERvY3VtZW50VGltaW5nIG1fZG9jdW1lbnRUaW1pbmc7CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlN
YXRjaGVyPiBtX21lZGlhUXVlcnlNYXRjaGVyOworCisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVu
ZGluZ1Rhc2tzVGltZXI7CisgICAgVmVjdG9yPE93blB0cjxUYXNrPiA+IG1fcGVuZGluZ1Rhc2tz
OwogfTsKIAogaW5saW5lIGJvb2wgRG9jdW1lbnQ6OkRvY3VtZW50T3JkZXJlZE1hcDo6Y29udGFp
bnMoQXRvbWljU3RyaW5nSW1wbCogaWQpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
ZWIwOWU1Ny4uY2I4ZWY5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjU0LDYgKzI1NCwx
MyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAg
ICAgICBtX2ZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1bGVyKCktPnN0YXJ0VGltZXIoKTsKICAgICAg
ICAgc3RhcnRDaGVja0NvbXBsZXRlVGltZXIoKTsKICAgICB9CisKKyAgICAvLyBUaGlzIGNvZGUg
aXMgbm90IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQgZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdh
bnQgSlMgY29kZSBleGVjdXRlZCBiZW5lYXRoIG1vZGFsCisgICAgLy8gd2luZG93cyBvciBzaGVl
dHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4K
KyAgICBpZiAoZGVmZXJzKQorICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kU2No
ZWR1bGVkVGFza3MoKTsKKyAgICBlbHNlCisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnJl
c3VtZVNjaGVkdWxlZFRhc2tzKCk7CiB9CiAKIGJvb2wgRnJhbWVMb2FkZXI6OmNhbkhhbmRsZVJl
cXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbCBiL1dlYkNvcmUv
bWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YzZDAzYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCAr
MSwxNyBAQAorPGh0bWw+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlv
biB0cmFuc2FjdGlvbkNhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiQ2FsbGJhY2sgd2FzIGNhbGxlZC4gVGVzdCBw
YXNzZWQiOworICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlQ2FsbGJh
Y2tEZWZlcnJlZCIsICIxLjAiLCAiIiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tE
ZWZlcnJlZFRlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0
cmFuc2FjdGlvbkNhbGxiYWNrKTsKKworICAgIGFsZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRz
IGFuZCBjbG9zZSBpdCIpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8
cCBpZD0icmVzdWx0Ij5XYWl0Li4uPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFn
ZUdyb3VwTG9hZERlZmVycmVyLmNwcAppbmRleCA3ODFiYzM0Li45YTdjMTg3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcAorKysgYi9XZWJDb3JlL3Bh
Z2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApAQCAtNDAsNDIgKzQwLDIzIEBAIFBhZ2VHcm91
cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqIHBhZ2UsIGJvb2wgZGVm
ZXJTZWxmKQogICAgIGZvciAoSGFzaFNldDxQYWdlKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcGFn
ZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIFBhZ2UqIG90aGVyUGFnZSA9
ICppdDsKICAgICAgICAgaWYgKChkZWZlclNlbGYgfHwgb3RoZXJQYWdlICE9IHBhZ2UpKSB7Ci0g
ICAgICAgICAgICBpZiAoIW90aGVyUGFnZS0+ZGVmZXJzTG9hZGluZygpKSB7CisgICAgICAgICAg
ICBpZiAoIW90aGVyUGFnZS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICAgICAgICAgIG1fZGVm
ZXJyZWRGcmFtZXMuYXBwZW5kKG90aGVyUGFnZS0+bWFpbkZyYW1lKCkpOwotCi0gICAgICAgICAg
ICAgICAgLy8gVGhpcyBjb2RlIGlzIG5vdCBsb2dpY2FsbHkgcGFydCBvZiBsb2FkIGRlZmVycmlu
ZywgYnV0IHdlIGRvIG5vdCB3YW50IEpTIGNvZGUgZXhlY3V0ZWQgYmVuZWF0aCBtb2RhbAotICAg
ICAgICAgICAgICAgIC8vIHdpbmRvd3Mgb3Igc2hlZXRzLCB3aGljaCBpcyBleGFjdGx5IHdoZW4g
UGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQuCi0gICAgICAgICAgICAgICAgLy8gTk9URTog
aWYgUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIGV2ZXIgdXNlZCBmb3IgdGFza3Mgb3RoZXIgdGhh
biBzaG93aW5nIGEgbW9kYWwgd2luZG93IG9yIHNoZWV0LAotICAgICAgICAgICAgICAgIC8vIHRo
ZSBjb25zdHJ1Y3RvciB3aWxsIG5lZWQgdG8gdGFrZSBhIEFjdGl2ZURPTU9iamVjdDo6UmVhc29u
Rm9yU3VzcGVuc2lvbi4KLSAgICAgICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IG90aGVy
UGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNl
TmV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5k
QWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OldpbGxTaG93RGlhbG9nKTsKLSAgICAg
ICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnN1
c3BlbmQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIg
PSBmcmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAogICAgIHNpemVfdCBjb3VudCA9IG1fZGVmZXJy
ZWRGcmFtZXMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkK
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgaWYgKFBh
Z2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdl
LT5zZXREZWZlcnNMb2FkaW5nKHRydWUpOworICAgIH0KIH0KIAogUGFnZUdyb3VwTG9hZERlZmVy
cmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKCkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1fZGVmZXJyZWRGcmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKFBhZ2UqIHBh
Z2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkpIHsKKyAgICAgICAgaWYgKFBhZ2UqIHBh
Z2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5zZXRE
ZWZlcnNMb2FkaW5nKGZhbHNlKTsKLQotICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBw
YWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VO
ZXh0KCkpIHsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lQWN0aXZl
RE9NT2JqZWN0cygpOwotICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1Nj
cmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKLSAgICAgICAgICAgICAgICBpZiAoRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlciA9IGZyYW1lLT5kb2N1bWVudCgpLT5wYXJzZXIoKSkKLSAgICAgICAgICAgICAg
ICAgICAgcGFyc2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOwotICAgICAgICAgICAgfQotICAg
ICAgICB9CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82647</attachid>
            <date>2011-02-16 08:53:02 -0800</date>
            <delta_ts>2011-03-03 14:49:33 -0800</delta_ts>
            <desc>Based on latest code</desc>
            <filename>49401-source.patch</filename>
            <type>text/plain</type>
            <size>9698</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwODdiMzE3Li42MWY2NzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMDEtMDQgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRGVmZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaydzIGluIERvY3VtZW50IHdoZW4gcGFnZSBsb2FkaW5nIGlzIGRlZmVycmVkLgorICAg
ICAgICBTY2hlZHVsZSB0aGVtIHdpdGggdGltZXIgd2hlbiBwYWdlIGxvYWRpbmcgaXMgcmVzdW1l
ZC4gVGhlIHRhc2tzIHdpbGwgYmUgcGVyZm9ybWVkCisgICAgICAgIGluIHRoZSBvcmlnaW5hbCBv
cmRlci4gVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB0aGF0IGRhdGFiYXNlIGNhbGxiYWNrcyBjb3Vs
ZCBiZSBtaXNzZWQKKyAgICAgICAgd2hlbiBwYWdlIGxvYWRpbmcgd2FzIGRlZmVycmVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk0MDEKKworICAg
ICAgICBNYW51YWwgdGVzdCBhZGRlZDogbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRl
ZmVycmVkLmh0bWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6d2lsbERlZmVyTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZGlkUmVzdW1lTG9hZGluZyk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
bWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcik6
CisKIDIwMTEtMDItMTQgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggYTdiYjg1YS4uOWQxNWVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03
LDYgKzcsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNp
ZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uLCBMaW1pdGVk
IDIwMTAtMjAxMS4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDMwLDYgKzQzMSw3IEBAIERvY3Vt
ZW50OjpEb2N1bWVudChGcmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1M
LCBib29sIGlzSFRNTCkKICAgICAsIG1fd3JpdGluZ01vZGVTZXRPbkRvY3VtZW50RWxlbWVudChm
YWxzZSkKICAgICAsIG1fd3JpdGVSZWN1cnNpb25Jc1Rvb0RlZXAoZmFsc2UpCiAgICAgLCBtX3dy
aXRlUmVjdXJzaW9uRGVwdGgoMCkKKyAgICAsIG1fcGVuZGluZ1Rhc2tzVGltZXIodGhpcywgJkRv
Y3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKQogewogICAgIG1fZG9jdW1lbnQgPSB0aGlz
OwogCkBAIC00NjUyLDIyICs0NjU0LDYzIEBAIHB1YmxpYzoKICAgICBPd25QdHI8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2b2lkIHBlcmZvcm1UYXNr
KHZvaWQqIGN0eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKHZvaWQqIHVudHlwZWRD
b250ZXh0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBQZXJmb3JtVGFz
a0NvbnRleHQqIGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+
KGN0eCk7CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29udGV4dCA9IGFkb3B0UHRy
KHN0YXRpY19jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KHVudHlwZWRDb250ZXh0KSk7CiAgICAg
QVNTRVJUKGNvbnRleHQpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQt
PmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpKQotICAgICAgICBjb250ZXh0LT50YXNrLT5w
ZXJmb3JtVGFzayhkb2N1bWVudCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dC0+
ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCk7CiAKLSAgICBkZWxldGUgY29udGV4dDsKKyAg
ICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBQYWdlKiBwYWdlID0gZG9j
dW1lbnQtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChwYWdlLT5kZWZlcnNMb2FkaW5nKCkgfHwgIWRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgZG9jdW1lbnQtPm1fcGVuZGluZ1Rhc2tzLmFwcGVuZChjb250ZXh0
LT50YXNrLnJlbGVhc2UoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb250ZXh0
LT50YXNrLT5wZXJmb3JtVGFzayhkb2N1bWVudCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnBvc3RU
YXNrKFBhc3NPd25QdHI8VGFzaz4gdGFzaykKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKHBlcmZv
cm1UYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOwor
ICAgIGNhbGxPbk1haW5UaHJlYWQoZGlkUmVjZWl2ZVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRl
eHQobV93ZWFrUmVmZXJlbmNlLCB0YXNrKSk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdU
YXNrc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKK3sKKyAgICB3aGlsZSAoIW1fcGVuZGlu
Z1Rhc2tzLmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8VGFzaz4gdGFzayA9IG1fcGVuZGlu
Z1Rhc2tzWzBdLnJlbGVhc2UoKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOwor
ICAgICAgICB0YXNrLT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1l
bnQ6OnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpCit7CisgICAgc3VzcGVuZFNjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFj
dGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCkt
PnN1c3BlbmQoKTsKKyAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0b3AoKTsKKyAgICBpZiAobV9w
YXJzZXIpCisgICAgICAgIG1fcGFyc2VyLT5zdXNwZW5kU2NoZWR1bGVkVGFza3MoKTsKK30KKwor
dm9pZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoKQoreworICAgIGlmIChtX3BhcnNl
cikKKyAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CisgICAgaWYgKCFt
X3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIGFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOworICAgIHJl
c3VtZUFjdGl2ZURPTU9iamVjdHMoKTsKKyAgICByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXJDYWxsYmFja3MoKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c3VzcGVuZFNjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDllMTVh
YzcuLmM2OWRiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTA5LDYgKzExMDksOSBAQCBw
dWJsaWM6CiAKICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3kqIGNvbnRlbnRTZWN1cml0eVBvbGlj
eSgpIHsgcmV0dXJuICZtX2NvbnRlbnRTZWN1cml0eVBvbGljeTsgfQogCisgICAgdm9pZCBzdXNw
ZW5kU2NoZWR1bGVkVGFza3MoKTsKKyAgICB2b2lkIHJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CisK
IHByb3RlY3RlZDoKICAgICBEb2N1bWVudChGcmFtZSosIGNvbnN0IEtVUkwmLCBib29sIGlzWEhU
TUwsIGJvb2wgaXNIVE1MKTsKIApAQCAtMTE1NSw2ICsxMTU4LDEwIEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAg
IHZvaWQgcGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0
YXRpYyB2b2lkIGRpZFJlY2VpdmVUYXNrKHZvaWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNl
bGVjdG9yPiBtX3N0eWxlU2VsZWN0b3I7CiAgICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2Vs
ZWN0b3I7CiAgICAgYm9vbCBtX2hhc0RpcnR5U3R5bGVTZWxlY3RvcjsKQEAgLTE0MTQsNiArMTQy
MSw5IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSBtX2Nv
bnRlbnRTZWN1cml0eVBvbGljeTsKKworICAgIFRpbWVyPERvY3VtZW50PiBtX3BlbmRpbmdUYXNr
c1RpbWVyOworICAgIFZlY3RvcjxPd25QdHI8VGFzaz4gPiBtX3BlbmRpbmdUYXNrczsKIH07CiAK
IGlubGluZSBib29sIERvY3VtZW50OjpoYXNFbGVtZW50V2l0aElkKEF0b21pY1N0cmluZ0ltcGwq
IGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYzlmY2E4
ZC4uOWU2ZmU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yNTMs
NiArMjUzLDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZl
cnMpCiAgICAgICAgIG1fZnJhbWUtPm5hdmlnYXRpb25TY2hlZHVsZXIoKS0+c3RhcnRUaW1lcigp
OwogICAgICAgICBzdGFydENoZWNrQ29tcGxldGVUaW1lcigpOwogICAgIH0KKworICAgIC8vIFRo
aXMgY29kZSBpcyBub3QgbG9naWNhbGx5IHBhcnQgb2YgbG9hZCBkZWZlcnJpbmcsIGJ1dCB3ZSBk
byBub3Qgd2FudCBKUyBjb2RlIGV4ZWN1dGVkIGJlbmVhdGggbW9kYWwKKyAgICAvLyB3aW5kb3dz
IG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3aGVuIFBhZ2VHcm91cExvYWREZWZlcnJlciBp
cyB1c2VkLgorICAgIGlmIChkZWZlcnMpCisgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnN1
c3BlbmRTY2hlZHVsZWRUYXNrcygpOworICAgIGVsc2UKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1l
bnQoKS0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKIH0KIAogYm9vbCBGcmFtZUxvYWRlcjo6Y2Fu
SGFuZGxlUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQu
aHRtbCBiL1NvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZl
cnJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmM2QwM2EKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0YWJhc2UtY2Fs
bGJhY2stZGVmZXJyZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiB0ZXN0KCkgeworICAgIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2soKQorICAg
IHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9
ICJDYWxsYmFjayB3YXMgY2FsbGVkLiBUZXN0IHBhc3NlZCI7CisgICAgfQorICAgIHZhciBkYiA9
IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VDYWxsYmFja0RlZmVycmVkIiwgIjEuMCIsICIiLCAxKTsK
KyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJDUkVBVEUg
VEFCTEUgSUYgTk9UIEVYSVNUUyBDYWxsYmFja0RlZmVycmVkVGVzdCAocmFuZG9tRGF0YSkiLCBb
XSk7IH0sIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIHRyYW5zYWN0aW9uQ2FsbGJhY2spOworCisgICAg
YWxlcnQoIldhaXQgZm9yIGEgZmV3IHNlY29uZHMgYW5kIGNsb3NlIGl0Iik7Cit9Cis8L3Njcmlw
dD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxwIGlkPSJyZXN1bHQiPldhaXQuLi48L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cExvYWREZWZlcnJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZl
cnJlci5jcHAKaW5kZXggZGVhMmNkNy4uMjkyYjRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApAQCAtMzksMjMgKzM5LDggQEAgUGFnZUdyb3Vw
TG9hZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZl
clNlbGYpCiAgICAgSGFzaFNldDxQYWdlKj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IHBhZ2VzLmVu
ZCgpOwogICAgIGZvciAoSGFzaFNldDxQYWdlKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gcGFnZXMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIFBhZ2UqIG90aGVyUGFnZSA9ICpp
dDsKLSAgICAgICAgaWYgKChkZWZlclNlbGYgfHwgb3RoZXJQYWdlICE9IHBhZ2UpKSB7Ci0gICAg
ICAgICAgICBpZiAoIW90aGVyUGFnZS0+ZGVmZXJzTG9hZGluZygpKSB7Ci0gICAgICAgICAgICAg
ICAgbV9kZWZlcnJlZEZyYW1lcy5hcHBlbmQob3RoZXJQYWdlLT5tYWluRnJhbWUoKSk7Ci0KLSAg
ICAgICAgICAgICAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQg
ZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVjdXRlZCBiZW5lYXRoIG1v
ZGFsCi0gICAgICAgICAgICAgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0
bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KLSAgICAgICAgICAgICAgICAv
LyBOT1RFOiBpZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBv
dGhlciB0aGFuIHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCi0gICAgICAgICAgICAg
ICAgLy8gdGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0
OjpSZWFzb25Gb3JTdXNwZW5zaW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1l
ID0gb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+
dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCkt
PnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKTsKLSAgICAgICAg
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFj
dGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwotICAgICAgICAgICAgICAgICAgICBmcmFt
ZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgpOwotICAgICAgICAg
ICAgICAgICAgICBpZiAoRG9jdW1lbnRQYXJzZXIqIHBhcnNlciA9IGZyYW1lLT5kb2N1bWVudCgp
LT5wYXJzZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlci0+c3VzcGVuZFNjaGVk
dWxlZFRhc2tzKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9
CisgICAgICAgIGlmICgoZGVmZXJTZWxmIHx8IG90aGVyUGFnZSAhPSBwYWdlKSAmJiAhb3RoZXJQ
YWdlLT5kZWZlcnNMb2FkaW5nKCkpCisgICAgICAgICAgICBtX2RlZmVycmVkRnJhbWVzLmFwcGVu
ZChvdGhlclBhZ2UtPm1haW5GcmFtZSgpKTsKICAgICB9CiAKICAgICBzaXplX3QgY291bnQgPSBt
X2RlZmVycmVkRnJhbWVzLnNpemUoKTsKQEAgLTY3LDE3ICs1Miw4IEBAIFBhZ2VHcm91cExvYWRE
ZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqIHBhZ2UsIGJvb2wgZGVmZXJTZWxm
KQogUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdyb3VwTG9hZERlZmVycmVyKCkKIHsKICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZGVmZXJyZWRGcmFtZXMuc2l6ZSgpOyArK2kpIHsK
LSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkpIHsK
KyAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVycmVkRnJhbWVzW2ldLT5wYWdlKCkpCiAg
ICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsKLQotICAgICAgICAgICAg
Zm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJh
bWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9j
dW1lbnQoKS0+cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwotICAgICAgICAgICAgICAgIGZyYW1l
LT5kb2N1bWVudCgpLT5yZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3Mo
KTsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIo
KS0+cmVzdW1lKCk7Ci0gICAgICAgICAgICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIg
PSBmcmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgICAgICAgICAgICAgIHBhcnNl
ci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQogICAg
IH0KIH0KIAo=
</data>
<flag name="commit-queue"
          id="76630"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82660</attachid>
            <date>2011-02-16 10:41:36 -0800</date>
            <delta_ts>2011-02-16 12:36:03 -0800</delta_ts>
            <desc>Let commit log test the patch</desc>
            <filename>49401-temp.patch</filename>
            <type>text/plain</type>
            <size>10971</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZWE4ZWMxLi5kZTFlNGVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEt
MDYgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSnVzdCBm
b3IgdGVzdGluZyB3aXRoIGNvbW1pdCBib3QuIHdpbGwgY2FuY2VsIHRoZSBjb21taXQgYWZ0ZXIg
dGhhdC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDk0MDEKKyAgICAgICAgTm93IHdlIGRvbid0IG1pc3MgdGhlIGNhbGxiYWNrIHdpdGggdGhlIGJ1
ZyBmaXhlZC4KKyAgICAgICAgVGhlIHRpbWVvdXQgbWVzc2FnZSBpcyBjYXVzZWQgYnkgIndoaWxl
ICh0cnVlKSB7fSIgaW4gIHdvcmtlci1jbG9zZS5qcywgYW5kCisgICAgICAgIGl0IGlzIGdvb2Qg
d2UgY2FuIGNhdGNoIGl0LgorCisgICAgICAgICogZmFzdC93b3JrZXJzL3dvcmtlci1jbG9zZS1t
b3JlLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wMi0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3Jt
YW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItY2xvc2UtbW9yZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNsb3NlLW1vcmUtZXhwZWN0
ZWQudHh0CmluZGV4IDc5NDRkOTcuLmI0YTVmYWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvd29ya2Vycy93b3JrZXItY2xvc2UtbW9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC93b3JrZXJzL3dvcmtlci1jbG9zZS1tb3JlLWV4cGVjdGVkLnR4dApAQCAtMSwzICsx
LDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMTogSmF2YVNjcmlwdCBleGVjdXRpb24gZXhj
ZWVkZWQgdGltZW91dAogVGVzdCBXb3JrZXJHbG9iYWxTY29wZS5jbG9zZSgpIG1ldGhvZC4gV2ls
bCBwcmludCBQQVNTIG11bHRpcGxlIHRpbWVzLCBmb2xsb3dlZCBieSBET05FLgogCiBUZXN0IDE6
IENhbGwgY2xvc2UoKSBpbiB0aGUgd29ya2VyLCB0aGVuIGVudGVyIGluZmluaXRlIGxvb3AuIEZy
b20gdGhlIFdvcmtlciBvYmplY3Qgc2lkZSwgY2FsbCB0ZXJtaW5hdGUoKS4gVmVyaWZ5IHRoZSBs
b29wIGlzIHRlcm1pbmF0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg3YjMxNy4uNjFmNjc1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTAxLTA0ICBZb25nIExpICA8eW9saUByaW0uY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIERlZmVyIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sncyBpbiBEb2N1bWVudCB3aGVuIHBhZ2UgbG9hZGlu
ZyBpcyBkZWZlcnJlZC4KKyAgICAgICAgU2NoZWR1bGUgdGhlbSB3aXRoIHRpbWVyIHdoZW4gcGFn
ZSBsb2FkaW5nIGlzIHJlc3VtZWQuIFRoZSB0YXNrcyB3aWxsIGJlIHBlcmZvcm1lZAorICAgICAg
ICBpbiB0aGUgb3JpZ2luYWwgb3JkZXIuIFRoaXMgZml4ZXMgdGhlIHByb2JsZW0gdGhhdCBkYXRh
YmFzZSBjYWxsYmFja3MgY291bGQgYmUgbWlzc2VkCisgICAgICAgIHdoZW4gcGFnZSBsb2FkaW5n
IHdhcyBkZWZlcnJlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5NDAxCisKKyAgICAgICAgTWFudWFsIHRlc3QgYWRkZWQ6IG1hbnVhbC10ZXN0cy9k
YXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sLgorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpEb2N1bWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpkaWRSZWNlaXZlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cG9zdFRhc2sp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndpbGxEZWZlckxvYWRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlc3VtZUxvYWRpbmcpOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5oOgorICAgICAgICAqIG1hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXI6OlBhZ2VHcm91cExvYWRE
ZWZlcnJlcik6CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOgorCiAyMDExLTAyLTE0ICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFn
YW5vdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGE3YmI4NWEuLjlkMTVlYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtNyw2ICs3LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAw
OSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3Jj
aG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNo
IEluIE1vdGlvbiwgTGltaXRlZCAyMDEwLTIwMTEuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTQz
MCw2ICs0MzEsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBjb25zdCBLVVJM
JiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRpbmdNb2RlU2V0
T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dyaXRlUmVjdXJzaW9uSXNUb29EZWVw
KGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDApCisgICAgLCBtX3BlbmRpbmdU
YXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCkKIHsKICAg
ICBtX2RvY3VtZW50ID0gdGhpczsKIApAQCAtNDY1MiwyMiArNDY1NCw2MyBAQCBwdWJsaWM6CiAg
ICAgT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2s7CiB9OwogCi1zdGF0
aWMgdm9pZCBwZXJmb3JtVGFzayh2b2lkKiBjdHgpCit2b2lkIERvY3VtZW50OjpkaWRSZWNlaXZl
VGFzayh2b2lkKiB1bnR5cGVkQ29udGV4dCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDxQ
ZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0cjxQZXJmb3JtVGFza0NvbnRleHQ+
IGNvbnRleHQgPSBhZG9wdFB0cihzdGF0aWNfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPih1bnR5
cGVkQ29udGV4dCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsKIAotICAgIGlmIChEb2N1bWVudCog
ZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5jZS0+ZG9jdW1lbnQoKSkKLSAgICAg
ICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOworICAgIERvY3VtZW50KiBk
b2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpOwogCi0gICAg
ZGVsZXRlIGNvbnRleHQ7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAg
ICByZXR1cm47CisKKyAgICBpZiAocGFnZS0+ZGVmZXJzTG9hZGluZygpIHx8ICFkb2N1bWVudC0+
bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT5tX3BlbmRpbmdU
YXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5yZWxlYXNlKCkpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1lbnQpOwogfQogCiB2
b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spCiB7Ci0gICAgY2Fs
bE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBlcmZvcm1UYXNrQ29udGV4dChtX3dlYWtS
ZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKGRpZFJlY2VpdmVUYXNrLCBu
ZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworfQorCit2b2lk
IERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopCit7Cisg
ICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgT3duUHRyPFRh
c2s+IHRhc2sgPSBtX3BlbmRpbmdUYXNrc1swXS5yZWxlYXNlKCk7CisgICAgICAgIG1fcGVuZGlu
Z1Rhc2tzLnJlbW92ZSgwKTsKKyAgICAgICAgdGFzay0+cGVyZm9ybVRhc2sodGhpcyk7CisgICAg
fQorfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kU2NoZWR1bGVkVGFza3MoKQoreworICAgIHN1
c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKTsKKyAgICBzdXNwZW5k
QWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OldpbGxTaG93RGlhbG9nKTsKKyAgICBh
c3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7CisgICAgbV9wZW5kaW5nVGFza3NUaW1lci5z
dG9wKCk7CisgICAgaWYgKG1fcGFyc2VyKQorICAgICAgICBtX3BhcnNlci0+c3VzcGVuZFNjaGVk
dWxlZFRhc2tzKCk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKCkK
K3sKKyAgICBpZiAobV9wYXJzZXIpCisgICAgICAgIG1fcGFyc2VyLT5yZXN1bWVTY2hlZHVsZWRU
YXNrcygpOworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKQorICAgICAgICBtX3Bl
bmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBhc3luY1NjcmlwdFJ1bm5lcigp
LT5yZXN1bWUoKTsKKyAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKCk7CisgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA5ZTE1YWM3Li5jNjlkYjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
MTEwOSw2ICsxMTA5LDkgQEAgcHVibGljOgogCiAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBj
b250ZW50U2VjdXJpdHlQb2xpY3koKSB7IHJldHVybiAmbV9jb250ZW50U2VjdXJpdHlQb2xpY3k7
IH0KIAorICAgIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CisgICAgdm9pZCByZXN1bWVT
Y2hlZHVsZWRUYXNrcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25z
dCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCk7CiAKQEAgLTExNTUsNiArMTE1OCwx
MCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8
RG9jdW1lbnQ+Kik7CiAKKyAgICB2b2lkIHBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGltZXI8RG9j
dW1lbnQ+Kik7CisKKyAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlVGFzayh2b2lkKik7CisKICAg
ICBPd25QdHI8Q1NTU3R5bGVTZWxlY3Rvcj4gbV9zdHlsZVNlbGVjdG9yOwogICAgIGJvb2wgbV9k
aWRDYWxjdWxhdGVTdHlsZVNlbGVjdG9yOwogICAgIGJvb2wgbV9oYXNEaXJ0eVN0eWxlU2VsZWN0
b3I7CkBAIC0xNDE0LDYgKzE0MjEsOSBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBDb250ZW50
U2VjdXJpdHlQb2xpY3kgbV9jb250ZW50U2VjdXJpdHlQb2xpY3k7CisKKyAgICBUaW1lcjxEb2N1
bWVudD4gbV9wZW5kaW5nVGFza3NUaW1lcjsKKyAgICBWZWN0b3I8T3duUHRyPFRhc2s+ID4gbV9w
ZW5kaW5nVGFza3M7CiB9OwogCiBpbmxpbmUgYm9vbCBEb2N1bWVudDo6aGFzRWxlbWVudFdpdGhJ
ZChBdG9taWNTdHJpbmdJbXBsKiBpZCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCmluZGV4IGM5ZmNhOGQuLjllNmZlNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcApAQCAtMjUzLDYgKzI1MywxMyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXREZWZl
cnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICBtX2ZyYW1lLT5uYXZpZ2F0aW9uU2NoZWR1
bGVyKCktPnN0YXJ0VGltZXIoKTsKICAgICAgICAgc3RhcnRDaGVja0NvbXBsZXRlVGltZXIoKTsK
ICAgICB9CisKKyAgICAvLyBUaGlzIGNvZGUgaXMgbm90IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQg
ZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMgY29kZSBleGVjdXRlZCBiZW5lYXRoIG1v
ZGFsCisgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdl
R3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KKyAgICBpZiAoZGVmZXJzKQorICAgICAgICBtX2Zy
YW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kU2NoZWR1bGVkVGFza3MoKTsKKyAgICBlbHNlCisgICAg
ICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiB9CiAKIGJv
b2wgRnJhbWVMb2FkZXI6OmNhbkhhbmRsZVJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFiYXNl
LWNhbGxiYWNrLWRlZmVycmVkLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0
YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5jZjNkMDNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbWFudWFs
LXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAor
PGh0bWw+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBmdW5jdGlvbiB0cmFuc2Fj
dGlvbkNhbGxiYWNrKCkKKyAgICB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHQiKS5pbm5lckhUTUwgPSAiQ2FsbGJhY2sgd2FzIGNhbGxlZC4gVGVzdCBwYXNzZWQiOwor
ICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlQ2FsbGJhY2tEZWZlcnJl
ZCIsICIxLjAiLCAiIiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FsbGJhY2tEZWZlcnJlZFRl
c3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCB0cmFuc2FjdGlvbkNhbGxiYWNrLCB0cmFuc2FjdGlv
bkNhbGxiYWNrKTsKKworICAgIGFsZXJ0KCJXYWl0IGZvciBhIGZldyBzZWNvbmRzIGFuZCBjbG9z
ZSBpdCIpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cCBpZD0icmVz
dWx0Ij5XYWl0Li4uPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCmluZGV4IGRlYTJjZDcuLjI5MmI0Y2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKQEAgLTM5LDIz
ICszOSw4IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKFBh
Z2UqIHBhZ2UsIGJvb2wgZGVmZXJTZWxmKQogICAgIEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9pdGVy
YXRvciBlbmQgPSBwYWdlcy5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8UGFnZSo+Ojpjb25zdF9p
dGVyYXRvciBpdCA9IHBhZ2VzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBQ
YWdlKiBvdGhlclBhZ2UgPSAqaXQ7Ci0gICAgICAgIGlmICgoZGVmZXJTZWxmIHx8IG90aGVyUGFn
ZSAhPSBwYWdlKSkgewotICAgICAgICAgICAgaWYgKCFvdGhlclBhZ2UtPmRlZmVyc0xvYWRpbmco
KSkgewotICAgICAgICAgICAgICAgIG1fZGVmZXJyZWRGcmFtZXMuYXBwZW5kKG90aGVyUGFnZS0+
bWFpbkZyYW1lKCkpOwotCi0gICAgICAgICAgICAgICAgLy8gVGhpcyBjb2RlIGlzIG5vdCBsb2dp
Y2FsbHkgcGFydCBvZiBsb2FkIGRlZmVycmluZywgYnV0IHdlIGRvIG5vdCB3YW50IEpTIGNvZGUg
ZXhlY3V0ZWQgYmVuZWF0aCBtb2RhbAotICAgICAgICAgICAgICAgIC8vIHdpbmRvd3Mgb3Igc2hl
ZXRzLCB3aGljaCBpcyBleGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVzZWQu
Ci0gICAgICAgICAgICAgICAgLy8gTk9URTogaWYgUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIGV2
ZXIgdXNlZCBmb3IgdGFza3Mgb3RoZXIgdGhhbiBzaG93aW5nIGEgbW9kYWwgd2luZG93IG9yIHNo
ZWV0LAotICAgICAgICAgICAgICAgIC8vIHRoZSBjb25zdHJ1Y3RvciB3aWxsIG5lZWQgdG8gdGFr
ZSBhIEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbi4KLSAgICAgICAgICAgICAg
ICBmb3IgKEZyYW1lKiBmcmFtZSA9IG90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFt
ZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2Fs
bGJhY2tzKCk7Ci0gICAgICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5zdXNwZW5k
QWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OldpbGxTaG93RGlhbG9nKTsKLSAgICAg
ICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFzeW5jU2NyaXB0UnVubmVyKCktPnN1
c3BlbmQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIg
PSBmcmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBw
YXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICBpZiAoKGRlZmVyU2VsZiB8fCBvdGhlclBhZ2Ug
IT0gcGFnZSkgJiYgIW90aGVyUGFnZS0+ZGVmZXJzTG9hZGluZygpKQorICAgICAgICAgICAgbV9k
ZWZlcnJlZEZyYW1lcy5hcHBlbmQob3RoZXJQYWdlLT5tYWluRnJhbWUoKSk7CiAgICAgfQogCiAg
ICAgc2l6ZV90IGNvdW50ID0gbV9kZWZlcnJlZEZyYW1lcy5zaXplKCk7CkBAIC02NywxNyArNTIs
OCBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6OlBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiBw
YWdlLCBib29sIGRlZmVyU2VsZikKIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExv
YWREZWZlcnJlcigpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2RlZmVycmVkRnJh
bWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJlZEZy
YW1lc1tpXS0+cGFnZSgpKSB7CisgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJlZEZy
YW1lc1tpXS0+cGFnZSgpKQogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9hZGluZyhmYWxz
ZSk7Ci0KLSAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7
IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAg
ICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsKLSAg
ICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyQ2FsbGJhY2tzKCk7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCkt
PmFzeW5jU2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwotICAgICAgICAgICAgICAgIGlmIChEb2N1
bWVudFBhcnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3VtZW50KCktPnBhcnNlcigpKQotICAgICAg
ICAgICAgICAgICAgICBwYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KICAgICB9CiB9CiAK
</data>
<flag name="commit-queue"
          id="74335"
          type_id="3"
          status="-"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84630</attachid>
            <date>2011-03-03 14:49:19 -0800</date>
            <delta_ts>2011-03-07 09:06:48 -0800</delta_ts>
            <desc>up-to-date</desc>
            <filename>49401-latest.patch</filename>
            <type>text/plain</type>
            <size>9751</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjZmY5MTNlLi5lMTcyNmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMDEtMDQgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRGVmZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaydzIGluIERvY3VtZW50IHdoZW4gcGFnZSBsb2FkaW5nIGlzIGRlZmVycmVkLgorICAg
ICAgICBTY2hlZHVsZSB0aGVtIHdpdGggdGltZXIgd2hlbiBwYWdlIGxvYWRpbmcgaXMgcmVzdW1l
ZC4gVGhlIHRhc2tzIHdpbGwgYmUgcGVyZm9ybWVkCisgICAgICAgIGluIHRoZSBvcmlnaW5hbCBv
cmRlci4gVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB0aGF0IGRhdGFiYXNlIGNhbGxiYWNrcyBjb3Vs
ZCBiZSBtaXNzZWQKKyAgICAgICAgd2hlbiBwYWdlIGxvYWRpbmcgd2FzIGRlZmVycmVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk0MDEKKworICAg
ICAgICBNYW51YWwgdGVzdCBhZGRlZDogbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRl
ZmVycmVkLmh0bWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6d2lsbERlZmVyTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZGlkUmVzdW1lTG9hZGluZyk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
bWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcik6
CisKIDIwMTEtMDMtMDMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgQnVpbGQgZml4LiBTaG91bGQgaW5jbHVkZSBXZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCBv
biBhbGwgcGxhdGZvcm1zIG5vdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDcxYmZmYmEu
LjU1OGFmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNyw2ICs3LDcgQEAKICAqIENv
cHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiwgTGltaXRlZCAyMDEwLTIwMTEuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTQzNCw2ICs0MzUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJh
bWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAg
ICAgLCBtX3dyaXRpbmdNb2RlU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dy
aXRlUmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRo
KDApCisgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6cGVuZGluZ1Rh
c2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhpczsKIApAQCAtNDcwNiwyMiAr
NDcwOCw2MyBAQCBwdWJsaWM6CiAgICAgT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRh
c2s+IHRhc2s7CiB9OwogCi1zdGF0aWMgdm9pZCBwZXJmb3JtVGFzayh2b2lkKiBjdHgpCit2b2lk
IERvY3VtZW50OjpkaWRSZWNlaXZlVGFzayh2b2lkKiB1bnR5cGVkQ29udGV4dCkKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0
ID0gcmVpbnRlcnByZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0
cjxQZXJmb3JtVGFza0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFB0cihzdGF0aWNfY2FzdDxQZXJm
b3JtVGFza0NvbnRleHQqPih1bnR5cGVkQ29udGV4dCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsK
IAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5j
ZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1l
bnQpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNl
LT5kb2N1bWVudCgpOwogCi0gICAgZGVsZXRlIGNvbnRleHQ7CisgICAgaWYgKCFkb2N1bWVudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7Cisg
ICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAocGFnZS0+ZGVmZXJzTG9h
ZGluZygpIHx8ICFkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAg
IGRvY3VtZW50LT5tX3BlbmRpbmdUYXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5yZWxlYXNlKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRh
c2soZG9jdW1lbnQpOwogfQogCiB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRyPFRh
c2s+IHRhc2spCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBlcmZv
cm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWluVGhy
ZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5j
ZSwgdGFzaykpOworfQorCit2b2lkIERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKFRp
bWVyPERvY3VtZW50PiopCit7CisgICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgT3duUHRyPFRhc2s+IHRhc2sgPSBtX3BlbmRpbmdUYXNrc1swXS5yZWxlYXNl
KCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzLnJlbW92ZSgwKTsKKyAgICAgICAgdGFzay0+cGVy
Zm9ybVRhc2sodGhpcyk7CisgICAgfQorfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kU2NoZWR1
bGVkVGFza3MoKQoreworICAgIHN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxs
YmFja3MoKTsKKyAgICBzdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6Oldp
bGxTaG93RGlhbG9nKTsKKyAgICBhc3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7CisgICAg
bV9wZW5kaW5nVGFza3NUaW1lci5zdG9wKCk7CisgICAgaWYgKG1fcGFyc2VyKQorICAgICAgICBt
X3BhcnNlci0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnJl
c3VtZVNjaGVkdWxlZFRhc2tzKCkKK3sKKyAgICBpZiAobV9wYXJzZXIpCisgICAgICAgIG1fcGFy
c2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNF
bXB0eSgpKQorICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBhc3luY1NjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKKyAgICByZXN1bWVBY3RpdmVET01PYmpl
Y3RzKCk7CisgICAgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBkNTY1ZTNlLi5kZDgyMDc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaApAQCAtMTExOSw2ICsxMTE5LDkgQEAgcHVibGljOgogCiAgICAgQ29u
dGVudFNlY3VyaXR5UG9saWN5KiBjb250ZW50U2VjdXJpdHlQb2xpY3koKSB7IHJldHVybiBtX2Nv
bnRlbnRTZWN1cml0eVBvbGljeS5nZXQoKTsgfQogCisgICAgdm9pZCBzdXNwZW5kU2NoZWR1bGVk
VGFza3MoKTsKKyAgICB2b2lkIHJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CisKIHByb3RlY3RlZDoK
ICAgICBEb2N1bWVudChGcmFtZSosIGNvbnN0IEtVUkwmLCBib29sIGlzWEhUTUwsIGJvb2wgaXNI
VE1MKTsKIApAQCAtMTE2NSw2ICsxMTY4LDEwIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxvYWRF
dmVudERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKIAorICAgIHZvaWQgcGVuZGlu
Z1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKTsKKworICAgIHN0YXRpYyB2b2lkIGRp
ZFJlY2VpdmVUYXNrKHZvaWQqKTsKKwogICAgIE93blB0cjxDU1NTdHlsZVNlbGVjdG9yPiBtX3N0
eWxlU2VsZWN0b3I7CiAgICAgYm9vbCBtX2RpZENhbGN1bGF0ZVN0eWxlU2VsZWN0b3I7CiAgICAg
Ym9vbCBtX2hhc0RpcnR5U3R5bGVTZWxlY3RvcjsKQEAgLTE0MjksNiArMTQzNiw5IEBAIHByaXZh
dGU6CiAjZW5kaWYKIAogICAgIFJlZlB0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+IG1fY29udGVu
dFNlY3VyaXR5UG9saWN5OworCisgICAgVGltZXI8RG9jdW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGlt
ZXI7CisgICAgVmVjdG9yPE93blB0cjxUYXNrPiA+IG1fcGVuZGluZ1Rhc2tzOwogfTsKIAogaW5s
aW5lIGJvb2wgRG9jdW1lbnQ6Omhhc0VsZW1lbnRXaXRoSWQoQXRvbWljU3RyaW5nSW1wbCogaWQp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBkNTMyZGFlLi45
ZGEzYjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI1Myw2ICsy
NTMsMTMgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykK
ICAgICAgICAgbV9mcmFtZS0+bmF2aWdhdGlvblNjaGVkdWxlcigpLT5zdGFydFRpbWVyKCk7CiAg
ICAgICAgIHN0YXJ0Q2hlY2tDb21wbGV0ZVRpbWVyKCk7CiAgICAgfQorCisgICAgLy8gVGhpcyBj
b2RlIGlzIG5vdCBsb2dpY2FsbHkgcGFydCBvZiBsb2FkIGRlZmVycmluZywgYnV0IHdlIGRvIG5v
dCB3YW50IEpTIGNvZGUgZXhlY3V0ZWQgYmVuZWF0aCBtb2RhbAorICAgIC8vIHdpbmRvd3Mgb3Ig
c2hlZXRzLCB3aGljaCBpcyBleGFjdGx5IHdoZW4gUGFnZUdyb3VwTG9hZERlZmVycmVyIGlzIHVz
ZWQuCisgICAgaWYgKGRlZmVycykKKyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVu
ZFNjaGVkdWxlZFRhc2tzKCk7CisgICAgZWxzZQorICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOwogfQogCiBib29sIEZyYW1lTG9hZGVyOjpjYW5IYW5k
bGVSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1s
IGIvU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YzZDAzYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9kYXRhYmFzZS1jYWxsYmFj
ay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHRlc3QoKSB7CisgICAgZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjaygpCisgICAgewor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIkNh
bGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsKKyAgICB9CisgICAgdmFyIGRiID0gb3Bl
bkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJyZWQiLCAiMS4wIiwgIiIsIDEpOworICAg
IGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJM
RSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRUZXN0IChyYW5kb21EYXRhKSIsIFtdKTsg
fSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rpb25DYWxsYmFjayk7CisKKyAgICBhbGVy
dCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xvc2UgaXQiKTsKK30KKzwvc2NyaXB0Pgor
PGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJlc3VsdCI+V2FpdC4uLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9h
ZERlZmVycmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmNwcAppbmRleCBkZWEyY2Q3Li4yOTJiNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCkBAIC0zOSwyMyArMzksOCBAQCBQYWdlR3JvdXBMb2Fk
RGVmZXJyZXI6OlBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiBwYWdlLCBib29sIGRlZmVyU2Vs
ZikKICAgICBIYXNoU2V0PFBhZ2UqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gcGFnZXMuZW5kKCk7
CiAgICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBwYWdlcy5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgUGFnZSogb3RoZXJQYWdlID0gKml0Owot
ICAgICAgICBpZiAoKGRlZmVyU2VsZiB8fCBvdGhlclBhZ2UgIT0gcGFnZSkpIHsKLSAgICAgICAg
ICAgIGlmICghb3RoZXJQYWdlLT5kZWZlcnNMb2FkaW5nKCkpIHsKLSAgICAgICAgICAgICAgICBt
X2RlZmVycmVkRnJhbWVzLmFwcGVuZChvdGhlclBhZ2UtPm1haW5GcmFtZSgpKTsKLQotICAgICAg
ICAgICAgICAgIC8vIFRoaXMgY29kZSBpcyBub3QgbG9naWNhbGx5IHBhcnQgb2YgbG9hZCBkZWZl
cnJpbmcsIGJ1dCB3ZSBkbyBub3Qgd2FudCBKUyBjb2RlIGV4ZWN1dGVkIGJlbmVhdGggbW9kYWwK
LSAgICAgICAgICAgICAgICAvLyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3
aGVuIFBhZ2VHcm91cExvYWREZWZlcnJlciBpcyB1c2VkLgotICAgICAgICAgICAgICAgIC8vIE5P
VEU6IGlmIFBhZ2VHcm91cExvYWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tzIG90aGVy
IHRoYW4gc2hvd2luZyBhIG1vZGFsIHdpbmRvdyBvciBzaGVldCwKLSAgICAgICAgICAgICAgICAv
LyB0aGUgY29uc3RydWN0b3Igd2lsbCBuZWVkIHRvIHRha2UgYSBBY3RpdmVET01PYmplY3Q6OlJl
YXNvbkZvclN1c3BlbnNpb24uCi0gICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBv
dGhlclBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2
ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3Vz
cGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwotICAgICAgICAgICAg
ICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoQWN0aXZl
RE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICAgICAgICAgIGZyYW1lLT5k
b2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmIChEb2N1bWVudFBhcnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3VtZW50KCktPnBh
cnNlcigpKQotICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VyLT5zdXNwZW5kU2NoZWR1bGVk
VGFza3MoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKChkZWZlclNlbGYgfHwgb3RoZXJQYWdlICE9IHBhZ2UpICYmICFvdGhlclBhZ2Ut
PmRlZmVyc0xvYWRpbmcoKSkKKyAgICAgICAgICAgIG1fZGVmZXJyZWRGcmFtZXMuYXBwZW5kKG90
aGVyUGFnZS0+bWFpbkZyYW1lKCkpOwogICAgIH0KIAogICAgIHNpemVfdCBjb3VudCA9IG1fZGVm
ZXJyZWRGcmFtZXMuc2l6ZSgpOwpAQCAtNjcsMTcgKzUyLDggQEAgUGFnZUdyb3VwTG9hZERlZmVy
cmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZlclNlbGYpCiBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKQogewogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9kZWZlcnJlZEZyYW1lcy5zaXplKCk7ICsraSkgewotICAg
ICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNbaV0tPnBhZ2UoKSkgeworICAg
ICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNbaV0tPnBhZ2UoKSkKICAgICAg
ICAgICAgIHBhZ2UtPnNldERlZmVyc0xvYWRpbmcoZmFsc2UpOwotCi0gICAgICAgICAgICBmb3Ig
KEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+
dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5yZXN1bWVBY3RpdmVET01PYmplY3RzKCk7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmRv
Y3VtZW50KCktPnJlc3VtZVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwot
ICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5hc3luY1NjcmlwdFJ1bm5lcigpLT5y
ZXN1bWUoKTsKLSAgICAgICAgICAgICAgICBpZiAoRG9jdW1lbnRQYXJzZXIqIHBhcnNlciA9IGZy
YW1lLT5kb2N1bWVudCgpLT5wYXJzZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgcGFyc2VyLT5y
ZXN1bWVTY2hlZHVsZWRUYXNrcygpOwotICAgICAgICAgICAgfQotICAgICAgICB9CiAgICAgfQog
fQogCg==
</data>
<flag name="commit-queue"
          id="76778"
          type_id="3"
          status="-"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84950</attachid>
            <date>2011-03-07 09:06:48 -0800</date>
            <delta_ts>2011-12-07 10:47:45 -0800</delta_ts>
            <desc>Try again</desc>
            <filename>49401-fixed.patch</filename>
            <type>text/plain</type>
            <size>9722</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjZmY5MTNlLi5lMTcyNmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTEtMDEtMDQgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRGVmZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaydzIGluIERvY3VtZW50IHdoZW4gcGFnZSBsb2FkaW5nIGlzIGRlZmVycmVkLgorICAg
ICAgICBTY2hlZHVsZSB0aGVtIHdpdGggdGltZXIgd2hlbiBwYWdlIGxvYWRpbmcgaXMgcmVzdW1l
ZC4gVGhlIHRhc2tzIHdpbGwgYmUgcGVyZm9ybWVkCisgICAgICAgIGluIHRoZSBvcmlnaW5hbCBv
cmRlci4gVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB0aGF0IGRhdGFiYXNlIGNhbGxiYWNrcyBjb3Vs
ZCBiZSBtaXNzZWQKKyAgICAgICAgd2hlbiBwYWdlIGxvYWRpbmcgd2FzIGRlZmVycmVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk0MDEKKworICAg
ICAgICBNYW51YWwgdGVzdCBhZGRlZDogbWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRl
ZmVycmVkLmh0bWwuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNrKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6d2lsbERlZmVyTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
ZGlkUmVzdW1lTG9hZGluZyk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICog
bWFudWFsLXRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcik6
CisKIDIwMTEtMDMtMDMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgQnVpbGQgZml4LiBTaG91bGQgaW5jbHVkZSBXZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCBv
biBhbGwgcGxhdGZvcm1zIG5vdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDcxYmZmYmEu
LjlmYWI3ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNyw2ICs3LDcgQEAKICAqIENv
cHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQogICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBD
b3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiwgTGltaXRlZCAyMDEwLTIwMTEuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTQzNCw2ICs0MzUsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJh
bWUqIGZyYW1lLCBjb25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAg
ICAgLCBtX3dyaXRpbmdNb2RlU2V0T25Eb2N1bWVudEVsZW1lbnQoZmFsc2UpCiAgICAgLCBtX3dy
aXRlUmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRo
KDApCisgICAgLCBtX3BlbmRpbmdUYXNrc1RpbWVyKHRoaXMsICZEb2N1bWVudDo6cGVuZGluZ1Rh
c2tzVGltZXJGaXJlZCkKIHsKICAgICBtX2RvY3VtZW50ID0gdGhpczsKIApAQCAtNDcwNiwyMiAr
NDcwOCw1OSBAQCBwdWJsaWM6CiAgICAgT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRh
c2s+IHRhc2s7CiB9OwogCi1zdGF0aWMgdm9pZCBwZXJmb3JtVGFzayh2b2lkKiBjdHgpCit2b2lk
IERvY3VtZW50OjpkaWRSZWNlaXZlVGFzayh2b2lkKiB1bnR5cGVkQ29udGV4dCkKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgUGVyZm9ybVRhc2tDb250ZXh0KiBjb250ZXh0
ID0gcmVpbnRlcnByZXRfY2FzdDxQZXJmb3JtVGFza0NvbnRleHQqPihjdHgpOworICAgIE93blB0
cjxQZXJmb3JtVGFza0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFB0cihzdGF0aWNfY2FzdDxQZXJm
b3JtVGFza0NvbnRleHQqPih1bnR5cGVkQ29udGV4dCkpOwogICAgIEFTU0VSVChjb250ZXh0KTsK
IAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0LT5kb2N1bWVudFJlZmVyZW5j
ZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgY29udGV4dC0+dGFzay0+cGVyZm9ybVRhc2soZG9jdW1l
bnQpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNl
LT5kb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAg
IFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOworICAgIGlmIChwYWdlICYmIHBhZ2UtPmRl
ZmVyc0xvYWRpbmcoKSB8fCAhZG9jdW1lbnQtPm1fcGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkgewor
ICAgICAgICBkb2N1bWVudC0+bV9wZW5kaW5nVGFza3MuYXBwZW5kKGNvbnRleHQtPnRhc2sucmVs
ZWFzZSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGRlbGV0ZSBjb250ZXh0Owor
ICAgIGNvbnRleHQtPnRhc2stPnBlcmZvcm1UYXNrKGRvY3VtZW50KTsKIH0KIAogdm9pZCBEb2N1
bWVudDo6cG9zdFRhc2soUGFzc093blB0cjxUYXNrPiB0YXNrKQogewotICAgIGNhbGxPbk1haW5U
aHJlYWQocGVyZm9ybVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVmZXJlbmNl
LCB0YXNrKSk7CisgICAgY2FsbE9uTWFpblRocmVhZChkaWRSZWNlaXZlVGFzaywgbmV3IFBlcmZv
cm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKK30KKwordm9pZCBEb2N1bWVu
dDo6cGVuZGluZ1Rhc2tzVGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQoreworICAgIHdoaWxl
ICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIE93blB0cjxUYXNrPiB0YXNr
ID0gbV9wZW5kaW5nVGFza3NbMF0ucmVsZWFzZSgpOworICAgICAgICBtX3BlbmRpbmdUYXNrcy5y
ZW1vdmUoMCk7CisgICAgICAgIHRhc2stPnBlcmZvcm1UYXNrKHRoaXMpOworICAgIH0KK30KKwor
dm9pZCBEb2N1bWVudDo6c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCkKK3sKKyAgICBzdXNwZW5kU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CisgICAgc3VzcGVuZEFjdGl2ZURP
TU9iamVjdHMoQWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7CisgICAgYXN5bmNTY3Jp
cHRSdW5uZXIoKS0+c3VzcGVuZCgpOworICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOwor
ICAgIGlmIChtX3BhcnNlcikKKyAgICAgICAgbV9wYXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNr
cygpOworfQorCit2b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcygpCit7CisgICAg
aWYgKG1fcGFyc2VyKQorICAgICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsK
KyAgICBpZiAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1wdHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFz
a3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgYXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1l
KCk7CisgICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOworICAgIHJlc3VtZVNjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwogfQogCiB2b2lkIERvY3VtZW50OjpzdXNwZW5k
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
aW5kZXggZDU2NWUzZS4uZGQ4MjA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTExMTksNiAr
MTExOSw5IEBAIHB1YmxpYzoKIAogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSogY29udGVudFNl
Y3VyaXR5UG9saWN5KCkgeyByZXR1cm4gbV9jb250ZW50U2VjdXJpdHlQb2xpY3kuZ2V0KCk7IH0K
IAorICAgIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CisgICAgdm9pZCByZXN1bWVTY2hl
ZHVsZWRUYXNrcygpOworCiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBL
VVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCk7CiAKQEAgLTExNjUsNiArMTE2OCwxMCBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9j
dW1lbnQ+Kik7CiAKKyAgICB2b2lkIHBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1l
bnQ+Kik7CisKKyAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlVGFzayh2b2lkKik7CisKICAgICBP
d25QdHI8Q1NTU3R5bGVTZWxlY3Rvcj4gbV9zdHlsZVNlbGVjdG9yOwogICAgIGJvb2wgbV9kaWRD
YWxjdWxhdGVTdHlsZVNlbGVjdG9yOwogICAgIGJvb2wgbV9oYXNEaXJ0eVN0eWxlU2VsZWN0b3I7
CkBAIC0xNDI5LDYgKzE0MzYsOSBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBSZWZQdHI8Q29u
dGVudFNlY3VyaXR5UG9saWN5PiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeTsKKworICAgIFRpbWVy
PERvY3VtZW50PiBtX3BlbmRpbmdUYXNrc1RpbWVyOworICAgIFZlY3RvcjxPd25QdHI8VGFzaz4g
PiBtX3BlbmRpbmdUYXNrczsKIH07CiAKIGlubGluZSBib29sIERvY3VtZW50OjpoYXNFbGVtZW50
V2l0aElkKEF0b21pY1N0cmluZ0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAKaW5kZXggZDUzMmRhZS4uOWRhM2I2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCkBAIC0yNTMsNiArMjUzLDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OnNl
dERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCiAgICAgICAgIG1fZnJhbWUtPm5hdmlnYXRpb25T
Y2hlZHVsZXIoKS0+c3RhcnRUaW1lcigpOwogICAgICAgICBzdGFydENoZWNrQ29tcGxldGVUaW1l
cigpOwogICAgIH0KKworICAgIC8vIFRoaXMgY29kZSBpcyBub3QgbG9naWNhbGx5IHBhcnQgb2Yg
bG9hZCBkZWZlcnJpbmcsIGJ1dCB3ZSBkbyBub3Qgd2FudCBKUyBjb2RlIGV4ZWN1dGVkIGJlbmVh
dGggbW9kYWwKKyAgICAvLyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhhY3RseSB3aGVu
IFBhZ2VHcm91cExvYWREZWZlcnJlciBpcyB1c2VkLgorICAgIGlmIChkZWZlcnMpCisgICAgICAg
IG1fZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworICAgIGVsc2UK
KyAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKIH0K
IAogYm9vbCBGcmFtZUxvYWRlcjo6Y2FuSGFuZGxlUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYW51YWwtdGVzdHMvZGF0
YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0
cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmNmM2QwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YW51YWwtdGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbApAQCAtMCwwICsxLDE3
IEBACis8aHRtbD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGZ1bmN0aW9uIHRy
YW5zYWN0aW9uQ2FsbGJhY2soKQorICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJDYWxsYmFjayB3YXMgY2FsbGVkLiBUZXN0IHBhc3Nl
ZCI7CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VDYWxsYmFja0Rl
ZmVycmVkIiwgIjEuMCIsICIiLCAxKTsKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkg
eyB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBDYWxsYmFja0RlZmVy
cmVkVGVzdCAocmFuZG9tRGF0YSkiLCBbXSk7IH0sIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIHRyYW5z
YWN0aW9uQ2FsbGJhY2spOworCisgICAgYWxlcnQoIldhaXQgZm9yIGEgZmV3IHNlY29uZHMgYW5k
IGNsb3NlIGl0Iik7Cit9Cis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxwIGlk
PSJyZXN1bHQiPldhaXQuLi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKaW5kZXggZGVhMmNkNy4uMjkyYjRjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApAQCAt
MzksMjMgKzM5LDggQEAgUGFnZUdyb3VwTG9hZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJy
ZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZlclNlbGYpCiAgICAgSGFzaFNldDxQYWdlKj46OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IHBhZ2VzLmVuZCgpOwogICAgIGZvciAoSGFzaFNldDxQYWdlKj46OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gcGFnZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAg
ICAgIFBhZ2UqIG90aGVyUGFnZSA9ICppdDsKLSAgICAgICAgaWYgKChkZWZlclNlbGYgfHwgb3Ro
ZXJQYWdlICE9IHBhZ2UpKSB7Ci0gICAgICAgICAgICBpZiAoIW90aGVyUGFnZS0+ZGVmZXJzTG9h
ZGluZygpKSB7Ci0gICAgICAgICAgICAgICAgbV9kZWZlcnJlZEZyYW1lcy5hcHBlbmQob3RoZXJQ
YWdlLT5tYWluRnJhbWUoKSk7Ci0KLSAgICAgICAgICAgICAgICAvLyBUaGlzIGNvZGUgaXMgbm90
IGxvZ2ljYWxseSBwYXJ0IG9mIGxvYWQgZGVmZXJyaW5nLCBidXQgd2UgZG8gbm90IHdhbnQgSlMg
Y29kZSBleGVjdXRlZCBiZW5lYXRoIG1vZGFsCi0gICAgICAgICAgICAgICAgLy8gd2luZG93cyBv
ciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMg
dXNlZC4KLSAgICAgICAgICAgICAgICAvLyBOT1RFOiBpZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIg
aXMgZXZlciB1c2VkIGZvciB0YXNrcyBvdGhlciB0aGFuIHNob3dpbmcgYSBtb2RhbCB3aW5kb3cg
b3Igc2hlZXQsCi0gICAgICAgICAgICAgICAgLy8gdGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0
byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uLgotICAgICAgICAg
ICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7
IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXJDYWxsYmFja3MoKTsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1
c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwot
ICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIo
KS0+c3VzcGVuZCgpOwotICAgICAgICAgICAgICAgICAgICBpZiAoRG9jdW1lbnRQYXJzZXIqIHBh
cnNlciA9IGZyYW1lLT5kb2N1bWVudCgpLT5wYXJzZXIoKSkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcnNlci0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAgIGlmICgoZGVmZXJTZWxmIHx8IG90aGVy
UGFnZSAhPSBwYWdlKSAmJiAhb3RoZXJQYWdlLT5kZWZlcnNMb2FkaW5nKCkpCisgICAgICAgICAg
ICBtX2RlZmVycmVkRnJhbWVzLmFwcGVuZChvdGhlclBhZ2UtPm1haW5GcmFtZSgpKTsKICAgICB9
CiAKICAgICBzaXplX3QgY291bnQgPSBtX2RlZmVycmVkRnJhbWVzLnNpemUoKTsKQEAgLTY3LDE3
ICs1Miw4IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKFBh
Z2UqIHBhZ2UsIGJvb2wgZGVmZXJTZWxmKQogUGFnZUdyb3VwTG9hZERlZmVycmVyOjp+UGFnZUdy
b3VwTG9hZERlZmVycmVyKCkKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZGVmZXJy
ZWRGcmFtZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVy
cmVkRnJhbWVzW2ldLT5wYWdlKCkpIHsKKyAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2RlZmVy
cmVkRnJhbWVzW2ldLT5wYWdlKCkpCiAgICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5n
KGZhbHNlKTsKLQotICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJh
bWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAg
ICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygp
OwotICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKTsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1l
bnQoKS0+YXN5bmNTY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7Ci0gICAgICAgICAgICAgICAgaWYg
KERvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBmcmFtZS0+ZG9jdW1lbnQoKS0+cGFyc2VyKCkpCi0g
ICAgICAgICAgICAgICAgICAgIHBhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118230</attachid>
            <date>2011-12-07 10:47:28 -0800</date>
            <delta_ts>2011-12-07 11:30:18 -0800</delta_ts>
            <desc>Remove the part that causes conflict with other callers of Page::setDefersLoading().</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>8554</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL01hbnVhbFRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwg
Yi9NYW51YWxUZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmM2QwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9NYW51
YWxUZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAK
KzxodG1sPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgZnVuY3Rpb24gdHJhbnNh
Y3Rpb25DYWxsYmFjaygpCisgICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MID0gIkNhbGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsK
KyAgICB9CisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJy
ZWQiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRU
ZXN0IChyYW5kb21EYXRhKSIsIFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rp
b25DYWxsYmFjayk7CisKKyAgICBhbGVydCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xv
c2UgaXQiKTsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJl
c3VsdCI+V2FpdC4uLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNGQ4Yzdj
Li5jMmVkMzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTItMDcgIFlvbmcg
TGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgRGVmZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaydzIGluIERvY3VtZW50IHdoZW4gcGFnZSBsb2FkaW5nIGlzIGRlZmVycmVkLgorICAg
ICAgICBTY2hlZHVsZSB0aGVtIHdpdGggdGltZXIgd2hlbiBwYWdlIGxvYWRpbmcgaXMgcmVzdW1l
ZC4gVGhlIHRhc2tzIHdpbGwgYmUgcGVyZm9ybWVkCisgICAgICAgIGluIHRoZSBvcmlnaW5hbCBv
cmRlci4gVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB0aGF0IGRhdGFiYXNlIGNhbGxiYWNrcyBjb3Vs
ZCBiZSBtaXNzZWQKKyAgICAgICAgd2hlbiBwYWdlIGxvYWRpbmcgd2FzIGRlZmVycmVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk0MDEKKyAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBNYW51YWwgdGVzdCBh
ZGRlZDogTWFudWFsVGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4gCisKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRv
Y3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZWNlaXZlVGFzayk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cG9zdFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OnN1c3BlbmRTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6cmVzdW1lU2NoZWR1bGVkVGFza3MpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcik6
CisKIDIwMTEtMTItMDYgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CiAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ1CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA5NzUxOWExLi45YzJlNDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTcsNiArNyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAq
IENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDEwLTIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTQyOSw2ICs0MzAsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBj
b25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRl
UmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDAp
CiAgICAgLCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQoMCkKKyAgICAsIG1fcGVuZGluZ1Rhc2tz
VGltZXIodGhpcywgJkRvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKQogewogICAgIG1f
ZG9jdW1lbnQgPSB0aGlzOwogCkBAIC00NzA0LDIyICs0NzA2LDU5IEBAIHB1YmxpYzoKICAgICBP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2
b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNr
KHZvaWQqIHVudHlwZWRDb250ZXh0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAK
LSAgICBQZXJmb3JtVGFza0NvbnRleHQqIGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZv
cm1UYXNrQ29udGV4dCo+KGN0eCk7CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29u
dGV4dCA9IGFkb3B0UHRyKHN0YXRpY19jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KHVudHlwZWRD
b250ZXh0KSk7CiAgICAgQVNTRVJUKGNvbnRleHQpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1
bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpKQotICAgICAgICBj
b250ZXh0LT50YXNrLT5wZXJmb3JtVGFzayhkb2N1bWVudCk7CisgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gY29udGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCk7CisgICAgaWYgKCFk
b2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5w
YWdlKCk7CisgICAgaWYgKHBhZ2UgJiYgcGFnZS0+ZGVmZXJzTG9hZGluZygpIHx8ICFkb2N1bWVu
dC0+bV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKSB7CisgICAgICAgIGRvY3VtZW50LT5tX3BlbmRp
bmdUYXNrcy5hcHBlbmQoY29udGV4dC0+dGFzay5yZWxlYXNlKCkpOworICAgICAgICByZXR1cm47
CisgICAgfQogCi0gICAgZGVsZXRlIGNvbnRleHQ7CisgICAgY29udGV4dC0+dGFzay0+cGVyZm9y
bVRhc2soZG9jdW1lbnQpOwogfQogCiB2b2lkIERvY3VtZW50Ojpwb3N0VGFzayhQYXNzT3duUHRy
PFRhc2s+IHRhc2spCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChwZXJmb3JtVGFzaywgbmV3IFBl
cmZvcm1UYXNrQ29udGV4dChtX3dlYWtSZWZlcmVuY2UsIHRhc2spKTsKKyAgICBjYWxsT25NYWlu
VGhyZWFkKGRpZFJlY2VpdmVUYXNrLCBuZXcgUGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVy
ZW5jZSwgdGFzaykpOworfQorCit2b2lkIERvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVk
KFRpbWVyPERvY3VtZW50PiopCit7CisgICAgd2hpbGUgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5
KCkpIHsKKyAgICAgICAgT3duUHRyPFRhc2s+IHRhc2sgPSBtX3BlbmRpbmdUYXNrc1swXS5yZWxl
YXNlKCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzLnJlbW92ZSgwKTsKKyAgICAgICAgdGFzay0+
cGVyZm9ybVRhc2sodGhpcyk7CisgICAgfQorfQorCit2b2lkIERvY3VtZW50OjpzdXNwZW5kU2No
ZWR1bGVkVGFza3MoKQoreworICAgIHN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJD
YWxsYmFja3MoKTsKKyAgICBzdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6
OldpbGxTaG93RGlhbG9nKTsKKyAgICBzY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgpOworICAgIG1f
cGVuZGluZ1Rhc2tzVGltZXIuc3RvcCgpOworICAgIGlmIChtX3BhcnNlcikKKyAgICAgICAgbV9w
YXJzZXItPnN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOworfQorCit2b2lkIERvY3VtZW50OjpyZXN1
bWVTY2hlZHVsZWRUYXNrcygpCit7CisgICAgaWYgKG1fcGFyc2VyKQorICAgICAgICBtX3BhcnNl
ci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKKyAgICBpZiAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1w
dHkoKSkKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
c2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOworICAgIHJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsK
KyAgICByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKTsKIH0KIAog
dm9pZCBEb2N1bWVudDo6c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNr
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDE2Y2MxYjguLmE0ZWYwNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC0xMTE0LDcgKzExMTQsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgd2hl
ZWxFdmVudEhhbmRsZXJDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fd2hlZWxFdmVudEhhbmRsZXJD
b3VudDsgfQogICAgIHZvaWQgZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoKTsKICAgICB2b2lkIGRp
ZFJlbW92ZVdoZWVsRXZlbnRIYW5kbGVyKCk7Ci0gICAgCisKICAgICBib29sIHZpc3VhbFVwZGF0
ZXNBbGxvd2VkKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoTUlDUk9EQVRBKQpAQCAtMTEyNCw2ICsx
MTI0LDkgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNJbkRvY3VtZW50V3JpdGUoKSB7IHJl
dHVybiBtX3dyaXRlUmVjdXJzaW9uRGVwdGggPiAwOyB9CiAKKyAgICB2b2lkIHN1c3BlbmRTY2hl
ZHVsZWRUYXNrcygpOworICAgIHZvaWQgcmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKKwogcHJvdGVj
dGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29uc3QgS1VSTCYsIGJvb2wgaXNYSFRNTCwgYm9v
bCBpc0hUTUwpOwogCkBAIC0xMTcxLDYgKzExNzQsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
bG9hZEV2ZW50RGVsYXlUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOwogCisgICAgdm9pZCBw
ZW5kaW5nVGFza3NUaW1lckZpcmVkKFRpbWVyPERvY3VtZW50PiopOworCisgICAgc3RhdGljIHZv
aWQgZGlkUmVjZWl2ZVRhc2sodm9pZCopOworCiAjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9B
UEkpCiAgICAgUGFnZVZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUoKSBjb25zdDsKICNl
bmRpZgpAQCAtMTQzMyw2ICsxNDQwLDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpCiAgICAgT3duUHRyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4g
bV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI7CiAjZW5kaWYKKworICAgIFRpbWVyPERvY3Vt
ZW50PiBtX3BlbmRpbmdUYXNrc1RpbWVyOworICAgIFZlY3RvcjxPd25QdHI8VGFzaz4gPiBtX3Bl
bmRpbmdUYXNrczsKIH07CiAKIC8vIFB1dCB0aGVzZSBtZXRob2RzIGhlcmUsIGJlY2F1c2UgdGhl
eSByZXF1aXJlIHRoZSBEb2N1bWVudCBkZWZpbml0aW9uLCBidXQgd2UgcmVhbGx5IHdhbnQgdG8g
aW5saW5lIHRoZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExv
YWREZWZlcnJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJl
ci5jcHAKaW5kZXggNTBiMzJiYy4uZTg1ZDQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcApAQCAtNDgsMTMgKzQ4LDggQEAgUGFnZUdyb3VwTG9h
ZERlZmVycmVyOjpQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSogcGFnZSwgYm9vbCBkZWZlclNl
bGYpCiAgICAgICAgICAgICAgICAgLy8gd2luZG93cyBvciBzaGVldHMsIHdoaWNoIGlzIGV4YWN0
bHkgd2hlbiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgdXNlZC4KICAgICAgICAgICAgICAgICAv
LyBOT1RFOiBpZiBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgaXMgZXZlciB1c2VkIGZvciB0YXNrcyBv
dGhlciB0aGFuIHNob3dpbmcgYSBtb2RhbCB3aW5kb3cgb3Igc2hlZXQsCiAgICAgICAgICAgICAg
ICAgLy8gdGhlIGNvbnN0cnVjdG9yIHdpbGwgbmVlZCB0byB0YWtlIGEgQWN0aXZlRE9NT2JqZWN0
OjpSZWFzb25Gb3JTdXNwZW5zaW9uLgotICAgICAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1l
ID0gb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+
dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCkt
PnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKTsKLSAgICAgICAg
ICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFj
dGl2ZURPTU9iamVjdDo6V2lsbFNob3dEaWFsb2cpOwotICAgICAgICAgICAgICAgICAgICBmcmFt
ZS0+ZG9jdW1lbnQoKS0+c2NyaXB0UnVubmVyKCktPnN1c3BlbmQoKTsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKERvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBmcmFtZS0+ZG9jdW1lbnQoKS0+cGFy
c2VyKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZXItPnN1c3BlbmRTY2hlZHVsZWRU
YXNrcygpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKEZyYW1lKiBm
cmFtZSA9IG90aGVyUGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVl
KCktPnRyYXZlcnNlTmV4dCgpKQorICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQo
KS0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICB9CkBAIC03MSwxMyArNjYsOCBAQCBQYWdlR3JvdXBMb2FkRGVmZXJyZXI6On5QYWdlR3JvdXBM
b2FkRGVmZXJyZXIoKQogICAgICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZGVmZXJyZWRGcmFtZXNb
aV0tPnBhZ2UoKSkgewogICAgICAgICAgICAgcGFnZS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7
CiAKLSAgICAgICAgICAgIGZvciAoRnJhbWUqIGZyYW1lID0gcGFnZS0+bWFpbkZyYW1lKCk7IGZy
YW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKSB7Ci0gICAgICAgICAg
ICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsKLSAgICAg
ICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyQ2FsbGJhY2tzKCk7Ci0gICAgICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPnNj
cmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKLSAgICAgICAgICAgICAgICBpZiAoRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlciA9IGZyYW1lLT5kb2N1bWVudCgpLT5wYXJzZXIoKSkKLSAgICAgICAgICAgICAg
ICAgICAgcGFyc2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZy
YW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpCisgICAgICAgICAgICAgICAgZnJh
bWUtPmRvY3VtZW50KCktPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAgICAgIH0KICAgICB9
CiB9Cg==
</data>
<flag name="commit-queue"
          id="117902"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118241</attachid>
            <date>2011-12-07 11:30:02 -0800</date>
            <delta_ts>2011-12-07 15:41:36 -0800</delta_ts>
            <desc>fix the &amp;&amp; || warning</desc>
            <filename>49401.patch</filename>
            <type>text/plain</type>
            <size>8556</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL01hbnVhbFRlc3RzL2RhdGFiYXNlLWNhbGxiYWNrLWRlZmVycmVkLmh0bWwg
Yi9NYW51YWxUZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmM2QwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9NYW51
YWxUZXN0cy9kYXRhYmFzZS1jYWxsYmFjay1kZWZlcnJlZC5odG1sCkBAIC0wLDAgKzEsMTcgQEAK
KzxodG1sPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgZnVuY3Rpb24gdHJhbnNh
Y3Rpb25DYWxsYmFjaygpCisgICAgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MID0gIkNhbGxiYWNrIHdhcyBjYWxsZWQuIFRlc3QgcGFzc2VkIjsK
KyAgICB9CisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUNhbGxiYWNrRGVmZXJy
ZWQiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhbGxiYWNrRGVmZXJyZWRU
ZXN0IChyYW5kb21EYXRhKSIsIFtdKTsgfSwgdHJhbnNhY3Rpb25DYWxsYmFjaywgdHJhbnNhY3Rp
b25DYWxsYmFjayk7CisKKyAgICBhbGVydCgiV2FpdCBmb3IgYSBmZXcgc2Vjb25kcyBhbmQgY2xv
c2UgaXQiKTsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InJl
c3VsdCI+V2FpdC4uLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNGQ4Yzdj
Li5jMmVkMzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTItMDcgIFlvbmcg
TGkgIDx5b2xpQHJpbS5jb20+CisKKyAgICAgICAgRGVmZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaydzIGluIERvY3VtZW50IHdoZW4gcGFnZSBsb2FkaW5nIGlzIGRlZmVycmVkLgorICAg
ICAgICBTY2hlZHVsZSB0aGVtIHdpdGggdGltZXIgd2hlbiBwYWdlIGxvYWRpbmcgaXMgcmVzdW1l
ZC4gVGhlIHRhc2tzIHdpbGwgYmUgcGVyZm9ybWVkCisgICAgICAgIGluIHRoZSBvcmlnaW5hbCBv
cmRlci4gVGhpcyBmaXhlcyB0aGUgcHJvYmxlbSB0aGF0IGRhdGFiYXNlIGNhbGxiYWNrcyBjb3Vs
ZCBiZSBtaXNzZWQKKyAgICAgICAgd2hlbiBwYWdlIGxvYWRpbmcgd2FzIGRlZmVycmVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk0MDEKKyAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBNYW51YWwgdGVzdCBh
ZGRlZDogTWFudWFsVGVzdHMvZGF0YWJhc2UtY2FsbGJhY2stZGVmZXJyZWQuaHRtbC4gCisKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkRv
Y3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRSZWNlaXZlVGFzayk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cG9zdFRhc2spOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OnN1c3BlbmRTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6cmVzdW1lU2NoZWR1bGVkVGFza3MpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6UGFnZUdyb3VwTG9hZERlZmVycmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91cExvYWREZWZlcnJlcik6
CisKIDIwMTEtMTItMDYgIFlvbmcgTGkgIDx5b2xpQHJpbS5jb20+CiAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQ1CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcAppbmRleCA5NzUxOWExLi5kYjQxY2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTcsNiArNyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgVG9yY2ggTW9iaWxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAq
IENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDEwLTIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTQyOSw2ICs0MzAsNyBAQCBEb2N1bWVudDo6RG9jdW1lbnQoRnJhbWUqIGZyYW1lLCBj
b25zdCBLVVJMJiB1cmwsIGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpCiAgICAgLCBtX3dyaXRl
UmVjdXJzaW9uSXNUb29EZWVwKGZhbHNlKQogICAgICwgbV93cml0ZVJlY3Vyc2lvbkRlcHRoKDAp
CiAgICAgLCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQoMCkKKyAgICAsIG1fcGVuZGluZ1Rhc2tz
VGltZXIodGhpcywgJkRvY3VtZW50OjpwZW5kaW5nVGFza3NUaW1lckZpcmVkKQogewogICAgIG1f
ZG9jdW1lbnQgPSB0aGlzOwogCkBAIC00NzA0LDIyICs0NzA2LDU5IEBAIHB1YmxpYzoKICAgICBP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzazsKIH07CiAKLXN0YXRpYyB2
b2lkIHBlcmZvcm1UYXNrKHZvaWQqIGN0eCkKK3ZvaWQgRG9jdW1lbnQ6OmRpZFJlY2VpdmVUYXNr
KHZvaWQqIHVudHlwZWRDb250ZXh0KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAK
LSAgICBQZXJmb3JtVGFza0NvbnRleHQqIGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PFBlcmZv
cm1UYXNrQ29udGV4dCo+KGN0eCk7CisgICAgT3duUHRyPFBlcmZvcm1UYXNrQ29udGV4dD4gY29u
dGV4dCA9IGFkb3B0UHRyKHN0YXRpY19jYXN0PFBlcmZvcm1UYXNrQ29udGV4dCo+KHVudHlwZWRD
b250ZXh0KSk7CiAgICAgQVNTRVJUKGNvbnRleHQpOwogCi0gICAgaWYgKERvY3VtZW50KiBkb2N1
bWVudCA9IGNvbnRleHQtPmRvY3VtZW50UmVmZXJlbmNlLT5kb2N1bWVudCgpKQotICAgICAgICBj
b250ZXh0LT50YXNrLT5wZXJmb3JtVGFzayhkb2N1bWVudCk7CisgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gY29udGV4dC0+ZG9jdW1lbnRSZWZlcmVuY2UtPmRvY3VtZW50KCk7CisgICAgaWYgKCFk
b2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IGRvY3VtZW50LT5w
YWdlKCk7CisgICAgaWYgKChwYWdlICYmIHBhZ2UtPmRlZmVyc0xvYWRpbmcoKSkgfHwgIWRvY3Vt
ZW50LT5tX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgZG9jdW1lbnQtPm1fcGVu
ZGluZ1Rhc2tzLmFwcGVuZChjb250ZXh0LT50YXNrLnJlbGVhc2UoKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKLSAgICBkZWxldGUgY29udGV4dDsKKyAgICBjb250ZXh0LT50YXNrLT5wZXJm
b3JtVGFzayhkb2N1bWVudCk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnBvc3RUYXNrKFBhc3NPd25Q
dHI8VGFzaz4gdGFzaykKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKHBlcmZvcm1UYXNrLCBuZXcg
UGVyZm9ybVRhc2tDb250ZXh0KG1fd2Vha1JlZmVyZW5jZSwgdGFzaykpOworICAgIGNhbGxPbk1h
aW5UaHJlYWQoZGlkUmVjZWl2ZVRhc2ssIG5ldyBQZXJmb3JtVGFza0NvbnRleHQobV93ZWFrUmVm
ZXJlbmNlLCB0YXNrKSk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnBlbmRpbmdUYXNrc1RpbWVyRmly
ZWQoVGltZXI8RG9jdW1lbnQ+KikKK3sKKyAgICB3aGlsZSAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1w
dHkoKSkgeworICAgICAgICBPd25QdHI8VGFzaz4gdGFzayA9IG1fcGVuZGluZ1Rhc2tzWzBdLnJl
bGVhc2UoKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3MucmVtb3ZlKDApOworICAgICAgICB0YXNr
LT5wZXJmb3JtVGFzayh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnN1c3BlbmRT
Y2hlZHVsZWRUYXNrcygpCit7CisgICAgc3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ckNhbGxiYWNrcygpOworICAgIHN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVj
dDo6V2lsbFNob3dEaWFsb2cpOworICAgIHNjcmlwdFJ1bm5lcigpLT5zdXNwZW5kKCk7CisgICAg
bV9wZW5kaW5nVGFza3NUaW1lci5zdG9wKCk7CisgICAgaWYgKG1fcGFyc2VyKQorICAgICAgICBt
X3BhcnNlci0+c3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7Cit9CisKK3ZvaWQgRG9jdW1lbnQ6OnJl
c3VtZVNjaGVkdWxlZFRhc2tzKCkKK3sKKyAgICBpZiAobV9wYXJzZXIpCisgICAgICAgIG1fcGFy
c2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOworICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNF
bXB0eSgpKQorICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CisgICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cygp
OworICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJh
Y2tzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMTZjYzFiOC4uYTRlZjA1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKQEAgLTExMTQsNyArMTExNCw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB3
aGVlbEV2ZW50SGFuZGxlckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV93aGVlbEV2ZW50SGFuZGxl
ckNvdW50OyB9CiAgICAgdm9pZCBkaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigpOwogICAgIHZvaWQg
ZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKTsKLSAgICAKKwogICAgIGJvb2wgdmlzdWFsVXBk
YXRlc0FsbG93ZWQoKSBjb25zdDsKIAogI2lmIEVOQUJMRShNSUNST0RBVEEpCkBAIC0xMTI0LDYg
KzExMjQsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0luRG9jdW1lbnRXcml0ZSgpIHsg
cmV0dXJuIG1fd3JpdGVSZWN1cnNpb25EZXB0aCA+IDA7IH0KIAorICAgIHZvaWQgc3VzcGVuZFNj
aGVkdWxlZFRhc2tzKCk7CisgICAgdm9pZCByZXN1bWVTY2hlZHVsZWRUYXNrcygpOworCiBwcm90
ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBi
b29sIGlzSFRNTCk7CiAKQEAgLTExNzEsNiArMTE3NCwxMCBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Kik7CiAKKyAgICB2b2lk
IHBlbmRpbmdUYXNrc1RpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+Kik7CisKKyAgICBzdGF0aWMg
dm9pZCBkaWRSZWNlaXZlVGFzayh2b2lkKik7CisKICNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZ
X0FQSSkKICAgICBQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSgpIGNvbnN0Owog
I2VuZGlmCkBAIC0xNDMzLDYgKzE0NDAsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShSRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkKICAgICBPd25QdHI8U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVy
PiBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjsKICNlbmRpZgorCisgICAgVGltZXI8RG9j
dW1lbnQ+IG1fcGVuZGluZ1Rhc2tzVGltZXI7CisgICAgVmVjdG9yPE93blB0cjxUYXNrPiA+IG1f
cGVuZGluZ1Rhc2tzOwogfTsKIAogLy8gUHV0IHRoZXNlIG1ldGhvZHMgaGVyZSwgYmVjYXVzZSB0
aGV5IHJlcXVpcmUgdGhlIERvY3VtZW50IGRlZmluaXRpb24sIGJ1dCB3ZSByZWFsbHkgd2FudCB0
byBpbmxpbmUgdGhlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
TG9hZERlZmVycmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVy
cmVyLmNwcAppbmRleCA1MGIzMmJjLi5lODVkNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuY3BwCkBAIC00OCwxMyArNDgsOCBAQCBQYWdlR3JvdXBM
b2FkRGVmZXJyZXI6OlBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiBwYWdlLCBib29sIGRlZmVy
U2VsZikKICAgICAgICAgICAgICAgICAvLyB3aW5kb3dzIG9yIHNoZWV0cywgd2hpY2ggaXMgZXhh
Y3RseSB3aGVuIFBhZ2VHcm91cExvYWREZWZlcnJlciBpcyB1c2VkLgogICAgICAgICAgICAgICAg
IC8vIE5PVEU6IGlmIFBhZ2VHcm91cExvYWREZWZlcnJlciBpcyBldmVyIHVzZWQgZm9yIHRhc2tz
IG90aGVyIHRoYW4gc2hvd2luZyBhIG1vZGFsIHdpbmRvdyBvciBzaGVldCwKICAgICAgICAgICAg
ICAgICAvLyB0aGUgY29uc3RydWN0b3Igd2lsbCBuZWVkIHRvIHRha2UgYSBBY3RpdmVET01PYmpl
Y3Q6OlJlYXNvbkZvclN1c3BlbnNpb24uCi0gICAgICAgICAgICAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSBvdGhlclBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgp
LT50cmF2ZXJzZU5leHQoKSkgewotICAgICAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQo
KS0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwotICAgICAg
ICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3VzcGVuZEFjdGl2ZURPTU9iamVjdHMo
QWN0aXZlRE9NT2JqZWN0OjpXaWxsU2hvd0RpYWxvZyk7Ci0gICAgICAgICAgICAgICAgICAgIGZy
YW1lLT5kb2N1bWVudCgpLT5zY3JpcHRSdW5uZXIoKS0+c3VzcGVuZCgpOwotICAgICAgICAgICAg
ICAgICAgICBpZiAoRG9jdW1lbnRQYXJzZXIqIHBhcnNlciA9IGZyYW1lLT5kb2N1bWVudCgpLT5w
YXJzZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlci0+c3VzcGVuZFNjaGVkdWxl
ZFRhc2tzKCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZvciAoRnJhbWUq
IGZyYW1lID0gb3RoZXJQYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRy
ZWUoKS0+dHJhdmVyc2VOZXh0KCkpCisgICAgICAgICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVu
dCgpLT5zdXNwZW5kU2NoZWR1bGVkVGFza3MoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KQEAgLTcxLDEzICs2Niw4IEBAIFBhZ2VHcm91cExvYWREZWZlcnJlcjo6flBhZ2VHcm91
cExvYWREZWZlcnJlcigpCiAgICAgICAgIGlmIChQYWdlKiBwYWdlID0gbV9kZWZlcnJlZEZyYW1l
c1tpXS0+cGFnZSgpKSB7CiAgICAgICAgICAgICBwYWdlLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNl
KTsKIAotICAgICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsg
ZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkpIHsKLSAgICAgICAg
ICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lQWN0aXZlRE9NT2JqZWN0cygpOwotICAg
ICAgICAgICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5yZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXJDYWxsYmFja3MoKTsKLSAgICAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+
c2NyaXB0UnVubmVyKCktPnJlc3VtZSgpOwotICAgICAgICAgICAgICAgIGlmIChEb2N1bWVudFBh
cnNlciogcGFyc2VyID0gZnJhbWUtPmRvY3VtZW50KCktPnBhcnNlcigpKQotICAgICAgICAgICAg
ICAgICAgICBwYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOyBmcmFtZTsg
ZnJhbWUgPSBmcmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkKKyAgICAgICAgICAgICAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKICAgICAgICAgfQogICAg
IH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>