| 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 3c7a5ca233b60d503615bf953f2fe86955b68b4a..2fd726863e2f22407267d56ebcc78018eb693191 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -182,6 +182,7 @@ FrameView::FrameView(LocalFrame* frame)
|
| m_hiddenForThrottling(false),
|
| m_subtreeThrottled(false),
|
| m_lifecycleUpdatesThrottled(false),
|
| + m_needsPaintPropertyUpdate(true),
|
| m_currentUpdateLifecyclePhasesTargetState(
|
| DocumentLifecycle::Uninitialized),
|
| m_scrollAnchor(this),
|
| @@ -646,6 +647,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() {
|
| @@ -3706,6 +3713,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() {
|
|
|