Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2908)

Unified Diff: third_party/WebKit/Source/web/WebViewImpl.cpp

Issue 2113483002: Make RootScroller set the outer viewport scroll layer in the compositor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: RootScroller changes outer viewport scroll layer Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/WebViewImpl.cpp
diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp
index 05a2cb933392fec03b0db6ba59e92dd287e0b68f..6f8c5a2e8aaed5bfc46f2307c0836b31ca36c0ec 100644
--- a/third_party/WebKit/Source/web/WebViewImpl.cpp
+++ b/third_party/WebKit/Source/web/WebViewImpl.cpp
@@ -88,6 +88,7 @@
#include "core/page/PointerLockController.h"
#include "core/page/ScopedPageLoadDeferrer.h"
#include "core/page/TouchDisambiguation.h"
+#include "core/page/scrolling/RootScrollerController.h"
#include "core/paint/PaintLayer.h"
#include "core/timing/DOMWindowPerformance.h"
#include "core/timing/Performance.h"
@@ -4191,31 +4192,31 @@ bool WebViewImpl::tabsToLinks() const
void WebViewImpl::registerViewportLayersWithCompositor()
{
DCHECK(m_layerTreeView);
- DCHECK(!page()->deprecatedLocalMainFrame()->contentLayoutItem().isNull());
+ DCHECK(page()->deprecatedLocalMainFrame());
- PaintLayerCompositor* compositor =
- page()->deprecatedLocalMainFrame()->contentLayoutItem().compositor();
+ Document* document = page()->deprecatedLocalMainFrame()->document();
- DCHECK(compositor);
+ DCHECK(document);
// Get the outer viewport scroll layer.
- WebLayer* scrollLayer =
- compositor->scrollLayer()
- ? compositor->scrollLayer()->platformLayer()
- : nullptr;
+ GraphicsLayer* layoutViewportScrollLayer =
+ document->rootScrollerController()->rootScrollerLayer();
+ WebLayer* layoutViewportWebLayer = layoutViewportScrollLayer
+ ? layoutViewportScrollLayer->platformLayer()
+ : nullptr;
VisualViewport& visualViewport = page()->frameHost().visualViewport();
// TODO(bokan): This was moved here from when registerViewportLayers was a
// part of VisualViewport and maybe doesn't belong here. See comment inside
// the mehtod.
- visualViewport.setScrollLayerOnScrollbars(scrollLayer);
+ visualViewport.setScrollLayerOnScrollbars(layoutViewportWebLayer);
m_layerTreeView->registerViewportLayers(
visualViewport.overscrollElasticityLayer()->platformLayer(),
visualViewport.pageScaleLayer()->platformLayer(),
visualViewport.scrollLayer()->platformLayer(),
- scrollLayer);
+ layoutViewportWebLayer);
}
void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer)

Powered by Google App Engine
This is Rietveld 408576698