Index: third_party/WebKit/Source/core/frame/FrameView.h |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h |
index 1e084e3b896570c842a46c03a79deede6bc74c26..a9d3846f70630acb46a3843f360589fc75e6a648 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.h |
+++ b/third_party/WebKit/Source/core/frame/FrameView.h |
@@ -77,6 +77,7 @@ class LayoutScrollbarPart; |
class LayoutView; |
class PaintInvalidationState; |
class Page; |
+class ScrollAndScaleEmulator; |
class ScrollingCoordinator; |
class TracedValue; |
struct AnnotatedRegionValue; |
@@ -190,6 +191,9 @@ public: |
void setScrollPosition(const DoublePoint&, ScrollType, ScrollBehavior = ScrollBehaviorInstant) override; |
+ // Override the scroll position with values from the emulator. Passing |nullptr| clears override. |
+ void setScrollAndScaleEmulator(ScrollAndScaleEmulator*); |
+ |
void didUpdateElasticOverscroll(); |
void viewportSizeChanged(bool widthChanged, bool heightChanged); |
@@ -749,6 +753,10 @@ private: |
ScrollingCoordinator* scrollingCoordinator() const; |
+ // Calculate the physical minimum/maximum scroll positions without any overrides applied. |
+ IntPoint calculateMinimumScrollPosition() const; |
+ IntPoint calculateMaximumScrollPosition() const; |
+ |
void prepareLayoutAnalyzer(); |
std::unique_ptr<TracedValue> analyzerCounters(); |
@@ -867,6 +875,8 @@ private: |
DoublePoint m_scrollPosition; |
IntSize m_contentsSize; |
+ Member<ScrollAndScaleEmulator> m_scrollAndScaleEmulator; |
+ |
int m_scrollbarsAvoidingResizer; |
bool m_scrollbarsSuppressed; |