| Index: Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| index 3d0f7af4f44e5c713cdce52835231134f8dc2777..4cc9e2fd06e1f30a61a9831bdb9a7eafbf757556 100644
|
| --- a/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| +++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| @@ -380,6 +380,7 @@ bool ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea* sc
|
| setupScrollbarLayer(verticalScrollbarLayer, scrollbarLayer, webLayer, containerLayer);
|
| }
|
|
|
| + scrollableArea->layerForScrollingDidChange();
|
| return !!webLayer;
|
| }
|
|
|
| @@ -637,7 +638,11 @@ void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(MainTh
|
| {
|
| if (WebLayer* scrollLayer = scrollingWebLayerForScrollableArea(m_page->mainFrame()->view())) {
|
| m_lastMainThreadScrollingReasons = reasons;
|
| - scrollLayer->setShouldScrollOnMainThread(reasons);
|
| + bool shouldScrollOnMainThread = reasons;
|
| + if (shouldScrollOnMainThread != scrollLayer->shouldScrollOnMainThread()) {
|
| + scrollLayer->setShouldScrollOnMainThread(reasons);
|
| + m_page->mainFrame()->view()->requiresMainThreadScrollingDidChange();
|
| + }
|
| }
|
| }
|
|
|
|
|