| 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 a3537839378bfed23940dbbef65496c9484447bf..e4722def6afc0c5f43b28181d138eccbc8366979 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -184,6 +184,7 @@ FrameView::FrameView(LocalFrame* frame)
|
| m_hiddenForThrottling(false),
|
| m_crossOriginForThrottling(false),
|
| m_subtreeThrottled(false),
|
| + m_needsPaintPropertyUpdate(true),
|
| m_currentUpdateLifecyclePhasesTargetState(
|
| DocumentLifecycle::Uninitialized),
|
| m_scrollAnchor(this),
|
| @@ -606,6 +607,12 @@ void FrameView::setContentsSize(const IntSize& size) {
|
|
|
| page->chromeClient().contentsSizeChanged(m_frame.get(), size);
|
| frame().loader().restoreScrollPositionAndViewState();
|
| +
|
| + if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
|
| + // The presence of overflow depends on the contents size. The scroll
|
| + // properties can change depending on whether overflow scrolling occurs.
|
| + setNeedsPaintPropertyUpdate();
|
| + }
|
| }
|
|
|
| void FrameView::adjustViewSize() {
|
| @@ -3638,6 +3645,11 @@ void FrameView::didChangeScrollOffset() {
|
| frame().loader().client()->didChangeScrollOffset();
|
| if (frame().isMainFrame())
|
| frame().host()->chromeClient().mainFrameScrollOffsetChanged();
|
| +
|
| + if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
|
| + // The scroll translation paint property depends on scroll offset.
|
| + setNeedsPaintPropertyUpdate();
|
| + }
|
| }
|
|
|
| void FrameView::clearScrollAnchor() {
|
|
|