Index: chrome/browser/ui/views/ash/tab_scrubber.h |
diff --git a/chrome/browser/ui/views/ash/tab_scrubber.h b/chrome/browser/ui/views/ash/tab_scrubber.h |
index 8ba03d5d6b30781663d9965561fa952e0c1a53c9..4cf7c5352bcdd918eaf6df4c6825fb7c4f347ee5 100644 |
--- a/chrome/browser/ui/views/ash/tab_scrubber.h |
+++ b/chrome/browser/ui/views/ash/tab_scrubber.h |
@@ -5,12 +5,18 @@ |
#ifndef CHROME_BROWSER_UI_VIEWS_ASH_TAB_SCRUBBER_H_ |
#define CHROME_BROWSER_UI_VIEWS_ASH_TAB_SCRUBBER_H_ |
+#include "base/timer.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
+#include "ui/base/animation/animation_delegate.h" |
#include "ui/base/events/event_handler.h" |
class Browser; |
-class Tab; |
+class TabStrip; |
+ |
+namespace gfx { |
+class Point; |
+} |
// Class to enable quick tab switching via Ctrl-left-drag. |
// Notes: this is experimental, and disables ctrl-clicks. It should not be |
@@ -21,6 +27,18 @@ class TabScrubber : public ui::EventHandler, |
public: |
static TabScrubber* GetInstance(); |
+ enum Direction {LEFT, RIGHT}; |
sky
2013/01/22 18:05:01
enums before methods. Also, how does this with whe
DaveMoore
2013/01/27 21:21:54
Moved declaration, but I think RIGHT / LEFT here m
|
+ |
+ // Returns the virtual position of a swipe starting in the tab at |index|, |
+ // base on the |direction|. |
+ static const gfx::Point GetStartPoint(TabStrip* tab_strip, |
sky
2013/01/22 18:05:01
No point in a const return type.
DaveMoore
2013/01/27 21:21:54
Done.
|
+ int index, |
+ TabScrubber::Direction direction); |
+ void set_activation_delay(base::TimeDelta activation_delay) { |
+ activation_delay_ = activation_delay; |
+ } |
+ base::TimeDelta activation_delay() const { return activation_delay_; } |
+ |
private: |
TabScrubber(); |
virtual ~TabScrubber(); |
@@ -34,19 +52,26 @@ class TabScrubber : public ui::EventHandler, |
const content::NotificationDetails& details) OVERRIDE; |
Browser* GetActiveBrowser(); |
- void StartScrubbing(); |
- void StopScrubbing(); |
+ void FinishScrub(bool activate); |
+ void CancelImmersiveReveal(); |
- // Indicates that we are currently scrubbing. |
- bool scrubbing_; |
// The browser that we are scrubbing. |
sky
2013/01/22 18:05:01
Update comments for members below. Not all members
DaveMoore
2013/01/27 21:21:54
Done.
|
+ bool scrubbing_; |
Browser* browser_; |
- // The x value of the event that initiated scrubbing. |
- float scroll_x_; |
- float scroll_y_; |
- |
+ float swipe_x_; |
+ float swipe_y_; |
+ Direction swipe_direction_; |
sky
2013/01/22 18:05:01
You don't member initialize this.
DaveMoore
2013/01/27 21:21:54
Done.
DaveMoore
2013/01/27 21:21:54
Done.
|
content::NotificationRegistrar registrar_; |
+ int overridden_tab_; |
+ base::Timer activate_timer_; |
+ // Time to wait before newly selected tab becomes active. |
+ base::TimeDelta activation_delay_; |
+ bool should_cancel_immersive_reveal_; |
+ base::Timer cancel_immersive_reveal_timer_; |
+ // Note: This should remain the last member so it'll be destroyed and |
+ // invalidate its weak pointers before any other members are destroyed. |
+ base::WeakPtrFactory<TabScrubber> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(TabScrubber); |
sky
2013/01/22 18:05:01
nit: newline between 74/75
DaveMoore
2013/01/27 21:21:54
Done.
|
}; |