| Index: third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp
|
| diff --git a/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp b/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp
|
| index 5d6d6d3fb280d241804e343a125a07cfdbfc5af3..48c64a0d69eac00822dac09f221903aaf75263a0 100644
|
| --- a/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp
|
| +++ b/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp
|
| @@ -94,6 +94,11 @@ void TopDocumentRootScrollerController::recomputeGlobalRootScroller() {
|
| // changes.
|
| setNeedsCompositingInputsUpdateOnGlobalRootScroller();
|
|
|
| + ScrollableArea* oldRootScrollerArea =
|
| + m_globalRootScroller
|
| + ? RootScrollerUtil::scrollableAreaFor(*m_globalRootScroller.get())
|
| + : nullptr;
|
| +
|
| m_globalRootScroller = target;
|
|
|
| setNeedsCompositingInputsUpdateOnGlobalRootScroller();
|
| @@ -104,6 +109,13 @@ void TopDocumentRootScrollerController::recomputeGlobalRootScroller() {
|
| // ViewportScrollCallback to swap the target into the layout viewport
|
| // in RootFrameViewport.
|
| m_viewportApplyScroll->setScroller(targetScroller);
|
| +
|
| + // The scrollers may need to stop using their own scrollbars as Android
|
| + // Chrome's VisualViewport provides the scrollbars for the root scroller.
|
| + if (oldRootScrollerArea)
|
| + oldRootScrollerArea->didChangeGlobalRootScroller();
|
| +
|
| + targetScroller->didChangeGlobalRootScroller();
|
| }
|
|
|
| Document* TopDocumentRootScrollerController::topDocument() const {
|
|
|