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 6f181a26aa831d2d35deeeaa274f2f9c57e424d1..7125acf18f9b66e64c6c77ead8e5748faf74032c 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
@@ -1483,6 +1483,23 @@ void FrameView::viewportSizeChanged(bool widthChanged, bool heightChanged) { |
lvi.setShouldDoFullPaintInvalidation(); |
} |
+ if (RuntimeEnabledFeatures::inertTopControlsEnabled() && layoutView() && |
+ layoutView()->style()->hasFixedBackgroundImage()) { |
+ // In the case where we don't change layout size from top control resizes, |
+ // we wont perform a layout. If we have a fixed background image however, |
+ // the background layer needs to get resized so we should request a layout |
+ // explicitly. |
+ PaintLayer* layer = layoutView()->layer(); |
+ if (layoutView()->compositor()->needsFixedRootBackgroundLayer(layer)) { |
+ setNeedsLayout(); |
+ } else if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
+ // If root layer scrolls if on, we've already issued a full invalidation |
flackr
2016/10/31 18:17:55
nit s/if on/is on
bokan
2016/11/01 20:27:58
Done.
|
+ // above. |
+ layoutView()->setShouldDoFullPaintInvalidationOnResizeIfNeeded( |
+ widthChanged, heightChanged); |
+ } |
+ } |
+ |
if (!hasViewportConstrainedObjects()) |
return; |