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

Side by Side Diff: ash/root_window_controller.h

Issue 1953753002: Turn RootWindowController Menus Async (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « no previous file | ash/root_window_controller.cc » ('j') | ui/views/widget/widget.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 ASH_ROOT_WINDOW_CONTROLLER_H_ 5 #ifndef ASH_ROOT_WINDOW_CONTROLLER_H_
6 #define ASH_ROOT_WINDOW_CONTROLLER_H_ 6 #define ASH_ROOT_WINDOW_CONTROLLER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 10
(...skipping 16 matching lines...) Expand all
27 namespace gfx { 27 namespace gfx {
28 class Point; 28 class Point;
29 } 29 }
30 30
31 namespace keyboard { 31 namespace keyboard {
32 class KeyboardController; 32 class KeyboardController;
33 } 33 }
34 34
35 namespace ui { 35 namespace ui {
36 class EventHandler; 36 class EventHandler;
37 class MenuModel;
37 } 38 }
38 39
39 namespace views { 40 namespace views {
41 class MenuModelAdapter;
42 class MenuRunner;
40 class Widget; 43 class Widget;
41 } 44 }
42 45
43 namespace wm { 46 namespace wm {
44 class InputMethodEventFilter; 47 class InputMethodEventFilter;
45 class RootWindowEventFilter; 48 class RootWindowEventFilter;
46 class ScopedCaptureClient; 49 class ScopedCaptureClient;
47 } 50 }
48 51
49 namespace ash { 52 namespace ash {
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 // Creates each of the special window containers that holds windows of various 253 // Creates each of the special window containers that holds windows of various
251 // types in the shell UI. 254 // types in the shell UI.
252 void CreateContainersInRootWindow(aura::Window* root_window); 255 void CreateContainersInRootWindow(aura::Window* root_window);
253 256
254 // Enables projection touch HUD. 257 // Enables projection touch HUD.
255 void EnableTouchHudProjection(); 258 void EnableTouchHudProjection();
256 259
257 // Disables projection touch HUD. 260 // Disables projection touch HUD.
258 void DisableTouchHudProjection(); 261 void DisableTouchHudProjection();
259 262
263 // Callback for MenuModelAdapter.
264 void OnMenuClosed();
265
260 // Overridden from ShellObserver. 266 // Overridden from ShellObserver.
261 void OnLoginStateChanged(user::LoginStatus status) override; 267 void OnLoginStateChanged(user::LoginStatus status) override;
262 void OnTouchHudProjectionToggled(bool enabled) override; 268 void OnTouchHudProjectionToggled(bool enabled) override;
263 269
264 std::unique_ptr<AshWindowTreeHost> ash_host_; 270 std::unique_ptr<AshWindowTreeHost> ash_host_;
265 RootWindowLayoutManager* root_window_layout_; 271 RootWindowLayoutManager* root_window_layout_;
266 272
267 std::unique_ptr<StackingController> stacking_controller_; 273 std::unique_ptr<StackingController> stacking_controller_;
268 274
269 // The shelf for managing the shelf and the status widget. 275 // The shelf for managing the shelf and the status widget.
(...skipping 29 matching lines...) Expand all
299 TouchHudDebug* touch_hud_debug_; 305 TouchHudDebug* touch_hud_debug_;
300 TouchHudProjection* touch_hud_projection_; 306 TouchHudProjection* touch_hud_projection_;
301 307
302 // Handles double clicks on the panel window header. 308 // Handles double clicks on the panel window header.
303 std::unique_ptr<ui::EventHandler> panel_container_handler_; 309 std::unique_ptr<ui::EventHandler> panel_container_handler_;
304 310
305 std::unique_ptr<DesktopBackgroundWidgetController> wallpaper_controller_; 311 std::unique_ptr<DesktopBackgroundWidgetController> wallpaper_controller_;
306 std::unique_ptr<AnimatingDesktopController> animating_wallpaper_controller_; 312 std::unique_ptr<AnimatingDesktopController> animating_wallpaper_controller_;
307 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; 313 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_;
308 314
315 // Manages the context menu.
316 std::unique_ptr<ui::MenuModel> menu_model_;
317 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_;
318 std::unique_ptr<views::MenuRunner> menu_runner_;
319
309 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 320 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
310 }; 321 };
311 322
312 323
313 // Gets the RootWindowController for |root_window|. 324 // Gets the RootWindowController for |root_window|.
314 ASH_EXPORT RootWindowController* GetRootWindowController( 325 ASH_EXPORT RootWindowController* GetRootWindowController(
315 const aura::Window* root_window); 326 const aura::Window* root_window);
316 327
317 } // namespace ash 328 } // namespace ash
318 329
319 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 330 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « no previous file | ash/root_window_controller.cc » ('j') | ui/views/widget/widget.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698