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

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') | no next file with comments »
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 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 // Creates each of the special window containers that holds windows of various 250 // Creates each of the special window containers that holds windows of various
248 // types in the shell UI. 251 // types in the shell UI.
249 void CreateContainersInRootWindow(aura::Window* root_window); 252 void CreateContainersInRootWindow(aura::Window* root_window);
250 253
251 // Enables projection touch HUD. 254 // Enables projection touch HUD.
252 void EnableTouchHudProjection(); 255 void EnableTouchHudProjection();
253 256
254 // Disables projection touch HUD. 257 // Disables projection touch HUD.
255 void DisableTouchHudProjection(); 258 void DisableTouchHudProjection();
256 259
260 // Callback for MenuModelAdapter.
261 void OnMenuClosed();
262
257 // Overridden from ShellObserver. 263 // Overridden from ShellObserver.
258 void OnLoginStateChanged(user::LoginStatus status) override; 264 void OnLoginStateChanged(user::LoginStatus status) override;
259 void OnTouchHudProjectionToggled(bool enabled) override; 265 void OnTouchHudProjectionToggled(bool enabled) override;
260 266
261 std::unique_ptr<AshWindowTreeHost> ash_host_; 267 std::unique_ptr<AshWindowTreeHost> ash_host_;
262 RootWindowLayoutManager* root_window_layout_; 268 RootWindowLayoutManager* root_window_layout_;
263 269
264 std::unique_ptr<StackingController> stacking_controller_; 270 std::unique_ptr<StackingController> stacking_controller_;
265 271
266 // The shelf for managing the shelf and the status widget. 272 // The shelf for managing the shelf and the status widget.
(...skipping 29 matching lines...) Expand all
296 TouchHudDebug* touch_hud_debug_; 302 TouchHudDebug* touch_hud_debug_;
297 TouchHudProjection* touch_hud_projection_; 303 TouchHudProjection* touch_hud_projection_;
298 304
299 // Handles double clicks on the panel window header. 305 // Handles double clicks on the panel window header.
300 std::unique_ptr<ui::EventHandler> panel_container_handler_; 306 std::unique_ptr<ui::EventHandler> panel_container_handler_;
301 307
302 std::unique_ptr<DesktopBackgroundWidgetController> wallpaper_controller_; 308 std::unique_ptr<DesktopBackgroundWidgetController> wallpaper_controller_;
303 std::unique_ptr<AnimatingDesktopController> animating_wallpaper_controller_; 309 std::unique_ptr<AnimatingDesktopController> animating_wallpaper_controller_;
304 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; 310 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_;
305 311
312 // Manages the context menu.
313 std::unique_ptr<ui::MenuModel> menu_model_;
314 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_;
315 std::unique_ptr<views::MenuRunner> menu_runner_;
316
306 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 317 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
307 }; 318 };
308 319
309 // On classic ash, returns the RootWindowController for the given |root_window|. 320 // On classic ash, returns the RootWindowController for the given |root_window|.
310 // On mus ash, returns the RootWindowController for the primary display. 321 // On mus ash, returns the RootWindowController for the primary display.
311 // See RootWindowController class comment above. 322 // See RootWindowController class comment above.
312 ASH_EXPORT RootWindowController* GetRootWindowController( 323 ASH_EXPORT RootWindowController* GetRootWindowController(
313 const aura::Window* root_window); 324 const aura::Window* root_window);
314 325
315 } // namespace ash 326 } // namespace ash
316 327
317 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 328 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « no previous file | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698