Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: chrome/browser/ui/views/frame/immersive_mode_controller_ash.h

Issue 16998006: Add handling for immersive fullscreen to the zoom bubble (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/observer_list.h"
10 #include "base/timer.h" 11 #include "base/timer.h"
11 #include "content/public/browser/notification_observer.h" 12 #include "content/public/browser/notification_observer.h"
12 #include "content/public/browser/notification_registrar.h" 13 #include "content/public/browser/notification_registrar.h"
13 #include "ui/aura/window_observer.h" 14 #include "ui/aura/window_observer.h"
14 #include "ui/base/animation/animation_delegate.h" 15 #include "ui/base/animation/animation_delegate.h"
15 #include "ui/base/events/event_handler.h" 16 #include "ui/base/events/event_handler.h"
16 #include "ui/views/focus/focus_manager.h" 17 #include "ui/views/focus/focus_manager.h"
17 #include "ui/views/widget/widget_observer.h" 18 #include "ui/views/widget/widget_observer.h"
18 19
19 class BrowserView; 20 class BrowserView;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 virtual bool ShouldHideTopViews() const OVERRIDE; 69 virtual bool ShouldHideTopViews() const OVERRIDE;
69 virtual bool IsRevealed() const OVERRIDE; 70 virtual bool IsRevealed() const OVERRIDE;
70 virtual int GetTopContainerVerticalOffset( 71 virtual int GetTopContainerVerticalOffset(
71 const gfx::Size& top_container_size) const OVERRIDE; 72 const gfx::Size& top_container_size) const OVERRIDE;
72 virtual ImmersiveRevealedLock* GetRevealedLock( 73 virtual ImmersiveRevealedLock* GetRevealedLock(
73 AnimateReveal animate_reveal) OVERRIDE WARN_UNUSED_RESULT; 74 AnimateReveal animate_reveal) OVERRIDE WARN_UNUSED_RESULT;
74 virtual void AnchorWidgetToTopContainer(views::Widget* widget, 75 virtual void AnchorWidgetToTopContainer(views::Widget* widget,
75 int y_offset) OVERRIDE; 76 int y_offset) OVERRIDE;
76 virtual void UnanchorWidgetFromTopContainer(views::Widget* widget) OVERRIDE; 77 virtual void UnanchorWidgetFromTopContainer(views::Widget* widget) OVERRIDE;
77 virtual void OnTopContainerBoundsChanged() OVERRIDE; 78 virtual void OnTopContainerBoundsChanged() OVERRIDE;
79 virtual void AddObserver(Observer* observer) OVERRIDE;
80 virtual void RemoveObserver(Observer* observer) OVERRIDE;
78 81
79 // content::NotificationObserver override: 82 // content::NotificationObserver override:
80 virtual void Observe(int type, 83 virtual void Observe(int type,
81 const content::NotificationSource& source, 84 const content::NotificationSource& source,
82 const content::NotificationDetails& details) OVERRIDE; 85 const content::NotificationDetails& details) OVERRIDE;
83 86
84 // ui::EventHandler overrides: 87 // ui::EventHandler overrides:
85 virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE; 88 virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE;
86 virtual void OnTouchEvent(ui::TouchEvent* event) OVERRIDE; 89 virtual void OnTouchEvent(ui::TouchEvent* event) OVERRIDE;
87 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE; 90 virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE;
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 // when immersive mode is enabled and the top-of-window views are closed. 245 // when immersive mode is enabled and the top-of-window views are closed.
243 TabIndicatorVisibility tab_indicator_visibility_; 246 TabIndicatorVisibility tab_indicator_visibility_;
244 247
245 // Timer to track cursor being held at the top edge of the screen. 248 // Timer to track cursor being held at the top edge of the screen.
246 base::OneShotTimer<ImmersiveModeController> top_edge_hover_timer_; 249 base::OneShotTimer<ImmersiveModeController> top_edge_hover_timer_;
247 250
248 // The cursor x position in root coordinates when the cursor first hit 251 // The cursor x position in root coordinates when the cursor first hit
249 // the top edge of the screen. 252 // the top edge of the screen.
250 int mouse_x_when_hit_top_; 253 int mouse_x_when_hit_top_;
251 254
255 // Tracks if the controller has seen a ET_GESTURE_SCROLL_BEGIN, without the
256 // following events.
257 bool gesture_begun_;
258
252 // Lock which keeps the top-of-window views revealed based on the current 259 // 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 260 // 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 261 // 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. 262 // and when the user does a SWIPE_OPEN edge gesture.
256 scoped_ptr<ImmersiveRevealedLock> located_event_revealed_lock_; 263 scoped_ptr<ImmersiveRevealedLock> located_event_revealed_lock_;
257 264
258 // Lock which keeps the top-of-window views revealed based on the focused view 265 // 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 266 // 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. 267 // a view is not focusable till a reveal has made it visible.
261 scoped_ptr<ImmersiveRevealedLock> focus_revealed_lock_; 268 scoped_ptr<ImmersiveRevealedLock> focus_revealed_lock_;
262 269
263 // Native window for the browser. 270 // Native window for the browser.
264 aura::Window* native_window_; 271 aura::Window* native_window_;
265 272
266 // The animation which controls sliding the top-of-window views in and out. 273 // The animation which controls sliding the top-of-window views in and out.
267 scoped_ptr<ui::SlideAnimation> animation_; 274 scoped_ptr<ui::SlideAnimation> animation_;
268 275
269 // Whether the animations are disabled for testing. 276 // Whether the animations are disabled for testing.
270 bool animations_disabled_for_test_; 277 bool animations_disabled_for_test_;
271 278
272 // Manages widgets which are anchored to the top-of-window views. 279 // Manages widgets which are anchored to the top-of-window views.
273 class AnchoredWidgetManager; 280 class AnchoredWidgetManager;
274 scoped_ptr<AnchoredWidgetManager> anchored_widget_manager_; 281 scoped_ptr<AnchoredWidgetManager> anchored_widget_manager_;
275 282
283 ObserverList<Observer> observers_;
284
276 content::NotificationRegistrar registrar_; 285 content::NotificationRegistrar registrar_;
277 286
278 base::WeakPtrFactory<ImmersiveModeControllerAsh> weak_ptr_factory_; 287 base::WeakPtrFactory<ImmersiveModeControllerAsh> weak_ptr_factory_;
James Cook 2013/06/17 16:13:41 Good catch that weak_prt_factory_ should be last.
279 288
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); 289 DISALLOW_COPY_AND_ASSIGN(ImmersiveModeControllerAsh);
285 }; 290 };
286 291
287 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_ 292 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_ASH_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698