| Index: third_party/WebKit/Source/core/frame/VisualViewport.h
|
| diff --git a/third_party/WebKit/Source/core/frame/VisualViewport.h b/third_party/WebKit/Source/core/frame/VisualViewport.h
|
| index 295c52a5ef9f2c88d69bd495aa220c02a8b0a980..ef94f3828755bd7bdf883be74d9a96ddab99bcfb 100644
|
| --- a/third_party/WebKit/Source/core/frame/VisualViewport.h
|
| +++ b/third_party/WebKit/Source/core/frame/VisualViewport.h
|
| @@ -55,6 +55,7 @@ class GraphicsLayer;
|
| class IntRect;
|
| class IntSize;
|
| class LocalFrame;
|
| +class ScrollAndScaleEmulator;
|
|
|
| // Represents the visual viewport the user is currently seeing the page through. This
|
| // class corresponds to the InnerViewport on the compositor. It is a ScrollableArea; it's
|
| @@ -100,6 +101,9 @@ public:
|
| void move(const FloatSize&);
|
| FloatPoint location() const { return m_offset; }
|
|
|
| + // Override the scroll location and scale with values from the emulator. Passing |nullptr| clears override.
|
| + void setScrollAndScaleEmulator(ScrollAndScaleEmulator*);
|
| +
|
| // Sets the size of the inner viewport when unscaled in CSS pixels.
|
| void setSize(const IntSize&);
|
| IntSize size() const { return m_size; }
|
| @@ -173,6 +177,7 @@ public:
|
| DoubleRect visibleContentRectDouble(IncludeScrollbarsInRect = ExcludeScrollbars) const override;
|
| IntRect visibleContentRect(IncludeScrollbarsInRect = ExcludeScrollbars) const override;
|
| bool shouldUseIntegerScrollOffset() const override;
|
| + void setScrollPosition(const DoublePoint&, ScrollType, ScrollBehavior = ScrollBehaviorInstant) override;
|
| LayoutRect visualRectForScrollbarParts() const override { ASSERT_NOT_REACHED(); return LayoutRect(); }
|
| bool isActive() const override { return false; }
|
| int scrollSize(ScrollbarOrientation) const override;
|
| @@ -181,6 +186,7 @@ public:
|
| IntPoint scrollPosition() const override { return flooredIntPoint(m_offset); }
|
| DoublePoint scrollPositionDouble() const override { return m_offset; }
|
| IntPoint minimumScrollPosition() const override;
|
| + DoublePoint minimumScrollPositionDouble() const override;
|
| IntPoint maximumScrollPosition() const override;
|
| DoublePoint maximumScrollPositionDouble() const override;
|
| int visibleHeight() const override { return visibleRect().height(); }
|
| @@ -235,6 +241,10 @@ private:
|
| void setupScrollbar(WebScrollbar::Orientation);
|
| FloatPoint clampOffsetToBoundaries(const FloatPoint&);
|
|
|
| + // Calculate the physical minimum/maximum scroll positions without any overrides applied.
|
| + DoublePoint calculateMinimumScrollPositionDouble() const;
|
| + DoublePoint calculateMaximumScrollPositionDouble() const;
|
| +
|
| LocalFrame* mainFrame() const;
|
|
|
| FrameHost& frameHost() const
|
| @@ -261,6 +271,8 @@ private:
|
| float m_topControlsAdjustment;
|
| float m_maxPageScale;
|
| bool m_trackPinchZoomStatsForPage;
|
| +
|
| + Member<ScrollAndScaleEmulator> m_scrollAndScaleEmulator;
|
| };
|
|
|
| } // namespace blink
|
|
|