| Index: ash/system/tray/system_tray.h
|
| diff --git a/ash/system/tray/system_tray.h b/ash/system/tray/system_tray.h
|
| index fa16c53f74067aaee8e1eacaccff91add8d1d17d..aae541c4587252aeeda872e48e874f6319d9196b 100644
|
| --- a/ash/system/tray/system_tray.h
|
| +++ b/ash/system/tray/system_tray.h
|
| @@ -47,6 +47,9 @@ enum BubbleCreationType {
|
| class ASH_EXPORT SystemTray : public TrayBackgroundView,
|
| public views::TrayBubbleView::Delegate {
|
| public:
|
| + // The threshold of the velocity of the fling event.
|
| + static constexpr float kFlingVelocity = 100.0f;
|
| +
|
| explicit SystemTray(Shelf* shelf);
|
| ~SystemTray() override;
|
|
|
| @@ -142,6 +145,11 @@ class ASH_EXPORT SystemTray : public TrayBackgroundView,
|
| // Activates the system tray bubble.
|
| void ActivateBubble();
|
|
|
| + // ui::EventHandler:
|
| + void OnGestureEvent(ui::GestureEvent* event) override;
|
| +
|
| + gfx::Rect GetWorkAreaBoundsInScreen() const;
|
| +
|
| private:
|
| friend class SystemTrayTestApi;
|
| class ActivationObserver;
|
| @@ -193,6 +201,37 @@ class ASH_EXPORT SystemTray : public TrayBackgroundView,
|
| // Overridden from ActionableView.
|
| bool PerformAction(const ui::Event& event) override;
|
|
|
| + // Gesture related functions:
|
| + bool ProcessGestureEvent(const ui::GestureEvent& event);
|
| + bool StartGestureDrag(const ui::GestureEvent& gesture);
|
| + void UpdateGestureDrag(const ui::GestureEvent& gesture);
|
| + void CompleteGestureDrag(const ui::GestureEvent& gesture);
|
| +
|
| + // Update the bounds of the system tray bubble according to |location|. Note
|
| + // that |location| is in the local coordinate space of |this|.
|
| + void SetBubbleBounds(const gfx::Point& location);
|
| +
|
| + // Return true if the system bubble should be shown (i.e., animated upward to
|
| + // be made fully visible) after a sequence of scroll events terminated by
|
| + // |sequence_end|. Otherwise return false, indicating that the
|
| + // partially-visible system bubble should be animated downward and made fully
|
| + // hidden.
|
| + bool ShouldShowSystemBubbleAfterScrollSequence(
|
| + const ui::GestureEvent& sequence_end);
|
| +
|
| + // Shelf the system tray is in.
|
| + Shelf* const shelf_;
|
| +
|
| + // The original bounds of the system tray bubble.
|
| + gfx::Rect system_tray_bubble_bounds_;
|
| +
|
| + // Tracks the amount of the drag. Only valid if |is_in_drag_| is true.
|
| + float gesture_drag_amount_ = 0.f;
|
| +
|
| + // True if the user is in the process of gesture-dragging to open the system
|
| + // tray bubble, false otherwise.
|
| + bool is_in_drag_ = false;
|
| +
|
| // The web notification tray view that appears adjacent to this view.
|
| WebNotificationTray* web_notification_tray_ = nullptr;
|
|
|
|
|