| Index: Source/core/rendering/RenderLayerScrollableArea.h
|
| diff --git a/Source/core/rendering/RenderLayerScrollableArea.h b/Source/core/rendering/RenderLayerScrollableArea.h
|
| index 215ef8334217f6410e75b78cb9084e7d8629e401..f00040711f8487b1523ecf7a8c40ee7c279881b7 100644
|
| --- a/Source/core/rendering/RenderLayerScrollableArea.h
|
| +++ b/Source/core/rendering/RenderLayerScrollableArea.h
|
| @@ -53,6 +53,11 @@ enum ResizerHitTestType {
|
| ResizerForTouch
|
| };
|
|
|
| +enum ScrollOffsetClamping {
|
| + ScrollOffsetUnclamped,
|
| + ScrollOffsetClamped
|
| +};
|
| +
|
| class RenderLayer;
|
| class RenderLayerModelObject;
|
|
|
| @@ -105,13 +110,39 @@ public:
|
|
|
| IntSize scrollOffset() const { return m_scrollOffset; }
|
|
|
| + // FIXME: We shouldn't allow access to m_overflowRect outside this class.
|
| + LayoutRect overflowRect() const { return m_overflowRect; }
|
| +
|
| + void scrollToOffset(const IntSize& scrollOffset, ScrollOffsetClamping = ScrollOffsetUnclamped);
|
| +
|
| + void updateAfterLayout();
|
| + void updateAfterStyleChange(const RenderStyle*);
|
| +
|
| private:
|
| + bool hasHorizontalOverflow() const;
|
| + bool hasVerticalOverflow() const;
|
| + bool hasScrollableHorizontalOverflow() const;
|
| + bool hasScrollableVerticalOverflow() const;
|
| +
|
| + int scrollWidth() const;
|
| + int scrollHeight() const;
|
| +
|
| + void computeScrollDimensions();
|
| +
|
| + IntSize clampScrollOffset(const IntSize&) const;
|
| + IntSize adjustedScrollOffset() const { return IntSize(scrollXOffset(), scrollYOffset()); }
|
| +
|
| void setScrollOffset(const IntSize& scrollOffset) { m_scrollOffset = scrollOffset; }
|
|
|
| RenderLayerModelObject* renderer() const;
|
|
|
| RenderLayer* m_layer;
|
|
|
| + unsigned m_scrollDimensionsDirty : 1;
|
| +
|
| + // The width/height of our scrolled area.
|
| + LayoutRect m_overflowRect;
|
| +
|
| // This is the (scroll) offset from scrollOrigin().
|
| IntSize m_scrollOffset;
|
| };
|
|
|