<?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>96910</bug_id>
          
          <creation_ts>2012-09-17 05:22:26 -0700</creation_ts>
          <short_desc>[EFL][WK2] waitUntilTitleChangedTo and waitUntilLoadFinished needs timeout.</short_desc>
          <delta_ts>2012-09-19 01:04:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Byungwoo Lee">bw80.lee</reporter>
          <assigned_to name="Byungwoo Lee">bw80.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>721819</commentid>
    <comment_count>0</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-17 05:22:26 -0700</bug_when>
    <thetext>Currently, the waitUntilTitleChangedTo() and waitUntilLoadFinished() functions doesn&apos;t handle timeout by itself.
And if there are some failed cases that loading is not finished or title is not changed to the expected string,
test case just stopped with timeout and there is no information about this (line number.. etc)
And when this happens, below test cases also doesn&apos;t work.

So adding timeout parameter for these functions will be better to handle and test timeout cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721836</commentid>
    <comment_count>1</comment_count>
      <attachid>164376</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-17 05:52:14 -0700</bug_when>
    <thetext>Created attachment 164376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721838</commentid>
    <comment_count>2</comment_count>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-17 05:54:19 -0700</bug_when>
    <thetext>return value of those function can be used as below.

when test met timeout at below line,
EXPECT_TRUE(waitUntilTitleChangedTo(&quot;Foo&quot;, 10));


log can show this status as below.
WebKit/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp:76: Failure
Value of: waitUntilTitleChangedTo(&quot;Foo&quot;, 10)
  Actual: false
Expected: true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721972</commentid>
    <comment_count>3</comment_count>
      <attachid>164376</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-17 08:56:58 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:83
&gt; +struct LoadFinishedData {

Should have a constructor and initialize its members.
Should also have a destructor (to delete the timer if non null)

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:86
&gt; +    bool timerFired;

&quot;timedOut&quot; would be clearer in my opinion.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:98
&gt; +static bool timerFiredForWaitUntilLoadFinished(void *userData)

Star on wrong side.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)

The variable name should contain the unit, for clarity.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:133
&gt;  struct TitleChangedData {

I think we should add a constructor/destructor here as well.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:148
&gt; +        ecore_timer_del(data-&gt;timer);

Already deleted in waitUntilTitleChangedTo(), I don&apos;t think you need this here.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:155
&gt; +static bool timerFiredForWaitUntilTitleChangedTo(void *userData)

Star on wrong side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721996</commentid>
    <comment_count>4</comment_count>
      <attachid>164376</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-17 09:30:00 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:83
&gt;&gt; +struct LoadFinishedData {
&gt; 
&gt; Should have a constructor and initialize its members.
&gt; Should also have a destructor (to delete the timer if non null)

Do you think that this should be a class type? or just structure with constructor or destructor?

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:86
&gt;&gt; +    bool timerFired;
&gt; 
&gt; &quot;timedOut&quot; would be clearer in my opinion.

Ok~ I&apos;ll change it.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:98
&gt;&gt; +static bool timerFiredForWaitUntilLoadFinished(void *userData)
&gt; 
&gt; Star on wrong side.

Oops Thanks :)

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt;&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)
&gt; 
&gt; The variable name should contain the unit, for clarity.

I cannot understand. timeOut?

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:148
&gt;&gt; +        ecore_timer_del(data-&gt;timer);
&gt; 
&gt; Already deleted in waitUntilTitleChangedTo(), I don&apos;t think you need this here.

I think, if onTitleChanged() is called before the timer is fired, then removing timer will be better not to be fired.
But null assigning will be required. for double delete.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:155
&gt;&gt; +static bool timerFiredForWaitUntilTitleChangedTo(void *userData)
&gt; 
&gt; Star on wrong side.

Ok~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722005</commentid>
    <comment_count>5</comment_count>
      <attachid>164376</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-17 09:36:01 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:83
&gt;&gt;&gt; +struct LoadFinishedData {
&gt;&gt; 
&gt;&gt; Should have a constructor and initialize its members.
&gt;&gt; Should also have a destructor (to delete the timer if non null)
&gt; 
&gt; Do you think that this should be a class type? or just structure with constructor or destructor?

I think you can keep it as struct since all members are public. We already do it this way in the rest of WebKit2 EFL.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt;&gt;&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)
&gt;&gt; 
&gt;&gt; The variable name should contain the unit, for clarity.
&gt; 
&gt; I cannot understand. timeOut?

timeoutMsecs ? We have no idea what the time unit is currently. Seconds? milliseconds? If it is in milliseconds, does it really need to be a double type or can we simply use an integer type?

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:148
&gt;&gt;&gt; +        ecore_timer_del(data-&gt;timer);
&gt;&gt; 
&gt;&gt; Already deleted in waitUntilTitleChangedTo(), I don&apos;t think you need this here.
&gt; 
&gt; I think, if onTitleChanged() is called before the timer is fired, then removing timer will be better not to be fired.
&gt; But null assigning will be required. for double delete.

I see you point but then again, you&apos;re not doing the same thing in onLoadFinished :) In the current state, it is inconsistent. Maybe do the same in onLoadFinished() then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722442</commentid>
    <comment_count>6</comment_count>
      <attachid>164376</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-17 20:10:10 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:83
&gt;&gt;&gt;&gt; +struct LoadFinishedData {
&gt;&gt;&gt; 
&gt;&gt;&gt; Should have a constructor and initialize its members.
&gt;&gt;&gt; Should also have a destructor (to delete the timer if non null)
&gt;&gt; 
&gt;&gt; Do you think that this should be a class type? or just structure with constructor or destructor?
&gt; 
&gt; I think you can keep it as struct since all members are public. We already do it this way in the rest of WebKit2 EFL.

Ok~ I&apos;ll apply it.

&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt;&gt;&gt;&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)
&gt;&gt;&gt; 
&gt;&gt;&gt; The variable name should contain the unit, for clarity.
&gt;&gt; 
&gt;&gt; I cannot understand. timeOut?
&gt; 
&gt; timeoutMsecs ? We have no idea what the time unit is currently. Seconds? milliseconds? If it is in milliseconds, does it really need to be a double type or can we simply use an integer type?

Ok I understand your point :).

As my searching, webkit uses double type for timer interval, So I followed it.
And interval for ecore_timer_add is also double type so using double type looks ok.

And is there any misunderstanding of unit with using double type as timer interval or timeout?
If it is integer type, there can be a misunderstanding issue.
But I think that double type for timer interval or timeout generally uses as second unit.
(1.0 means 1 second, and 2.5 means 2.5 seconds)
WebKit also doesn&apos;t have a unit for the name for interval parameter.
I think it is ok to use just timeout.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:133
&gt;&gt;  struct TitleChangedData {
&gt; 
&gt; I think we should add a constructor/destructor here as well.

Ok~

&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:148
&gt;&gt;&gt;&gt; +        ecore_timer_del(data-&gt;timer);
&gt;&gt;&gt; 
&gt;&gt;&gt; Already deleted in waitUntilTitleChangedTo(), I don&apos;t think you need this here.
&gt;&gt; 
&gt;&gt; I think, if onTitleChanged() is called before the timer is fired, then removing timer will be better not to be fired.
&gt;&gt; But null assigning will be required. for double delete.
&gt; 
&gt; I see you point but then again, you&apos;re not doing the same thing in onLoadFinished :) In the current state, it is inconsistent. Maybe do the same in onLoadFinished() then?

Oops~ I missed it. Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722477</commentid>
    <comment_count>7</comment_count>
      <attachid>164376</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-17 21:52:15 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt;&gt;&gt;&gt;&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; The variable name should contain the unit, for clarity.
&gt;&gt;&gt; 
&gt;&gt;&gt; I cannot understand. timeOut?
&gt;&gt; 
&gt;&gt; timeoutMsecs ? We have no idea what the time unit is currently. Seconds? milliseconds? If it is in milliseconds, does it really need to be a double type or can we simply use an integer type?
&gt; 
&gt; Ok I understand your point :).
&gt; 
&gt; As my searching, webkit uses double type for timer interval, So I followed it.
&gt; And interval for ecore_timer_add is also double type so using double type looks ok.
&gt; 
&gt; And is there any misunderstanding of unit with using double type as timer interval or timeout?
&gt; If it is integer type, there can be a misunderstanding issue.
&gt; But I think that double type for timer interval or timeout generally uses as second unit.
&gt; (1.0 means 1 second, and 2.5 means 2.5 seconds)
&gt; WebKit also doesn&apos;t have a unit for the name for interval parameter.
&gt; I think it is ok to use just timeout.

No, I don&apos; think it is OK to use just &quot;timeout&quot;. Please use unit in the argument name: e.g. &quot;timeoutMsecs&quot;. Otherwise, we have no idea what unit is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722479</commentid>
    <comment_count>8</comment_count>
      <attachid>164376</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-17 21:58:54 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt;&gt;&gt;&gt;&gt;&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; The variable name should contain the unit, for clarity.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I cannot understand. timeOut?
&gt;&gt;&gt; 
&gt;&gt;&gt; timeoutMsecs ? We have no idea what the time unit is currently. Seconds? milliseconds? If it is in milliseconds, does it really need to be a double type or can we simply use an integer type?
&gt;&gt; 
&gt;&gt; Ok I understand your point :).
&gt;&gt; 
&gt;&gt; As my searching, webkit uses double type for timer interval, So I followed it.
&gt;&gt; And interval for ecore_timer_add is also double type so using double type looks ok.
&gt;&gt; 
&gt;&gt; And is there any misunderstanding of unit with using double type as timer interval or timeout?
&gt;&gt; If it is integer type, there can be a misunderstanding issue.
&gt;&gt; But I think that double type for timer interval or timeout generally uses as second unit.
&gt;&gt; (1.0 means 1 second, and 2.5 means 2.5 seconds)
&gt;&gt; WebKit also doesn&apos;t have a unit for the name for interval parameter.
&gt;&gt; I think it is ok to use just timeout.
&gt; 
&gt; No, I don&apos; think it is OK to use just &quot;timeout&quot;. Please use unit in the argument name: e.g. &quot;timeoutMsecs&quot;. Otherwise, we have no idea what unit is needed.

I checked the ecore doc, it should actually be &quot;timeoutSeconds&quot; since the timeout is in seconds, not milliseconds. See that it is not obvious to someone using your API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722534</commentid>
    <comment_count>9</comment_count>
      <attachid>164376</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-18 00:00:02 -0700</bug_when>
    <thetext>Comment on attachment 164376
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:113
&gt;&gt;&gt;&gt;&gt;&gt;&gt; +bool EWK2UnitTestBase::waitUntilLoadFinished(double timeout)
&gt;&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt;&gt; The variable name should contain the unit, for clarity.
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; I cannot understand. timeOut?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; timeoutMsecs ? We have no idea what the time unit is currently. Seconds? milliseconds? If it is in milliseconds, does it really need to be a double type or can we simply use an integer type?
&gt;&gt;&gt; 
&gt;&gt;&gt; Ok I understand your point :).
&gt;&gt;&gt; 
&gt;&gt;&gt; As my searching, webkit uses double type for timer interval, So I followed it.
&gt;&gt;&gt; And interval for ecore_timer_add is also double type so using double type looks ok.
&gt;&gt;&gt; 
&gt;&gt;&gt; And is there any misunderstanding of unit with using double type as timer interval or timeout?
&gt;&gt;&gt; If it is integer type, there can be a misunderstanding issue.
&gt;&gt;&gt; But I think that double type for timer interval or timeout generally uses as second unit.
&gt;&gt;&gt; (1.0 means 1 second, and 2.5 means 2.5 seconds)
&gt;&gt;&gt; WebKit also doesn&apos;t have a unit for the name for interval parameter.
&gt;&gt;&gt; I think it is ok to use just timeout.
&gt;&gt; 
&gt;&gt; No, I don&apos; think it is OK to use just &quot;timeout&quot;. Please use unit in the argument name: e.g. &quot;timeoutMsecs&quot;. Otherwise, we have no idea what unit is needed.
&gt; 
&gt; I checked the ecore doc, it should actually be &quot;timeoutSeconds&quot; since the timeout is in seconds, not milliseconds. See that it is not obvious to someone using your API.

Yes, I already told that the unit is second but you still regard it as msec.
Maybe you want to tell me that someone can misunderstand the unit, and you are the example. :)
I&apos;ll change it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722754</commentid>
    <comment_count>10</comment_count>
      <attachid>164554</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-18 07:13:10 -0700</bug_when>
    <thetext>Created attachment 164554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722770</commentid>
    <comment_count>11</comment_count>
      <attachid>164554</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-18 07:47:00 -0700</bug_when>
    <thetext>Comment on attachment 164554
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:84
&gt; +    LoadFinishedData()

Why not pass the timeout to the constructor and create the timer in the constructor as well?

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:149
&gt; +    TitleChangedData(const CString&amp; title)

I think we would avoid an extra copy if we used const char* instead of CString as constructor argument type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722773</commentid>
    <comment_count>12</comment_count>
      <attachid>164554</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-18 07:49:19 -0700</bug_when>
    <thetext>Comment on attachment 164554
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:84
&gt; +    LoadFinishedData()

LoadFinishedData(int timeoutSeconds, Ecore_Task_Cb callback) ?

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:87
&gt; +        , timeOut(false)

didTimeOut?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722811</commentid>
    <comment_count>13</comment_count>
      <attachid>164554</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-18 08:25:23 -0700</bug_when>
    <thetext>Comment on attachment 164554
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:84
&gt;&gt;&gt; +    LoadFinishedData()
&gt;&gt; 
&gt;&gt; Why not pass the timeout to the constructor and create the timer in the constructor as well?
&gt; 
&gt; LoadFinishedData(int timeoutSeconds, Ecore_Task_Cb callback) ?

@Christophe
Now i&apos;m confused about those.
I think this struct have no need to maintain the timeoutSeconds or callback.
Please check the usage.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:87
&gt;&gt; +        , timeOut(false)
&gt; 
&gt; didTimeOut?

yes it might be more clear. :)

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:149
&gt;&gt; +    TitleChangedData(const CString&amp; title)
&gt; 
&gt; I think we would avoid an extra copy if we used const char* instead of CString as constructor argument type.

Ok. good point. I&apos;ll change it to const char*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722812</commentid>
    <comment_count>14</comment_count>
      <attachid>164554</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-18 08:28:04 -0700</bug_when>
    <thetext>Comment on attachment 164554
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:84
&gt;&gt;&gt;&gt; +    LoadFinishedData()
&gt;&gt;&gt; 
&gt;&gt;&gt; Why not pass the timeout to the constructor and create the timer in the constructor as well?
&gt;&gt; 
&gt;&gt; LoadFinishedData(int timeoutSeconds, Ecore_Task_Cb callback) ?
&gt; 
&gt; @Christophe
&gt; Now i&apos;m confused about those.
&gt; I think this struct have no need to maintain the timeoutSeconds or callback.
&gt; Please check the usage.

it could do

LoadFinishedData(int timeoutSeconds, Ecore_Task_Cb callback) {
    timer = ecore_timer_add(timeoutSeconds, reinterpret_cast&lt;Ecore_Task_Cb&gt;(callback), this);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722823</commentid>
    <comment_count>15</comment_count>
      <attachid>164554</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-18 08:34:57 -0700</bug_when>
    <thetext>Comment on attachment 164554
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:84
&gt;&gt;&gt;&gt;&gt; +    LoadFinishedData()
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Why not pass the timeout to the constructor and create the timer in the constructor as well?
&gt;&gt;&gt; 
&gt;&gt;&gt; LoadFinishedData(int timeoutSeconds, Ecore_Task_Cb callback) ?
&gt;&gt; 
&gt;&gt; @Christophe
&gt;&gt; Now i&apos;m confused about those.
&gt;&gt; I think this struct have no need to maintain the timeoutSeconds or callback.
&gt;&gt; Please check the usage.
&gt; 
&gt; it could do
&gt; 
&gt; LoadFinishedData(int timeoutSeconds, Ecore_Task_Cb callback) {
&gt;     timer = ecore_timer_add(timeoutSeconds, reinterpret_cast&lt;Ecore_Task_Cb&gt;(callback), this);
&gt; }

Oh, its a better solution!
Thanks for the clarification :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722924</commentid>
    <comment_count>16</comment_count>
      <attachid>164589</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-18 11:21:41 -0700</bug_when>
    <thetext>Created attachment 164589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722952</commentid>
    <comment_count>17</comment_count>
      <attachid>164589</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-18 11:51:53 -0700</bug_when>
    <thetext>Comment on attachment 164589
Patch

LGTM. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723000</commentid>
    <comment_count>18</comment_count>
      <attachid>164589</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-18 13:03:46 -0700</bug_when>
    <thetext>Comment on attachment 164589
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:115
&gt; +
&gt; +    if (data-&gt;timer) {
&gt; +        ecore_timer_del(data-&gt;timer);
&gt; +        data-&gt;timer = 0;
&gt; +    }

Is the LoadFinishedData going to be reused? or is there any need for the above? just wondering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723186</commentid>
    <comment_count>19</comment_count>
      <attachid>164589</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-18 19:16:30 -0700</bug_when>
    <thetext>Comment on attachment 164589
Patch

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout.

Missing to add [EFL][WK2] prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723188</commentid>
    <comment_count>20</comment_count>
      <attachid>164589</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-18 19:17:57 -0700</bug_when>
    <thetext>Comment on attachment 164589
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:3
&gt;&gt; +        waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout.
&gt; 
&gt; Missing to add [EFL][WK2] prefix.

And also, please use @samsung.com account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723236</commentid>
    <comment_count>21</comment_count>
      <attachid>164589</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-18 20:40:18 -0700</bug_when>
    <thetext>Comment on attachment 164589
Patch

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

&gt;&gt;&gt; Source/WebKit2/ChangeLog:3
&gt;&gt;&gt; +        waitUntilTitleChangedTo() and waitUntilLoadFinished() needs timeout.
&gt;&gt; 
&gt;&gt; Missing to add [EFL][WK2] prefix.
&gt; 
&gt; And also, please use @samsung.com account.

Ok~ I&apos;ll change it. Thank you :)

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:115
&gt;&gt; +    }
&gt; 
&gt; Is the LoadFinishedData going to be reused? or is there any need for the above? just wondering

If the &apos;onLoadFinished&apos; is invoked before the &apos;timeoutWhileWaitingUntilLoadFinished&apos;,
the timer is explicitly destroyed for preventing additional timeout callback.

Actualy the timeout callback also has some status checking whether the load is finished or not.
But I thought that this is more clear :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723346</commentid>
    <comment_count>22</comment_count>
      <attachid>164678</attachid>
    <who name="Byungwoo Lee">bw80.lee</who>
    <bug_when>2012-09-19 00:27:25 -0700</bug_when>
    <thetext>Created attachment 164678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723363</commentid>
    <comment_count>23</comment_count>
      <attachid>164678</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-19 01:04:16 -0700</bug_when>
    <thetext>Comment on attachment 164678
Patch

Clearing flags on attachment: 164678

Committed r128975: &lt;http://trac.webkit.org/changeset/128975&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723364</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-19 01:04:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164376</attachid>
            <date>2012-09-17 05:52:14 -0700</date>
            <delta_ts>2012-09-18 07:13:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96910-20120917215138.patch</filename>
            <type>text/plain</type>
            <size>6801</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGJiNmI4OWViNGIxMzI3
MDA4MDFmNTc3M2E4NzA3NDAwNjlkMzg5My4uZDg0YzkzZTM1YzgyMzgzYzc4OGM4YWRjZGJmMzIz
NGFlMmI0ZWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTE3ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICB3YWl0VW50aWxUaXRs
ZUNoYW5nZWRUbygpIGFuZCB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSBuZWVkcyB0aW1lb3V0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY5MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHks
IHRoZSB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbygpIGFuZCB3YWl0VW50aWxMb2FkRmluaXNoZWQo
KQorICAgICAgICBmdW5jdGlvbnMgZG9lc24ndCBoYW5kbGUgdGltZW91dCBieSBpdHNlbGYuCisg
ICAgICAgIEFuZCBpZiB0aGVyZSBhcmUgc29tZSBmYWlsZWQgY2FzZXMgdGhhdCBsb2FkaW5nIGlz
IG5vdCBmaW5pc2hlZCBvcgorICAgICAgICB0aXRsZSBpcyBub3QgY2hhbmdlZCB0byB0aGUgZXhw
ZWN0ZWQgc3RyaW5nLCB0ZXN0IGNhc2UganVzdCBzdG9wcGVkCisgICAgICAgIHdpdGggdGltZW91
dCBhbmQgdGhlcmUgaXMgbm8gbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHN1Y2ggYXMgbGlu
ZQorICAgICAgICBudW1iZXIuCisKKyAgICAgICAgVG8gaGFuZGxlIHRpbWVvdXQgc3RhdHVzIG1v
cmUgcHJvcGVybHksIHRpbWVvdXQgcGFyYW1ldGVyIGlzIGFkZGVkIHRvCisgICAgICAgIHRoZXNl
IGZ1bmN0aW9ucy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0
VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6CisgICAgICAgIChMb2FkRmluaXNoZWREYXRhKToK
KyAgICAgICAgKEVXSzJVbml0VGVzdCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6Om9uTG9hZEZp
bmlzaGVkKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6dGltZXJGaXJlZEZvcldhaXRVbnRpbExv
YWRGaW5pc2hlZCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6Ondh
aXRVbnRpbExvYWRGaW5pc2hlZCk6CisgICAgICAgIChUaXRsZUNoYW5nZWREYXRhKToKKyAgICAg
ICAgKEVXSzJVbml0VGVzdDo6b25UaXRsZUNoYW5nZWQpOgorICAgICAgICAoRVdLMlVuaXRUZXN0
Ojp0aW1lckZpcmVkRm9yV2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8pOgorICAgICAgICAoRVdLMlVu
aXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxUaXRsZUNoYW5nZWRUbyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RC
YXNlLmg6CisgICAgICAgIChFV0syVW5pdFRlc3RCYXNlKToKKwogMjAxMi0wOS0xMSAgQnl1bmd3
b28gTGVlICA8Ync4MC5sZWVAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBXS0Vp
bmFTaGFyZWRTdHJpbmcgbmVlZHMgYSBmdW5jdGlvbiB0byBhZG9wdCBlaW5hIHN0cmluZ3NoYXJl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5p
dFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKaW5kZXgg
NTQ1MjNmMDQ2ODc5N2VmYmM4Y2VkNjNjOWQzZDc5NTg4ZWRjMTU0NC4uNWZiNzYyZmZlNGM2MDBl
YzkxNzVkMTRjZjk0NmQxM2QzZWYwN2Y2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxz
L0VXSzJVbml0VGVzdEJhc2UuY3BwCkBAIC0yOSwxNSArMjksNiBAQCBleHRlcm4gRVdLMlVuaXRU
ZXN0OjpFV0syVW5pdFRlc3RFbnZpcm9ubWVudCogZW52aXJvbm1lbnQ7CiAKIG5hbWVzcGFjZSBF
V0syVW5pdFRlc3QgewogCi1zdGF0aWMgdm9pZCBvbkxvYWRGaW5pc2hlZCh2b2lkKiB1c2VyRGF0
YSwgRXZhc19PYmplY3QqIHdlYlZpZXcsIHZvaWQqIGV2ZW50SW5mbykKLXsKLSAgICBVTlVTRURf
UEFSQU0od2ViVmlldyk7Ci0gICAgVU5VU0VEX1BBUkFNKGV2ZW50SW5mbyk7Ci0KLSAgICBib29s
KiBsb2FkRmluaXNoZWQgPSBzdGF0aWNfY2FzdDxib29sKj4odXNlckRhdGEpOwotICAgICpsb2Fk
RmluaXNoZWQgPSB0cnVlOwotfQotCiBzdGF0aWMgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgZXdrMlVu
aXRUZXN0QnJvd3NlclZpZXdTbWFydENsYXNzKCkKIHsKICAgICBzdGF0aWMgRXdrX1ZpZXdfU21h
cnRfQ2xhc3MgZXdrVmlld0NsYXNzID0gRVdLX1ZJRVdfU01BUlRfQ0xBU1NfSU5JVF9OQU1FX1ZF
UlNJT04oIkJyb3dzZXJfVmlldyIpOwpAQCAtODksNDAgKzgwLDEwOCBAQCB2b2lkIEVXSzJVbml0
VGVzdEJhc2U6OmxvYWRVcmxTeW5jKGNvbnN0IGNoYXIqIHVybCkKICAgICB3YWl0VW50aWxMb2Fk
RmluaXNoZWQoKTsKIH0KIAotdm9pZCBFV0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxMb2FkRmlu
aXNoZWQoKQorc3RydWN0IExvYWRGaW5pc2hlZERhdGEgeworICAgIGJvb2wgbG9hZEZpbmlzaGVk
OworICAgIEVjb3JlX1RpbWVyKiB0aW1lcjsKKyAgICBib29sIHRpbWVyRmlyZWQ7Cit9OworCitz
dGF0aWMgdm9pZCBvbkxvYWRGaW5pc2hlZCh2b2lkKiB1c2VyRGF0YSwgRXZhc19PYmplY3QqIHdl
YlZpZXcsIHZvaWQqIGV2ZW50SW5mbykKIHsKLSAgICBib29sIGxvYWRGaW5pc2hlZCA9IGZhbHNl
OworICAgIFVOVVNFRF9QQVJBTSh3ZWJWaWV3KTsKKyAgICBVTlVTRURfUEFSQU0oZXZlbnRJbmZv
KTsKIAotICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtX3dlYlZpZXcsICJsb2Fk
LGZpbmlzaGVkIiwgb25Mb2FkRmluaXNoZWQsICZsb2FkRmluaXNoZWQpOworICAgIExvYWRGaW5p
c2hlZERhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxMb2FkRmluaXNoZWREYXRhKj4odXNlckRhdGEp
OworICAgIGRhdGEtPmxvYWRGaW5pc2hlZCA9IHRydWU7Cit9CisKK3N0YXRpYyBib29sIHRpbWVy
RmlyZWRGb3JXYWl0VW50aWxMb2FkRmluaXNoZWQodm9pZCAqdXNlckRhdGEpCit7CisgICAgTG9h
ZEZpbmlzaGVkRGF0YSogZGF0YSA9IHN0YXRpY19jYXN0PExvYWRGaW5pc2hlZERhdGEqPih1c2Vy
RGF0YSk7CiAKLSAgICB3aGlsZSAoIWxvYWRGaW5pc2hlZCkKKyAgICBkYXRhLT50aW1lciA9IDA7
CisKKyAgICBpZiAoZGF0YS0+bG9hZEZpbmlzaGVkKQorICAgICAgICByZXR1cm4gRUNPUkVfQ0FM
TEJBQ0tfQ0FOQ0VMOworCisgICAgZGF0YS0+bG9hZEZpbmlzaGVkID0gdHJ1ZTsKKyAgICBkYXRh
LT50aW1lckZpcmVkID0gdHJ1ZTsKKworICAgIHJldHVybiBFQ09SRV9DQUxMQkFDS19DQU5DRUw7
Cit9CisKK2Jvb2wgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsTG9hZEZpbmlzaGVkKGRvdWJs
ZSB0aW1lb3V0KQoreworICAgIExvYWRGaW5pc2hlZERhdGEgZGF0YSA9IHsgZmFsc2UsIDAsIGZh
bHNlIH07CisKKyAgICBpZiAodGltZW91dCA+PSAwKQorICAgICAgICBkYXRhLnRpbWVyID0gZWNv
cmVfdGltZXJfYWRkKHRpbWVvdXQsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGlt
ZXJGaXJlZEZvcldhaXRVbnRpbExvYWRGaW5pc2hlZCksICZkYXRhKTsKKworICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtX3dlYlZpZXcsICJsb2FkLGZpbmlzaGVkIiwgb25Mb2Fk
RmluaXNoZWQsICZkYXRhKTsKKworICAgIHdoaWxlICghZGF0YS5sb2FkRmluaXNoZWQpCiAgICAg
ICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CiAKKyAgICBpZiAoZGF0YS50aW1lcikKKyAg
ICAgICAgZWNvcmVfdGltZXJfZGVsKGRhdGEudGltZXIpOworCiAgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfZGVsKG1fd2ViVmlldywgImxvYWQsZmluaXNoZWQiLCBvbkxvYWRGaW5pc2hl
ZCk7CisKKyAgICByZXR1cm4gIWRhdGEudGltZXJGaXJlZDsKIH0KIAogc3RydWN0IFRpdGxlQ2hh
bmdlZERhdGEgewogICAgIENTdHJpbmcgZXhwZWN0ZWRUaXRsZTsKICAgICBib29sIGRvbmU7Cisg
ICAgRWNvcmVfVGltZXIqIHRpbWVyOworICAgIGJvb2wgdGltZXJGaXJlZDsKIH07CiAKIHN0YXRp
YyB2b2lkIG9uVGl0bGVDaGFuZ2VkKHZvaWQqIHVzZXJEYXRhLCBFdmFzX09iamVjdCogd2ViVmll
dywgdm9pZCogZXZlbnRJbmZvKQogewogICAgIFRpdGxlQ2hhbmdlZERhdGEqIGRhdGEgPSBzdGF0
aWNfY2FzdDxUaXRsZUNoYW5nZWREYXRhKj4odXNlckRhdGEpOwogCi0gICAgaWYgKCFzdHJjbXAo
ZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcpLCBkYXRhLT5leHBlY3RlZFRpdGxlLmRhdGEoKSkp
Ci0gICAgICAgIGRhdGEtPmRvbmUgPSB0cnVlOworICAgIGlmIChzdHJjbXAoZXdrX3ZpZXdfdGl0
bGVfZ2V0KHdlYlZpZXcpLCBkYXRhLT5leHBlY3RlZFRpdGxlLmRhdGEoKSkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChkYXRhLT50aW1lcikgeworICAgICAgICBlY29yZV90aW1lcl9kZWwo
ZGF0YS0+dGltZXIpOworICAgICAgICBkYXRhLT50aW1lciA9IDA7CisgICAgfQorCisgICAgZGF0
YS0+ZG9uZSA9IHRydWU7Cit9CisKK3N0YXRpYyBib29sIHRpbWVyRmlyZWRGb3JXYWl0VW50aWxU
aXRsZUNoYW5nZWRUbyh2b2lkICp1c2VyRGF0YSkKK3sKKyAgICBUaXRsZUNoYW5nZWREYXRhKiBk
YXRhID0gc3RhdGljX2Nhc3Q8VGl0bGVDaGFuZ2VkRGF0YSo+KHVzZXJEYXRhKTsKKyAgICBkYXRh
LT50aW1lciA9IDA7CisgICAgaWYgKGRhdGEtPmRvbmUpCisgICAgICAgIHJldHVybiBFQ09SRV9D
QUxMQkFDS19DQU5DRUw7CisKKyAgICBkYXRhLT5kb25lID0gdHJ1ZTsKKyAgICBkYXRhLT50aW1l
ckZpcmVkID0gdHJ1ZTsKKworICAgIHJldHVybiBFQ09SRV9DQUxMQkFDS19DQU5DRUw7CiB9CiAK
LXZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oY29uc3QgY2hh
ciogZXhwZWN0ZWRUaXRsZSkKK2Jvb2wgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsVGl0bGVD
aGFuZ2VkVG8oY29uc3QgY2hhciogZXhwZWN0ZWRUaXRsZSwgZG91YmxlIHRpbWVvdXQpCiB7Ci0g
ICAgVGl0bGVDaGFuZ2VkRGF0YSBkYXRhID0geyBleHBlY3RlZFRpdGxlLCBmYWxzZSB9OworICAg
IFRpdGxlQ2hhbmdlZERhdGEgZGF0YSA9IHsgZXhwZWN0ZWRUaXRsZSwgZmFsc2UsIDAsIGZhbHNl
IH07CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1fd2ViVmlldywgInRpdGxl
LGNoYW5nZWQiLCBvblRpdGxlQ2hhbmdlZCwgJmRhdGEpOwogCisgICAgaWYgKHRpbWVvdXQgPj0g
MCkKKyAgICAgICAgZGF0YS50aW1lciA9IGVjb3JlX3RpbWVyX2FkZCh0aW1lb3V0LCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWRGb3JXYWl0VW50aWxUaXRsZUNoYW5n
ZWRUbyksICZkYXRhKTsKKwogICAgIHdoaWxlICghZGF0YS5kb25lKQogICAgICAgICBlY29yZV9t
YWluX2xvb3BfaXRlcmF0ZSgpOwogCisgICAgaWYgKGRhdGEudGltZXIpCisgICAgICAgIGVjb3Jl
X3RpbWVyX2RlbChkYXRhLnRpbWVyKTsKKwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2RlbChtX3dlYlZpZXcsICJ0aXRsZSxjaGFuZ2VkIiwgb25UaXRsZUNoYW5nZWQpOworCisgICAg
cmV0dXJuICFkYXRhLnRpbWVyRmlyZWQ7CiB9CiAKIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bW91
c2VDbGljayhpbnQgeCwgaW50IHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRU
ZXN0QmFzZS5oCmluZGV4IGZhNmFiZDE2MDQ4Y2FhODMwOTBiNTk1YWI4OTVlOWY3MGMxMTY4MjYu
LjQ3NmQxYzlkMGYwOTJiYTA4NjJkZjJjZmUxY2MxMTk1ZWM5OTBlMzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVu
aXRUZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3Rz
L1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oCkBAIC0zOSw4ICszOSw4IEBAIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKTsKIAogICAgIHZvaWQgbG9hZFVybFN5
bmMoY29uc3QgY2hhciogdXJsKTsKLSAgICB2b2lkIHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwot
ICAgIHZvaWQgd2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oY29uc3QgY2hhciogZXhwZWN0ZWRUaXRs
ZSk7CisgICAgYm9vbCB3YWl0VW50aWxMb2FkRmluaXNoZWQoZG91YmxlIHRpbWVvdXQgPSAtMSk7
CisgICAgYm9vbCB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRp
dGxlLCBkb3VibGUgdGltZW91dCA9IC0xKTsKICAgICB2b2lkIG1vdXNlQ2xpY2soaW50IHgsIGlu
dCB5KTsKIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164554</attachid>
            <date>2012-09-18 07:13:10 -0700</date>
            <delta_ts>2012-09-18 11:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96910-20120918231233.patch</filename>
            <type>text/plain</type>
            <size>7261</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGJiNmI4OWViNGIxMzI3
MDA4MDFmNTc3M2E4NzA3NDAwNjlkMzg5My4uODQ0NDBjMmY2ZGIyNTM2ZjFhYzk0ZjNhYjViZWQ2
NzgwYWEyMjBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTE3ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICB3YWl0VW50aWxUaXRs
ZUNoYW5nZWRUbygpIGFuZCB3YWl0VW50aWxMb2FkRmluaXNoZWQoKSBuZWVkcyB0aW1lb3V0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY5MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHks
IHRoZSB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbygpIGFuZCB3YWl0VW50aWxMb2FkRmluaXNoZWQo
KQorICAgICAgICBmdW5jdGlvbnMgZG9lc24ndCBoYW5kbGUgdGltZW91dCBieSBpdHNlbGYuCisg
ICAgICAgIEFuZCBpZiB0aGVyZSBhcmUgc29tZSBmYWlsZWQgY2FzZXMgdGhhdCBsb2FkaW5nIGlz
IG5vdCBmaW5pc2hlZCBvcgorICAgICAgICB0aXRsZSBpcyBub3QgY2hhbmdlZCB0byB0aGUgZXhw
ZWN0ZWQgc3RyaW5nLCB0ZXN0IGNhc2UganVzdCBzdG9wcGVkCisgICAgICAgIHdpdGggdGltZW91
dCBhbmQgdGhlcmUgaXMgbm8gbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHN1Y2ggYXMgbGlu
ZQorICAgICAgICBudW1iZXIuCisKKyAgICAgICAgVG8gaGFuZGxlIHRpbWVvdXQgc3RhdHVzIG1v
cmUgcHJvcGVybHksIHRpbWVvdXQgcGFyYW1ldGVyIGlzIGFkZGVkIHRvCisgICAgICAgIHRoZXNl
IGZ1bmN0aW9ucy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0
VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHA6CisgICAgICAgIChMb2FkRmluaXNoZWREYXRhKToK
KyAgICAgICAgKEVXSzJVbml0VGVzdCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6Om9uTG9hZEZp
bmlzaGVkKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6dGltZU91dFdoaWxlV2FpdGluZ1VudGls
TG9hZEZpbmlzaGVkKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6
d2FpdFVudGlsTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKFRpdGxlQ2hhbmdlZERhdGEpOgorICAg
ICAgICAoRVdLMlVuaXRUZXN0OjpvblRpdGxlQ2hhbmdlZCk6CisgICAgICAgIChFV0syVW5pdFRl
c3Q6OnRpbWVPdXRXaGlsZVdhaXRpbmdVbnRpbFRpdGxlQ2hhbmdlZFRvKToKKyAgICAgICAgKEVX
SzJVbml0VGVzdDo6RVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRU
ZXN0QmFzZS5oOgorICAgICAgICAoRVdLMlVuaXRUZXN0QmFzZSk6CisKIDIwMTItMDktMTEgIEJ5
dW5nd29vIExlZSAgPGJ3ODAubGVlQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0g
V0tFaW5hU2hhcmVkU3RyaW5nIG5lZWRzIGEgZnVuY3Rpb24gdG8gYWRvcHQgZWluYSBzdHJpbmdz
aGFyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3Rz
L1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCmlu
ZGV4IDU0NTIzZjA0Njg3OTdlZmJjOGNlZDYzYzlkM2Q3OTU4OGVkYzE1NDQuLmFkYThhMWQwOTAy
N2QwNzgyYjZlMDI4YzJmYmMwMzUxZWJlOGNhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RV
dGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcApAQCAtMjksMTUgKzI5LDYgQEAgZXh0ZXJuIEVXSzJV
bml0VGVzdDo6RVdLMlVuaXRUZXN0RW52aXJvbm1lbnQqIGVudmlyb25tZW50OwogCiBuYW1lc3Bh
Y2UgRVdLMlVuaXRUZXN0IHsKIAotc3RhdGljIHZvaWQgb25Mb2FkRmluaXNoZWQodm9pZCogdXNl
ckRhdGEsIEV2YXNfT2JqZWN0KiB3ZWJWaWV3LCB2b2lkKiBldmVudEluZm8pCi17Ci0gICAgVU5V
U0VEX1BBUkFNKHdlYlZpZXcpOwotICAgIFVOVVNFRF9QQVJBTShldmVudEluZm8pOwotCi0gICAg
Ym9vbCogbG9hZEZpbmlzaGVkID0gc3RhdGljX2Nhc3Q8Ym9vbCo+KHVzZXJEYXRhKTsKLSAgICAq
bG9hZEZpbmlzaGVkID0gdHJ1ZTsKLX0KLQogc3RhdGljIEV3a19WaWV3X1NtYXJ0X0NsYXNzIGV3
azJVbml0VGVzdEJyb3dzZXJWaWV3U21hcnRDbGFzcygpCiB7CiAgICAgc3RhdGljIEV3a19WaWV3
X1NtYXJ0X0NsYXNzIGV3a1ZpZXdDbGFzcyA9IEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVRfTkFN
RV9WRVJTSU9OKCJCcm93c2VyX1ZpZXciKTsKQEAgLTg5LDQwICs4MCwxMzYgQEAgdm9pZCBFV0sy
VW5pdFRlc3RCYXNlOjpsb2FkVXJsU3luYyhjb25zdCBjaGFyKiB1cmwpCiAgICAgd2FpdFVudGls
TG9hZEZpbmlzaGVkKCk7CiB9CiAKLXZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsTG9h
ZEZpbmlzaGVkKCkKK3N0cnVjdCBMb2FkRmluaXNoZWREYXRhIHsKKyAgICBMb2FkRmluaXNoZWRE
YXRhKCkKKyAgICAgICAgOiBsb2FkRmluaXNoZWQoZmFsc2UpCisgICAgICAgICwgdGltZXIoMCkK
KyAgICAgICAgLCB0aW1lT3V0KGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAgICB+TG9hZEZpbmlz
aGVkRGF0YSgpCisgICAgeworICAgICAgICBpZiAodGltZXIpCisgICAgICAgICAgICBlY29yZV90
aW1lcl9kZWwodGltZXIpOworICAgIH0KKworICAgIGJvb2wgbG9hZEZpbmlzaGVkOworICAgIEVj
b3JlX1RpbWVyKiB0aW1lcjsKKyAgICBib29sIHRpbWVPdXQ7Cit9OworCitzdGF0aWMgdm9pZCBv
bkxvYWRGaW5pc2hlZCh2b2lkKiB1c2VyRGF0YSwgRXZhc19PYmplY3QqIHdlYlZpZXcsIHZvaWQq
IGV2ZW50SW5mbykKK3sKKyAgICBVTlVTRURfUEFSQU0od2ViVmlldyk7CisgICAgVU5VU0VEX1BB
UkFNKGV2ZW50SW5mbyk7CisKKyAgICBMb2FkRmluaXNoZWREYXRhKiBkYXRhID0gc3RhdGljX2Nh
c3Q8TG9hZEZpbmlzaGVkRGF0YSo+KHVzZXJEYXRhKTsKKyAgICBkYXRhLT5sb2FkRmluaXNoZWQg
PSB0cnVlOworCisgICAgaWYgKGRhdGEtPnRpbWVyKSB7CisgICAgICAgIGVjb3JlX3RpbWVyX2Rl
bChkYXRhLT50aW1lcik7CisgICAgICAgIGRhdGEtPnRpbWVyID0gMDsKKyAgICB9Cit9CisKK3N0
YXRpYyBib29sIHRpbWVPdXRXaGlsZVdhaXRpbmdVbnRpbExvYWRGaW5pc2hlZCh2b2lkKiB1c2Vy
RGF0YSkKIHsKLSAgICBib29sIGxvYWRGaW5pc2hlZCA9IGZhbHNlOworICAgIExvYWRGaW5pc2hl
ZERhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxMb2FkRmluaXNoZWREYXRhKj4odXNlckRhdGEpOwor
CisgICAgZGF0YS0+dGltZXIgPSAwOwogCi0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
YWRkKG1fd2ViVmlldywgImxvYWQsZmluaXNoZWQiLCBvbkxvYWRGaW5pc2hlZCwgJmxvYWRGaW5p
c2hlZCk7CisgICAgaWYgKGRhdGEtPmxvYWRGaW5pc2hlZCkKKyAgICAgICAgcmV0dXJuIEVDT1JF
X0NBTExCQUNLX0NBTkNFTDsKIAotICAgIHdoaWxlICghbG9hZEZpbmlzaGVkKQorICAgIGRhdGEt
PmxvYWRGaW5pc2hlZCA9IHRydWU7CisgICAgZGF0YS0+dGltZU91dCA9IHRydWU7CisKKyAgICBy
ZXR1cm4gRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOworfQorCitib29sIEVXSzJVbml0VGVzdEJhc2U6
OndhaXRVbnRpbExvYWRGaW5pc2hlZChkb3VibGUgdGltZW91dFNlY29uZHMpCit7CisgICAgTG9h
ZEZpbmlzaGVkRGF0YSBkYXRhOworCisgICAgaWYgKHRpbWVvdXRTZWNvbmRzID49IDApCisgICAg
ICAgIGRhdGEudGltZXIgPSBlY29yZV90aW1lcl9hZGQodGltZW91dFNlY29uZHMsIHJlaW50ZXJw
cmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZU91dFdoaWxlV2FpdGluZ1VudGlsTG9hZEZpbmlz
aGVkKSwgJmRhdGEpOworCisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1fd2Vi
VmlldywgImxvYWQsZmluaXNoZWQiLCBvbkxvYWRGaW5pc2hlZCwgJmRhdGEpOworCisgICAgd2hp
bGUgKCFkYXRhLmxvYWRGaW5pc2hlZCkKICAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUo
KTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2RlbChtX3dlYlZpZXcsICJsb2Fk
LGZpbmlzaGVkIiwgb25Mb2FkRmluaXNoZWQpOworCisgICAgcmV0dXJuICFkYXRhLnRpbWVPdXQ7
CiB9CiAKIHN0cnVjdCBUaXRsZUNoYW5nZWREYXRhIHsKKyAgICBUaXRsZUNoYW5nZWREYXRhKGNv
bnN0IENTdHJpbmcmIHRpdGxlKQorICAgICAgICA6IGV4cGVjdGVkVGl0bGUodGl0bGUpCisgICAg
ICAgICwgZG9uZShmYWxzZSkKKyAgICAgICAgLCB0aW1lcigwKQorICAgICAgICAsIHRpbWVPdXQo
ZmFsc2UpCisgICAgeworICAgIH0KKworICAgIH5UaXRsZUNoYW5nZWREYXRhKCkKKyAgICB7Cisg
ICAgICAgIGlmICh0aW1lcikKKyAgICAgICAgICAgIGVjb3JlX3RpbWVyX2RlbCh0aW1lcik7Cisg
ICAgfQorCiAgICAgQ1N0cmluZyBleHBlY3RlZFRpdGxlOwogICAgIGJvb2wgZG9uZTsKKyAgICBF
Y29yZV9UaW1lciogdGltZXI7CisgICAgYm9vbCB0aW1lT3V0OwogfTsKIAogc3RhdGljIHZvaWQg
b25UaXRsZUNoYW5nZWQodm9pZCogdXNlckRhdGEsIEV2YXNfT2JqZWN0KiB3ZWJWaWV3LCB2b2lk
KiBldmVudEluZm8pCiB7CiAgICAgVGl0bGVDaGFuZ2VkRGF0YSogZGF0YSA9IHN0YXRpY19jYXN0
PFRpdGxlQ2hhbmdlZERhdGEqPih1c2VyRGF0YSk7CiAKLSAgICBpZiAoIXN0cmNtcChld2tfdmll
d190aXRsZV9nZXQod2ViVmlldyksIGRhdGEtPmV4cGVjdGVkVGl0bGUuZGF0YSgpKSkKLSAgICAg
ICAgZGF0YS0+ZG9uZSA9IHRydWU7CisgICAgaWYgKHN0cmNtcChld2tfdmlld190aXRsZV9nZXQo
d2ViVmlldyksIGRhdGEtPmV4cGVjdGVkVGl0bGUuZGF0YSgpKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKGRhdGEtPnRpbWVyKSB7CisgICAgICAgIGVjb3JlX3RpbWVyX2RlbChkYXRhLT50
aW1lcik7CisgICAgICAgIGRhdGEtPnRpbWVyID0gMDsKKyAgICB9CisKKyAgICBkYXRhLT5kb25l
ID0gdHJ1ZTsKIH0KIAotdm9pZCBFV0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxUaXRsZUNoYW5n
ZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlKQorc3RhdGljIGJvb2wgdGltZU91dFdoaWxl
V2FpdGluZ1VudGlsVGl0bGVDaGFuZ2VkVG8odm9pZCogdXNlckRhdGEpCiB7Ci0gICAgVGl0bGVD
aGFuZ2VkRGF0YSBkYXRhID0geyBleHBlY3RlZFRpdGxlLCBmYWxzZSB9OworICAgIFRpdGxlQ2hh
bmdlZERhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxUaXRsZUNoYW5nZWREYXRhKj4odXNlckRhdGEp
OworCisgICAgZGF0YS0+dGltZXIgPSAwOworCisgICAgaWYgKGRhdGEtPmRvbmUpCisgICAgICAg
IHJldHVybiBFQ09SRV9DQUxMQkFDS19DQU5DRUw7CisKKyAgICBkYXRhLT5kb25lID0gdHJ1ZTsK
KyAgICBkYXRhLT50aW1lT3V0ID0gdHJ1ZTsKKworICAgIHJldHVybiBFQ09SRV9DQUxMQkFDS19D
QU5DRUw7Cit9CisKK2Jvb2wgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsVGl0bGVDaGFuZ2Vk
VG8oY29uc3QgY2hhciogZXhwZWN0ZWRUaXRsZSwgZG91YmxlIHRpbWVvdXRTZWNvbmRzKQorewor
ICAgIFRpdGxlQ2hhbmdlZERhdGEgZGF0YShleHBlY3RlZFRpdGxlKTsKICAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19hZGQobV93ZWJWaWV3LCAidGl0bGUsY2hhbmdlZCIsIG9uVGl0bGVD
aGFuZ2VkLCAmZGF0YSk7CiAKKyAgICBpZiAodGltZW91dFNlY29uZHMgPj0gMCkKKyAgICAgICAg
ZGF0YS50aW1lciA9IGVjb3JlX3RpbWVyX2FkZCh0aW1lb3V0U2Vjb25kcywgcmVpbnRlcnByZXRf
Y2FzdDxFY29yZV9UYXNrX0NiPih0aW1lT3V0V2hpbGVXYWl0aW5nVW50aWxUaXRsZUNoYW5nZWRU
byksICZkYXRhKTsKKwogICAgIHdoaWxlICghZGF0YS5kb25lKQogICAgICAgICBlY29yZV9tYWlu
X2xvb3BfaXRlcmF0ZSgpOwogCiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfZGVsKG1f
d2ViVmlldywgInRpdGxlLGNoYW5nZWQiLCBvblRpdGxlQ2hhbmdlZCk7CisKKyAgICByZXR1cm4g
IWRhdGEudGltZU91dDsKIH0KIAogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKGlu
dCB4LCBpbnQgeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgK
aW5kZXggZmE2YWJkMTYwNDhjYWE4MzA5MGI1OTVhYjg5NWU5ZjcwYzExNjgyNi4uNGRhMDljY2Vi
YmUxMjNmOWQ0YzI2Mzg5NmNjMGM1OWI3MzRjMjdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RV
dGlscy9FV0syVW5pdFRlc3RCYXNlLmgKQEAgLTM5LDggKzM5LDggQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCBUZWFyRG93bigpOwogCiAgICAgdm9pZCBsb2FkVXJsU3luYyhjb25zdCBj
aGFyKiB1cmwpOwotICAgIHZvaWQgd2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7Ci0gICAgdm9pZCB3
YWl0VW50aWxUaXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlKTsKKyAgICBi
b29sIHdhaXRVbnRpbExvYWRGaW5pc2hlZChkb3VibGUgdGltZW91dFNlY29uZHMgPSAtMSk7Cisg
ICAgYm9vbCB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxl
LCBkb3VibGUgdGltZW91dFNlY29uZHMgPSAtMSk7CiAgICAgdm9pZCBtb3VzZUNsaWNrKGludCB4
LCBpbnQgeSk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164589</attachid>
            <date>2012-09-18 11:21:41 -0700</date>
            <delta_ts>2012-09-19 00:27:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96910-20120919032107.patch</filename>
            <type>text/plain</type>
            <size>7639</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWJjMzA5MmUxYjVjMjNj
YmMxNjk3M2JkNGFiNDM2NDRmNThkY2VmNy4uMTczM2QwMzMwMTBhMDdjZDdiYTEwNmY4NjFiM2Iz
NGZlZjY1OGI4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTE4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBnbWFpbC5jb20+CisKKyAgICAgICAgd2FpdFVudGlsVGl0bGVD
aGFuZ2VkVG8oKSBhbmQgd2FpdFVudGlsTG9hZEZpbmlzaGVkKCkgbmVlZHMgdGltZW91dC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2OTEwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0
aGUgd2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oKSBhbmQgd2FpdFVudGlsTG9hZEZpbmlzaGVkKCkK
KyAgICAgICAgZnVuY3Rpb25zIGRvZXNuJ3QgaGFuZGxlIHRpbWVvdXQgYnkgaXRzZWxmLgorICAg
ICAgICBBbmQgaWYgdGhlcmUgYXJlIHNvbWUgZmFpbGVkIGNhc2VzIHRoYXQgbG9hZGluZyBpcyBu
b3QgZmluaXNoZWQgb3IKKyAgICAgICAgdGl0bGUgaXMgbm90IGNoYW5nZWQgdG8gdGhlIGV4cGVj
dGVkIHN0cmluZywgdGVzdCBjYXNlIGp1c3Qgc3RvcHBlZAorICAgICAgICB3aXRoIHRpbWVvdXQg
YW5kIHRoZXJlIGlzIG5vIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBzdWNoIGFzIGxpbmUK
KyAgICAgICAgbnVtYmVyLgorCisgICAgICAgIFRvIGhhbmRsZSB0aW1lb3V0IHN0YXR1cyBtb3Jl
IHByb3Blcmx5LCB0aW1lb3V0IHBhcmFtZXRlciBpcyBhZGRlZCB0bworICAgICAgICB0aGVzZSBm
dW5jdGlvbnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0
aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpMb2FkRmlu
aXNoZWREYXRhOjpMb2FkRmluaXNoZWREYXRhKToKKyAgICAgICAgKExvYWRGaW5pc2hlZERhdGEp
OgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpMb2FkRmluaXNoZWREYXRhOjp+TG9hZEZpbmlzaGVk
RGF0YSk6CisgICAgICAgIChFV0syVW5pdFRlc3QpOgorICAgICAgICAoRVdLMlVuaXRUZXN0Ojpv
bkxvYWRGaW5pc2hlZCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OnRpbWVPdXRXaGlsZVdhaXRp
bmdVbnRpbExvYWRGaW5pc2hlZCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVz
dEJhc2U6OndhaXRVbnRpbExvYWRGaW5pc2hlZCk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OlRp
dGxlQ2hhbmdlZERhdGE6OlRpdGxlQ2hhbmdlZERhdGEpOgorICAgICAgICAoVGl0bGVDaGFuZ2Vk
RGF0YSk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OlRpdGxlQ2hhbmdlZERhdGE6On5UaXRsZUNo
YW5nZWREYXRhKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6b25UaXRsZUNoYW5nZWQpOgorICAg
ICAgICAoRVdLMlVuaXRUZXN0Ojp0aW1lT3V0V2hpbGVXYWl0aW5nVW50aWxUaXRsZUNoYW5nZWRU
byk6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6OndhaXRVbnRpbFRp
dGxlQ2hhbmdlZFRvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaDoKKyAgICAgICAgKEVXSzJVbml0VGVzdEJhc2UpOgor
CiAyMDEyLTA5LTE1ICBQaWVycmUgUm9zc2kgIDxwaWVycmUucm9zc2lAZ21haWwuY29tPgogCiAg
ICAgICAgIFtRdF0gUURvYyBmaXhlcyBmb3IgUXQgNSBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VX
SzJVbml0VGVzdEJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcAppbmRleCA1NDUyM2YwNDY4Nzk3
ZWZiYzhjZWQ2M2M5ZDNkNzk1ODhlZGMxNTQ0Li43YzkwOWZjNGJiNDQ5NWVjNzhlZDlhZmJiZDZh
Nzg4NGVhMDQ2ODEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0
QmFzZS5jcHAKQEAgLTI5LDE1ICsyOSw2IEBAIGV4dGVybiBFV0syVW5pdFRlc3Q6OkVXSzJVbml0
VGVzdEVudmlyb25tZW50KiBlbnZpcm9ubWVudDsKIAogbmFtZXNwYWNlIEVXSzJVbml0VGVzdCB7
CiAKLXN0YXRpYyB2b2lkIG9uTG9hZEZpbmlzaGVkKHZvaWQqIHVzZXJEYXRhLCBFdmFzX09iamVj
dCogd2ViVmlldywgdm9pZCogZXZlbnRJbmZvKQotewotICAgIFVOVVNFRF9QQVJBTSh3ZWJWaWV3
KTsKLSAgICBVTlVTRURfUEFSQU0oZXZlbnRJbmZvKTsKLQotICAgIGJvb2wqIGxvYWRGaW5pc2hl
ZCA9IHN0YXRpY19jYXN0PGJvb2wqPih1c2VyRGF0YSk7Ci0gICAgKmxvYWRGaW5pc2hlZCA9IHRy
dWU7Ci19Ci0KIHN0YXRpYyBFd2tfVmlld19TbWFydF9DbGFzcyBld2syVW5pdFRlc3RCcm93c2Vy
Vmlld1NtYXJ0Q2xhc3MoKQogewogICAgIHN0YXRpYyBFd2tfVmlld19TbWFydF9DbGFzcyBld2tW
aWV3Q2xhc3MgPSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX05BTUVfVkVSU0lPTigiQnJvd3Nl
cl9WaWV3Iik7CkBAIC04OSw0MCArODAsMTM1IEBAIHZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6bG9h
ZFVybFN5bmMoY29uc3QgY2hhciogdXJsKQogICAgIHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwog
fQogCi12b2lkIEVXSzJVbml0VGVzdEJhc2U6OndhaXRVbnRpbExvYWRGaW5pc2hlZCgpCitzdHJ1
Y3QgTG9hZEZpbmlzaGVkRGF0YSB7CisgICAgTG9hZEZpbmlzaGVkRGF0YShkb3VibGUgdGltZW91
dFNlY29uZHMsIEVjb3JlX1Rhc2tfQ2IgY2FsbGJhY2spCisgICAgICAgIDogbG9hZEZpbmlzaGVk
KGZhbHNlKQorICAgICAgICAsIHRpbWVyKDApCisgICAgICAgICwgZGlkVGltZU91dChmYWxzZSkK
KyAgICB7CisgICAgICAgIGlmICh0aW1lb3V0U2Vjb25kcyA+PSAwKQorICAgICAgICAgICAgdGlt
ZXIgPSBlY29yZV90aW1lcl9hZGQodGltZW91dFNlY29uZHMsIGNhbGxiYWNrLCB0aGlzKTsKKyAg
ICB9CisKKyAgICB+TG9hZEZpbmlzaGVkRGF0YSgpCisgICAgeworICAgICAgICBpZiAodGltZXIp
CisgICAgICAgICAgICBlY29yZV90aW1lcl9kZWwodGltZXIpOworICAgIH0KKworICAgIGJvb2wg
bG9hZEZpbmlzaGVkOworICAgIEVjb3JlX1RpbWVyKiB0aW1lcjsKKyAgICBib29sIGRpZFRpbWVP
dXQ7Cit9OworCitzdGF0aWMgdm9pZCBvbkxvYWRGaW5pc2hlZCh2b2lkKiB1c2VyRGF0YSwgRXZh
c19PYmplY3QqIHdlYlZpZXcsIHZvaWQqIGV2ZW50SW5mbykKK3sKKyAgICBVTlVTRURfUEFSQU0o
d2ViVmlldyk7CisgICAgVU5VU0VEX1BBUkFNKGV2ZW50SW5mbyk7CisKKyAgICBMb2FkRmluaXNo
ZWREYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8TG9hZEZpbmlzaGVkRGF0YSo+KHVzZXJEYXRhKTsK
KyAgICBkYXRhLT5sb2FkRmluaXNoZWQgPSB0cnVlOworCisgICAgaWYgKGRhdGEtPnRpbWVyKSB7
CisgICAgICAgIGVjb3JlX3RpbWVyX2RlbChkYXRhLT50aW1lcik7CisgICAgICAgIGRhdGEtPnRp
bWVyID0gMDsKKyAgICB9Cit9CisKK3N0YXRpYyBib29sIHRpbWVPdXRXaGlsZVdhaXRpbmdVbnRp
bExvYWRGaW5pc2hlZCh2b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBMb2FkRmluaXNoZWREYXRhKiBk
YXRhID0gc3RhdGljX2Nhc3Q8TG9hZEZpbmlzaGVkRGF0YSo+KHVzZXJEYXRhKTsKKworICAgIGRh
dGEtPnRpbWVyID0gMDsKKworICAgIGlmIChkYXRhLT5sb2FkRmluaXNoZWQpCisgICAgICAgIHJl
dHVybiBFQ09SRV9DQUxMQkFDS19DQU5DRUw7CisKKyAgICBkYXRhLT5sb2FkRmluaXNoZWQgPSB0
cnVlOworICAgIGRhdGEtPmRpZFRpbWVPdXQgPSB0cnVlOworCisgICAgcmV0dXJuIEVDT1JFX0NB
TExCQUNLX0NBTkNFTDsKK30KKworYm9vbCBFV0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxMb2Fk
RmluaXNoZWQoZG91YmxlIHRpbWVvdXRTZWNvbmRzKQogewotICAgIGJvb2wgbG9hZEZpbmlzaGVk
ID0gZmFsc2U7CisgICAgTG9hZEZpbmlzaGVkRGF0YSBkYXRhKHRpbWVvdXRTZWNvbmRzLCByZWlu
dGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVPdXRXaGlsZVdhaXRpbmdVbnRpbExvYWRG
aW5pc2hlZCkpOwogCi0gICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1fd2ViVmll
dywgImxvYWQsZmluaXNoZWQiLCBvbkxvYWRGaW5pc2hlZCwgJmxvYWRGaW5pc2hlZCk7CisgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1fd2ViVmlldywgImxvYWQsZmluaXNoZWQi
LCBvbkxvYWRGaW5pc2hlZCwgJmRhdGEpOwogCi0gICAgd2hpbGUgKCFsb2FkRmluaXNoZWQpCisg
ICAgd2hpbGUgKCFkYXRhLmxvYWRGaW5pc2hlZCkKICAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0
ZXJhdGUoKTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2RlbChtX3dlYlZpZXcs
ICJsb2FkLGZpbmlzaGVkIiwgb25Mb2FkRmluaXNoZWQpOworCisgICAgcmV0dXJuICFkYXRhLmRp
ZFRpbWVPdXQ7CiB9CiAKIHN0cnVjdCBUaXRsZUNoYW5nZWREYXRhIHsKKyAgICBUaXRsZUNoYW5n
ZWREYXRhKGNvbnN0IGNoYXIqIHRpdGxlLCBkb3VibGUgdGltZW91dFNlY29uZHMsIEVjb3JlX1Rh
c2tfQ2IgY2FsbGJhY2spCisgICAgICAgIDogZXhwZWN0ZWRUaXRsZSh0aXRsZSkKKyAgICAgICAg
LCBkb25lKGZhbHNlKQorICAgICAgICAsIHRpbWVyKDApCisgICAgICAgICwgZGlkVGltZU91dChm
YWxzZSkKKyAgICB7CisgICAgICAgIGlmICh0aW1lb3V0U2Vjb25kcyA+PSAwKQorICAgICAgICAg
ICAgdGltZXIgPSBlY29yZV90aW1lcl9hZGQodGltZW91dFNlY29uZHMsIGNhbGxiYWNrLCB0aGlz
KTsKKyAgICB9CisKKyAgICB+VGl0bGVDaGFuZ2VkRGF0YSgpCisgICAgeworICAgICAgICBpZiAo
dGltZXIpCisgICAgICAgICAgICBlY29yZV90aW1lcl9kZWwodGltZXIpOworICAgIH0KKwogICAg
IENTdHJpbmcgZXhwZWN0ZWRUaXRsZTsKICAgICBib29sIGRvbmU7CisgICAgRWNvcmVfVGltZXIq
IHRpbWVyOworICAgIGJvb2wgZGlkVGltZU91dDsKIH07CiAKIHN0YXRpYyB2b2lkIG9uVGl0bGVD
aGFuZ2VkKHZvaWQqIHVzZXJEYXRhLCBFdmFzX09iamVjdCogd2ViVmlldywgdm9pZCogZXZlbnRJ
bmZvKQogewogICAgIFRpdGxlQ2hhbmdlZERhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxUaXRsZUNo
YW5nZWREYXRhKj4odXNlckRhdGEpOwogCi0gICAgaWYgKCFzdHJjbXAoZXdrX3ZpZXdfdGl0bGVf
Z2V0KHdlYlZpZXcpLCBkYXRhLT5leHBlY3RlZFRpdGxlLmRhdGEoKSkpCi0gICAgICAgIGRhdGEt
PmRvbmUgPSB0cnVlOworICAgIGlmIChzdHJjbXAoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcp
LCBkYXRhLT5leHBlY3RlZFRpdGxlLmRhdGEoKSkpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChkYXRhLT50aW1lcikgeworICAgICAgICBlY29yZV90aW1lcl9kZWwoZGF0YS0+dGltZXIpOwor
ICAgICAgICBkYXRhLT50aW1lciA9IDA7CisgICAgfQorCisgICAgZGF0YS0+ZG9uZSA9IHRydWU7
CiB9CiAKLXZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oY29u
c3QgY2hhciogZXhwZWN0ZWRUaXRsZSkKK3N0YXRpYyBib29sIHRpbWVPdXRXaGlsZVdhaXRpbmdV
bnRpbFRpdGxlQ2hhbmdlZFRvKHZvaWQqIHVzZXJEYXRhKQogewotICAgIFRpdGxlQ2hhbmdlZERh
dGEgZGF0YSA9IHsgZXhwZWN0ZWRUaXRsZSwgZmFsc2UgfTsKKyAgICBUaXRsZUNoYW5nZWREYXRh
KiBkYXRhID0gc3RhdGljX2Nhc3Q8VGl0bGVDaGFuZ2VkRGF0YSo+KHVzZXJEYXRhKTsKKworICAg
IGRhdGEtPnRpbWVyID0gMDsKKworICAgIGlmIChkYXRhLT5kb25lKQorICAgICAgICByZXR1cm4g
RUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOworCisgICAgZGF0YS0+ZG9uZSA9IHRydWU7CisgICAgZGF0
YS0+ZGlkVGltZU91dCA9IHRydWU7CisKKyAgICByZXR1cm4gRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VM
OworfQorCitib29sIEVXSzJVbml0VGVzdEJhc2U6OndhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKGNv
bnN0IGNoYXIqIGV4cGVjdGVkVGl0bGUsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcykKK3sKKyAgICBU
aXRsZUNoYW5nZWREYXRhIGRhdGEoZXhwZWN0ZWRUaXRsZSwgdGltZW91dFNlY29uZHMsIHJlaW50
ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZU91dFdoaWxlV2FpdGluZ1VudGlsVGl0bGVD
aGFuZ2VkVG8pKTsKKwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtX3dlYlZp
ZXcsICJ0aXRsZSxjaGFuZ2VkIiwgb25UaXRsZUNoYW5nZWQsICZkYXRhKTsKIAogICAgIHdoaWxl
ICghZGF0YS5kb25lKQogICAgICAgICBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpOwogCiAgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfZGVsKG1fd2ViVmlldywgInRpdGxlLGNoYW5nZWQi
LCBvblRpdGxlQ2hhbmdlZCk7CisKKyAgICByZXR1cm4gIWRhdGEuZGlkVGltZU91dDsKIH0KIAog
dm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKGludCB4LCBpbnQgeSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMv
RVdLMlVuaXRUZXN0QmFzZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVz
dHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKaW5kZXggNzE3NjA3ODk3ZjIzYTVk
Yjc0ZGQ0ZGQyYTA2Y2RiY2FlMWNjOTZmZS4uZGJkZDA4NjUyYmI1MmQ4MGZiN2UxNWFkZTlkZjRh
NWE0NjU3NjVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmgKQEAgLTQxLDggKzQxLDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBUZWFyRG93
bigpOwogCiAgICAgdm9pZCBsb2FkVXJsU3luYyhjb25zdCBjaGFyKiB1cmwpOwotICAgIHZvaWQg
d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7Ci0gICAgdm9pZCB3YWl0VW50aWxUaXRsZUNoYW5nZWRU
byhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlKTsKKyAgICBib29sIHdhaXRVbnRpbExvYWRGaW5p
c2hlZChkb3VibGUgdGltZW91dFNlY29uZHMgPSAtMSk7CisgICAgYm9vbCB3YWl0VW50aWxUaXRs
ZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlLCBkb3VibGUgdGltZW91dFNlY29u
ZHMgPSAtMSk7CiAgICAgdm9pZCBtb3VzZUNsaWNrKGludCB4LCBpbnQgeSk7CiAKIHByaXZhdGU6
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164678</attachid>
            <date>2012-09-19 00:27:25 -0700</date>
            <delta_ts>2012-09-19 01:04:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96910-20120919162646.patch</filename>
            <type>text/plain</type>
            <size>7717</size>
            <attacher name="Byungwoo Lee">bw80.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDc3NjM5OTNiODMwNDg2
YmFlOGJiODc4NDZhMDc3ZTY3ZGI4YjJmOC4uMzZmYjdmN2UxMTlkYTdjM2IwMmM1MDZkN2MzZDAz
MWY5ZjMzNDQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDEyLTA5LTE4ICBCeXVu
Z3dvbyBMZWUgIDxidzgwLmxlZUBzYW1zdW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIHdh
aXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCkgYW5kIHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpIG5lZWRz
IHRpbWVvdXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NjkxMAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2Vu
LgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCkgYW5k
IHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpCisgICAgICAgIGZ1bmN0aW9ucyBkb2Vzbid0IGhhbmRs
ZSB0aW1lb3V0IGJ5IGl0c2VsZi4KKyAgICAgICAgQW5kIGlmIHRoZXJlIGFyZSBzb21lIGZhaWxl
ZCBjYXNlcyB0aGF0IGxvYWRpbmcgaXMgbm90IGZpbmlzaGVkIG9yCisgICAgICAgIHRpdGxlIGlz
IG5vdCBjaGFuZ2VkIHRvIHRoZSBleHBlY3RlZCBzdHJpbmcsIHRlc3QgY2FzZSBqdXN0IHN0b3Bw
ZWQKKyAgICAgICAgd2l0aCB0aW1lb3V0IGFuZCB0aGVyZSBpcyBubyBtb3JlIGluZm9ybWF0aW9u
IGFib3V0IHRoaXMgc3VjaCBhcyBsaW5lCisgICAgICAgIG51bWJlci4KKworICAgICAgICBUbyBo
YW5kbGUgdGltZW91dCBzdGF0dXMgbW9yZSBwcm9wZXJseSwgdGltZW91dCBwYXJhbWV0ZXIgaXMg
YWRkZWQgdG8KKyAgICAgICAgdGhlc2UgZnVuY3Rpb25zLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNwcDoKKyAgICAg
ICAgKEVXSzJVbml0VGVzdDo6TG9hZEZpbmlzaGVkRGF0YTo6TG9hZEZpbmlzaGVkRGF0YSk6Cisg
ICAgICAgIChMb2FkRmluaXNoZWREYXRhKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6TG9hZEZp
bmlzaGVkRGF0YTo6fkxvYWRGaW5pc2hlZERhdGEpOgorICAgICAgICAoRVdLMlVuaXRUZXN0KToK
KyAgICAgICAgKEVXSzJVbml0VGVzdDo6b25Mb2FkRmluaXNoZWQpOgorICAgICAgICAoRVdLMlVu
aXRUZXN0Ojp0aW1lT3V0V2hpbGVXYWl0aW5nVW50aWxMb2FkRmluaXNoZWQpOgorICAgICAgICAo
RVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxMb2FkRmluaXNoZWQpOgor
ICAgICAgICAoRVdLMlVuaXRUZXN0OjpUaXRsZUNoYW5nZWREYXRhOjpUaXRsZUNoYW5nZWREYXRh
KToKKyAgICAgICAgKFRpdGxlQ2hhbmdlZERhdGEpOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpU
aXRsZUNoYW5nZWREYXRhOjp+VGl0bGVDaGFuZ2VkRGF0YSk6CisgICAgICAgIChFV0syVW5pdFRl
c3Q6Om9uVGl0bGVDaGFuZ2VkKToKKyAgICAgICAgKEVXSzJVbml0VGVzdDo6dGltZU91dFdoaWxl
V2FpdGluZ1VudGlsVGl0bGVDaGFuZ2VkVG8pOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0sy
VW5pdFRlc3RCYXNlOjp3YWl0VW50aWxUaXRsZUNoYW5nZWRUbyk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmg6CisgICAg
ICAgIChFV0syVW5pdFRlc3RCYXNlKToKKworMjAxMi0wOS0xOCAgQnl1bmd3b28gTGVlICA8Ync4
MC5sZWVAc2Ftc3VuZy5jb20+CisKICAgICAgICAgW0VGTF1bV0syXSBBZGQgamF2YXNjcmlwdCBw
b3B1cCBBUEkuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NTY3MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90
ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmNw
cAppbmRleCA1NDUyM2YwNDY4Nzk3ZWZiYzhjZWQ2M2M5ZDNkNzk1ODhlZGMxNTQ0Li43YzkwOWZj
NGJiNDQ5NWVjNzhlZDlhZmJiZDZhNzg4NGVhMDQ2ODEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRU
ZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKQEAgLTI5LDE1ICsyOSw2IEBAIGV4dGVybiBF
V0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEVudmlyb25tZW50KiBlbnZpcm9ubWVudDsKIAogbmFt
ZXNwYWNlIEVXSzJVbml0VGVzdCB7CiAKLXN0YXRpYyB2b2lkIG9uTG9hZEZpbmlzaGVkKHZvaWQq
IHVzZXJEYXRhLCBFdmFzX09iamVjdCogd2ViVmlldywgdm9pZCogZXZlbnRJbmZvKQotewotICAg
IFVOVVNFRF9QQVJBTSh3ZWJWaWV3KTsKLSAgICBVTlVTRURfUEFSQU0oZXZlbnRJbmZvKTsKLQot
ICAgIGJvb2wqIGxvYWRGaW5pc2hlZCA9IHN0YXRpY19jYXN0PGJvb2wqPih1c2VyRGF0YSk7Ci0g
ICAgKmxvYWRGaW5pc2hlZCA9IHRydWU7Ci19Ci0KIHN0YXRpYyBFd2tfVmlld19TbWFydF9DbGFz
cyBld2syVW5pdFRlc3RCcm93c2VyVmlld1NtYXJ0Q2xhc3MoKQogewogICAgIHN0YXRpYyBFd2tf
Vmlld19TbWFydF9DbGFzcyBld2tWaWV3Q2xhc3MgPSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklU
X05BTUVfVkVSU0lPTigiQnJvd3Nlcl9WaWV3Iik7CkBAIC04OSw0MCArODAsMTM1IEBAIHZvaWQg
RVdLMlVuaXRUZXN0QmFzZTo6bG9hZFVybFN5bmMoY29uc3QgY2hhciogdXJsKQogICAgIHdhaXRV
bnRpbExvYWRGaW5pc2hlZCgpOwogfQogCi12b2lkIEVXSzJVbml0VGVzdEJhc2U6OndhaXRVbnRp
bExvYWRGaW5pc2hlZCgpCitzdHJ1Y3QgTG9hZEZpbmlzaGVkRGF0YSB7CisgICAgTG9hZEZpbmlz
aGVkRGF0YShkb3VibGUgdGltZW91dFNlY29uZHMsIEVjb3JlX1Rhc2tfQ2IgY2FsbGJhY2spCisg
ICAgICAgIDogbG9hZEZpbmlzaGVkKGZhbHNlKQorICAgICAgICAsIHRpbWVyKDApCisgICAgICAg
ICwgZGlkVGltZU91dChmYWxzZSkKKyAgICB7CisgICAgICAgIGlmICh0aW1lb3V0U2Vjb25kcyA+
PSAwKQorICAgICAgICAgICAgdGltZXIgPSBlY29yZV90aW1lcl9hZGQodGltZW91dFNlY29uZHMs
IGNhbGxiYWNrLCB0aGlzKTsKKyAgICB9CisKKyAgICB+TG9hZEZpbmlzaGVkRGF0YSgpCisgICAg
eworICAgICAgICBpZiAodGltZXIpCisgICAgICAgICAgICBlY29yZV90aW1lcl9kZWwodGltZXIp
OworICAgIH0KKworICAgIGJvb2wgbG9hZEZpbmlzaGVkOworICAgIEVjb3JlX1RpbWVyKiB0aW1l
cjsKKyAgICBib29sIGRpZFRpbWVPdXQ7Cit9OworCitzdGF0aWMgdm9pZCBvbkxvYWRGaW5pc2hl
ZCh2b2lkKiB1c2VyRGF0YSwgRXZhc19PYmplY3QqIHdlYlZpZXcsIHZvaWQqIGV2ZW50SW5mbykK
K3sKKyAgICBVTlVTRURfUEFSQU0od2ViVmlldyk7CisgICAgVU5VU0VEX1BBUkFNKGV2ZW50SW5m
byk7CisKKyAgICBMb2FkRmluaXNoZWREYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8TG9hZEZpbmlz
aGVkRGF0YSo+KHVzZXJEYXRhKTsKKyAgICBkYXRhLT5sb2FkRmluaXNoZWQgPSB0cnVlOworCisg
ICAgaWYgKGRhdGEtPnRpbWVyKSB7CisgICAgICAgIGVjb3JlX3RpbWVyX2RlbChkYXRhLT50aW1l
cik7CisgICAgICAgIGRhdGEtPnRpbWVyID0gMDsKKyAgICB9Cit9CisKK3N0YXRpYyBib29sIHRp
bWVPdXRXaGlsZVdhaXRpbmdVbnRpbExvYWRGaW5pc2hlZCh2b2lkKiB1c2VyRGF0YSkKK3sKKyAg
ICBMb2FkRmluaXNoZWREYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8TG9hZEZpbmlzaGVkRGF0YSo+
KHVzZXJEYXRhKTsKKworICAgIGRhdGEtPnRpbWVyID0gMDsKKworICAgIGlmIChkYXRhLT5sb2Fk
RmluaXNoZWQpCisgICAgICAgIHJldHVybiBFQ09SRV9DQUxMQkFDS19DQU5DRUw7CisKKyAgICBk
YXRhLT5sb2FkRmluaXNoZWQgPSB0cnVlOworICAgIGRhdGEtPmRpZFRpbWVPdXQgPSB0cnVlOwor
CisgICAgcmV0dXJuIEVDT1JFX0NBTExCQUNLX0NBTkNFTDsKK30KKworYm9vbCBFV0syVW5pdFRl
c3RCYXNlOjp3YWl0VW50aWxMb2FkRmluaXNoZWQoZG91YmxlIHRpbWVvdXRTZWNvbmRzKQogewot
ICAgIGJvb2wgbG9hZEZpbmlzaGVkID0gZmFsc2U7CisgICAgTG9hZEZpbmlzaGVkRGF0YSBkYXRh
KHRpbWVvdXRTZWNvbmRzLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVPdXRX
aGlsZVdhaXRpbmdVbnRpbExvYWRGaW5pc2hlZCkpOwogCi0gICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKG1fd2ViVmlldywgImxvYWQsZmluaXNoZWQiLCBvbkxvYWRGaW5pc2hlZCwg
JmxvYWRGaW5pc2hlZCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1fd2Vi
VmlldywgImxvYWQsZmluaXNoZWQiLCBvbkxvYWRGaW5pc2hlZCwgJmRhdGEpOwogCi0gICAgd2hp
bGUgKCFsb2FkRmluaXNoZWQpCisgICAgd2hpbGUgKCFkYXRhLmxvYWRGaW5pc2hlZCkKICAgICAg
ICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUoKTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2Nh
bGxiYWNrX2RlbChtX3dlYlZpZXcsICJsb2FkLGZpbmlzaGVkIiwgb25Mb2FkRmluaXNoZWQpOwor
CisgICAgcmV0dXJuICFkYXRhLmRpZFRpbWVPdXQ7CiB9CiAKIHN0cnVjdCBUaXRsZUNoYW5nZWRE
YXRhIHsKKyAgICBUaXRsZUNoYW5nZWREYXRhKGNvbnN0IGNoYXIqIHRpdGxlLCBkb3VibGUgdGlt
ZW91dFNlY29uZHMsIEVjb3JlX1Rhc2tfQ2IgY2FsbGJhY2spCisgICAgICAgIDogZXhwZWN0ZWRU
aXRsZSh0aXRsZSkKKyAgICAgICAgLCBkb25lKGZhbHNlKQorICAgICAgICAsIHRpbWVyKDApCisg
ICAgICAgICwgZGlkVGltZU91dChmYWxzZSkKKyAgICB7CisgICAgICAgIGlmICh0aW1lb3V0U2Vj
b25kcyA+PSAwKQorICAgICAgICAgICAgdGltZXIgPSBlY29yZV90aW1lcl9hZGQodGltZW91dFNl
Y29uZHMsIGNhbGxiYWNrLCB0aGlzKTsKKyAgICB9CisKKyAgICB+VGl0bGVDaGFuZ2VkRGF0YSgp
CisgICAgeworICAgICAgICBpZiAodGltZXIpCisgICAgICAgICAgICBlY29yZV90aW1lcl9kZWwo
dGltZXIpOworICAgIH0KKwogICAgIENTdHJpbmcgZXhwZWN0ZWRUaXRsZTsKICAgICBib29sIGRv
bmU7CisgICAgRWNvcmVfVGltZXIqIHRpbWVyOworICAgIGJvb2wgZGlkVGltZU91dDsKIH07CiAK
IHN0YXRpYyB2b2lkIG9uVGl0bGVDaGFuZ2VkKHZvaWQqIHVzZXJEYXRhLCBFdmFzX09iamVjdCog
d2ViVmlldywgdm9pZCogZXZlbnRJbmZvKQogewogICAgIFRpdGxlQ2hhbmdlZERhdGEqIGRhdGEg
PSBzdGF0aWNfY2FzdDxUaXRsZUNoYW5nZWREYXRhKj4odXNlckRhdGEpOwogCi0gICAgaWYgKCFz
dHJjbXAoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcpLCBkYXRhLT5leHBlY3RlZFRpdGxlLmRh
dGEoKSkpCi0gICAgICAgIGRhdGEtPmRvbmUgPSB0cnVlOworICAgIGlmIChzdHJjbXAoZXdrX3Zp
ZXdfdGl0bGVfZ2V0KHdlYlZpZXcpLCBkYXRhLT5leHBlY3RlZFRpdGxlLmRhdGEoKSkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmIChkYXRhLT50aW1lcikgeworICAgICAgICBlY29yZV90aW1l
cl9kZWwoZGF0YS0+dGltZXIpOworICAgICAgICBkYXRhLT50aW1lciA9IDA7CisgICAgfQorCisg
ICAgZGF0YS0+ZG9uZSA9IHRydWU7CiB9CiAKLXZvaWQgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVu
dGlsVGl0bGVDaGFuZ2VkVG8oY29uc3QgY2hhciogZXhwZWN0ZWRUaXRsZSkKK3N0YXRpYyBib29s
IHRpbWVPdXRXaGlsZVdhaXRpbmdVbnRpbFRpdGxlQ2hhbmdlZFRvKHZvaWQqIHVzZXJEYXRhKQog
ewotICAgIFRpdGxlQ2hhbmdlZERhdGEgZGF0YSA9IHsgZXhwZWN0ZWRUaXRsZSwgZmFsc2UgfTsK
KyAgICBUaXRsZUNoYW5nZWREYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8VGl0bGVDaGFuZ2VkRGF0
YSo+KHVzZXJEYXRhKTsKKworICAgIGRhdGEtPnRpbWVyID0gMDsKKworICAgIGlmIChkYXRhLT5k
b25lKQorICAgICAgICByZXR1cm4gRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOworCisgICAgZGF0YS0+
ZG9uZSA9IHRydWU7CisgICAgZGF0YS0+ZGlkVGltZU91dCA9IHRydWU7CisKKyAgICByZXR1cm4g
RUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOworfQorCitib29sIEVXSzJVbml0VGVzdEJhc2U6OndhaXRV
bnRpbFRpdGxlQ2hhbmdlZFRvKGNvbnN0IGNoYXIqIGV4cGVjdGVkVGl0bGUsIGRvdWJsZSB0aW1l
b3V0U2Vjb25kcykKK3sKKyAgICBUaXRsZUNoYW5nZWREYXRhIGRhdGEoZXhwZWN0ZWRUaXRsZSwg
dGltZW91dFNlY29uZHMsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZU91dFdo
aWxlV2FpdGluZ1VudGlsVGl0bGVDaGFuZ2VkVG8pKTsKKwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2FkZChtX3dlYlZpZXcsICJ0aXRsZSxjaGFuZ2VkIiwgb25UaXRsZUNoYW5nZWQs
ICZkYXRhKTsKIAogICAgIHdoaWxlICghZGF0YS5kb25lKQogICAgICAgICBlY29yZV9tYWluX2xv
b3BfaXRlcmF0ZSgpOwogCiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfZGVsKG1fd2Vi
VmlldywgInRpdGxlLGNoYW5nZWQiLCBvblRpdGxlQ2hhbmdlZCk7CisKKyAgICByZXR1cm4gIWRh
dGEuZGlkVGltZU91dDsKIH0KIAogdm9pZCBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKGlu
dCB4LCBpbnQgeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgK
aW5kZXggNzE3NjA3ODk3ZjIzYTVkYjc0ZGQ0ZGQyYTA2Y2RiY2FlMWNjOTZmZS4uZGJkZDA4NjUy
YmI1MmQ4MGZiN2UxNWFkZTlkZjRhNWE0NjU3NjVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RV
dGlscy9FV0syVW5pdFRlc3RCYXNlLmgKQEAgLTQxLDggKzQxLDggQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgdm9pZCBUZWFyRG93bigpOwogCiAgICAgdm9pZCBsb2FkVXJsU3luYyhjb25zdCBj
aGFyKiB1cmwpOwotICAgIHZvaWQgd2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7Ci0gICAgdm9pZCB3
YWl0VW50aWxUaXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlKTsKKyAgICBi
b29sIHdhaXRVbnRpbExvYWRGaW5pc2hlZChkb3VibGUgdGltZW91dFNlY29uZHMgPSAtMSk7Cisg
ICAgYm9vbCB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxl
LCBkb3VibGUgdGltZW91dFNlY29uZHMgPSAtMSk7CiAgICAgdm9pZCBtb3VzZUNsaWNrKGludCB4
LCBpbnQgeSk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>