Title: [108392] trunk/Source/WebCore
- Revision
- 108392
- Author
- [email protected]
- Date
- 2012-02-21 13:39:00 -0800 (Tue, 21 Feb 2012)
Log Message
ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
https://bugs.webkit.org/show_bug.cgi?id=79126
Reviewed by Anders Carlsson.
The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
about manipulating GraphicsLayers. Adds a runtime check.
Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
* page/FrameView.cpp:
(WebCore::FrameView::addFixedObject):
(WebCore::FrameView::removeFixedObject):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (108391 => 108392)
--- trunk/Source/WebCore/ChangeLog 2012-02-21 21:35:38 UTC (rev 108391)
+++ trunk/Source/WebCore/ChangeLog 2012-02-21 21:39:00 UTC (rev 108392)
@@ -1,5 +1,24 @@
2012-02-21 James Robinson <[email protected]>
+ ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
+ https://bugs.webkit.org/show_bug.cgi?id=79126
+
+ Reviewed by Anders Carlsson.
+
+ The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
+ about manipulating GraphicsLayers. Adds a runtime check.
+
+ Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::addFixedObject):
+ (WebCore::FrameView::removeFixedObject):
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
+ (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
+
+2012-02-21 James Robinson <[email protected]>
+
Chromium build fix. Unreviwed but rubber-stamped by Antti.
* dom/Document.cpp:
Modified: trunk/Source/WebCore/page/FrameView.cpp (108391 => 108392)
--- trunk/Source/WebCore/page/FrameView.cpp 2012-02-21 21:35:38 UTC (rev 108391)
+++ trunk/Source/WebCore/page/FrameView.cpp 2012-02-21 21:39:00 UTC (rev 108392)
@@ -1337,12 +1337,10 @@
if (platformWidget())
updateCanBlitOnScrollRecursively();
-#if ENABLE(THREADED_SCROLLING)
if (Page* page = m_frame->page()) {
if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
scrollingCoordinator->frameViewHasFixedObjectsDidChange(this);
}
-#endif
}
}
@@ -1352,12 +1350,10 @@
--m_fixedObjectCount;
if (!m_fixedObjectCount) {
-#if ENABLE(THREADED_SCROLLING)
if (Page* page = m_frame->page()) {
if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
scrollingCoordinator->frameViewHasFixedObjectsDidChange(this);
}
-#endif
// FIXME: In addFixedObject() we only call this if there's a platform widget,
// why isn't the same check being made here?
Modified: trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp (108391 => 108392)
--- trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp 2012-02-21 21:35:38 UTC (rev 108391)
+++ trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp 2012-02-21 21:39:00 UTC (rev 108392)
@@ -99,7 +99,15 @@
if (frameView->frame() != m_page->mainFrame())
return false;
- return true;
+ // We currently only support composited mode.
+#if USE(ACCELERATED_COMPOSITING)
+ RenderView* renderView = m_page->mainFrame()->contentRenderer();
+ if (!renderView)
+ return false;
+ return renderView->usesCompositing();
+#endif
+
+ return false;
}
static Region computeNonFastScrollableRegion(FrameView* frameView)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes