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.h" | 10 #include "base/timer.h" |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 // when immersive mode is enabled and the top-of-window views are closed. | 242 // when immersive mode is enabled and the top-of-window views are closed. |
243 TabIndicatorVisibility tab_indicator_visibility_; | 243 TabIndicatorVisibility tab_indicator_visibility_; |
244 | 244 |
245 // Timer to track cursor being held at the top edge of the screen. | 245 // Timer to track cursor being held at the top edge of the screen. |
246 base::OneShotTimer<ImmersiveModeController> top_edge_hover_timer_; | 246 base::OneShotTimer<ImmersiveModeController> top_edge_hover_timer_; |
247 | 247 |
248 // The cursor x position in root coordinates when the cursor first hit | 248 // The cursor x position in root coordinates when the cursor first hit |
249 // the top edge of the screen. | 249 // the top edge of the screen. |
250 int mouse_x_when_hit_top_; | 250 int mouse_x_when_hit_top_; |
251 | 251 |
| 252 // Tracks if the controller has seen a ET_GESTURE_SCROLL_BEGIN, without the |
| 253 // following events. |
| 254 bool gesture_begun_; |
| 255 |
252 // Lock which keeps the top-of-window views revealed based on the current | 256 // Lock which keeps the top-of-window views revealed based on the current |
253 // mouse state and the current touch state. Acquiring the lock is used to | 257 // mouse state and the current touch state. Acquiring the lock is used to |
254 // trigger a reveal when the user moves the mouse to the top of the screen | 258 // trigger a reveal when the user moves the mouse to the top of the screen |
255 // and when the user does a SWIPE_OPEN edge gesture. | 259 // and when the user does a SWIPE_OPEN edge gesture. |
256 scoped_ptr<ImmersiveRevealedLock> located_event_revealed_lock_; | 260 scoped_ptr<ImmersiveRevealedLock> located_event_revealed_lock_; |
257 | 261 |
258 // Lock which keeps the top-of-window views revealed based on the focused view | 262 // Lock which keeps the top-of-window views revealed based on the focused view |
259 // and the active widget. Acquiring the lock never triggers a reveal because | 263 // and the active widget. Acquiring the lock never triggers a reveal because |
260 // a view is not focusable till a reveal has made it visible. | 264 // a view is not focusable till a reveal has made it visible. |
261 scoped_ptr<ImmersiveRevealedLock> focus_revealed_lock_; | 265 scoped_ptr<ImmersiveRevealedLock> focus_revealed_lock_; |
262 | 266 |
263 // Native window for the browser. | 267 // Native window for the browser. |
264 aura::Window* native_window_; | 268 aura::Window* native_window_; |
265 | 269 |
266 // The animation which controls sliding the top-of-window views in and out. | 270 // The animation which controls sliding the top-of-window views in and out. |
267 scoped_ptr<ui::SlideAnimation> animation_; | 271 scoped_ptr<ui::SlideAnimation> animation_; |
268 | 272 |
269 // Whether the animations are disabled for testing. | 273 // Whether the animations are disabled for testing. |
270 bool animations_disabled_for_test_; | 274 bool animations_disabled_for_test_; |
271 | 275 |
272 // Manages widgets which are anchored to the top-of-window views. | 276 // Manages widgets which are anchored to the top-of-window views. |
273 class AnchoredWidgetManager; | 277 class AnchoredWidgetManager; |
274 scoped_ptr<AnchoredWidgetManager> anchored_widget_manager_; | 278 scoped_ptr<AnchoredWidgetManager> anchored_widget_manager_; |
275 | 279 |
276 content::NotificationRegistrar registrar_; | 280 content::NotificationRegistrar registrar_; |
277 | 281 |
278 base::WeakPtrFactory<ImmersiveModeControllerAsh> weak_ptr_factory_; | 282 base::WeakPtrFactory<ImmersiveModeControllerAsh> weak_ptr_factory_; |
279 | 283 |
280 // Tracks if the controller has seen a ET_GESTURE_SCROLL_BEGIN, without the | |
281 // following events. | |
282 bool gesture_begun_; | |
283 | |
284 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAsh); | 284 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAsh); |
285 }; | 285 }; |
286 | 286 |
287 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ | 287 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ |
OLD | NEW |