Index: Source/core/page/scrolling/ScrollingCoordinator.cpp |
diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
index e9f01bf4c49ee77a7c32a8a8b36e23da1fe12952..4ae90e603cab9f80199ab44e5d1306a2720a44e0 100644 |
--- a/Source/core/page/scrolling/ScrollingCoordinator.cpp |
+++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp |
@@ -791,8 +791,11 @@ bool ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects(Frame |
MainThreadScrollingReasons ScrollingCoordinator::mainThreadScrollingReasons() const |
{ |
+ // The main thread scrolling reasons are applicable to scrolls of the main |
+ // frame. If it does not exist or if it is not scrollable, there is no |
+ // reason to force main thread scrolling. |
FrameView* frameView = m_page->mainFrame()->view(); |
- if (!frameView) |
+ if (!frameView || !frameView->isScrollable()) |
return static_cast<MainThreadScrollingReasons>(0); |
MainThreadScrollingReasons mainThreadScrollingReasons = (MainThreadScrollingReasons)0; |