Index: third_party/WebKit/Source/platform/scroll/ScrollableArea.h |
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollableArea.h b/third_party/WebKit/Source/platform/scroll/ScrollableArea.h |
index f92a1452535f92f51bd36b7a627cfe147a10025c..86ed95c3ff42b1e986406bb9d969e6429878bd88 100644 |
--- a/third_party/WebKit/Source/platform/scroll/ScrollableArea.h |
+++ b/third_party/WebKit/Source/platform/scroll/ScrollableArea.h |
@@ -107,8 +107,10 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
void mouseEnteredContentArea() const; |
void mouseExitedContentArea() const; |
void mouseMovedInContentArea() const; |
- void mouseEnteredScrollbar(Scrollbar&) const; |
- void mouseExitedScrollbar(Scrollbar&) const; |
+ void mouseEnteredScrollbar(Scrollbar&); |
+ void mouseExitedScrollbar(Scrollbar&); |
+ void mouseCapturedScrollbar(); |
+ void mouseReleasedScrollbar(); |
void contentAreaDidShow() const; |
void contentAreaDidHide() const; |
@@ -227,7 +229,6 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
virtual bool shouldSuspendScrollAnimations() const { return true; } |
virtual void scrollbarStyleChanged() {} |
- virtual void scrollbarVisibilityChanged() {} |
virtual bool scrollbarsCanBeActive() const = 0; |
// Returns the bounding box of this scrollable area, in the coordinate system |
@@ -256,7 +257,6 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
// Overlay scrollbars can "fade-out" when inactive. |
virtual bool scrollbarsHidden() const; |
virtual void setScrollbarsHidden(bool); |
- virtual void didChangeScrollbarsHidden(){}; |
// Returns true if the GraphicsLayer tree needs to be rebuilt. |
virtual bool updateAfterCompositingChange() { return false; } |
@@ -347,7 +347,7 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
EAGERLY_FINALIZE(); |
DECLARE_VIRTUAL_TRACE(); |
- virtual void clearScrollAnimators(); |
+ virtual void clearScrollableArea(); |
virtual ScrollAnchor* scrollAnchor() { return nullptr; } |
@@ -379,11 +379,15 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
m_verticalScrollbarNeedsPaintInvalidation = false; |
m_scrollCornerNeedsPaintInvalidation = false; |
} |
+ void showOverlayScrollbars(); |
+ virtual void scrollbarVisibilityChanged() {} |
private: |
void programmaticScrollHelper(const ScrollOffset&, ScrollBehavior); |
void userScrollHelper(const ScrollOffset&, ScrollBehavior); |
+ void fadeOverlayScrollbarsTimerFired(TimerBase*); |
+ |
// This function should be overriden by subclasses to perform the actual |
// scroll of the content. |
virtual void updateScrollOffset(const ScrollOffset&, ScrollType) = 0; |
@@ -396,6 +400,8 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
mutable Member<ScrollAnimatorBase> m_scrollAnimator; |
mutable Member<ProgrammaticScrollAnimator> m_programmaticScrollAnimator; |
+ std::unique_ptr<Timer<ScrollableArea>> m_fadeOverlayScrollbarsTimer; |
+ |
unsigned m_scrollbarOverlayColorTheme : 2; |
unsigned m_scrollOriginChanged : 1; |
@@ -404,6 +410,7 @@ class PLATFORM_EXPORT ScrollableArea : public GarbageCollectedMixin { |
unsigned m_verticalScrollbarNeedsPaintInvalidation : 1; |
unsigned m_scrollCornerNeedsPaintInvalidation : 1; |
unsigned m_scrollbarsHidden : 1; |
+ unsigned m_scrollbarCaptured : 1; |
// There are 6 possible combinations of writing mode and direction. Scroll |
// origin will be non-zero in the x or y axis if there is any reversed |