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

Side by Side Diff: ash/root_window_controller.h

Issue 2318223003: mash: Migrate wallpaper controllers to ash/common. (Closed)
Patch Set: Fix nit. Created 4 years, 3 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 | « ash/mus/window_manager_application.cc ('k') | 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 namespace wm { 45 namespace wm {
46 class InputMethodEventFilter; 46 class InputMethodEventFilter;
47 class RootWindowEventFilter; 47 class RootWindowEventFilter;
48 class ScopedCaptureClient; 48 class ScopedCaptureClient;
49 } 49 }
50 50
51 namespace ash { 51 namespace ash {
52 class AshWindowTreeHost; 52 class AshWindowTreeHost;
53 class AlwaysOnTopController; 53 class AlwaysOnTopController;
54 class AnimatingWallpaperWidgetController;
55 class DockedWindowLayoutManager; 54 class DockedWindowLayoutManager;
56 enum class LoginStatus; 55 enum class LoginStatus;
57 class PanelLayoutManager; 56 class PanelLayoutManager;
58 class ShelfLayoutManager; 57 class ShelfLayoutManager;
59 class StackingController; 58 class StackingController;
60 class StatusAreaWidget; 59 class StatusAreaWidget;
61 class SystemModalContainerLayoutManager; 60 class SystemModalContainerLayoutManager;
62 class SystemTray; 61 class SystemTray;
63 class SystemWallpaperController; 62 class SystemWallpaperController;
64 class TouchHudDebug; 63 class TouchHudDebug;
65 class TouchHudProjection; 64 class TouchHudProjection;
66 class WallpaperWidgetController;
67 class WmRootWindowControllerAura; 65 class WmRootWindowControllerAura;
68 class WmShelfAura; 66 class WmShelfAura;
69 class WmWindow; 67 class WmWindow;
70 class WorkspaceController; 68 class WorkspaceController;
71 69
72 #if defined(OS_CHROMEOS) 70 #if defined(OS_CHROMEOS)
73 class BootSplashScreen; 71 class BootSplashScreen;
74 class AshTouchExplorationManager; 72 class AshTouchExplorationManager;
75 #endif 73 #endif
76 74
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 123
126 // Set touch HUDs for this root window controller. The root window controller 124 // Set touch HUDs for this root window controller. The root window controller
127 // will not own the HUDs; their lifetimes are managed by themselves. Whenever 125 // will not own the HUDs; their lifetimes are managed by themselves. Whenever
128 // the widget showing a HUD is being destroyed (e.g. because of detaching a 126 // the widget showing a HUD is being destroyed (e.g. because of detaching a
129 // display), the HUD deletes itself. 127 // display), the HUD deletes itself.
130 void set_touch_hud_debug(TouchHudDebug* hud) { touch_hud_debug_ = hud; } 128 void set_touch_hud_debug(TouchHudDebug* hud) { touch_hud_debug_ = hud; }
131 void set_touch_hud_projection(TouchHudProjection* hud) { 129 void set_touch_hud_projection(TouchHudProjection* hud) {
132 touch_hud_projection_ = hud; 130 touch_hud_projection_ = hud;
133 } 131 }
134 132
135 WallpaperWidgetController* wallpaper_widget_controller() {
136 return wallpaper_widget_controller_.get();
137 }
138 void SetWallpaperWidgetController(WallpaperWidgetController* controller);
139 AnimatingWallpaperWidgetController* animating_wallpaper_widget_controller() {
140 return animating_wallpaper_widget_controller_.get();
141 }
142 void SetAnimatingWallpaperWidgetController(
143 AnimatingWallpaperWidgetController* controller);
144
145 // Access the shelf layout manager associated with this root 133 // Access the shelf layout manager associated with this root
146 // window controller, NULL if no such shelf exists. 134 // window controller, NULL if no such shelf exists.
147 ShelfLayoutManager* GetShelfLayoutManager(); 135 ShelfLayoutManager* GetShelfLayoutManager();
148 136
149 // May return null, for example for a secondary monitor at the login screen. 137 // May return null, for example for a secondary monitor at the login screen.
150 StatusAreaWidget* GetStatusAreaWidget(); 138 StatusAreaWidget* GetStatusAreaWidget();
151 139
152 // Returns the system tray on this root window. Note that 140 // Returns the system tray on this root window. Note that
153 // calling this on the root window that doesn't have a shelf will 141 // calling this on the root window that doesn't have a shelf will
154 // lead to a crash. 142 // lead to a crash.
(...skipping 27 matching lines...) Expand all
182 // Creates the shelf for this root window and notifies observers. 170 // Creates the shelf for this root window and notifies observers.
183 void CreateShelf(); 171 void CreateShelf();
184 172
185 // Called when the login status changes after login (such as lock/unlock). 173 // Called when the login status changes after login (such as lock/unlock).
186 // TODO(oshima): Investigate if we can merge this and |OnLoginStateChanged|. 174 // TODO(oshima): Investigate if we can merge this and |OnLoginStateChanged|.
187 void UpdateAfterLoginStatusChange(LoginStatus status); 175 void UpdateAfterLoginStatusChange(LoginStatus status);
188 176
189 // Called when the brightness/grayscale animation from white to the login 177 // Called when the brightness/grayscale animation from white to the login
190 // wallpaper image has started. Starts |boot_splash_screen_|'s hiding 178 // wallpaper image has started. Starts |boot_splash_screen_|'s hiding
191 // animation (if the screen is non-NULL). 179 // animation (if the screen is non-NULL).
192 void HandleInitialWallpaperAnimationStarted(); 180 void OnInitialWallpaperAnimationStarted();
193 181
194 // Called when the wallpaper animation is finished. Updates 182 // Called when the wallpaper animation is finished. Updates
195 // |system_wallpaper_| to be black and drops |boot_splash_screen_| and moves 183 // |system_wallpaper_| to be black and drops |boot_splash_screen_| and moves
196 // the wallpaper controller into the root window controller. |widget| holds 184 // the wallpaper controller into the root window controller. |widget| holds
197 // the wallpaper image, or NULL if the wallpaper is a solid color. 185 // the wallpaper image, or NULL if the wallpaper is a solid color.
198 void OnWallpaperAnimationFinished(views::Widget* widget); 186 void OnWallpaperAnimationFinished(views::Widget* widget);
199 187
200 // Deletes associated objects and clears the state, but doesn't delete 188 // Deletes associated objects and clears the state, but doesn't delete
201 // the root window yet. This is used to delete a secondary displays' 189 // the root window yet. This is used to delete a secondary displays'
202 // root window safely when the display disconnect signal is received, 190 // root window safely when the display disconnect signal is received,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 std::unique_ptr<AlwaysOnTopController> always_on_top_controller_; 285 std::unique_ptr<AlwaysOnTopController> always_on_top_controller_;
298 286
299 // Heads-up displays for touch events. These HUDs are not owned by the root 287 // Heads-up displays for touch events. These HUDs are not owned by the root
300 // window controller and manage their own lifetimes. 288 // window controller and manage their own lifetimes.
301 TouchHudDebug* touch_hud_debug_; 289 TouchHudDebug* touch_hud_debug_;
302 TouchHudProjection* touch_hud_projection_; 290 TouchHudProjection* touch_hud_projection_;
303 291
304 // Handles double clicks on the panel window header. 292 // Handles double clicks on the panel window header.
305 std::unique_ptr<ui::EventHandler> panel_container_handler_; 293 std::unique_ptr<ui::EventHandler> panel_container_handler_;
306 294
307 std::unique_ptr<WallpaperWidgetController> wallpaper_widget_controller_;
308 std::unique_ptr<AnimatingWallpaperWidgetController>
309 animating_wallpaper_widget_controller_;
310 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; 295 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_;
311 296
312 // Manages the context menu. 297 // Manages the context menu.
313 std::unique_ptr<ui::MenuModel> menu_model_; 298 std::unique_ptr<ui::MenuModel> menu_model_;
314 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_; 299 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_;
315 std::unique_ptr<views::MenuRunner> menu_runner_; 300 std::unique_ptr<views::MenuRunner> menu_runner_;
316 301
317 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 302 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
318 }; 303 };
319 304
320 // On classic ash, returns the RootWindowController for the given |root_window|. 305 // On classic ash, returns the RootWindowController for the given |root_window|.
321 // On mus ash, returns the RootWindowController for the primary display. 306 // On mus ash, returns the RootWindowController for the primary display.
322 // See RootWindowController class comment above. 307 // See RootWindowController class comment above.
323 ASH_EXPORT RootWindowController* GetRootWindowController( 308 ASH_EXPORT RootWindowController* GetRootWindowController(
324 const aura::Window* root_window); 309 const aura::Window* root_window);
325 310
326 } // namespace ash 311 } // namespace ash
327 312
328 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 313 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/mus/window_manager_application.cc ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698