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