| 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 |