OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ |
7 | 7 |
8 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" | 8 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" |
9 | 9 |
10 #include "base/timer/timer.h" | 10 #include "base/timer/timer.h" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 // aura::WindowObserver overrides: | 103 // aura::WindowObserver overrides: |
104 virtual void OnWindowPropertyChanged(aura::Window* window, | 104 virtual void OnWindowPropertyChanged(aura::Window* window, |
105 const void* key, | 105 const void* key, |
106 intptr_t old) OVERRIDE; | 106 intptr_t old) OVERRIDE; |
107 virtual void OnAddTransientChild(aura::Window* window, | 107 virtual void OnAddTransientChild(aura::Window* window, |
108 aura::Window* transient) OVERRIDE; | 108 aura::Window* transient) OVERRIDE; |
109 virtual void OnRemoveTransientChild(aura::Window* window, | 109 virtual void OnRemoveTransientChild(aura::Window* window, |
110 aura::Window* transient) OVERRIDE; | 110 aura::Window* transient) OVERRIDE; |
111 | 111 |
112 // Testing interface. | 112 // Testing interface. |
113 void SetForceHideTabIndicatorsForTest(bool force); | |
114 void StartRevealForTest(bool hovered); | 113 void StartRevealForTest(bool hovered); |
115 void SetMouseHoveredForTest(bool hovered); | 114 void SetMouseHoveredForTest(bool hovered); |
116 void DisableAnimationsForTest(); | 115 void DisableAnimationsForTest(); |
117 | 116 |
118 private: | 117 private: |
119 friend class ImmersiveModeControllerAshTest; | 118 friend class ImmersiveModeControllerAshTest; |
120 | 119 |
121 enum AllowRevealWhileClosing { | 120 enum AllowRevealWhileClosing { |
122 ALLOW_REVEAL_WHILE_CLOSING_YES, | 121 ALLOW_REVEAL_WHILE_CLOSING_YES, |
123 ALLOW_REVEAL_WHILE_CLOSING_NO | 122 ALLOW_REVEAL_WHILE_CLOSING_NO |
124 }; | 123 }; |
125 enum Animate { | 124 enum Animate { |
126 ANIMATE_NO, | 125 ANIMATE_NO, |
127 ANIMATE_SLOW, | 126 ANIMATE_SLOW, |
128 ANIMATE_FAST, | 127 ANIMATE_FAST, |
129 }; | 128 }; |
130 enum Layout { | 129 enum Layout { |
131 LAYOUT_YES, | 130 LAYOUT_YES, |
132 LAYOUT_NO | 131 LAYOUT_NO |
133 }; | 132 }; |
134 enum RevealState { | 133 enum RevealState { |
135 CLOSED, // Top container only showing tabstrip, y = 0. | 134 CLOSED, // Top container only showing tabstrip, y = 0. |
136 SLIDING_OPEN, // All views showing, y animating from -height to 0. | 135 SLIDING_OPEN, // All views showing, y animating from -height to 0. |
137 REVEALED, // All views showing, y = 0. | 136 REVEALED, // All views showing, y = 0. |
138 SLIDING_CLOSED, // All views showing, y animating from 0 to -height. | 137 SLIDING_CLOSED, // All views showing, y animating from 0 to -height. |
139 }; | 138 }; |
140 enum TabIndicatorVisibility { | |
141 TAB_INDICATORS_FORCE_HIDE, | |
142 TAB_INDICATORS_HIDE, | |
143 TAB_INDICATORS_SHOW | |
144 }; | |
145 enum SwipeType { | 139 enum SwipeType { |
146 SWIPE_OPEN, | 140 SWIPE_OPEN, |
147 SWIPE_CLOSE, | 141 SWIPE_CLOSE, |
148 SWIPE_NONE | 142 SWIPE_NONE |
149 }; | 143 }; |
150 | 144 |
151 // Enables or disables observers for mouse move, focus, and window restore. | 145 // Enables or disables observers for mouse move, focus, and window restore. |
152 void EnableWindowObservers(bool enable); | 146 void EnableWindowObservers(bool enable); |
153 | 147 |
154 // Updates |top_edge_hover_timer_| based on a mouse |event|. If the mouse is | 148 // Updates |top_edge_hover_timer_| based on a mouse |event|. If the mouse is |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 bool observers_enabled_; | 245 bool observers_enabled_; |
252 | 246 |
253 // True when in immersive mode. | 247 // True when in immersive mode. |
254 bool enabled_; | 248 bool enabled_; |
255 | 249 |
256 // State machine for the revealed/closed animations. | 250 // State machine for the revealed/closed animations. |
257 RevealState reveal_state_; | 251 RevealState reveal_state_; |
258 | 252 |
259 int revealed_lock_count_; | 253 int revealed_lock_count_; |
260 | 254 |
261 // The visibility of the miniature "tab indicators" in the main browser view | |
262 // when immersive mode is enabled and the top-of-window views are closed. | |
263 TabIndicatorVisibility tab_indicator_visibility_; | |
264 | |
265 // Timer to track cursor being held at the top edge of the screen. | 255 // Timer to track cursor being held at the top edge of the screen. |
266 base::OneShotTimer<ImmersiveModeController> top_edge_hover_timer_; | 256 base::OneShotTimer<ImmersiveModeController> top_edge_hover_timer_; |
267 | 257 |
268 // The cursor x position in screen coordinates when the cursor first hit the | 258 // The cursor x position in screen coordinates when the cursor first hit the |
269 // top edge of the screen. | 259 // top edge of the screen. |
270 int mouse_x_when_hit_top_in_screen_; | 260 int mouse_x_when_hit_top_in_screen_; |
271 | 261 |
272 // Tracks if the controller has seen a ET_GESTURE_SCROLL_BEGIN, without the | 262 // Tracks if the controller has seen a ET_GESTURE_SCROLL_BEGIN, without the |
273 // following events. | 263 // following events. |
274 bool gesture_begun_; | 264 bool gesture_begun_; |
(...skipping 27 matching lines...) Expand all Loading... |
302 scoped_ptr<BubbleManager> bubble_manager_; | 292 scoped_ptr<BubbleManager> bubble_manager_; |
303 | 293 |
304 content::NotificationRegistrar registrar_; | 294 content::NotificationRegistrar registrar_; |
305 | 295 |
306 base::WeakPtrFactory<ImmersiveModeControllerAsh> weak_ptr_factory_; | 296 base::WeakPtrFactory<ImmersiveModeControllerAsh> weak_ptr_factory_; |
307 | 297 |
308 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAsh); | 298 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAsh); |
309 }; | 299 }; |
310 | 300 |
311 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ | 301 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ |
OLD | NEW |