Title: [132543] trunk/Source/WebCore
Revision
132543
Author
timothy_hor...@apple.com
Date
2012-10-25 16:26:45 -0700 (Thu, 25 Oct 2012)

Log Message

REGRESSION (132422): Tiles don't move when the Find dialog causes programmatic scrolls
https://bugs.webkit.org/show_bug.cgi?id=100433
<rdar://problem/12575582>

Reviewed by Simon Fraser.

Actually update GraphicsLayer positions from updateMainFrameScrollPosition if
we're doing a programmatic scroll; otherwise programmatic scrolls while scrolling
on the main thread will short-circuit and end up only updating the GraphicsLayer's
notion of its current position, but never synchronizing that to the layer itself.

No new tests, as this is currently untestable.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (132542 => 132543)


--- trunk/Source/WebCore/ChangeLog	2012-10-25 23:13:25 UTC (rev 132542)
+++ trunk/Source/WebCore/ChangeLog	2012-10-25 23:26:45 UTC (rev 132543)
@@ -1,3 +1,21 @@
+2012-10-25  Tim Horton  <timothy_hor...@apple.com>
+
+        REGRESSION (132422): Tiles don't move when the Find dialog causes programmatic scrolls
+        https://bugs.webkit.org/show_bug.cgi?id=100433
+        <rdar://problem/12575582>
+
+        Reviewed by Simon Fraser.
+
+        Actually update GraphicsLayer positions from updateMainFrameScrollPosition if
+        we're doing a programmatic scroll; otherwise programmatic scrolls while scrolling
+        on the main thread will short-circuit and end up only updating the GraphicsLayer's
+        notion of its current position, but never synchronizing that to the layer itself.
+
+        No new tests, as this is currently untestable.
+
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
+
 2012-10-25  Simon Fraser  <simon.fra...@apple.com>
 
         Tiled layers are missing content on zooming

Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp (132542 => 132543)


--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp	2012-10-25 23:13:25 UTC (rev 132542)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp	2012-10-25 23:26:45 UTC (rev 132543)
@@ -237,8 +237,12 @@
     frameView->setInProgrammaticScroll(oldProgrammaticScroll);
 
 #if USE(ACCELERATED_COMPOSITING)
-    if (GraphicsLayer* scrollLayer = scrollLayerForFrameView(frameView))
-        scrollLayer->syncPosition(-frameView->scrollPosition());
+    if (GraphicsLayer* scrollLayer = scrollLayerForFrameView(frameView)) {
+        if (programmaticScroll)
+            scrollLayer->setPosition(-frameView->scrollPosition());
+        else
+            scrollLayer->syncPosition(-frameView->scrollPosition());
+    }
 #endif
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to