Index: Source/platform/scroll/ScrollableArea.h |
diff --git a/Source/platform/scroll/ScrollableArea.h b/Source/platform/scroll/ScrollableArea.h |
index 358b77b93f0cb7417d4b91607522580a5dc84f2f..050a6838dc8cb22cccd78ca6185f4f9f0ee06855 100644 |
--- a/Source/platform/scroll/ScrollableArea.h |
+++ b/Source/platform/scroll/ScrollableArea.h |
@@ -40,6 +40,7 @@ class GraphicsLayer; |
class PlatformGestureEvent; |
class PlatformWheelEvent; |
class ScrollAnimator; |
+class ScrollbarStateTransitionAnimator; |
enum ScrollBehavior { |
ScrollBehaviorAuto, |
@@ -101,7 +102,7 @@ public: |
virtual void contentsResized(); |
- bool hasOverlayScrollbars() const; |
+ virtual bool hasOverlayScrollbars() const; |
void setScrollbarOverlayStyle(ScrollbarOverlayStyle); |
ScrollbarOverlayStyle scrollbarOverlayStyle() const { return static_cast<ScrollbarOverlayStyle>(m_scrollbarOverlayStyle); } |
@@ -111,6 +112,17 @@ public: |
// This getter will return null if the ScrollAnimator hasn't been created yet. |
ScrollAnimator* existingScrollAnimator() const { return m_scrollAnimator.get(); } |
+ // This getter will create a ScrollbarStateTransitionAnimator if needed and doesn't already exist. |
+ ScrollbarStateTransitionAnimator* scrollbarStateTransitionAnimator() const; |
+ // This getter will return null if the ScrollbarStateTransitionAnimator hasn't been created yet. |
+ ScrollbarStateTransitionAnimator* existingScrollbarStateTransitionAnimator() const |
+ { |
+ return m_scrollbarStateTransitionAnimator.get(); |
+ } |
+ |
+ bool isDuringStateTransitionAnimation() const; |
+ void stateTransitionInProgress(); |
+ |
const IntPoint& scrollOrigin() const { return m_scrollOrigin; } |
bool scrollOriginChanged() const { return m_scrollOriginChanged; } |
@@ -179,7 +191,7 @@ public: |
// Let subclasses provide a way of asking for and servicing scroll |
// animations. |
virtual bool scheduleAnimation() { return false; } |
- void serviceScrollAnimations(); |
+ void serviceScrollbarAnimations(); |
virtual bool usesCompositedScrolling() const { return false; } |
@@ -257,6 +269,7 @@ private: |
virtual float pixelStep(ScrollbarOrientation) const; |
mutable OwnPtr<ScrollAnimator> m_scrollAnimator; |
+ mutable OwnPtr<ScrollbarStateTransitionAnimator> m_scrollbarStateTransitionAnimator; |
unsigned m_constrainsScrollingToContentEdge : 1; |
unsigned m_inLiveResize : 1; |