Index: Source/core/page/scrolling/ScrollingCoordinator.cpp |
diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
index 6147b1228d0c4cef0c9d456665edb1c57156e3e2..de809fcc152004186550050ec52f9efb0bc4ecc8 100644 |
--- a/Source/core/page/scrolling/ScrollingCoordinator.cpp |
+++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
@@ -354,8 +354,10 @@ bool ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea* sc |
GraphicsLayer* scrollLayer = scrollableArea->layerForScrolling(); |
if (scrollLayer) { |
- bool isMainFrame = isForMainFrame(scrollableArea); |
- scrollLayer->setScrollableArea(scrollableArea, isMainFrame); |
+ // With pinch virtual viewport we no longer need to special case the main frame. |
+ bool pinchVirtualViewportEnabled = m_page->mainFrame()->document()->settings()->pinchVirtualViewportEnabled(); |
+ bool layerScrollShouldFireGraphicsLayerDidScroll = isForMainFrame(scrollableArea) && !pinchVirtualViewportEnabled; |
+ scrollLayer->setScrollableArea(scrollableArea, layerScrollShouldFireGraphicsLayerDidScroll); |
} |
WebLayer* webLayer = toWebLayer(scrollableArea->layerForScrolling()); |