diff options
Diffstat (limited to 'Source/WebCore/page/FrameView.cpp')
-rw-r--r-- | Source/WebCore/page/FrameView.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/WebCore/page/FrameView.cpp b/Source/WebCore/page/FrameView.cpp index 1be0c54c2..2d312a31a 100644 --- a/Source/WebCore/page/FrameView.cpp +++ b/Source/WebCore/page/FrameView.cpp @@ -2500,8 +2500,14 @@ void FrameView::performPostLayoutTasks() } #if USE(ACCELERATED_COMPOSITING) - if (TiledBacking* tiledBacking = this->tiledBacking()) - tiledBacking->setTileCoverage(canHaveScrollbars() ? TiledBacking::CoverageForScrolling : TiledBacking::CoverageForVisibleArea); + if (TiledBacking* tiledBacking = this->tiledBacking()) { + if (page) { + if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator()) { + bool shouldLimitTileCoverage = !canHaveScrollbars() || scrollingCoordinator->shouldUpdateScrollLayerPositionOnMainThread(); + tiledBacking->setTileCoverage(shouldLimitTileCoverage ? TiledBacking::CoverageForVisibleArea : TiledBacking::CoverageForScrolling); + } + } + } #endif scrollToAnchor(); |