Index: third_party/WebKit/Source/core/frame/FrameView.cpp |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp |
index 6e8030fca4ea558c1c7cc5a6ddd66c0f999ffc1b..91c82bdcf3276ac701da5bd92e86ee05da3e6acf 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
@@ -1627,20 +1627,23 @@ void FrameView::viewportSizeChanged(bool widthChanged, bool heightChanged) { |
DCHECK(widthChanged || heightChanged); |
DCHECK(m_frame->page()); |
+ bool rootLayerScrollingEnabled = |
+ RuntimeEnabledFeatures::rootLayerScrollingEnabled(); |
+ |
if (LayoutViewItem layoutView = this->layoutViewItem()) { |
- if (layoutView.usesCompositing()) |
- layoutView.compositor()->frameViewDidChangeSize(); |
+ if (layoutView.usesCompositing()) { |
+ if (rootLayerScrollingEnabled) { |
+ layoutView.layer()->setNeedsCompositingInputsUpdate(); |
+ if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) |
+ setNeedsPaintPropertyUpdate(); |
+ } else { |
+ layoutView.compositor()->frameViewDidChangeSize(); |
+ } |
+ } |
} |
- // Ensure the root scroller compositing layers update geometry in response to |
- // the URL bar resizing. |
- if (m_frame->isMainFrame()) |
- m_frame->page()->globalRootScrollerController().mainFrameViewResized(); |
- |
showOverlayScrollbars(); |
- bool rootLayerScrollingEnabled = |
- RuntimeEnabledFeatures::rootLayerScrollingEnabled(); |
if (rootLayerScrollingEnabled) { |
// The background must be repainted when the FrameView is resized, even if |
// the initial containing block does not change (so we can't rely on layout |