Index: Source/core/frame/PinchViewport.h |
diff --git a/Source/core/frame/PinchViewport.h b/Source/core/frame/PinchViewport.h |
index 4ab3a0246d63e1fb369b94916424311e8128b66a..183545b2f9f2d00617d2475091c5bab6cf03bd53 100644 |
--- a/Source/core/frame/PinchViewport.h |
+++ b/Source/core/frame/PinchViewport.h |
@@ -83,7 +83,6 @@ public: |
FloatPoint location() const { return m_offset; } |
// Sets the size of the inner viewport when unscaled in CSS pixels. |
- // This will be clamped to the size of the outer viewport (the main frame). |
void setSize(const IntSize&); |
IntSize size() const { return m_size; } |
@@ -118,6 +117,14 @@ public: |
// scroll extents of the viewport within the document. |
IntPoint clampDocumentOffsetAtScale(const IntPoint& offset, float scale); |
+ // FIXME(bokan): This is kind of a hack. Ideally, we would just resize the |
Rick Byers
2014/10/10 00:06:09
for better or worse, blink style is not to include
bokan
2014/10/10 14:39:56
Filed crbug.com/422328
|
+ // viewports to account for top controls. However, FrameView includes much |
+ // more than just scrolling so we can't simply resize it without incurring |
+ // all sorts of side-effects. Until we can seperate out the scrollability |
+ // aspect from FrameView, we use this method to let PinchViewport make the |
+ // necessary adjustments so that we don't incorrectly clamp scroll offsets |
+ // coming from the compositor. |
+ void setTopControlsAdjustment(float); |
private: |
// ScrollableArea implementation |
virtual bool isActive() const override { return false; } |
@@ -167,6 +174,7 @@ private: |
FloatPoint m_offset; |
float m_scale; |
IntSize m_size; |
+ float m_topControlsAdjustment; |
}; |
} // namespace blink |