| Index: Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| diff --git a/Source/core/page/scrolling/ScrollingCoordinator.cpp b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| index bf47e86c9b30b9feecee4aaa3e0d7d8879d5a66f..04a2f1fd6be21dd87b41194b39d71cf2a18f12fa 100644
|
| --- a/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| +++ b/Source/core/page/scrolling/ScrollingCoordinator.cpp
|
| @@ -119,6 +119,18 @@ void ScrollingCoordinator::notifyLayoutUpdated()
|
| m_shouldScrollOnMainThreadDirty = true;
|
| }
|
|
|
| +void ScrollingCoordinator::scrollableAreasDidChange()
|
| +{
|
| + // Layout may update scrollable area bounding boxes. It also sets the same dirty
|
| + // flag making this one redundant (See |ScrollingCoordinator::notifyLayoutUpdated|).
|
| + // So if layout is expected, ignore this call allowing scrolling coordinator
|
| + // to be notified post-layout to recompute gesture regions.
|
| + if (!m_page->deprecatedLocalMainFrame()->view() || m_page->deprecatedLocalMainFrame()->view()->needsLayout())
|
| + return;
|
| +
|
| + m_scrollGestureRegionIsDirty = true;
|
| +}
|
| +
|
| void ScrollingCoordinator::updateAfterCompositingChangeIfNeeded()
|
| {
|
| if (!m_page->mainFrame()->isLocalFrame())
|
|
|