Chromium Code Reviews| Index: Source/core/platform/ScrollableArea.h |
| diff --git a/Source/core/platform/ScrollableArea.h b/Source/core/platform/ScrollableArea.h |
| index a3cb10b3fb1aba567e696fa42dc4563b664934d8..8dd42eb4bba87dd045652cc5f4a700fa3a72c062 100644 |
| --- a/Source/core/platform/ScrollableArea.h |
| +++ b/Source/core/platform/ScrollableArea.h |
| @@ -40,6 +40,10 @@ class ScrollAnimator; |
| class ScrollableArea { |
| public: |
| + static int pixelsPerLineStep() { return 40; } |
| + static float minFractionToStepWhenPaging() { return 0.875f; } |
| + static int maxOverlapBetweenPages(); |
| + |
| bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1); |
| void scrollToOffsetWithoutAnimation(const FloatPoint&); |
| void scrollToOffsetWithoutAnimation(ScrollbarOrientation, float offset); |
| @@ -132,7 +136,7 @@ public: |
| virtual Scrollbar* horizontalScrollbar() const { return 0; } |
| virtual Scrollbar* verticalScrollbar() const { return 0; } |
| - virtual IntPoint scrollPosition() const; |
| + virtual IntPoint scrollPosition() const = 0; |
| virtual IntPoint minimumScrollPosition() const; |
| virtual IntPoint maximumScrollPosition() const; |
| @@ -175,6 +179,8 @@ public: |
| virtual void reportMemoryUsage(MemoryObjectInfo*) const; |
| + virtual bool userInputScrollable(ScrollbarOrientation) const = 0; |
| + |
| // Convenience functions |
| int scrollPosition(ScrollbarOrientation orientation) { return orientation == HorizontalScrollbar ? scrollPosition().x() : scrollPosition().y(); } |
| int minimumScrollPosition(ScrollbarOrientation orientation) { return orientation == HorizontalScrollbar ? minimumScrollPosition().x() : minimumScrollPosition().y(); } |
| @@ -182,6 +188,7 @@ public: |
| int clampScrollPosition(ScrollbarOrientation orientation, int pos) { return std::max(std::min(pos, maximumScrollPosition(orientation)), minimumScrollPosition(orientation)); } |
| protected: |
| + |
|
aelias_OOO_until_Jul13
2013/06/19 22:25:12
nit: accidental newline
bokan
2013/06/19 23:50:58
Done.
|
| ScrollableArea(); |
| virtual ~ScrollableArea(); |
| @@ -205,7 +212,7 @@ protected: |
| private: |
| void scrollPositionChanged(const IntPoint&); |
| - |
| + |
| // NOTE: Only called from the ScrollAnimator. |
| friend class ScrollAnimator; |
| void setScrollOffsetFromAnimation(const IntPoint&); |
| @@ -214,6 +221,11 @@ private: |
| // scroll of the content. |
| virtual void setScrollOffset(const IntPoint&) = 0; |
| + virtual int lineStep(ScrollbarOrientation) const; |
| + virtual int pageStep(ScrollbarOrientation) const; |
| + virtual int documentStep(ScrollbarOrientation) const; |
| + virtual float pixelStep(ScrollbarOrientation) const; |
| + |
| mutable OwnPtr<ScrollAnimator> m_scrollAnimator; |
| unsigned m_constrainsScrollingToContentEdge : 1; |