Index: Source/core/page/scrolling/ScrollingCoordinator.cpp |
diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
index 86999cefa96bb1351365bcd0049c27d9d2c61733..2f8c349d0fd613e0a2d2944d37ca26ac4926cab9 100644 |
--- a/Source/core/page/scrolling/ScrollingCoordinator.cpp |
+++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
@@ -807,6 +807,11 @@ bool ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects(Frame |
// Any explicit reason that a fixed position element is not composited shouldn't cause slow scrolling. |
if (!layer->isComposited() && layer->viewportConstrainedNotCompositedReason() == RenderLayer::NoNotCompositedReason) |
return true; |
+ |
+ // Composited layers that actually paint into their enclosing ancestor |
+ // must also force main thread scrolling. |
+ if (layer->isComposited() && layer->backing()->paintsIntoCompositedAncestor()) |
+ return true; |
} |
return false; |
} |