Index: Source/core/page/scrolling/ScrollingCoordinator.cpp |
diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
index 2db2e69dd0c8762232dcf3ca4f1d36631894f4f0..128a43aa82aeee90a893cbe792e9c488ef21c5a6 100644 |
--- a/Source/core/page/scrolling/ScrollingCoordinator.cpp |
+++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
@@ -352,10 +352,7 @@ bool ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea* sc |
if (scrollLayer) { |
ASSERT(m_page); |
- // With pinch virtual viewport we no longer need to special case the main frame. |
- bool pinchVirtualViewportEnabled = m_page->settings().pinchVirtualViewportEnabled(); |
- bool layerScrollShouldFireGraphicsLayerDidScroll = isForMainFrame(scrollableArea) && !pinchVirtualViewportEnabled; |
- scrollLayer->setScrollableArea(scrollableArea, layerScrollShouldFireGraphicsLayerDidScroll); |
+ scrollLayer->setScrollableArea(scrollableArea, isForViewport(scrollableArea)); |
} |
WebLayer* webLayer = toWebLayer(scrollableArea->layerForScrolling()); |
@@ -851,7 +848,16 @@ void ScrollingCoordinator::frameViewFixedObjectsDidChange(FrameView* frameView) |
bool ScrollingCoordinator::isForMainFrame(ScrollableArea* scrollableArea) const |
{ |
- return m_page->mainFrame()->isLocalFrame() ? scrollableArea == m_page->deprecatedLocalMainFrame()->view() : false; |
+ if (!m_page->mainFrame()->isLocalFrame()) |
+ return false; |
+ |
+ return scrollableArea == m_page->deprecatedLocalMainFrame()->view(); |
+} |
+ |
+bool ScrollingCoordinator::isForViewport(ScrollableArea* scrollableArea) const |
+{ |
+ return isForMainFrame(scrollableArea) |
+ || scrollableArea == &m_page->frameHost().pinchViewport(); |
} |
void ScrollingCoordinator::frameViewRootLayerDidChange(FrameView* frameView) |