Chromium Code Reviews| Index: third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| diff --git a/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp b/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| index ee693987ba58228eafbed3919ce9910543964adb..5d99eb0d3d947ff914f1f0eaefc38c974d3dda38 100644 |
| --- a/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| +++ b/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
| @@ -662,12 +662,15 @@ void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(MainTh |
| { |
| if (!m_page->mainFrame()->isLocalFrame() || !m_page->deprecatedLocalMainFrame()->view()) |
| return; |
| + |
| GraphicsLayer* layer = m_page->deprecatedLocalMainFrame()->view()->layerForScrolling(); |
| if (WebLayer* scrollLayer = toWebLayer(layer)) { |
| m_lastMainThreadScrollingReasons = mainThreadScrollingReasons; |
| if (mainThreadScrollingReasons) { |
| - if (ScrollAnimatorBase* scrollAnimator = layer->getScrollableArea()->existingScrollAnimator()) |
| + if (ScrollAnimatorBase* scrollAnimator = layer->getScrollableArea()->existingScrollAnimator()) { |
| + DCHECK(m_page->deprecatedLocalMainFrame()->document()->lifecycle().state() >= DocumentLifecycle::CompositingClean); |
|
jbroman
2016/06/23 19:12:27
nit: suggest DCHECK_GE for nicer error messages
|
| scrollAnimator->takeOverCompositorAnimation(); |
| + } |
| scrollLayer->addMainThreadScrollingReasons(mainThreadScrollingReasons); |
| } else { |
| // Clear all main thread scrolling reasons except the one that's set |