<?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>21794</bug_id>
          
          <creation_ts>2008-10-22 07:51:05 -0700</creation_ts>
          <short_desc>Middle-click panning should be springloaded while dragging</short_desc>
          <delta_ts>2009-07-27 11:37:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>bksening</cc>
    
    <cc>jhoneycutt</cc>
    
    <cc>lsegal</cc>
    
    <cc>pkasting</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96167</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-10-22 07:51:05 -0700</bug_when>
    <thetext>There are two panning modes in Firefox and IE: springloaded and non-springloaded:

Springloaded: Panning only occurs while the middle mouse button is down. This is triggered by a middle-mouse-button-drag.

Non-springloaded: Panning occurs between the first middle-click and a subsequent middle-click. This is triggered by a middle-click.

WebKit currently only implements the non-springloaded behavior. We need to implement the springloaded behavior.

To reproduce:

1. Go to any web page
2. Resize the Safari window so that the page has scroll bars
3. Press the middle mouse button and hold it down
4. Move the mouse around while holding down the middle mouse button
5. Release the middle mouse button

After step 5, panning mode should be aborted. Instead, panning mode continues until you click the middle mouse button again.

This is a difference from middle-click panning behavior in Firefox and IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96168</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-10-22 07:51:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/6310538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107302</commentid>
    <comment_count>2</comment_count>
      <attachid>27098</attachid>
    <who name="Loren Segal">lsegal</who>
    <bug_when>2009-01-28 01:05:57 -0800</bug_when>
    <thetext>Created attachment 27098
Turn off pan scrolling when middle mouse button is released during a drag gesture

Had to refactor a little of setPanScrollCursor() to detect if the mouse is scrolling-- is there a better way to do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107346</commentid>
    <comment_count>3</comment_count>
      <attachid>27098</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-01-28 10:42:51 -0800</bug_when>
    <thetext>Comment on attachment 27098
Turn off pan scrolling when middle mouse button is released during a drag gesture

Thanks for the patch!

&gt; +#if ENABLE(PAN_SCROLLING)
&gt; +        if (m_panScrollInProgress &amp;&amp; mouseEvent.button() == MiddleButton  
&gt; +            &amp;&amp; selectPanScrollCursor().impl().type() != middlePanningCursor().impl().type()) {

I don&apos;t think this will compile on all platforms (most platforms&apos; PlatformCursor types do not have a type() function).

Loren&apos;s going to refactor this patch a bit to add something like a panScrollingDirection() function that can be used both to decide the cursor and to decide whether to do spring-loaded scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107419</commentid>
    <comment_count>4</comment_count>
      <attachid>27128</attachid>
    <who name="Loren Segal">lsegal</who>
    <bug_when>2009-01-28 15:30:00 -0800</bug_when>
    <thetext>Created attachment 27128
Turn off pan scroll when middle button is released in a drag gesture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107540</commentid>
    <comment_count>5</comment_count>
      <attachid>27128</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-01-29 10:32:51 -0800</bug_when>
    <thetext>Comment on attachment 27128
Turn off pan scroll when middle button is released in a drag gesture

&gt; Index: ChangeLog
&gt; ===================================================================
&gt; --- ChangeLog	(revision 40333)
&gt; +++ ChangeLog	(working copy)
&gt; @@ -1,3 +1,12 @@
&gt; +2009-01-28  Loren Segal  &lt;lsegal@soen.ca&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Turn off pan scrolling when middle mouse button is released during a mouse drag gesture.

You should mention the bug title and URL in your ChangeLog.

&gt; +
&gt; +        * page/EventHandler.cpp:
&gt; +        * page/EventHandler.h:

The prepare-ChangeLog script will insert the names of the functions you modified. You should make a comment about each function you modified explaining your change.

&gt; +++ page/EventHandler.h	(working copy)
&gt; @@ -216,8 +216,22 @@ private:
&gt;      void handleKeyboardSelectionMovement(KeyboardEvent*);
&gt;      
&gt;      Cursor selectCursor(const MouseEventWithHitTestResults&amp;, Scrollbar*);
&gt; +    Cursor selectPanScrollCursor();
&gt;      void setPanScrollCursor();

I don&apos;t think we need selectPanScrollCursor anymore. You can just put the code into setPanScrollCursor. That should lead to a smaller diff.

&gt; @@ -299,6 +313,7 @@ private:
&gt;  
&gt;      IntPoint m_panScrollStartPos;
&gt;      bool m_panScrollInProgress;
&gt; +    bool m_panScrollIsScrolling;

The name &quot;m_panScrollIsScrolling&quot; is a little confusing when taken together with m_panScrollInProgress. I&apos;d suggest something like m_panScrollHasScrolled or m_panScrollHasScrolledSinceStarting.

Let&apos;s take care of these last few issues and get this landed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107580</commentid>
    <comment_count>6</comment_count>
      <attachid>27160</attachid>
    <who name="Loren Segal">lsegal</who>
    <bug_when>2009-01-29 14:18:32 -0800</bug_when>
    <thetext>Created attachment 27160
Middle click panning</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107581</commentid>
    <comment_count>7</comment_count>
      <attachid>27160</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-01-29 14:21:14 -0800</bug_when>
    <thetext>Comment on attachment 27160
Middle click panning

&gt; +#if ENABLE(PAN_SCROLLING)
&gt; +    if (m_panScrollInProgress &amp;&amp; !m_panScrollHasScrolled &amp;&amp; panScrollDirection() != PanScrollNone) {
&gt; +        m_panScrollHasScrolled = true;
&gt; +    }
&gt; +#endif

We normally leave off braces around single-line ifs. I can fix this up before landing the patch.

&gt; +    PanScrollDirection panScrollDirection();

I think this can be a const member function. I&apos;ll fix that, too.

Looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107586</commentid>
    <comment_count>8</comment_count>
      <attachid>27160</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-01-29 14:38:53 -0800</bug_when>
    <thetext>Comment on attachment 27160
Middle click panning

I tried applying this patch, but now pan-scrolling seems buggy. I haven&apos;t yet gotten a springloaded scroll to scroll the page at all. Worse, after trying a springloaded scroll, non-springloaded scrolls seem to stay broken for a while, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107752</commentid>
    <comment_count>9</comment_count>
    <who name="Loren Segal">lsegal</who>
    <bug_when>2009-01-30 12:43:48 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 27160 [review])
&gt; I tried applying this patch, but now pan-scrolling seems buggy. I haven&apos;t yet
&gt; gotten a springloaded scroll to scroll the page at all. Worse, after trying a
&gt; springloaded scroll, non-springloaded scrolls seem to stay broken for a while,
&gt; too.

Could you explain the issue in a little more detail? I applied this patch on Chrome under Windows and it works just fine here. 

I also compiled WebKit under OS X (and enabling PAN_SCROLLING) and the release code worked. I noticed that under OS X the pan behaviour was a little wonky (scroll directions seem to work backwards), so I unapplied the patch to see if it was my code but the same behaviour remained without my patch. Maybe what you&apos;re seeing is a pre-existing/unrelated issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117603</commentid>
    <comment_count>10</comment_count>
      <attachid>29499</attachid>
    <who name="Itai">idanan</who>
    <bug_when>2009-04-15 08:16:43 -0700</bug_when>
    <thetext>Created attachment 29499
WebKit Option For Springloaded Autoscroll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117619</commentid>
    <comment_count>11</comment_count>
      <attachid>29499</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-15 11:08:28 -0700</bug_when>
    <thetext>Comment on attachment 29499
WebKit Option For Springloaded Autoscroll

indentation should be 4 white spaces.  please review the webkit style guide: http://webkit.org/coding/coding-style.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117626</commentid>
    <comment_count>12</comment_count>
      <attachid>29506</attachid>
    <who name="Itai">idanan</who>
    <bug_when>2009-04-15 11:25:31 -0700</bug_when>
    <thetext>Created attachment 29506
Updated version of previous patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117627</commentid>
    <comment_count>13</comment_count>
    <who name="Itai">idanan</who>
    <bug_when>2009-04-15 11:28:23 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 29499 [review])
&gt; indentation should be 4 white spaces.  please review the webkit style guide:
&gt; http://webkit.org/coding/coding-style.html
&gt; 

Thanks for the review. BTW, it sounded like I did not follow the style guide at all, I only found one line incorrectly indented line. I would appreciate it if the comments told me where to look next time. I&apos;ve uploaded a correct patch for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117630</commentid>
    <comment_count>14</comment_count>
      <attachid>29506</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-04-15 11:32:17 -0700</bug_when>
    <thetext>Comment on attachment 29506
Updated version of previous patch

&gt; Index: WebCore/ChangeLog
...
&gt; +2009-04-15  Itai Danan  &lt;set EMAIL_ADDRESS environment variable&gt;
&gt; +        As per Bug 21794 (https://bugs.webkit.org/show_bug.cgi?id=21794),
&gt; +	added an option for springloaded panscroll instead of sticky
&gt; +	scroll. To understand why this is required see the discussion in
&gt; +	issue 24722 (https://bugs.webkit.org/show_bug.cgi?id=24722).	

^^^ please replace tab characters with spaces.


&gt; Index: WebCore/page/EventHandler.cpp
...
&gt;      m_currentMousePosition = mouseEvent.pos();
&gt;  
&gt; +    if (!m_frame-&gt;settings()-&gt;stickyPanScroll())
&gt; +      if (m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame()-&gt;eventHandler()-&gt;panScrollInProgress() || m_autoscrollInProgress) {
&gt; +        stopAutoscrollTimer();
&gt; +        invalidateClick();
&gt; +        return true;
&gt; +      }
&gt; +

^^^ please change to use 4 space indentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>117637</commentid>
    <comment_count>15</comment_count>
      <attachid>29508</attachid>
    <who name="Itai">idanan</who>
    <bug_when>2009-04-15 11:42:34 -0700</bug_when>
    <thetext>Created attachment 29508
Version with corrected tabs and indentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>118699</commentid>
    <comment_count>16</comment_count>
    <who name="Itai">idanan</who>
    <bug_when>2009-04-24 12:39:23 -0700</bug_when>
    <thetext>All review comments were addressed (see latest patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120721</commentid>
    <comment_count>17</comment_count>
      <attachid>29508</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-11 14:06:34 -0700</bug_when>
    <thetext>Comment on attachment 29508
Version with corrected tabs and indentation

&gt; Index: WebCore/ChangeLog
&gt; +2009-04-15  Itai Danan  &lt;idanan@chromium.org&gt;
&gt; +        As per Bug 21794 (https://bugs.webkit.org/show_bug.cgi?id=21794),
&gt; +        added an option for springloaded panscroll instead of sticky
&gt; +        scroll. To understand why this is required see the discussion in
&gt; +        issue 24722 (https://bugs.webkit.org/show_bug.cgi?id=24722).
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

please put the description below the &quot;reviewed by&quot; and please add a new line
after the line with your name.


&gt; Index: WebCore/page/Settings.h
...
&gt;  
&gt; +        void setStickyPanScroll(bool);
&gt; +        bool stickyPanScroll() const { return m_stickyPanScroll; }

please add a comment explaining what &apos;sticky pan scrolling&apos; is</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121442</commentid>
    <comment_count>18</comment_count>
      <attachid>29508</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-14 22:23:02 -0700</bug_when>
    <thetext>Comment on attachment 29508
Version with corrected tabs and indentation

Darin Fisher is not the only capable reviewer here, and may not even be the best one.  Better to leave the review w/o a specific reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122558</commentid>
    <comment_count>19</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-21 23:21:53 -0700</bug_when>
    <thetext>I&apos;d like some input from Jon, if possible, since he reviewed the patch on the cited related bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122797</commentid>
    <comment_count>20</comment_count>
      <attachid>29508</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-05-22 22:07:38 -0700</bug_when>
    <thetext>Comment on attachment 29508
Version with corrected tabs and indentation

&gt; Index: WebCore/ChangeLog
&gt; ===================================================================
&gt; --- WebCore/ChangeLog	(revision 42539)
&gt; +++ WebCore/ChangeLog	(working copy)
&gt; @@ -1,3 +1,20 @@
&gt; +2009-04-15  Itai Danan  &lt;idanan@chromium.org&gt;
&gt; +        As per Bug 21794 (https://bugs.webkit.org/show_bug.cgi?id=21794),
&gt; +        added an option for springloaded panscroll instead of sticky
&gt; +        scroll. To understand why this is required see the discussion in
&gt; +        issue 24722 (https://bugs.webkit.org/show_bug.cgi?id=24722).
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * page/EventHandler.cpp:
&gt; +        (WebCore::EventHandler::handleMousePressEvent):
&gt; +        (WebCore::EventHandler::handleMouseReleaseEvent):
&gt; +        * page/Settings.cpp:
&gt; +        (WebCore::Settings::Settings):
&gt; +        (WebCore::Settings::setStickyPanScroll):
&gt; +        * page/Settings.h:
&gt; +        (WebCore::Settings::stickyPanScroll):
&gt; +

Please fill out your ChangeLog to describe the changes you are making to each function, unless the change is something very trivial, such as adding a getter or setter. It&apos;s usually safe to be more rather than less verbose - see other entries in the ChangeLog for examples.

&gt; Index: WebCore/page/EventHandler.cpp
&gt; ===================================================================
&gt; --- WebCore/page/EventHandler.cpp	(revision 42539)
&gt; +++ WebCore/page/EventHandler.cpp	(working copy)
&gt; @@ -1102,11 +1102,12 @@ bool EventHandler::handleMousePressEvent
&gt;  
&gt;  #if ENABLE(PAN_SCROLLING)
&gt;      Page* page = m_frame-&gt;page();
&gt; -    if (page &amp;&amp; page-&gt;mainFrame()-&gt;eventHandler()-&gt;panScrollInProgress() || m_autoscrollInProgress) {
&gt; -        stopAutoscrollTimer();
&gt; -        invalidateClick();
&gt; -        return true;
&gt; -    }
&gt; +    if (m_frame-&gt;settings()-&gt;stickyPanScroll())
&gt; +        if (page &amp;&amp; page-&gt;mainFrame()-&gt;eventHandler()-&gt;panScrollInProgress() || m_autoscrollInProgress) {
&gt; +            stopAutoscrollTimer();
&gt; +            invalidateClick();
&gt; +            return true;
&gt; +        }

WebKit style requires multiline control clauses to have braces, and you should join these into one statement:

if (m_frame-&gt;settings()-&gt;stickyPanScroll() &amp;&amp;
    (page &amp;&amp; page-&gt;mainFrame()-&gt;eventHandler()-&gt;panScrollInProgress() || m_autoscrollInProgress)) {

&gt;      
&gt;      if (mouseEvent.button() == MiddleButton &amp;&amp; !mev.isOverLink()) {
&gt;          RenderObject* renderer = mev.targetNode()-&gt;renderer();
&gt; @@ -1348,6 +1349,13 @@ bool EventHandler::handleMouseReleaseEve
&gt;      m_mousePressed = false;
&gt;      m_currentMousePosition = mouseEvent.pos();
&gt;  
&gt; +    if (!m_frame-&gt;settings()-&gt;stickyPanScroll())
&gt; +        if (m_frame-&gt;page() &amp;&amp; m_frame-&gt;page()-&gt;mainFrame()-&gt;eventHandler()-&gt;panScrollInProgress() || m_autoscrollInProgress) {
&gt; +            stopAutoscrollTimer();
&gt; +            invalidateClick();
&gt; +            return true;
&gt; +        }
&gt; +

Same comment as above.

&gt; Index: WebCore/page/Settings.cpp
&gt; ===================================================================
&gt; --- WebCore/page/Settings.cpp	(revision 42539)
&gt; +++ WebCore/page/Settings.cpp	(working copy)
&gt; @@ -90,6 +90,7 @@ Settings::Settings(Page* page)
&gt;      , m_usesEncodingDetector(false)
&gt;      , m_maximumDecodedImageSize(std::numeric_limits&lt;size_t&gt;::max())
&gt;      , m_allowScriptsToCloseWindows(false)
&gt; +    , m_stickyPanScroll(true)
&gt;  {
&gt;      // A Frame may not have been created yet, so we initialize the AtomicString 
&gt;      // hash before trying to use it.
&gt; @@ -435,4 +436,9 @@ void Settings::setAllowScriptsToCloseWin
&gt;      m_allowScriptsToCloseWindows = allowScriptsToCloseWindows;
&gt;  }
&gt;  
&gt; +void Settings::setStickyPanScroll(bool stickyPanScroll)
&gt; +{
&gt; +    m_stickyPanScroll = stickyPanScroll;
&gt; +}
&gt; +

We usually place the definition of setters in the header file.

&gt;  } // namespace WebCore
&gt; Index: WebCore/page/Settings.h
&gt; ===================================================================
&gt; --- WebCore/page/Settings.h	(revision 42539)
&gt; +++ WebCore/page/Settings.h	(working copy)
&gt; @@ -214,6 +214,9 @@ namespace WebCore {
&gt;          void setAllowScriptsToCloseWindows(bool);
&gt;          bool allowScriptsToCloseWindows() const { return m_allowScriptsToCloseWindows; }
&gt;  
&gt; +        void setStickyPanScroll(bool);
&gt; +        bool stickyPanScroll() const { return m_stickyPanScroll; }
&gt; +

I think this would be more clear if you added the word &quot;uses&quot;, e.g. usesStickyPanScroll().

Thanks for the patch! r- for the issues above, but other than the style issues, it looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123314</commentid>
    <comment_count>21</comment_count>
      <attachid>30713</attachid>
    <who name="Itai">idanan</who>
    <bug_when>2009-05-27 12:42:36 -0700</bug_when>
    <thetext>Created attachment 30713
Comments by John Honeycutt addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123321</commentid>
    <comment_count>22</comment_count>
      <attachid>30713</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-05-27 13:49:40 -0700</bug_when>
    <thetext>Comment on attachment 30713
Comments by John Honeycutt addressed

&gt; Index: WebCore/ChangeLog
&gt; ===================================================================
&gt; --- WebCore/ChangeLog	(revision 44197)
&gt; +++ WebCore/ChangeLog	(working copy)
&gt; @@ -1,3 +1,23 @@
&gt; +2009-05-27  Itai Danan  &lt;idanan@chromium.org&gt;
&gt; +
&gt; +        Reviewed by jhoneycutt@apple.com.

We usually use the reviewer&apos;s name; I&apos;m Jon Honeycutt.

&gt; +
&gt; +        As per Bug 21794 (https://bugs.webkit.org/show_bug.cgi?id=21794),
&gt; +	added an option for springloaded panscroll instead of sticky
&gt; +	scroll. To understand why this is required see the discussion in
&gt; +	issue 24722 (https://bugs.webkit.org/show_bug.cgi?id=24722).
&gt; +
&gt; +        * page/EventHandler.cpp:
&gt; +        (WebCore::EventHandler::handleMousePressEvent): Use autoscroll behavior flag to determine
&gt; +	if autoscroll needs to be released on this event.
&gt; +        (WebCore::EventHandler::handleMouseReleaseEvent):  Use autoscroll behavior flag to determine
&gt; +	if autoscroll needs to be released on this event (reverse logic of for Press event).

I think you added some tabs here. WebKit uses 4 spaces for indentation.

r=me if you fix the tabs. Thanks for the patch, Itai!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123325</commentid>
    <comment_count>23</comment_count>
      <attachid>30716</attachid>
    <who name="Itai">idanan</who>
    <bug_when>2009-05-27 14:07:22 -0700</bug_when>
    <thetext>Created attachment 30716
Tabs removed from ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123341</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-05-27 17:07:30 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 30713 [review])
&gt; &gt; Index: WebCore/ChangeLog
&gt; &gt; ===================================================================
&gt; &gt; --- WebCore/ChangeLog	(revision 44197)
&gt; &gt; +++ WebCore/ChangeLog	(working copy)
&gt; &gt; @@ -1,3 +1,23 @@
&gt; &gt; +2009-05-27  Itai Danan  &lt;idanan@chromium.org&gt;
&gt; &gt; +
&gt; &gt; +        Reviewed by jhoneycutt@apple.com.
&gt; 
&gt; We usually use the reviewer&apos;s name; I&apos;m Jon Honeycutt.

But we also normally don&apos;t put any reviewer&apos;s name in patches that are up for review. The committer fills in the reviewer&apos;s name when it&apos;s time to commit the patch. The &quot;NOBODY (OOPS!)&quot; text should be left in, because a pre-commit hook searches for this to make sure that a reviewer was listed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123570</commentid>
    <comment_count>25</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-29 11:13:27 -0700</bug_when>
    <thetext>Assign to levin for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123580</commentid>
    <comment_count>26</comment_count>
      <attachid>30716</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-05-29 11:45:50 -0700</bug_when>
    <thetext>Comment on attachment 30716
Tabs removed from ChangeLog

This patch really should have been attached to bug 24791. Maybe Dave can update the ChangeLog to mention that bug when landing, instead of mentioning this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123581</commentid>
    <comment_count>27</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-29 11:50:18 -0700</bug_when>
    <thetext>Note to levin need to close the other bug and leave this one open when landing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123624</commentid>
    <comment_count>28</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-05-29 15:19:57 -0700</bug_when>
    <thetext>I don&apos;t understand what Itai&apos;s patch does, or why it was r+ed and landed.

It looks like it adds an option to toggle between &quot;always do sticky autoscroll&quot; (the old behavior) and &quot;always do spring-loaded autoscroll&quot;.

If this is in fact what it does, no client wants this.  Certainly what Chromium wants (and what I suspect Safari will want) is more what Loren&apos;s patch aimed for: spring-loaded autoscroll on drag, sticky otherwise.

Can someone explain what benefit this patch has?  If not, I intend to revert it after a reasonable amount of time has passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123628</commentid>
    <comment_count>29</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-05-29 15:22:23 -0700</bug_when>
    <thetext>Furthermore, the patch justifies itself by referring to bug 24791, but that bug is about preffing-off autoscroll entirely.

This whole thing is just confused-looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123642</commentid>
    <comment_count>30</comment_count>
      <attachid>30716</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-29 16:11:33 -0700</bug_when>
    <thetext>Comment on attachment 30716
Tabs removed from ChangeLog

Removing the r+ to move this out of the commit queue.  

For better or worse, it was committed as http://trac.webkit.org/changeset/44276

Itai, please don&apos;t mark your own patches as r+.  I was able to piece together why this patch was an r+ (without your r+) so I committed it on that basis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123643</commentid>
    <comment_count>31</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-29 16:12:55 -0700</bug_when>
    <thetext>Giving it back to unassigned since the patch has been landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123644</commentid>
    <comment_count>32</comment_count>
      <attachid>30713</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-05-29 16:14:33 -0700</bug_when>
    <thetext>Comment on attachment 30713
Comments by John Honeycutt addressed

Removing jhoneycutt&apos;s r+ to move this out of the commit queue.  The patch with the r+ was landed as noted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123832</commentid>
    <comment_count>33</comment_count>
    <who name="Itai">idanan</who>
    <bug_when>2009-06-01 07:01:15 -0700</bug_when>
    <thetext>Sorry for not doing the right thing. Unfortunately, I am still confused as
what some of this means. The patch was r+ by Jon Honeycutt when he said to
fix some tabs and reupload. Upon the upload, I left the r+. I did not know
that the status could be set to &quot;none&quot; which is what it is at now.

I&apos;m not going touch anything other flags now for fear of not doing the
right thing but someone should probably resolve sine it has been implemented.
It is the responsibility of the browsers to use the preference as needed.

(In reply to comment #30)
&gt; (From update of attachment 30716 [review])
&gt; Removing the r+ to move this out of the commit queue.  
&gt; 
&gt; For better or worse, it was committed as http://trac.webkit.org/changeset/44276
&gt; 
&gt; Itai, please don&apos;t mark your own patches as r+.  I was able to piece together
&gt; why this patch was an r+ (without your r+) so I committed it on that basis.
&gt; </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123834</commentid>
    <comment_count>34</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-01 07:10:49 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; someone should probably resolve sine it has been implemented.
&gt; It is the responsibility of the browsers to use the preference as needed.

Itai, your patch should have been attached to bug 24791, not this bug. Bug 24791 was about implementing a preference, and has been marked RESOLVED/FIXED since your patch landed.

This bug is about a different issue: performing the sequence &quot;middle down, middle up, move&quot; should leave you in pan-to-scroll mode (as it does today), but performing the sequence &quot;middle down, move, middle up&quot; should stop the pan-to-scroll (this is the &quot;springloaded&quot; behavior).

The preference is an entirely separate issue (which is why it&apos;s represented by a different bug, even though your patches ended up mistakenly attached to this one).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123835</commentid>
    <comment_count>35</comment_count>
    <who name="Itai">idanan</who>
    <bug_when>2009-06-01 07:22:43 -0700</bug_when>
    <thetext>See inline:

(In reply to comment #28)
&gt; I don&apos;t understand what Itai&apos;s patch does, or why it was r+ed and landed.

Not sure where the confusion comes from but clearly there is some, perhaps because a number 
of bugs sound very similar. The title of this one is &quot;Middle-click panning should be springloaded
while dragging&quot; which is implemented by this patch as a WebKit option. Originally I had simply
fixed it in another webkit patch (24722) but that was rejected under the grounds that some people
wanted this behavior as an option, although there was agreement (see comments there) that the
springloaded behavior was desirable.

&gt; It looks like it adds an option to toggle between &quot;always do sticky autoscroll&quot;
&gt; (the old behavior) and &quot;always do spring-loaded autoscroll&quot;.
Correct.

&gt; If this is in fact what it does, no client wants this.  Certainly what Chromium
&gt; wants (and what I suspect Safari will want) is more what Loren&apos;s patch aimed
&gt; for: spring-loaded autoscroll on drag, sticky otherwise.
That is wrong. See below.

&gt; Can someone explain what benefit this patch has?  If not, I intend to revert it
&gt; after a reasonable amount of time has passed.

The behavior for prior to this patch was problematic because when one accidentally middle-clicks
on something the user inadvertently enters autoscroll mode and the page often moves unpredicatbly.
This occurs a lot and is extremely annoying to some users. You can read the long threads attached
to Chromium issues 5759 and 5162. For example, comment#9 is typical:

&quot;I was so happy Chrome didn&apos;t have this feature for a long time (or at least it never 
worked on my PC I just didn&apos;t know about it) and then I updated to the latest chrome 
last week (around 5/23/09) and now I am ALWAYS accidentally middle clicking and the 
webpage FLYS  AROUND as I try to regain control again.&quot;

The code here gives an option that allows WebKit to expose either this behavior or the one
described here which is a more efficient way of scrolling and does not exhibit the problem
reported by our users:
- Spring loaded autoscroll means that users come of autoscroll automatically upon mouse up.
So they don&apos;t lose the position on their page.
- In sticky mode, it takes 5 actions (down, up, drag, down, up) to move the page and be
able to interact with it. In sringloaded mode, it takes 3 actions &quot;down, drag, up&quot;.

Now, I do see that a number of very similar bugs (but not identical) were filed in both
WebKit and Chromium which may have led to some confusion but clearly show that users are
having issues here. WebKit now has the luxury of providing both types of autoscroll and
also address the problem of accidentally entering autoscroll mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123836</commentid>
    <comment_count>36</comment_count>
    <who name="Itai">idanan</who>
    <bug_when>2009-06-01 07:27:49 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; (In reply to comment #33)
&gt; &gt; someone should probably resolve sine it has been implemented.
&gt; &gt; It is the responsibility of the browsers to use the preference as needed.
&gt; 
&gt; Itai, your patch should have been attached to bug 24791, not this bug. Bug
&gt; 24791 was about implementing a preference, and has been marked RESOLVED/FIXED
&gt; since your patch landed.
&gt; 
&gt; This bug is about a different issue: performing the sequence &quot;middle down,
&gt; middle up, move&quot; should leave you in pan-to-scroll mode (as it does today), but
&gt; performing the sequence &quot;middle down, move, middle up&quot; should stop the
&gt; pan-to-scroll (this is the &quot;springloaded&quot; behavior).
&gt; 
&gt; The preference is an entirely separate issue (which is why it&apos;s represented by
&gt; a different bug, even though your patches ended up mistakenly attached to this
&gt; one).
&gt; 
Adam, I hope the comment I just wrote clears some confusion about this but neither
issue covers both cases as the patch which I submitted does. Bug 24791 is about
disabling this entirely while this bug is about have both behaviors. The given
gives both behaviors as requested by this issue. It does so in a manner that
should greatly reduce the reasons for requesting patch 24791.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123842</commentid>
    <comment_count>37</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-06-01 09:59:00 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; The title of this one is &quot;Middle-click panning
&gt; should be springloaded
&gt; while dragging&quot; which is implemented by this patch as a WebKit option.

No, according to you (and my reading of the patch code), this implements &quot;Middle-click panning should be springloaded always&quot; as an option.

&gt; &gt; If this is in fact what it does, no client wants this.  Certainly what Chromium
&gt; &gt; wants (and what I suspect Safari will want) is more what Loren&apos;s patch aimed
&gt; &gt; for: spring-loaded autoscroll on drag, sticky otherwise.
&gt; That is wrong. See below.

Your pasted motivation below is a user comment on a Chromium bug.  This comment implies nothing about what Chromium as a WebKit client is actually going to do.  What Chromium wants, as explicitly specified by the UI design team, is to springload autoscroll on middle-click drag, and to have sticky autoscroll on middle click, with no options.  This is also exactly what this bug requests, and what Loren&apos;s original patch was aiming for.

Furthermore, even if the comment was somehow representative of Chromium&apos;s design position, it requests the ability to toggle off autoscrolling entirely, a la bug 24791, not the option you have implemented here.

I am now convinced that the patch as landed is undesirable to everyone and should be backed out entirely.  It never belonged on this bug to begin with.

Itai, next time you want to &quot;fix&quot; some Chromium bugs upstream, clear your solutions with the Chromium UI team *before* implementing them, not after or, in this case, never.  See the email thread Ben Goodger started recently on chromium-dev@.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124057</commentid>
    <comment_count>38</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-06-02 14:45:22 -0700</bug_when>
    <thetext>Reverted r44276 in r44371.  The desired behavior for this bug (and for Chromium downstream) is something more like what Loren&apos;s patch series was going for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124060</commentid>
    <comment_count>39</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-06-02 14:57:01 -0700</bug_when>
    <thetext>Sorry, I should&apos;ve paid closer attention when reviewing this patch. Thanks, Peter, for rolling this change out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124837</commentid>
    <comment_count>40</comment_count>
    <who name="Loren Segal">lsegal</who>
    <bug_when>2009-06-08 16:22:29 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; Reverted r44276 in r44371.  The desired behavior for this bug (and for Chromium
&gt; downstream) is something more like what Loren&apos;s patch series was going for.
&gt; 

So what exactly is the status of this report? There&apos;s still no explanation as to why my patch was dropped. Is there anyone available to re-review this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124838</commentid>
    <comment_count>41</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-06-08 16:26:17 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; So what exactly is the status of this report? There&apos;s still no explanation as
&gt; to why my patch was dropped.

I assume aroben r-ed it due to his notes in comment 8.  I haven&apos;t tested to see if I reproduce them, if the problem is pre-existing, etc.  Tracking those issues down is probably the correct next step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134354</commentid>
    <comment_count>42</comment_count>
      <attachid>33404</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-07-23 20:01:18 -0700</bug_when>
    <thetext>Created attachment 33404
Pan Scrolling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134662</commentid>
    <comment_count>43</comment_count>
      <attachid>33404</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-07-24 14:17:00 -0700</bug_when>
    <thetext>Comment on attachment 33404
Pan Scrolling

&gt; --- a/WebCore/page/EventHandler.cpp
&gt; +++ b/WebCore/page/EventHandler.cpp
&gt; @@ -141,6 +141,8 @@ EventHandler::EventHandler(Frame* frame)
&gt;      , m_mouseDownWasSingleClickInSelection(false)
&gt;      , m_beganSelectingText(false)
&gt;      , m_panScrollInProgress(false)
&gt; +    , m_panScrollButtonPressed(false)
&gt; +    , m_pressedPanScrollInProgress(false)

I think we should stick with the term &quot;spring-loaded pan scroll&quot; rather than &quot;pressed pan scroll&quot;.

&gt; @@ -676,6 +678,9 @@ void EventHandler::setPanScrollCursor()
&gt;      bool north = m_panScrollStartPos.y() &gt; (m_currentMousePosition.y() + ScrollView::noPanScrollRadius);
&gt;      bool south = m_panScrollStartPos.y() &lt; (m_currentMousePosition.y() - ScrollView::noPanScrollRadius);
&gt;           
&gt; +    if ((east || west || north || south) &amp;&amp; m_panScrollButtonPressed)
&gt; +        m_pressedPanScrollInProgress = true;
&gt; +

It&apos;s strange to add this logic to setPanScrollCursor(). We should either move this logic out or rename the function.

r=me, but please fix the above issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134672</commentid>
    <comment_count>44</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-07-24 15:15:54 -0700</bug_when>
    <thetext>Landed in revision 46377.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27098</attachid>
            <date>2009-01-28 01:05:57 -0800</date>
            <delta_ts>2009-01-28 15:30:00 -0800</delta_ts>
            <desc>Turn off pan scrolling when middle mouse button is released during a drag gesture</desc>
            <filename>panscrolling-drag-release-patch.txt</filename>
            <type>text/plain</type>
            <size>3404</size>
            <attacher name="Loren Segal">lsegal</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwMzA2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDEt
MjcgIExvcmVuIFNlZ2FsICA8bHNlZ2FsQHNvZW4uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHVybiBvZmYgcGFuIHNjcm9sbGluZyB3aGVuIG1p
ZGRsZSBtb3VzZSBidXR0b24gaXMgcmVsZWFzZWQKKyAgICAgICAgZHVyaW5nIGEgbW91c2UgZHJh
ZyBnZXN0dXJlLgorCisgICAgICAgICogV2ViQ29yZVxwYWdlXEV2ZW50SGFuZGxlci5jcHA6Cisg
ICAgICAgICogV2ViQ29yZVxwYWdlXEV2ZW50SGFuZGxlci5oOgorCiAyMDA5LTAxLTExICBYYW4g
TG9wZXogIDx4YW5AZ25vbWUub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5
dGhlci4KSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiA0MDMwNikKKysrIFdlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MjIsNyArNjIyLDcg
QEAgdm9pZCBFdmVudEhhbmRsZXI6OmF1dG9zY3JvbGxUaW1lckZpcmVkKAogICAgIH0KIH0KIAot
dm9pZCBFdmVudEhhbmRsZXI6OnNldFBhblNjcm9sbEN1cnNvcigpCitDdXJzb3IgRXZlbnRIYW5k
bGVyOjpzZWxlY3RQYW5TY3JvbGxDdXJzb3IoKQogewogICAgIC8vIEF0IHRoZSBvcmlnaW5hbCBj
bGljayBsb2NhdGlvbiB3ZSBkcmF3IGEgNCBhcnJvd2VkIGljb24uIE92ZXIgdGhpcyBpY29uIHRo
ZXJlIHdvbid0IGJlIGFueSBzY3JvbGwKICAgICAvLyBTbyB3ZSBkb24ndCB3YW50IHRvIGNoYW5n
ZSB0aGUgY3Vyc29yIG92ZXIgdGhpcyBhcmVhCkBAIC02MzQsMjQgKzYzNCwyOSBAQCB2b2lkIEV2
ZW50SGFuZGxlcjo6c2V0UGFuU2Nyb2xsQ3Vyc29yKCkKICAgICAgICAgIAogICAgIGlmIChub3J0
aCkgewogICAgICAgICBpZiAoZWFzdCkKLSAgICAgICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0
Q3Vyc29yKG5vcnRoRWFzdFBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAgICAgICByZXR1cm4gbm9y
dGhFYXN0UGFubmluZ0N1cnNvcigpOwogICAgICAgICBlbHNlIGlmICh3ZXN0KQotICAgICAgICAg
ICAgbV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3Iobm9ydGhXZXN0UGFubmluZ0N1cnNvcigpKTsK
KyAgICAgICAgICAgIHJldHVybiBub3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCk7CiAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKG5vcnRoUGFubmluZ0N1
cnNvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBub3J0aFBhbm5pbmdDdXJzb3IoKTsKICAgICB9
IGVsc2UgaWYgKHNvdXRoKSB7CiAgICAgICAgIGlmIChlYXN0KQotICAgICAgICAgICAgbV9mcmFt
ZS0+dmlldygpLT5zZXRDdXJzb3Ioc291dGhFYXN0UGFubmluZ0N1cnNvcigpKTsKKyAgICAgICAg
ICAgIHJldHVybiBzb3V0aEVhc3RQYW5uaW5nQ3Vyc29yKCk7CiAgICAgICAgIGVsc2UgaWYgKHdl
c3QpCi0gICAgICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldEN1cnNvcihzb3V0aFdlc3RQYW5u
aW5nQ3Vyc29yKCkpOworICAgICAgICAgICAgcmV0dXJuIHNvdXRoV2VzdFBhbm5pbmdDdXJzb3Io
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3Io
c291dGhQYW5uaW5nQ3Vyc29yKCkpOworICAgICAgICAgICAgcmV0dXJuIHNvdXRoUGFubmluZ0N1
cnNvcigpOwogICAgIH0gZWxzZSBpZiAoZWFzdCkKLSAgICAgICAgbV9mcmFtZS0+dmlldygpLT5z
ZXRDdXJzb3IoZWFzdFBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAgIHJldHVybiBlYXN0UGFubmlu
Z0N1cnNvcigpOwogICAgIGVsc2UgaWYgKHdlc3QpCi0gICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+
c2V0Q3Vyc29yKHdlc3RQYW5uaW5nQ3Vyc29yKCkpOworICAgICAgICByZXR1cm4gd2VzdFBhbm5p
bmdDdXJzb3IoKTsKICAgICBlbHNlCi0gICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29y
KG1pZGRsZVBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAgIHJldHVybiBtaWRkbGVQYW5uaW5nQ3Vy
c29yKCk7Cit9CisKK3ZvaWQgRXZlbnRIYW5kbGVyOjpzZXRQYW5TY3JvbGxDdXJzb3IoKQorewor
ICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKHNlbGVjdFBhblNjcm9sbEN1cnNvcigpKTsK
IH0KIAogUmVuZGVyT2JqZWN0KiBFdmVudEhhbmRsZXI6OmF1dG9zY3JvbGxSZW5kZXJlcigpIGNv
bnN0CkBAIC0xMjcxLDYgKzEyNzYsMTMgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNl
UmVsZWFzZUV2ZQogICAgIG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgbV9jdXJyZW50TW91
c2VQb3NpdGlvbiA9IG1vdXNlRXZlbnQucG9zKCk7CiAKKyNpZiBFTkFCTEUoUEFOX1NDUk9MTElO
RykKKyAgICAgICAgaWYgKG1fcGFuU2Nyb2xsSW5Qcm9ncmVzcyAmJiBtb3VzZUV2ZW50LmJ1dHRv
bigpID09IE1pZGRsZUJ1dHRvbiAgCisgICAgICAgICAgICAmJiBzZWxlY3RQYW5TY3JvbGxDdXJz
b3IoKS5pbXBsKCkudHlwZSgpICE9IG1pZGRsZVBhbm5pbmdDdXJzb3IoKS5pbXBsKCkudHlwZSgp
KSB7CisgICAgICAgIHN0b3BBdXRvc2Nyb2xsVGltZXIodHJ1ZSk7CisgICAgfQorI2VuZGlmCisK
ICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChtX3N2Z1BhbikgewogICAgICAgICBtX3N2Z1BhbiA9
IGZhbHNlOwpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAkocmV2aXNpb24gNDAzMDYpCisrKyBXZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNiw2ICsyMTYsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRTZWxlY3Rpb25Nb3ZlbWVudChLZXlib2Fy
ZEV2ZW50Kik7CiAgICAgCiAgICAgQ3Vyc29yIHNlbGVjdEN1cnNvcihjb25zdCBNb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzJiwgU2Nyb2xsYmFyKik7CisgICAgIEN1cnNvciBzZWxlY3RQYW5T
Y3JvbGxDdXJzb3IoKTsKICAgICB2b2lkIHNldFBhblNjcm9sbEN1cnNvcigpOwogCiAgICAgdm9p
ZCBob3ZlclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopOwo=
</data>
<flag name="review"
          id="13017"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27128</attachid>
            <date>2009-01-28 15:30:00 -0800</date>
            <delta_ts>2009-01-29 14:18:32 -0800</delta_ts>
            <desc>Turn off pan scroll when middle button is released in a drag gesture</desc>
            <filename>panscroll-drag-release.patch.txt</filename>
            <type>text/plain</type>
            <size>6140</size>
            <attacher name="Loren Segal">lsegal</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwMzMz
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDktMDEt
MjggIExvcmVuIFNlZ2FsICA8bHNlZ2FsQHNvZW4uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHVybiBvZmYgcGFuIHNjcm9sbGluZyB3aGVuIG1p
ZGRsZSBtb3VzZSBidXR0b24gaXMgcmVsZWFzZWQgZHVyaW5nIGEgbW91c2UgZHJhZyBnZXN0dXJl
LgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmg6CisKIDIwMDktMDEtMjggIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIE1vdmUgbG9jYWxDYXJldFJlY3QgZnJvbSBSZW5kZXJGbG93IGludG8gUmVu
ZGVyQmxvY2ssIHNpbmNlIGl0IG9ubHkgYXBwbGllZCB0byBibG9ja3MgYW55d2F5IGFuZApJbmRl
eDogcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBhZ2UvRXZlbnRIYW5kbGVy
LmNwcAkocmV2aXNpb24gNDAzMzMpCisrKyBwYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyNiw2ICsxMjYsNyBAQCBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFt
ZSogZnJhbWUpCiAgICAgLCBtX21vdXNlRG93bldhc1NpbmdsZUNsaWNrSW5TZWxlY3Rpb24oZmFs
c2UpCiAgICAgLCBtX2JlZ2FuU2VsZWN0aW5nVGV4dChmYWxzZSkKICAgICAsIG1fcGFuU2Nyb2xs
SW5Qcm9ncmVzcyhmYWxzZSkKKyAgICAsIG1fcGFuU2Nyb2xsSXNTY3JvbGxpbmcoZmFsc2UpCiAg
ICAgLCBtX2hvdmVyVGltZXIodGhpcywgJkV2ZW50SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKQog
ICAgICwgbV9hdXRvc2Nyb2xsVGltZXIodGhpcywgJkV2ZW50SGFuZGxlcjo6YXV0b3Njcm9sbFRp
bWVyRmlyZWQpCiAgICAgLCBtX2F1dG9zY3JvbGxSZW5kZXJlcigwKQpAQCAtNjIyLDcgKzYyMyw3
IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphdXRvc2Nyb2xsVGltZXJGaXJlZCgKICAgICB9CiB9CiAK
LXZvaWQgRXZlbnRIYW5kbGVyOjpzZXRQYW5TY3JvbGxDdXJzb3IoKQorRXZlbnRIYW5kbGVyOjpQ
YW5TY3JvbGxEaXJlY3Rpb24gRXZlbnRIYW5kbGVyOjpwYW5TY3JvbGxEaXJlY3Rpb24oKQogewog
ICAgIC8vIEF0IHRoZSBvcmlnaW5hbCBjbGljayBsb2NhdGlvbiB3ZSBkcmF3IGEgNCBhcnJvd2Vk
IGljb24uIE92ZXIgdGhpcyBpY29uIHRoZXJlIHdvbid0IGJlIGFueSBzY3JvbGwKICAgICAvLyBT
byB3ZSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGUgY3Vyc29yIG92ZXIgdGhpcyBhcmVhCkBAIC02
MzQsMjQgKzYzNSw1NiBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6c2V0UGFuU2Nyb2xsQ3Vyc29yKCkK
ICAgICAgICAgIAogICAgIGlmIChub3J0aCkgewogICAgICAgICBpZiAoZWFzdCkKLSAgICAgICAg
ICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKG5vcnRoRWFzdFBhbm5pbmdDdXJzb3IoKSk7
CisgICAgICAgICAgICByZXR1cm4gUGFuU2Nyb2xsTm9ydGhFYXN0OwogICAgICAgICBlbHNlIGlm
ICh3ZXN0KQotICAgICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3Iobm9ydGhXZXN0
UGFubmluZ0N1cnNvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBQYW5TY3JvbGxOb3J0aFdlc3Q7
CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKG5v
cnRoUGFubmluZ0N1cnNvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBQYW5TY3JvbGxOb3J0aDsK
ICAgICB9IGVsc2UgaWYgKHNvdXRoKSB7CiAgICAgICAgIGlmIChlYXN0KQotICAgICAgICAgICAg
bV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3Ioc291dGhFYXN0UGFubmluZ0N1cnNvcigpKTsKKyAg
ICAgICAgICAgIHJldHVybiBQYW5TY3JvbGxTb3V0aEVhc3Q7CiAgICAgICAgIGVsc2UgaWYgKHdl
c3QpCi0gICAgICAgICAgICBtX2ZyYW1lLT52aWV3KCktPnNldEN1cnNvcihzb3V0aFdlc3RQYW5u
aW5nQ3Vyc29yKCkpOworICAgICAgICAgICAgcmV0dXJuIFBhblNjcm9sbFNvdXRoV2VzdDsKICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3Ioc291dGhQ
YW5uaW5nQ3Vyc29yKCkpOworICAgICAgICAgICAgcmV0dXJuIFBhblNjcm9sbFNvdXRoOwogICAg
IH0gZWxzZSBpZiAoZWFzdCkKLSAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3IoZWFz
dFBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAgIHJldHVybiBQYW5TY3JvbGxFYXN0OwogICAgIGVs
c2UgaWYgKHdlc3QpCi0gICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKHdlc3RQYW5u
aW5nQ3Vyc29yKCkpOworICAgICAgICByZXR1cm4gUGFuU2Nyb2xsV2VzdDsKICAgICBlbHNlCi0g
ICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKG1pZGRsZVBhbm5pbmdDdXJzb3IoKSk7
CisgICAgICAgIHJldHVybiBQYW5TY3JvbGxOb25lOworfQorCitDdXJzb3IgRXZlbnRIYW5kbGVy
OjpzZWxlY3RQYW5TY3JvbGxDdXJzb3IoKQoreworICAgIFBhblNjcm9sbERpcmVjdGlvbiBkaXJl
Y3Rpb24gPSBwYW5TY3JvbGxEaXJlY3Rpb24oKTsKKworICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7
CisgICAgY2FzZSBQYW5TY3JvbGxOb3J0aDoKKyAgICAgICAgcmV0dXJuIG5vcnRoUGFubmluZ0N1
cnNvcigpOworICAgIGNhc2UgUGFuU2Nyb2xsRWFzdDoKKyAgICAgICAgcmV0dXJuIGVhc3RQYW5u
aW5nQ3Vyc29yKCk7CisgICAgY2FzZSBQYW5TY3JvbGxTb3V0aDoKKyAgICAgICAgcmV0dXJuIHNv
dXRoUGFubmluZ0N1cnNvcigpOworICAgIGNhc2UgUGFuU2Nyb2xsV2VzdDoKKyAgICAgICAgcmV0
dXJuIHdlc3RQYW5uaW5nQ3Vyc29yKCk7CisgICAgY2FzZSBQYW5TY3JvbGxOb3J0aFdlc3Q6Cisg
ICAgICAgIHJldHVybiBub3J0aFdlc3RQYW5uaW5nQ3Vyc29yKCk7CisgICAgY2FzZSBQYW5TY3Jv
bGxOb3J0aEVhc3Q6CisgICAgICAgIHJldHVybiBub3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCk7Cisg
ICAgY2FzZSBQYW5TY3JvbGxTb3V0aEVhc3Q6CisgICAgICAgIHJldHVybiBzb3V0aEVhc3RQYW5u
aW5nQ3Vyc29yKCk7CisgICAgY2FzZSBQYW5TY3JvbGxTb3V0aFdlc3Q6CisgICAgICAgIHJldHVy
biBzb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCk7CisgICAgY2FzZSBQYW5TY3JvbGxOb25lOgorICAg
IGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBtaWRkbGVQYW5uaW5nQ3Vyc29yKCk7CisgICAgfQor
fQorCit2b2lkIEV2ZW50SGFuZGxlcjo6c2V0UGFuU2Nyb2xsQ3Vyc29yKCkKK3sKKyAgICBtX2Zy
YW1lLT52aWV3KCktPnNldEN1cnNvcihzZWxlY3RQYW5TY3JvbGxDdXJzb3IoKSk7CiB9CiAKIFJl
bmRlck9iamVjdCogRXZlbnRIYW5kbGVyOjphdXRvc2Nyb2xsUmVuZGVyZXIoKSBjb25zdApAQCAt
NzY1LDYgKzc5OCw4IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpzdG9wQXV0b3Njcm9sbFRpbWVyKGIK
ICAgICBtX2F1dG9zY3JvbGxUaW1lci5zdG9wKCk7CiAKICAgICBtX3BhblNjcm9sbEluUHJvZ3Jl
c3MgPSBmYWxzZTsKKyAgICBtX3BhblNjcm9sbElzU2Nyb2xsaW5nID0gZmFsc2U7CisKICAgICAv
LyBJZiB3ZSdyZSBub3QgaW4gdGhlIHRvcCBmcmFtZSB3ZSBub3RpZnkgaXQgdGhhdCB3ZSBhcmUg
bm90IHVzaW5nIHRoZSBwYW5TY3JvbGwgYW55bW9yZQogICAgIGlmIChtX2ZyYW1lLT5wYWdlKCkg
JiYgbV9mcmFtZSAhPSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKQogICAgICAgICAgICAg
bV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnNldFBhblNjcm9s
bEluUHJvZ3Jlc3MoZmFsc2UpOwpAQCAtMTA1Myw2ICsxMDg4LDcgQEAgYm9vbCBFdmVudEhhbmRs
ZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudAogCiAgICAgICAgIGlmIChyZW5kZXJlcikgewogICAg
ICAgICAgICAgbV9wYW5TY3JvbGxJblByb2dyZXNzID0gdHJ1ZTsKKyAgICAgICAgICAgIG1fcGFu
U2Nyb2xsSXNTY3JvbGxpbmcgPSBmYWxzZTsKICAgICAgICAgICAgIGhhbmRsZUF1dG9zY3JvbGwo
cmVuZGVyZXIpOwogICAgICAgICAgICAgaW52YWxpZGF0ZUNsaWNrKCk7CiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTExNzksNiArMTIxNSwxMiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlTW91c2VNb3ZlRXZlbnQoCiAgICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwogCisjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCisg
ICAgaWYgKG1fcGFuU2Nyb2xsSW5Qcm9ncmVzcyAmJiAhbV9wYW5TY3JvbGxJc1Njcm9sbGluZyAm
JiBwYW5TY3JvbGxEaXJlY3Rpb24oKSAhPSBQYW5TY3JvbGxOb25lKSB7CisgICAgICAgIG1fcGFu
U2Nyb2xsSXNTY3JvbGxpbmcgPSB0cnVlOworICAgIH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNW
RykKICAgICBpZiAobV9zdmdQYW4pIHsKICAgICAgICAgc3RhdGljX2Nhc3Q8U1ZHRG9jdW1lbnQq
PihtX2ZyYW1lLT5kb2N1bWVudCgpKS0+dXBkYXRlUGFuKG1fY3VycmVudE1vdXNlUG9zaXRpb24p
OwpAQCAtMTI3MSw2ICsxMzEzLDEyIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJl
bGVhc2VFdmUKICAgICBtX21vdXNlUHJlc3NlZCA9IGZhbHNlOwogICAgIG1fY3VycmVudE1vdXNl
UG9zaXRpb24gPSBtb3VzZUV2ZW50LnBvcygpOwogCisjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcp
CisgICAgaWYgKG1fcGFuU2Nyb2xsSW5Qcm9ncmVzcyAmJiBtX3BhblNjcm9sbElzU2Nyb2xsaW5n
ICYmIG1vdXNlRXZlbnQuYnV0dG9uKCkgPT0gTWlkZGxlQnV0dG9uKSB7CisgICAgICAgIHN0b3BB
dXRvc2Nyb2xsVGltZXIodHJ1ZSk7CisgICAgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoU1ZHKQog
ICAgIGlmIChtX3N2Z1BhbikgewogICAgICAgICBtX3N2Z1BhbiA9IGZhbHNlOwpJbmRleDogcGFn
ZS9FdmVudEhhbmRsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwYWdlL0V2ZW50SGFuZGxlci5oCShyZXZp
c2lvbiA0MDMzMykKKysrIHBhZ2UvRXZlbnRIYW5kbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIx
Niw4ICsyMTYsMjIgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkU2VsZWN0aW9u
TW92ZW1lbnQoS2V5Ym9hcmRFdmVudCopOwogICAgIAogICAgIEN1cnNvciBzZWxlY3RDdXJzb3Io
Y29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYsIFNjcm9sbGJhciopOworICAgIEN1
cnNvciBzZWxlY3RQYW5TY3JvbGxDdXJzb3IoKTsKICAgICB2b2lkIHNldFBhblNjcm9sbEN1cnNv
cigpOwogCisgICAgZW51bSBQYW5TY3JvbGxEaXJlY3Rpb24geworICAgICAgICBQYW5TY3JvbGxO
b25lLAorICAgICAgICBQYW5TY3JvbGxOb3J0aCwKKyAgICAgICAgUGFuU2Nyb2xsRWFzdCwKKyAg
ICAgICAgUGFuU2Nyb2xsU291dGgsCisgICAgICAgIFBhblNjcm9sbFdlc3QsCisgICAgICAgIFBh
blNjcm9sbE5vcnRoV2VzdCwKKyAgICAgICAgUGFuU2Nyb2xsTm9ydGhFYXN0LAorICAgICAgICBQ
YW5TY3JvbGxTb3V0aEVhc3QsCisgICAgICAgIFBhblNjcm9sbFNvdXRoV2VzdAorICAgIH07Cisg
ICAgUGFuU2Nyb2xsRGlyZWN0aW9uIHBhblNjcm9sbERpcmVjdGlvbigpOworCiAgICAgdm9pZCBo
b3ZlclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopOwogCiAgICAgc3RhdGljIGJvb2wg
Y2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSopOwpAQCAtMjk5LDYgKzMxMyw3IEBAIHByaXZh
dGU6CiAKICAgICBJbnRQb2ludCBtX3BhblNjcm9sbFN0YXJ0UG9zOwogICAgIGJvb2wgbV9wYW5T
Y3JvbGxJblByb2dyZXNzOworICAgIGJvb2wgbV9wYW5TY3JvbGxJc1Njcm9sbGluZzsKIAogICAg
IFRpbWVyPEV2ZW50SGFuZGxlcj4gbV9ob3ZlclRpbWVyOwogICAgIAo=
</data>
<flag name="review"
          id="13036"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27160</attachid>
            <date>2009-01-29 14:18:32 -0800</date>
            <delta_ts>2009-07-23 20:01:18 -0700</delta_ts>
            <desc>Middle click panning</desc>
            <filename>panscroll-drag-release.patch.txt</filename>
            <type>text/plain</type>
            <size>7093</size>
            <attacher name="Loren Segal">lsegal</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwMzc2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDktMDEt
MjkgIExvcmVuIFNlZ2FsICA8bHNlZ2FsQHNvZW4uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNzk0CisgICAgICAgIE1pZGRsZS1jbGljayBwYW5uaW5nIHNob3VsZCBiZSBz
cHJpbmdsb2FkZWQgd2hpbGUgZHJhZ2dpbmcuCisKKyAgICAgICAgQWRkcyBjaGVja3MgdG8gZGlm
ZmVyZW50aWF0ZSBhIG1vdXNlIGRyYWcgZnJvbSBhIHNpbmdsZSBjbGljayBhbmQgZW5kcyBwYW4g
c2Nyb2xsaW5nIGR1cmluZyBhIGRyYWcuCisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcik6IEluaXRp
YWxpemUgcGFuIHRvZ2dsZSB2YXJpYWJsZSBtX3BhblNjcm9sbEhhc1Njcm9sbGVkCisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnBhblNjcm9sbERpcmVjdGlvbik6IE5ldyBtZXRob2Qg
dG8gcmV0dXJuIHBhbiBkaXJlY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OnNldFBhblNjcm9sbEN1cnNvcik6IFNldHMgdGhlIGN1cnNvciBiYXNlZCBvbiB0aGUgbmV3IHBh
biBkaXJlY3Rpb24gbWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzdG9w
QXV0b3Njcm9sbFRpbWVyKTogUmVzZXRzIG1fcGFuU2Nyb2xsSGFzU2Nyb2xsZWQgdG9nZ2xlLgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOiBS
ZXNldHMgbV9wYW5TY3JvbGxIYXNTY3JvbGxlZCB0b2dnbGUuCisgICAgICAgIChXZWJDb3JlOjpF
dmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KTogVG9nZ2xlcyBtX3BhblNjcm9sbEhh
c1Njcm9sbGVkIGlmIG1vdXNlIGlzIGRyYWdnaW5nLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCk6IENoZWNrcyB3aGV0aGVyIG1vdXNlIHJl
bGVhc2UgaXMgcGFydCBvZiBjbGljayBvciBkcmFnLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5k
bGVyLmg6IEFkZGVkIG1fcGFuU2Nyb2xsSGFzU2Nyb2xsZWQgdG8gdGVzdCBpZiBwYW4gc2Nyb2xs
IGlzIGRyYWdnaW5nIG9yIG5vdC4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6UGFu
U2Nyb2xsRGlyZWN0aW9uKTogQWRkIGVudW0gZm9yIHBhbiBzY3JvbGwgZGlyZWN0aW9ucy4KKwog
MjAwOS0wMS0yOSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gNDAzNzYpCisrKyBw
YWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw2ICsxMjYsNyBAQCBF
dmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSogZnJhbWUpCiAgICAgLCBtX21vdXNlRG93
bldhc1NpbmdsZUNsaWNrSW5TZWxlY3Rpb24oZmFsc2UpCiAgICAgLCBtX2JlZ2FuU2VsZWN0aW5n
VGV4dChmYWxzZSkKICAgICAsIG1fcGFuU2Nyb2xsSW5Qcm9ncmVzcyhmYWxzZSkKKyAgICAsIG1f
cGFuU2Nyb2xsSGFzU2Nyb2xsZWQoZmFsc2UpCiAgICAgLCBtX2hvdmVyVGltZXIodGhpcywgJkV2
ZW50SGFuZGxlcjo6aG92ZXJUaW1lckZpcmVkKQogICAgICwgbV9hdXRvc2Nyb2xsVGltZXIodGhp
cywgJkV2ZW50SGFuZGxlcjo6YXV0b3Njcm9sbFRpbWVyRmlyZWQpCiAgICAgLCBtX2F1dG9zY3Jv
bGxSZW5kZXJlcigwKQpAQCAtNjIyLDcgKzYyMyw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphdXRv
c2Nyb2xsVGltZXJGaXJlZCgKICAgICB9CiB9CiAKLXZvaWQgRXZlbnRIYW5kbGVyOjpzZXRQYW5T
Y3JvbGxDdXJzb3IoKQorRXZlbnRIYW5kbGVyOjpQYW5TY3JvbGxEaXJlY3Rpb24gRXZlbnRIYW5k
bGVyOjpwYW5TY3JvbGxEaXJlY3Rpb24oKQogewogICAgIC8vIEF0IHRoZSBvcmlnaW5hbCBjbGlj
ayBsb2NhdGlvbiB3ZSBkcmF3IGEgNCBhcnJvd2VkIGljb24uIE92ZXIgdGhpcyBpY29uIHRoZXJl
IHdvbid0IGJlIGFueSBzY3JvbGwKICAgICAvLyBTbyB3ZSBkb24ndCB3YW50IHRvIGNoYW5nZSB0
aGUgY3Vyc29yIG92ZXIgdGhpcyBhcmVhCkBAIC02MzQsMjQgKzYzNSw2MyBAQCB2b2lkIEV2ZW50
SGFuZGxlcjo6c2V0UGFuU2Nyb2xsQ3Vyc29yKCkKICAgICAgICAgIAogICAgIGlmIChub3J0aCkg
ewogICAgICAgICBpZiAoZWFzdCkKLSAgICAgICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vy
c29yKG5vcnRoRWFzdFBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAgICAgICByZXR1cm4gUGFuU2Ny
b2xsTm9ydGhFYXN0OwogICAgICAgICBlbHNlIGlmICh3ZXN0KQotICAgICAgICAgICAgbV9mcmFt
ZS0+dmlldygpLT5zZXRDdXJzb3Iobm9ydGhXZXN0UGFubmluZ0N1cnNvcigpKTsKKyAgICAgICAg
ICAgIHJldHVybiBQYW5TY3JvbGxOb3J0aFdlc3Q7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
IG1fZnJhbWUtPnZpZXcoKS0+c2V0Q3Vyc29yKG5vcnRoUGFubmluZ0N1cnNvcigpKTsKKyAgICAg
ICAgICAgIHJldHVybiBQYW5TY3JvbGxOb3J0aDsKICAgICB9IGVsc2UgaWYgKHNvdXRoKSB7CiAg
ICAgICAgIGlmIChlYXN0KQotICAgICAgICAgICAgbV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3Io
c291dGhFYXN0UGFubmluZ0N1cnNvcigpKTsKKyAgICAgICAgICAgIHJldHVybiBQYW5TY3JvbGxT
b3V0aEVhc3Q7CiAgICAgICAgIGVsc2UgaWYgKHdlc3QpCi0gICAgICAgICAgICBtX2ZyYW1lLT52
aWV3KCktPnNldEN1cnNvcihzb3V0aFdlc3RQYW5uaW5nQ3Vyc29yKCkpOworICAgICAgICAgICAg
cmV0dXJuIFBhblNjcm9sbFNvdXRoV2VzdDsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9m
cmFtZS0+dmlldygpLT5zZXRDdXJzb3Ioc291dGhQYW5uaW5nQ3Vyc29yKCkpOworICAgICAgICAg
ICAgcmV0dXJuIFBhblNjcm9sbFNvdXRoOwogICAgIH0gZWxzZSBpZiAoZWFzdCkKLSAgICAgICAg
bV9mcmFtZS0+dmlldygpLT5zZXRDdXJzb3IoZWFzdFBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAg
IHJldHVybiBQYW5TY3JvbGxFYXN0OwogICAgIGVsc2UgaWYgKHdlc3QpCi0gICAgICAgIG1fZnJh
bWUtPnZpZXcoKS0+c2V0Q3Vyc29yKHdlc3RQYW5uaW5nQ3Vyc29yKCkpOworICAgICAgICByZXR1
cm4gUGFuU2Nyb2xsV2VzdDsKICAgICBlbHNlCi0gICAgICAgIG1fZnJhbWUtPnZpZXcoKS0+c2V0
Q3Vyc29yKG1pZGRsZVBhbm5pbmdDdXJzb3IoKSk7CisgICAgICAgIHJldHVybiBQYW5TY3JvbGxO
b25lOworfQorCit2b2lkIEV2ZW50SGFuZGxlcjo6c2V0UGFuU2Nyb2xsQ3Vyc29yKCkKK3sKKyAg
ICBQYW5TY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9uID0gcGFuU2Nyb2xsRGlyZWN0aW9uKCk7Cisg
ICAgQ3Vyc29yIGN1cnNvcjsKKworICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7CisgICAgY2FzZSBQ
YW5TY3JvbGxOb3J0aDoKKyAgICAgICAgY3Vyc29yID0gbm9ydGhQYW5uaW5nQ3Vyc29yKCk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgUGFuU2Nyb2xsRWFzdDoKKyAgICAgICAgY3Vyc29yID0g
ZWFzdFBhbm5pbmdDdXJzb3IoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQYW5TY3JvbGxT
b3V0aDoKKyAgICAgICAgY3Vyc29yID0gc291dGhQYW5uaW5nQ3Vyc29yKCk7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUGFuU2Nyb2xsV2VzdDoKKyAgICAgICAgY3Vyc29yID0gd2VzdFBhbm5p
bmdDdXJzb3IoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQYW5TY3JvbGxOb3J0aFdlc3Q6
CisgICAgICAgIGN1cnNvciA9IG5vcnRoV2VzdFBhbm5pbmdDdXJzb3IoKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBQYW5TY3JvbGxOb3J0aEVhc3Q6CisgICAgICAgIGN1cnNvciA9IG5vcnRo
RWFzdFBhbm5pbmdDdXJzb3IoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQYW5TY3JvbGxT
b3V0aEVhc3Q6CisgICAgICAgIGN1cnNvciA9IHNvdXRoRWFzdFBhbm5pbmdDdXJzb3IoKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBQYW5TY3JvbGxTb3V0aFdlc3Q6CisgICAgICAgIGN1cnNv
ciA9IHNvdXRoV2VzdFBhbm5pbmdDdXJzb3IoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQ
YW5TY3JvbGxOb25lOgorICAgIGRlZmF1bHQ6CisgICAgICAgIGN1cnNvciA9IG1pZGRsZVBhbm5p
bmdDdXJzb3IoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgbV9mcmFtZS0+dmlldygp
LT5zZXRDdXJzb3IoY3Vyc29yKTsKIH0KIAogUmVuZGVyT2JqZWN0KiBFdmVudEhhbmRsZXI6OmF1
dG9zY3JvbGxSZW5kZXJlcigpIGNvbnN0CkBAIC03NjUsNiArODA1LDggQEAgdm9pZCBFdmVudEhh
bmRsZXI6OnN0b3BBdXRvc2Nyb2xsVGltZXIoYgogICAgIG1fYXV0b3Njcm9sbFRpbWVyLnN0b3Ao
KTsKIAogICAgIG1fcGFuU2Nyb2xsSW5Qcm9ncmVzcyA9IGZhbHNlOworICAgIG1fcGFuU2Nyb2xs
SGFzU2Nyb2xsZWQgPSBmYWxzZTsKKwogICAgIC8vIElmIHdlJ3JlIG5vdCBpbiB0aGUgdG9wIGZy
YW1lIHdlIG5vdGlmeSBpdCB0aGF0IHdlIGFyZSBub3QgdXNpbmcgdGhlIHBhblNjcm9sbCBhbnlt
b3JlCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lICE9IG1fZnJhbWUtPnBhZ2Uo
KS0+bWFpbkZyYW1lKCkpCiAgICAgICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgp
LT5ldmVudEhhbmRsZXIoKS0+c2V0UGFuU2Nyb2xsSW5Qcm9ncmVzcyhmYWxzZSk7CkBAIC0xMDUz
LDYgKzEwOTUsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50CiAK
ICAgICAgICAgaWYgKHJlbmRlcmVyKSB7CiAgICAgICAgICAgICBtX3BhblNjcm9sbEluUHJvZ3Jl
c3MgPSB0cnVlOworICAgICAgICAgICAgbV9wYW5TY3JvbGxIYXNTY3JvbGxlZCA9IGZhbHNlOwog
ICAgICAgICAgICAgaGFuZGxlQXV0b3Njcm9sbChyZW5kZXJlcik7CiAgICAgICAgICAgICBpbnZh
bGlkYXRlQ2xpY2soKTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTE3OSw2ICsxMjIy
LDEyIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZU1vdmVFdmVudCgKICAgICBpZiAo
bV9ob3ZlclRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1faG92ZXJUaW1lci5zdG9wKCk7CiAK
KyNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKKyAgICBpZiAobV9wYW5TY3JvbGxJblByb2dyZXNz
ICYmICFtX3BhblNjcm9sbEhhc1Njcm9sbGVkICYmIHBhblNjcm9sbERpcmVjdGlvbigpICE9IFBh
blNjcm9sbE5vbmUpIHsKKyAgICAgICAgbV9wYW5TY3JvbGxIYXNTY3JvbGxlZCA9IHRydWU7Cisg
ICAgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChtX3N2Z1BhbikgewogICAg
ICAgICBzdGF0aWNfY2FzdDxTVkdEb2N1bWVudCo+KG1fZnJhbWUtPmRvY3VtZW50KCkpLT51cGRh
dGVQYW4obV9jdXJyZW50TW91c2VQb3NpdGlvbik7CkBAIC0xMjcxLDYgKzEzMjAsMTIgQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZQogICAgIG1fbW91c2VQcmVzc2Vk
ID0gZmFsc2U7CiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1vdXNlRXZlbnQucG9zKCk7
CiAKKyNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKKyAgICBpZiAobV9wYW5TY3JvbGxJblByb2dy
ZXNzICYmIG1fcGFuU2Nyb2xsSGFzU2Nyb2xsZWQgJiYgbW91c2VFdmVudC5idXR0b24oKSA9PSBN
aWRkbGVCdXR0b24pIHsKKyAgICAgICAgc3RvcEF1dG9zY3JvbGxUaW1lcih0cnVlKTsKKyAgICB9
CisjZW5kaWYKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgaWYgKG1fc3ZnUGFuKSB7CiAgICAgICAg
IG1fc3ZnUGFuID0gZmFsc2U7CkluZGV4OiBwYWdlL0V2ZW50SGFuZGxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHBhZ2UvRXZlbnRIYW5kbGVyLmgJKHJldmlzaW9uIDQwMzc2KQorKysgcGFnZS9FdmVudEhh
bmRsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjE4LDYgKzIxOCwxOSBAQCBwcml2YXRlOgogICAg
IEN1cnNvciBzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYs
IFNjcm9sbGJhciopOwogICAgIHZvaWQgc2V0UGFuU2Nyb2xsQ3Vyc29yKCk7CiAKKyAgICBlbnVt
IFBhblNjcm9sbERpcmVjdGlvbiB7CisgICAgICAgIFBhblNjcm9sbE5vbmUsCisgICAgICAgIFBh
blNjcm9sbE5vcnRoLAorICAgICAgICBQYW5TY3JvbGxFYXN0LAorICAgICAgICBQYW5TY3JvbGxT
b3V0aCwKKyAgICAgICAgUGFuU2Nyb2xsV2VzdCwKKyAgICAgICAgUGFuU2Nyb2xsTm9ydGhXZXN0
LAorICAgICAgICBQYW5TY3JvbGxOb3J0aEVhc3QsCisgICAgICAgIFBhblNjcm9sbFNvdXRoRWFz
dCwKKyAgICAgICAgUGFuU2Nyb2xsU291dGhXZXN0CisgICAgfTsKKyAgICBQYW5TY3JvbGxEaXJl
Y3Rpb24gcGFuU2Nyb2xsRGlyZWN0aW9uKCk7CisKICAgICB2b2lkIGhvdmVyVGltZXJGaXJlZChU
aW1lcjxFdmVudEhhbmRsZXI+Kik7CiAKICAgICBzdGF0aWMgYm9vbCBjYW5Nb3VzZURvd25TdGFy
dFNlbGVjdChOb2RlKik7CkBAIC0yOTksNiArMzEyLDcgQEAgcHJpdmF0ZToKIAogICAgIEludFBv
aW50IG1fcGFuU2Nyb2xsU3RhcnRQb3M7CiAgICAgYm9vbCBtX3BhblNjcm9sbEluUHJvZ3Jlc3M7
CisgICAgYm9vbCBtX3BhblNjcm9sbEhhc1Njcm9sbGVkOwogCiAgICAgVGltZXI8RXZlbnRIYW5k
bGVyPiBtX2hvdmVyVGltZXI7CiAgICAgCg==
</data>
<flag name="review"
          id="13060"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29499</attachid>
            <date>2009-04-15 08:16:43 -0700</date>
            <delta_ts>2009-05-27 12:42:36 -0700</delta_ts>
            <desc>WebKit Option For Springloaded Autoscroll</desc>
            <filename>AutoscrollOptionPatch.txt</filename>
            <type>text/plain</type>
            <size>4020</size>
            <attacher name="Itai">idanan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjUzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDQtMTUgIEl0YWkgRGFuYW4gIDxzZXQgRU1BSUxfQUREUkVT
UyBlbnZpcm9ubWVudCB2YXJpYWJsZT4KKyAgICAgICAgQXMgcGVyIEJ1ZyAyMTc5NCAoaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzk0KSwKKwlhZGRlZCBhbiBvcHRp
b24gZm9yIHNwcmluZ2xvYWRlZCBwYW5zY3JvbGwgaW5zdGVhZCBvZiBzdGlja3kKKwlzY3JvbGwu
IFRvIHVuZGVyc3RhbmQgd2h5IHRoaXMgaXMgcmVxdWlyZWQgc2VlIHRoZSBkaXNjdXNzaW9uIGlu
CisJaXNzdWUgMjQ3MjIgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NDcyMikuCisJCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldFN0aWNreVBhblNjcm9sbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnN0aWNreVBhblNjcm9sbCk6CisKIDIw
MDktMDQtMTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJ1YmJlci1zdGFtcGVkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJ
KHJldmlzaW9uIDQyNTM5KQorKysgV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMDIsMTEgKzExMDIsMTIgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRs
ZU1vdXNlUHJlc3NFdmVudAogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCiAgICAgUGFnZSog
cGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAocGFnZSAmJiBwYWdlLT5tYWluRnJhbWUo
KS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9sbEluUHJvZ3Jlc3MoKSB8fCBtX2F1dG9zY3JvbGxJ
blByb2dyZXNzKSB7Ci0gICAgICAgIHN0b3BBdXRvc2Nyb2xsVGltZXIoKTsKLSAgICAgICAgaW52
YWxpZGF0ZUNsaWNrKCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICBpZiAobV9m
cmFtZS0+c2V0dGluZ3MoKS0+c3RpY2t5UGFuU2Nyb2xsKCkpCisgICAgICAgIGlmIChwYWdlICYm
IHBhZ2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygp
IHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpIHsKKyAgICAgICAgICAgIHN0b3BBdXRvc2Nyb2xs
VGltZXIoKTsKKyAgICAgICAgICAgIGludmFsaWRhdGVDbGljaygpOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KICAgICAKICAgICBpZiAobW91c2VFdmVudC5idXR0b24oKSA9
PSBNaWRkbGVCdXR0b24gJiYgIW1ldi5pc092ZXJMaW5rKCkpIHsKICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciA9IG1ldi50YXJnZXROb2RlKCktPnJlbmRlcmVyKCk7CkBAIC0xMzQ4LDYg
KzEzNDksMTMgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZQogICAg
IG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1v
dXNlRXZlbnQucG9zKCk7CiAKKyAgICBpZiAoIW1fZnJhbWUtPnNldHRpbmdzKCktPnN0aWNreVBh
blNjcm9sbCgpKQorICAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCkt
Pm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8IG1f
YXV0b3Njcm9sbEluUHJvZ3Jlc3MpIHsKKyAgICAgICAgc3RvcEF1dG9zY3JvbGxUaW1lcigpOwor
ICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9
CisKICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChtX3N2Z1BhbikgewogICAgICAgICBtX3N2Z1Bh
biA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA0MjUzOSkKKysrIFdlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYgKzkwLDcgQEAgU2V0dGlu
Z3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3VzZXNFbmNvZGluZ0RldGVjdG9yKGZh
bHNlKQogICAgICwgbV9tYXhpbXVtRGVjb2RlZEltYWdlU2l6ZShzdGQ6Om51bWVyaWNfbGltaXRz
PHNpemVfdD46Om1heCgpKQogICAgICwgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyhmYWxz
ZSkKKyAgICAsIG1fc3RpY2t5UGFuU2Nyb2xsKHRydWUpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkg
bm90IGhhdmUgYmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3Ry
aW5nIAogICAgIC8vIGhhc2ggYmVmb3JlIHRyeWluZyB0byB1c2UgaXQuCkBAIC00MzUsNCArNDM2
LDkgQEAgdm9pZCBTZXR0aW5nczo6c2V0QWxsb3dTY3JpcHRzVG9DbG9zZVdpbgogICAgIG1fYWxs
b3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MgPSBhbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93czsKIH0K
IAordm9pZCBTZXR0aW5nczo6c2V0U3RpY2t5UGFuU2Nyb2xsKGJvb2wgc3RpY2t5UGFuU2Nyb2xs
KQoreworICBtX3N0aWNreVBhblNjcm9sbCA9IHN0aWNreVBhblNjcm9sbDsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDQyNTM5KQorKysgV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNCw2ICsyMTQsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0QWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRv
d3MoYm9vbCk7CiAgICAgICAgIGJvb2wgYWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MoKSBjb25z
dCB7IHJldHVybiBtX2FsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzOyB9CiAKKyAgICAgICAgdm9p
ZCBzZXRTdGlja3lQYW5TY3JvbGwoYm9vbCk7CisgICAgICAgIGJvb2wgc3RpY2t5UGFuU2Nyb2xs
KCkgY29uc3QgeyByZXR1cm4gbV9zdGlja3lQYW5TY3JvbGw7IH0KKwogICAgIHByaXZhdGU6CiAg
ICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAgICAgCkBAIC0yNzAsNiArMjczLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fdXNlc0VuY29kaW5nRGV0ZWN0b3IgOiAxOwog
ICAgICAgICBzaXplX3QgbV9tYXhpbXVtRGVjb2RlZEltYWdlU2l6ZTsKICAgICAgICAgYm9vbCBt
X2FsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzIDogMTsKKyAgICAgICAgYm9vbCBtX3N0aWNreVBh
blNjcm9sbCA6IDE7CiAKICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogICAgICAgICBzdGF0aWMgYm9v
bCBnU2hvdWxkUGFpbnROYXRpdmVDb250cm9sczsK
</data>
<flag name="review"
          id="14704"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29506</attachid>
            <date>2009-04-15 11:25:31 -0700</date>
            <delta_ts>2009-05-27 12:42:36 -0700</delta_ts>
            <desc>Updated version of previous patch</desc>
            <filename>AutoscrollOptionPatch.txt</filename>
            <type>text/plain</type>
            <size>4022</size>
            <attacher name="Itai">idanan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjUzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDQtMTUgIEl0YWkgRGFuYW4gIDxzZXQgRU1BSUxfQUREUkVT
UyBlbnZpcm9ubWVudCB2YXJpYWJsZT4KKyAgICAgICAgQXMgcGVyIEJ1ZyAyMTc5NCAoaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzk0KSwKKwlhZGRlZCBhbiBvcHRp
b24gZm9yIHNwcmluZ2xvYWRlZCBwYW5zY3JvbGwgaW5zdGVhZCBvZiBzdGlja3kKKwlzY3JvbGwu
IFRvIHVuZGVyc3RhbmQgd2h5IHRoaXMgaXMgcmVxdWlyZWQgc2VlIHRoZSBkaXNjdXNzaW9uIGlu
CisJaXNzdWUgMjQ3MjIgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NDcyMikuCisJCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldFN0aWNreVBhblNjcm9sbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnN0aWNreVBhblNjcm9sbCk6CisKIDIw
MDktMDQtMTQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJ1YmJlci1zdGFtcGVkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJ
KHJldmlzaW9uIDQyNTM5KQorKysgV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMDIsMTEgKzExMDIsMTIgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRs
ZU1vdXNlUHJlc3NFdmVudAogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCiAgICAgUGFnZSog
cGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAocGFnZSAmJiBwYWdlLT5tYWluRnJhbWUo
KS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9sbEluUHJvZ3Jlc3MoKSB8fCBtX2F1dG9zY3JvbGxJ
blByb2dyZXNzKSB7Ci0gICAgICAgIHN0b3BBdXRvc2Nyb2xsVGltZXIoKTsKLSAgICAgICAgaW52
YWxpZGF0ZUNsaWNrKCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICBpZiAobV9m
cmFtZS0+c2V0dGluZ3MoKS0+c3RpY2t5UGFuU2Nyb2xsKCkpCisgICAgICAgIGlmIChwYWdlICYm
IHBhZ2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygp
IHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpIHsKKyAgICAgICAgICAgIHN0b3BBdXRvc2Nyb2xs
VGltZXIoKTsKKyAgICAgICAgICAgIGludmFsaWRhdGVDbGljaygpOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KICAgICAKICAgICBpZiAobW91c2VFdmVudC5idXR0b24oKSA9
PSBNaWRkbGVCdXR0b24gJiYgIW1ldi5pc092ZXJMaW5rKCkpIHsKICAgICAgICAgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciA9IG1ldi50YXJnZXROb2RlKCktPnJlbmRlcmVyKCk7CkBAIC0xMzQ4LDYg
KzEzNDksMTMgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZQogICAg
IG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1v
dXNlRXZlbnQucG9zKCk7CiAKKyAgICBpZiAoIW1fZnJhbWUtPnNldHRpbmdzKCktPnN0aWNreVBh
blNjcm9sbCgpKQorICAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdlKCkt
Pm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8IG1f
YXV0b3Njcm9sbEluUHJvZ3Jlc3MpIHsKKyAgICAgICAgc3RvcEF1dG9zY3JvbGxUaW1lcigpOwor
ICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9
CisKICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmIChtX3N2Z1BhbikgewogICAgICAgICBtX3N2Z1Bh
biA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA0MjUzOSkKKysrIFdlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYgKzkwLDcgQEAgU2V0dGlu
Z3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3VzZXNFbmNvZGluZ0RldGVjdG9yKGZh
bHNlKQogICAgICwgbV9tYXhpbXVtRGVjb2RlZEltYWdlU2l6ZShzdGQ6Om51bWVyaWNfbGltaXRz
PHNpemVfdD46Om1heCgpKQogICAgICwgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyhmYWxz
ZSkKKyAgICAsIG1fc3RpY2t5UGFuU2Nyb2xsKHRydWUpCiB7CiAgICAgLy8gQSBGcmFtZSBtYXkg
bm90IGhhdmUgYmVlbiBjcmVhdGVkIHlldCwgc28gd2UgaW5pdGlhbGl6ZSB0aGUgQXRvbWljU3Ry
aW5nIAogICAgIC8vIGhhc2ggYmVmb3JlIHRyeWluZyB0byB1c2UgaXQuCkBAIC00MzUsNCArNDM2
LDkgQEAgdm9pZCBTZXR0aW5nczo6c2V0QWxsb3dTY3JpcHRzVG9DbG9zZVdpbgogICAgIG1fYWxs
b3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MgPSBhbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93czsKIH0K
IAordm9pZCBTZXR0aW5nczo6c2V0U3RpY2t5UGFuU2Nyb2xsKGJvb2wgc3RpY2t5UGFuU2Nyb2xs
KQoreworICAgIG1fc3RpY2t5UGFuU2Nyb2xsID0gc3RpY2t5UGFuU2Nyb2xsOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gNDI1MzkpCisrKyBXZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjE0LDYgKzIxNCw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRBbGxvd1NjcmlwdHNUb0Nsb3NlV2lu
ZG93cyhib29sKTsKICAgICAgICAgYm9vbCBhbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cygpIGNv
bnN0IHsgcmV0dXJuIG1fYWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3M7IH0KIAorICAgICAgICB2
b2lkIHNldFN0aWNreVBhblNjcm9sbChib29sKTsKKyAgICAgICAgYm9vbCBzdGlja3lQYW5TY3Jv
bGwoKSBjb25zdCB7IHJldHVybiBtX3N0aWNreVBhblNjcm9sbDsgfQorCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgUGFnZSogbV9wYWdlOwogICAgICAgICAKQEAgLTI3MCw2ICsyNzMsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV91c2VzRW5jb2RpbmdEZXRlY3RvciA6IDE7
CiAgICAgICAgIHNpemVfdCBtX21heGltdW1EZWNvZGVkSW1hZ2VTaXplOwogICAgICAgICBib29s
IG1fYWxsb3dTY3JpcHRzVG9DbG9zZVdpbmRvd3MgOiAxOworICAgICAgICBib29sIG1fc3RpY2t5
UGFuU2Nyb2xsIDogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0YXRpYyBi
b29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwo=
</data>
<flag name="review"
          id="14707"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29508</attachid>
            <date>2009-04-15 11:42:34 -0700</date>
            <delta_ts>2009-05-27 12:42:36 -0700</delta_ts>
            <desc>Version with corrected tabs and indentation</desc>
            <filename>AutoscrollOptionPatch.txt</filename>
            <type>text/plain</type>
            <size>4039</size>
            <attacher name="Itai">idanan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MjUzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDQtMTUgIEl0YWkgRGFuYW4gIDxpZGFuYW5AY2hyb21pdW0u
b3JnPgorICAgICAgICBBcyBwZXIgQnVnIDIxNzk0IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3OTQpLAorICAgICAgICBhZGRlZCBhbiBvcHRpb24gZm9yIHNwcmlu
Z2xvYWRlZCBwYW5zY3JvbGwgaW5zdGVhZCBvZiBzdGlja3kKKyAgICAgICAgc2Nyb2xsLiBUbyB1
bmRlcnN0YW5kIHdoeSB0aGlzIGlzIHJlcXVpcmVkIHNlZSB0aGUgZGlzY3Vzc2lvbiBpbgorICAg
ICAgICBpc3N1ZSAyNDcyMiAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI0NzIyKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRTdGlja3lQYW5TY3JvbGwpOgorICAgICAgICAqIHBhZ2UvU2V0dGlu
Z3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzdGlja3lQYW5TY3JvbGwpOgorCiAy
MDA5LTA0LTE0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSdWJiZXItc3RhbXBlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CShyZXZpc2lvbiA0MjUzOSkKKysrIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTAyLDExICsxMTAyLDEyIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVByZXNzRXZlbnQKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogICAgIFBhZ2Uq
IHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7Ci0gICAgaWYgKHBhZ2UgJiYgcGFnZS0+bWFpbkZyYW1l
KCktPmV2ZW50SGFuZGxlcigpLT5wYW5TY3JvbGxJblByb2dyZXNzKCkgfHwgbV9hdXRvc2Nyb2xs
SW5Qcm9ncmVzcykgewotICAgICAgICBzdG9wQXV0b3Njcm9sbFRpbWVyKCk7Ci0gICAgICAgIGlu
dmFsaWRhdGVDbGljaygpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgaWYgKG1f
ZnJhbWUtPnNldHRpbmdzKCktPnN0aWNreVBhblNjcm9sbCgpKQorICAgICAgICBpZiAocGFnZSAm
JiBwYWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9sbEluUHJvZ3Jlc3Mo
KSB8fCBtX2F1dG9zY3JvbGxJblByb2dyZXNzKSB7CisgICAgICAgICAgICBzdG9wQXV0b3Njcm9s
bFRpbWVyKCk7CisgICAgICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CiAgICAgCiAgICAgaWYgKG1vdXNlRXZlbnQuYnV0dG9uKCkg
PT0gTWlkZGxlQnV0dG9uICYmICFtZXYuaXNPdmVyTGluaygpKSB7CiAgICAgICAgIFJlbmRlck9i
amVjdCogcmVuZGVyZXIgPSBtZXYudGFyZ2V0Tm9kZSgpLT5yZW5kZXJlcigpOwpAQCAtMTM0OCw2
ICsxMzQ5LDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmUKICAg
ICBtX21vdXNlUHJlc3NlZCA9IGZhbHNlOwogICAgIG1fY3VycmVudE1vdXNlUG9zaXRpb24gPSBt
b3VzZUV2ZW50LnBvcygpOwogCisgICAgaWYgKCFtX2ZyYW1lLT5zZXR0aW5ncygpLT5zdGlja3lQ
YW5TY3JvbGwoKSkKKyAgICAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1lLT5wYWdl
KCktPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8
IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpIHsKKyAgICAgICAgICAgIHN0b3BBdXRvc2Nyb2xsVGlt
ZXIoKTsKKyAgICAgICAgICAgIGludmFsaWRhdGVDbGljaygpOworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH0KKwogI2lmIEVOQUJMRShTVkcpCiAgICAgaWYgKG1fc3ZnUGFuKSB7
CiAgICAgICAgIG1fc3ZnUGFuID0gZmFsc2U7CkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDQy
NTM5KQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAs
NiArOTAsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fdXNlc0Vu
Y29kaW5nRGV0ZWN0b3IoZmFsc2UpCiAgICAgLCBtX21heGltdW1EZWNvZGVkSW1hZ2VTaXplKHN0
ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkpCiAgICAgLCBtX2FsbG93U2NyaXB0c1Rv
Q2xvc2VXaW5kb3dzKGZhbHNlKQorICAgICwgbV9zdGlja3lQYW5TY3JvbGwodHJ1ZSkKIHsKICAg
ICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0aWFs
aXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBp
dC4KQEAgLTQzNSw0ICs0MzYsOSBAQCB2b2lkIFNldHRpbmdzOjpzZXRBbGxvd1NjcmlwdHNUb0Ns
b3NlV2luCiAgICAgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyA9IGFsbG93U2NyaXB0c1Rv
Q2xvc2VXaW5kb3dzOwogfQogCit2b2lkIFNldHRpbmdzOjpzZXRTdGlja3lQYW5TY3JvbGwoYm9v
bCBzdGlja3lQYW5TY3JvbGwpCit7CisgICAgbV9zdGlja3lQYW5TY3JvbGwgPSBzdGlja3lQYW5T
Y3JvbGw7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lv
biA0MjUzOSkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTQsNiArMjE0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEFsbG93
U2NyaXB0c1RvQ2xvc2VXaW5kb3dzKGJvb2wpOwogICAgICAgICBib29sIGFsbG93U2NyaXB0c1Rv
Q2xvc2VXaW5kb3dzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93
czsgfQogCisgICAgICAgIHZvaWQgc2V0U3RpY2t5UGFuU2Nyb2xsKGJvb2wpOworICAgICAgICBi
b29sIHN0aWNreVBhblNjcm9sbCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RpY2t5UGFuU2Nyb2xsOyB9
CisKICAgICBwcml2YXRlOgogICAgICAgICBQYWdlKiBtX3BhZ2U7CiAgICAgICAgIApAQCAtMjcw
LDYgKzI3Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3VzZXNFbmNv
ZGluZ0RldGVjdG9yIDogMTsKICAgICAgICAgc2l6ZV90IG1fbWF4aW11bURlY29kZWRJbWFnZVNp
emU7CiAgICAgICAgIGJvb2wgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyA6IDE7CisgICAg
ICAgIGJvb2wgbV9zdGlja3lQYW5TY3JvbGwgOiAxOwogCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkK
ICAgICAgICAgc3RhdGljIGJvb2wgZ1Nob3VsZFBhaW50TmF0aXZlQ29udHJvbHM7Cg==
</data>
<flag name="review"
          id="14709"
          type_id="1"
          status="-"
          setter="jhoneycutt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30713</attachid>
            <date>2009-05-27 12:42:36 -0700</date>
            <delta_ts>2009-05-29 16:14:33 -0700</delta_ts>
            <desc>Comments by John Honeycutt addressed</desc>
            <filename>autoscroll_webkit.txt</filename>
            <type>text/plain</type>
            <size>4054</size>
            <attacher name="Itai">idanan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDE5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMDUtMjcgIEl0YWkgRGFuYW4gIDxpZGFuYW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IGpob25leWN1dHRAYXBwbGUuY29tLgorCisgICAg
ICAgIEFzIHBlciBCdWcgMjE3OTQgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTc5NCksCisJYWRkZWQgYW4gb3B0aW9uIGZvciBzcHJpbmdsb2FkZWQgcGFuc2Nyb2xs
IGluc3RlYWQgb2Ygc3RpY2t5CisJc2Nyb2xsLiBUbyB1bmRlcnN0YW5kIHdoeSB0aGlzIGlzIHJl
cXVpcmVkIHNlZSB0aGUgZGlzY3Vzc2lvbiBpbgorCWlzc3VlIDI0NzIyIChodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ3MjIpLgorCisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQpOiBVc2UgYXV0b3Njcm9sbCBiZWhhdmlvciBmbGFnIHRvIGRldGVybWluZQor
CWlmIGF1dG9zY3JvbGwgbmVlZHMgdG8gYmUgcmVsZWFzZWQgb24gdGhpcyBldmVudC4KKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQpOiAgVXNl
IGF1dG9zY3JvbGwgYmVoYXZpb3IgZmxhZyB0byBkZXRlcm1pbmUKKwlpZiBhdXRvc2Nyb2xsIG5l
ZWRzIHRvIGJlIHJlbGVhc2VkIG9uIHRoaXMgZXZlbnQgKHJldmVyc2UgbG9naWMgb2YgZm9yIFBy
ZXNzIGV2ZW50KS4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6IEluaXRpYWxpemUgYXV0b3Njcm9sbCBiZWhhdmlvciBz
ZXR0aW5nLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
dHRpbmdzOjpzZXRVc2VzU3RpY2t5UGFuU2Nyb2xsKTogQXV0b3Njcm9sbCBiZWhhdmlvciBzZXR0
aW5nIHNldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VzU3RpY2t5UGFuU2Ny
b2xsKTogQXV0b3Njcm9sbCBiZWhhdmlvciBzZXR0aW5nIGdldHRlci4KKwogMjAwOS0wNS0yNyAg
RGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
TWFjaWVqIFN0YWNob3dpYWsuCkluZGV4OiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gNDQx
OTQpCisrKyBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTEwMSwxMiArMTEwMSwxMyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2
ZW50CiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKICAgICBQYWdlKiBwYWdlID0gbV9mcmFt
ZS0+cGFnZSgpOwotICAgIGlmIChwYWdlICYmIHBhZ2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRs
ZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpIHsK
KyAgICBpZiAobV9mcmFtZS0+c2V0dGluZ3MoKS0+dXNlc1N0aWNreVBhblNjcm9sbCgpICYmCisg
ICAgICAgIChwYWdlICYmIHBhZ2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Ny
b2xsSW5Qcm9ncmVzcygpIHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpKSB7CiAgICAgICAgIHN0
b3BBdXRvc2Nyb2xsVGltZXIoKTsKICAgICAgICAgaW52YWxpZGF0ZUNsaWNrKCk7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KLSAgICAKKwogICAgIGlmIChtb3VzZUV2ZW50LmJ1dHRvbigp
ID09IE1pZGRsZUJ1dHRvbiAmJiAhbWV2LmlzT3ZlckxpbmsoKSkgewogICAgICAgICBSZW5kZXJP
YmplY3QqIHJlbmRlcmVyID0gbWV2LnRhcmdldE5vZGUoKS0+cmVuZGVyZXIoKTsKIApAQCAtMTM0
Nyw2ICsxMzQ4LDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmUK
ICAgICBtX21vdXNlUHJlc3NlZCA9IGZhbHNlOwogICAgIG1fY3VycmVudE1vdXNlUG9zaXRpb24g
PSBtb3VzZUV2ZW50LnBvcygpOwogCisgICAgaWYgKCFtX2ZyYW1lLT5zZXR0aW5ncygpLT51c2Vz
U3RpY2t5UGFuU2Nyb2xsKCkgJiYKKyAgICAgICAgKG1fZnJhbWUtPnBhZ2UoKSAmJiBtX2ZyYW1l
LT5wYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVz
cygpIHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3MpKSB7CisgICAgICAgIHN0b3BBdXRvc2Nyb2xs
VGltZXIoKTsKKyAgICAgICAgaW52YWxpZGF0ZUNsaWNrKCk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKwogI2lmIEVOQUJMRShTVkcpCiAgICAgaWYgKG1fc3ZnUGFuKSB7CiAgICAgICAg
IG1fc3ZnUGFuID0gZmFsc2U7CkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDQ0MTk0KQorKysg
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsNyBA
QCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1fZW5mb3JjZUNTU01JTUVU
eXBlSW5TdHJpY3RNb2RlKHRydWUpCiAgICAgLCBtX3VzZXNFbmNvZGluZ0RldGVjdG9yKGZhbHNl
KQogICAgICwgbV9hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyhmYWxzZSkKKyAgICAsIG1fdXNl
c1N0aWNreVBhblNjcm9sbCh0cnVlKQogICAgICwgbV9lZGl0aW5nQmVoYXZpb3IoCiAjaWYgUExB
VEZPUk0oTUFDKQogICAgICAgICBFZGl0aW5nTWFjQmVoYXZpb3IKSW5kZXg6IFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZp
c2lvbiA0NDE5NCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMzgsNiArMjM4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldERv
d25sb2FkYWJsZUJpbmFyeUZvbnRzRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCBkb3dubG9h
ZGFibGVCaW5hcnlGb250c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Rvd25sb2FkYWJsZUJp
bmFyeUZvbnRzRW5hYmxlZDsgfQogCisgICAgICAgIHZvaWQgc2V0VXNlc1N0aWNreVBhblNjcm9s
bChib29sIHVzZXNTdGlja3lQYW5TY3JvbGwpIHsgbV91c2VzU3RpY2t5UGFuU2Nyb2xsID0gdXNl
c1N0aWNreVBhblNjcm9sbDsgfQorICAgICAgICBib29sIHVzZXNTdGlja3lQYW5TY3JvbGwoKSBj
b25zdCB7IHJldHVybiBtX3VzZXNTdGlja3lQYW5TY3JvbGw7IH0KKwogICAgIHByaXZhdGU6CiAg
ICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAgICAgCkBAIC0yOTUsNiArMjk4LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fZW5mb3JjZUNTU01JTUVUeXBlSW5TdHJpY3RN
b2RlIDogMTsKICAgICAgICAgYm9vbCBtX3VzZXNFbmNvZGluZ0RldGVjdG9yIDogMTsKICAgICAg
ICAgYm9vbCBtX2FsbG93U2NyaXB0c1RvQ2xvc2VXaW5kb3dzIDogMTsKKyAgICAgICAgYm9vbCBt
X3VzZXNTdGlja3lQYW5TY3JvbGwgOiAxOwogICAgICAgICB1bnNpZ25lZCBtX2VkaXRpbmdCZWhh
dmlvciA6IDE7CiAgICAgICAgIGJvb2wgbV9kb3dubG9hZGFibGVCaW5hcnlGb250c0VuYWJsZWQg
OiAxOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30716</attachid>
            <date>2009-05-27 14:07:22 -0700</date>
            <delta_ts>2009-07-23 20:01:18 -0700</delta_ts>
            <desc>Tabs removed from ChangeLog</desc>
            <filename>autoscroll_webkit.txt</filename>
            <type>text/plain</type>
            <size>4082</size>
            <attacher name="Itai">idanan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDE5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMDktMDUtMjcgIEl0YWkgRGFuYW4gIDxpZGFuYW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCisKKyAgICAgICAgQXMg
cGVyIEJ1ZyAyMTc5NCAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
Nzk0KSwKKyAgICAgICAgYWRkZWQgYW4gb3B0aW9uIGZvciBzcHJpbmdsb2FkZWQgcGFuc2Nyb2xs
IGluc3RlYWQgb2Ygc3RpY2t5CisgICAgICAgIHNjcm9sbC4gVG8gdW5kZXJzdGFuZCB3aHkgdGhp
cyBpcyByZXF1aXJlZCBzZWUgdGhlIGRpc2N1c3Npb24gaW4KKyAgICAgICAgaXNzdWUgMjQ3MjIg
KGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDcyMikuCisKKyAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6IFVzZSBhdXRvc2Nyb2xsIGJlaGF2aW9yIGZsYWcg
dG8gZGV0ZXJtaW5lCisgICAgICAgIGlmIGF1dG9zY3JvbGwgbmVlZHMgdG8gYmUgcmVsZWFzZWQg
b24gdGhpcyBldmVudC4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91
c2VSZWxlYXNlRXZlbnQpOiAgVXNlIGF1dG9zY3JvbGwgYmVoYXZpb3IgZmxhZyB0byBkZXRlcm1p
bmUKKyAgICAgICAgaWYgYXV0b3Njcm9sbCBuZWVkcyB0byBiZSByZWxlYXNlZCBvbiB0aGlzIGV2
ZW50IChyZXZlcnNlIGxvZ2ljIG9mIGZvciBQcmVzcyBldmVudCkuCisgICAgICAgICogcGFnZS9T
ZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOiBJbml0
aWFsaXplIGF1dG9zY3JvbGwgYmVoYXZpb3Igc2V0dGluZy4KKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VXNlc1N0aWNreVBhblNjcm9s
bCk6IEF1dG9zY3JvbGwgYmVoYXZpb3Igc2V0dGluZyBzZXR0ZXIuCisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6dXNlc1N0aWNreVBhblNjcm9sbCk6IEF1dG9zY3JvbGwgYmVoYXZpb3Igc2V0
dGluZyBnZXR0ZXIuCisKIDIwMDktMDUtMjcgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAJKHJldmlzaW9uIDQ0MTk0KQorKysgV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMDEsMTIgKzExMDEsMTMgQEAgYm9vbCBFdmVu
dEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudAogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJ
TkcpCiAgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAocGFnZSAmJiBw
YWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9sbEluUHJvZ3Jlc3MoKSB8
fCBtX2F1dG9zY3JvbGxJblByb2dyZXNzKSB7CisgICAgaWYgKG1fZnJhbWUtPnNldHRpbmdzKCkt
PnVzZXNTdGlja3lQYW5TY3JvbGwoKSAmJgorICAgICAgICAocGFnZSAmJiBwYWdlLT5tYWluRnJh
bWUoKS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9sbEluUHJvZ3Jlc3MoKSB8fCBtX2F1dG9zY3Jv
bGxJblByb2dyZXNzKSkgewogICAgICAgICBzdG9wQXV0b3Njcm9sbFRpbWVyKCk7CiAgICAgICAg
IGludmFsaWRhdGVDbGljaygpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgCisK
ICAgICBpZiAobW91c2VFdmVudC5idXR0b24oKSA9PSBNaWRkbGVCdXR0b24gJiYgIW1ldi5pc092
ZXJMaW5rKCkpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG1ldi50YXJnZXRO
b2RlKCktPnJlbmRlcmVyKCk7CiAKQEAgLTEzNDcsNiArMTM0OCwxMyBAQCBib29sIEV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlCiAgICAgbV9tb3VzZVByZXNzZWQgPSBmYWxzZTsK
ICAgICBtX2N1cnJlbnRNb3VzZVBvc2l0aW9uID0gbW91c2VFdmVudC5wb3MoKTsKIAorICAgIGlm
ICghbV9mcmFtZS0+c2V0dGluZ3MoKS0+dXNlc1N0aWNreVBhblNjcm9sbCgpICYmCisgICAgICAg
IChtX2ZyYW1lLT5wYWdlKCkgJiYgbV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZlbnRI
YW5kbGVyKCktPnBhblNjcm9sbEluUHJvZ3Jlc3MoKSB8fCBtX2F1dG9zY3JvbGxJblByb2dyZXNz
KSkgeworICAgICAgICBzdG9wQXV0b3Njcm9sbFRpbWVyKCk7CisgICAgICAgIGludmFsaWRhdGVD
bGljaygpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKICNpZiBFTkFCTEUoU1ZHKQog
ICAgIGlmIChtX3N2Z1BhbikgewogICAgICAgICBtX3N2Z1BhbiA9IGZhbHNlOwpJbmRleDogV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuY3BwCShyZXZpc2lvbiA0NDE5NCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTkzLDYgKzkzLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBh
Z2UpCiAgICAgLCBtX2VuZm9yY2VDU1NNSU1FVHlwZUluU3RyaWN0TW9kZSh0cnVlKQogICAgICwg
bV91c2VzRW5jb2RpbmdEZXRlY3RvcihmYWxzZSkKICAgICAsIG1fYWxsb3dTY3JpcHRzVG9DbG9z
ZVdpbmRvd3MoZmFsc2UpCisgICAgLCBtX3VzZXNTdGlja3lQYW5TY3JvbGwodHJ1ZSkKICAgICAs
IG1fZWRpdGluZ0JlaGF2aW9yKAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgRWRpdGluZ01h
Y0JlaGF2aW9yCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gNDQxOTQpCisrKyBXZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjM4LDYgKzIzOCw5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXREb3dubG9hZGFibGVCaW5hcnlGb250c0VuYWJsZWQo
Ym9vbCk7CiAgICAgICAgIGJvb2wgZG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9kb3dubG9hZGFibGVCaW5hcnlGb250c0VuYWJsZWQ7IH0KIAorICAgICAg
ICB2b2lkIHNldFVzZXNTdGlja3lQYW5TY3JvbGwoYm9vbCB1c2VzU3RpY2t5UGFuU2Nyb2xsKSB7
IG1fdXNlc1N0aWNreVBhblNjcm9sbCA9IHVzZXNTdGlja3lQYW5TY3JvbGw7IH0KKyAgICAgICAg
Ym9vbCB1c2VzU3RpY2t5UGFuU2Nyb2xsKCkgY29uc3QgeyByZXR1cm4gbV91c2VzU3RpY2t5UGFu
U2Nyb2xsOyB9CisKICAgICBwcml2YXRlOgogICAgICAgICBQYWdlKiBtX3BhZ2U7CiAgICAgICAg
IApAQCAtMjk1LDYgKzI5OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBt
X2VuZm9yY2VDU1NNSU1FVHlwZUluU3RyaWN0TW9kZSA6IDE7CiAgICAgICAgIGJvb2wgbV91c2Vz
RW5jb2RpbmdEZXRlY3RvciA6IDE7CiAgICAgICAgIGJvb2wgbV9hbGxvd1NjcmlwdHNUb0Nsb3Nl
V2luZG93cyA6IDE7CisgICAgICAgIGJvb2wgbV91c2VzU3RpY2t5UGFuU2Nyb2xsIDogMTsKICAg
ICAgICAgdW5zaWduZWQgbV9lZGl0aW5nQmVoYXZpb3IgOiAxOwogICAgICAgICBib29sIG1fZG93
bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkIDogMTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33404</attachid>
            <date>2009-07-23 20:01:18 -0700</date>
            <delta_ts>2009-07-24 15:16:36 -0700</delta_ts>
            <desc>Pan Scrolling</desc>
            <filename>0001-2009-07-23-Brian-Weinstein-bweinstein-apple.com.patch</filename>
            <type>text/plain</type>
            <size>5024</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">RnJvbSA5YjllOWY1NGJjODU3M2FkY2MxZjgwNjM0NjA0MWM2OTczMWY3OGRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCcmlhbiBXZWluc3RlaW4gPGJ3ZWluc3RlaW5AYXBwbGUuY29t
PgpEYXRlOiBUaHUsIDIzIEp1bCAyMDA5IDE5OjUxOjU2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0g
MjAwOS0wNy0yMyAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CgogICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBGaXggb2YgPHJkYXI6Ly82
MzEwNTM4PiBNaWRkbGUtY2xpY2sgcGFubmluZyBzaG91bGQgYmUgc3ByaW5nbG9hZGVkIHdoaWxl
IGRyYWdnaW5nLgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTc5NAoKICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOiBJbml0aWFsaXplZCB0d28gbmV3IGJvb2xl
YW5zLgogICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNldFBhblNjcm9sbEN1cnNvcik6
IElmIHdlIHN0YXJ0IHNjcm9sbGluZyBpbiBhbnkgZGlyZWN0aW9uIHdoZW4gdGhlIG1vdXNlIGlz
IHByZXNzZWQsIHJlZ2lzdGVyIHRoYXQgd2Ugc3RhcnRlZCBhIHByZXNzZWQgcGFuIHNjcm9sbC4K
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzdG9wQXV0b3Njcm9sbFRpbWVyKTogTWFr
ZSBzdXJlIHRvIGNsZWFyIHRoZSBwcmVzc2VkUGFuU2Nyb2xsIGZsYWcuCiAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KTogU2V0IHRoZSBwYW5TY3Jv
bGxpbmdCdXR0b25QcmVzc2VkIGZsYWcuCiAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQpOiBDbGVhciB0aGUgcGFuU2Nyb2xsaW5nQnV0dG9uUHJl
c3NlZCBmbGFnIGFuZCBzdG9wIHBhbiBzY3JvbGxpbmcgaWYgaXQgd2FzIHN0YXJ0ZWQuCiAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAg
ICAgIHwgICAxNSArKysrKysrKysrKysrKysKIFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
IHwgICAxNCArKysrKysrKysrKysrKwogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oICAgfCAg
ICAzICsrKwogMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZTI4ZWEyOS4uMTJhMmE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wNy0yMyAgQnJpYW4gV2Vp
bnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IG9mIDxyZGFyOi8vNjMxMDUzOD4gTWlkZGxlLWNs
aWNrIHBhbm5pbmcgc2hvdWxkIGJlIHNwcmluZ2xvYWRlZCB3aGlsZSBkcmFnZ2luZy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzk0CisKKyAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OkV2ZW50SGFuZGxlcik6IEluaXRpYWxpemVkIHR3byBuZXcgYm9vbGVhbnMuCisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNldFBhblNjcm9sbEN1cnNvcik6IElmIHdlIHN0YXJ0
IHNjcm9sbGluZyBpbiBhbnkgZGlyZWN0aW9uIHdoZW4gdGhlIG1vdXNlIGlzIHByZXNzZWQsIHJl
Z2lzdGVyIHRoYXQgd2Ugc3RhcnRlZCBhIHByZXNzZWQgcGFuIHNjcm9sbC4KKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6c3RvcEF1dG9zY3JvbGxUaW1lcik6IE1ha2Ugc3VyZSB0byBj
bGVhciB0aGUgcHJlc3NlZFBhblNjcm9sbCBmbGFnLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQpOiBTZXQgdGhlIHBhblNjcm9sbGluZ0J1dHRv
blByZXNzZWQgZmxhZy4KKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91
c2VSZWxlYXNlRXZlbnQpOiBDbGVhciB0aGUgcGFuU2Nyb2xsaW5nQnV0dG9uUHJlc3NlZCBmbGFn
IGFuZCBzdG9wIHBhbiBzY3JvbGxpbmcgaWYgaXQgd2FzIHN0YXJ0ZWQuCisgICAgICAgICogcGFn
ZS9FdmVudEhhbmRsZXIuaDoKKwogMjAwOS0wNy0yMyAgWW9uZ2p1biBaaGFuZyAgPHlvbmdqdW4u
emhhbmdAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAppbmRleCA3ZDViZmZiLi5lNDhmM2Q5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcApAQCAtMTQxLDYgKzE0MSw4IEBAIEV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyKEZyYW1l
KiBmcmFtZSkKICAgICAsIG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNlbGVjdGlvbihmYWxz
ZSkKICAgICAsIG1fYmVnYW5TZWxlY3RpbmdUZXh0KGZhbHNlKQogICAgICwgbV9wYW5TY3JvbGxJ
blByb2dyZXNzKGZhbHNlKQorICAgICwgbV9wYW5TY3JvbGxCdXR0b25QcmVzc2VkKGZhbHNlKQor
ICAgICwgbV9wcmVzc2VkUGFuU2Nyb2xsSW5Qcm9ncmVzcyhmYWxzZSkKICAgICAsIG1faG92ZXJU
aW1lcih0aGlzLCAmRXZlbnRIYW5kbGVyOjpob3ZlclRpbWVyRmlyZWQpCiAgICAgLCBtX2F1dG9z
Y3JvbGxUaW1lcih0aGlzLCAmRXZlbnRIYW5kbGVyOjphdXRvc2Nyb2xsVGltZXJGaXJlZCkKICAg
ICAsIG1fYXV0b3Njcm9sbFJlbmRlcmVyKDApCkBAIC02NzYsNiArNjc4LDkgQEAgdm9pZCBFdmVu
dEhhbmRsZXI6OnNldFBhblNjcm9sbEN1cnNvcigpCiAgICAgYm9vbCBub3J0aCA9IG1fcGFuU2Ny
b2xsU3RhcnRQb3MueSgpID4gKG1fY3VycmVudE1vdXNlUG9zaXRpb24ueSgpICsgU2Nyb2xsVmll
dzo6bm9QYW5TY3JvbGxSYWRpdXMpOwogICAgIGJvb2wgc291dGggPSBtX3BhblNjcm9sbFN0YXJ0
UG9zLnkoKSA8IChtX2N1cnJlbnRNb3VzZVBvc2l0aW9uLnkoKSAtIFNjcm9sbFZpZXc6Om5vUGFu
U2Nyb2xsUmFkaXVzKTsKICAgICAgICAgIAorICAgIGlmICgoZWFzdCB8fCB3ZXN0IHx8IG5vcnRo
IHx8IHNvdXRoKSAmJiBtX3BhblNjcm9sbEJ1dHRvblByZXNzZWQpCisgICAgICAgIG1fcHJlc3Nl
ZFBhblNjcm9sbEluUHJvZ3Jlc3MgPSB0cnVlOworCiAgICAgaWYgKG5vcnRoKSB7CiAgICAgICAg
IGlmIChlYXN0KQogICAgICAgICAgICAgdmlldy0+c2V0Q3Vyc29yKG5vcnRoRWFzdFBhbm5pbmdD
dXJzb3IoKSk7CkBAIC04MzYsNiArODQxLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnN0b3BBdXRv
c2Nyb2xsVGltZXIoYm9vbCByZW5kZXJlcklzQmVpbmdEZXN0cm95ZWQpCiAgICAgbV9hdXRvc2Ny
b2xsVGltZXIuc3RvcCgpOwogCiAgICAgbV9wYW5TY3JvbGxJblByb2dyZXNzID0gZmFsc2U7Cisg
ICAgbV9wcmVzc2VkUGFuU2Nyb2xsSW5Qcm9ncmVzcyA9IGZhbHNlOwogCiAgICAgLy8gSWYgd2Un
cmUgbm90IGluIHRoZSB0b3AgZnJhbWUgd2Ugbm90aWZ5IGl0IHRoYXQgd2UgYXJlIG5vdCBkb2lu
ZyBhIHBhblNjcm9sbCBhbnkgbW9yZS4KICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBh
Z2UoKSkgewpAQCAtMTE2Myw2ICsxMTY5LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1v
dXNlUHJlc3NFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiAKICAg
ICAgICAgaWYgKHJlbmRlcmVyKSB7CiAgICAgICAgICAgICBtX3BhblNjcm9sbEluUHJvZ3Jlc3Mg
PSB0cnVlOworICAgICAgICAgICAgbV9wYW5TY3JvbGxCdXR0b25QcmVzc2VkID0gdHJ1ZTsKICAg
ICAgICAgICAgIGhhbmRsZUF1dG9zY3JvbGwocmVuZGVyZXIpOwogICAgICAgICAgICAgaW52YWxp
ZGF0ZUNsaWNrKCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEzOTAsNiArMTM5Nywx
MyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogewogICAgIFJlZlB0cjxGcmFtZVZpZXc+IHBy
b3RlY3RvcihtX2ZyYW1lLT52aWV3KCkpOwogCisjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCisg
ICAgaWYgKG1vdXNlRXZlbnQuYnV0dG9uKCkgPT0gTWlkZGxlQnV0dG9uKQorICAgICAgICBtX3Bh
blNjcm9sbEJ1dHRvblByZXNzZWQgPSBmYWxzZTsKKyAgICBpZiAobV9wcmVzc2VkUGFuU2Nyb2xs
SW5Qcm9ncmVzcykKKyAgICAgICBzdG9wQXV0b3Njcm9sbFRpbWVyKCk7CisjZW5kaWYKKwogICAg
IG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1v
dXNlRXZlbnQucG9zKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCAyMGQyODg4Li44YTBlNjBlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oCkBAIC0yOTcsNiArMjk3LDkgQEAgcHJpdmF0ZToKICAgICBJbnRQb2lu
dCBtX3BhblNjcm9sbFN0YXJ0UG9zOwogICAgIGJvb2wgbV9wYW5TY3JvbGxJblByb2dyZXNzOwog
CisgICAgYm9vbCBtX3BhblNjcm9sbEJ1dHRvblByZXNzZWQ7CisgICAgYm9vbCBtX3ByZXNzZWRQ
YW5TY3JvbGxJblByb2dyZXNzOworCiAgICAgVGltZXI8RXZlbnRIYW5kbGVyPiBtX2hvdmVyVGlt
ZXI7CiAgICAgCiAgICAgVGltZXI8RXZlbnRIYW5kbGVyPiBtX2F1dG9zY3JvbGxUaW1lcjsKLS0g
CjEuNi4xCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>