| 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 44f2446632fc84ee790b38e7d3a2133f1022b82c..0b967f25aecc70cf6d48d0d30225dbdc4de5eb7a 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -158,6 +158,7 @@ FrameView::FrameView(LocalFrame* frame)
|
| , m_verticalScrollbarMode(ScrollbarAuto)
|
| , m_horizontalScrollbarLock(false)
|
| , m_verticalScrollbarLock(false)
|
| + , m_visibleContentRectForPainting(nullptr)
|
| , m_scrollbarsAvoidingResizer(0)
|
| , m_scrollbarsSuppressed(false)
|
| , m_inUpdateScrollbars(false)
|
| @@ -3309,6 +3310,23 @@ IntSize FrameView::contentsSize() const
|
| return m_contentsSize;
|
| }
|
|
|
| +IntRect FrameView::visibleContentRectForPainting() const
|
| +{
|
| + if (m_visibleContentRectForPainting)
|
| + return *m_visibleContentRectForPainting;
|
| + return visibleContentRect();
|
| +}
|
| +
|
| +void FrameView::setVisibleContentRectForPainting(const IntRect& rect)
|
| +{
|
| + m_visibleContentRectForPainting.reset(new IntRect(rect));
|
| +}
|
| +
|
| +void FrameView::resetVisibleContentRectForPainting()
|
| +{
|
| + m_visibleContentRectForPainting.reset();
|
| +}
|
| +
|
| IntPoint FrameView::minimumScrollPosition() const
|
| {
|
| return IntPoint(-scrollOrigin().x(), -scrollOrigin().y());
|
| @@ -3387,7 +3405,7 @@ void FrameView::setScrollOffset(const DoublePoint& offset, ScrollType scrollType
|
| cache->handleScrollPositionChanged(this);
|
|
|
| frame().loader().saveScrollState();
|
| - frame().loader().client()->didChangeScrollOffset();
|
| + didChangeScrollOffset();
|
|
|
| if (scrollType == CompositorScroll && m_frame->isMainFrame()) {
|
| if (DocumentLoader* documentLoader = m_frame->loader().documentLoader())
|
| @@ -3398,6 +3416,13 @@ void FrameView::setScrollOffset(const DoublePoint& offset, ScrollType scrollType
|
| clearScrollAnchor();
|
| }
|
|
|
| +void FrameView::didChangeScrollOffset()
|
| +{
|
| + frame().loader().client()->didChangeScrollOffset();
|
| + if (frame().isMainFrame())
|
| + frame().host()->chromeClient().mainFrameScrollOffsetChanged();
|
| +}
|
| +
|
| void FrameView::clearScrollAnchor()
|
| {
|
| if (!RuntimeEnabledFeatures::scrollAnchoringEnabled())
|
|
|