Title: [132422] trunk/Source/WebCore
Revision
132422
Author
[email protected]
Date
2012-10-24 16:40:28 -0700 (Wed, 24 Oct 2012)

Log Message

Update main frame scroll position immediately for programmatic scrolls
https://bugs.webkit.org/show_bug.cgi?id=98074

Reviewed by Simon Fraser.

Immediately update the main frame scroll position after a programmatic scroll,
so that performing a scrollBy or scrollTo will be instantly reflected in
all of the scroll offset accessors.

No new tests; this will be tested by many scrolling tests once WebKitTestRunner
can use threaded scrolling.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (132421 => 132422)


--- trunk/Source/WebCore/ChangeLog	2012-10-24 23:26:58 UTC (rev 132421)
+++ trunk/Source/WebCore/ChangeLog	2012-10-24 23:40:28 UTC (rev 132422)
@@ -1,3 +1,20 @@
+2012-10-24  Tim Horton  <[email protected]>
+
+        Update main frame scroll position immediately for programmatic scrolls
+        https://bugs.webkit.org/show_bug.cgi?id=98074
+
+        Reviewed by Simon Fraser.
+
+        Immediately update the main frame scroll position after a programmatic scroll,
+        so that performing a scrollBy or scrollTo will be instantly reflected in
+        all of the scroll offset accessors.
+
+        No new tests; this will be tested by many scrolling tests once WebKitTestRunner
+        can use threaded scrolling.
+
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
+
 2012-10-24  Mihai Parparita  <[email protected]>
 
         [Chromium] Allow pushState and related history APIs to be disabled per context

Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm (132421 => 132422)


--- trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm	2012-10-24 23:26:58 UTC (rev 132421)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm	2012-10-24 23:40:28 UTC (rev 132422)
@@ -183,12 +183,13 @@
     if (!coordinatesScrollingForFrameView(frameView))
         return false;
 
-    if (frameView->frame()->document()->inPageCache()) {
-        // If this frame view's document is being put into the page cache, we don't want to update our
-        // main frame scroll position. Just let the FrameView think that we did.
+    if (frameView->inProgrammaticScroll() || frameView->frame()->document()->inPageCache())
         updateMainFrameScrollPosition(scrollPosition, frameView->inProgrammaticScroll());
+
+    // If this frame view's document is being put into the page cache, we don't want to update our
+    // main frame scroll position. Just let the FrameView think that we did.
+    if (frameView->frame()->document()->inPageCache())
         return true;
-    }
 
     ScrollingStateScrollingNode* stateNode = stateNodeForID(frameView->scrollLayerID());
     if (!stateNode)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to