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

Side by Side Diff: ash/root_window_controller.h

Issue 2290473004: Rename ash desktop_background to wallpaper. (Closed)
Patch Set: Address comments. 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/public/interfaces/container.mojom ('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 AnimatingDesktopController; 54 class AnimatingWallpaperWidgetController;
55 class DesktopBackgroundWidgetController;
56 class DockedWindowLayoutManager; 55 class DockedWindowLayoutManager;
57 enum class LoginStatus; 56 enum class LoginStatus;
58 class PanelLayoutManager; 57 class PanelLayoutManager;
59 class RootWindowControllerCommon; 58 class RootWindowControllerCommon;
60 class Shelf; 59 class Shelf;
61 class ShelfLayoutManager; 60 class ShelfLayoutManager;
62 class ShelfWidget; 61 class ShelfWidget;
63 class StackingController; 62 class StackingController;
64 class StatusAreaWidget; 63 class StatusAreaWidget;
65 class SystemBackgroundController;
66 class SystemModalContainerLayoutManager; 64 class SystemModalContainerLayoutManager;
67 class SystemTray; 65 class SystemTray;
66 class SystemWallpaperController;
68 class TouchHudDebug; 67 class TouchHudDebug;
69 class TouchHudProjection; 68 class TouchHudProjection;
69 class WallpaperWidgetController;
70 class WmShelfAura; 70 class WmShelfAura;
71 class WmWindow; 71 class WmWindow;
72 class WorkspaceController; 72 class WorkspaceController;
73 73
74 #if defined(OS_CHROMEOS) 74 #if defined(OS_CHROMEOS)
75 class BootSplashScreen; 75 class BootSplashScreen;
76 class AshTouchExplorationManager; 76 class AshTouchExplorationManager;
77 #endif 77 #endif
78 78
79 // This class maintains the per root window state for ash. This class 79 // This class maintains the per root window state for ash. This class
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 134
135 // Set touch HUDs for this root window controller. The root window controller 135 // Set touch HUDs for this root window controller. The root window controller
136 // will not own the HUDs; their lifetimes are managed by themselves. Whenever 136 // will not own the HUDs; their lifetimes are managed by themselves. Whenever
137 // the widget showing a HUD is being destroyed (e.g. because of detaching a 137 // the widget showing a HUD is being destroyed (e.g. because of detaching a
138 // display), the HUD deletes itself. 138 // display), the HUD deletes itself.
139 void set_touch_hud_debug(TouchHudDebug* hud) { touch_hud_debug_ = hud; } 139 void set_touch_hud_debug(TouchHudDebug* hud) { touch_hud_debug_ = hud; }
140 void set_touch_hud_projection(TouchHudProjection* hud) { 140 void set_touch_hud_projection(TouchHudProjection* hud) {
141 touch_hud_projection_ = hud; 141 touch_hud_projection_ = hud;
142 } 142 }
143 143
144 DesktopBackgroundWidgetController* wallpaper_controller() { 144 WallpaperWidgetController* wallpaper_widget_controller() {
145 return wallpaper_controller_.get(); 145 return wallpaper_widget_controller_.get();
146 } 146 }
147 void SetWallpaperController(DesktopBackgroundWidgetController* controller); 147 void SetWallpaperWidgetController(WallpaperWidgetController* controller);
148 AnimatingDesktopController* animating_wallpaper_controller() { 148 AnimatingWallpaperWidgetController* animating_wallpaper_widget_controller() {
149 return animating_wallpaper_controller_.get(); 149 return animating_wallpaper_widget_controller_.get();
150 } 150 }
151 void SetAnimatingWallpaperController(AnimatingDesktopController* controller); 151 void SetAnimatingWallpaperWidgetController(
152 AnimatingWallpaperWidgetController* controller);
152 153
153 // Access the shelf layout manager associated with this root 154 // Access the shelf layout manager associated with this root
154 // window controller, NULL if no such shelf exists. 155 // window controller, NULL if no such shelf exists.
155 ShelfLayoutManager* GetShelfLayoutManager(); 156 ShelfLayoutManager* GetShelfLayoutManager();
156 157
157 // Returns the system tray on this root window. Note that 158 // Returns the system tray on this root window. Note that
158 // calling this on the root window that doesn't have a shelf will 159 // calling this on the root window that doesn't have a shelf will
159 // lead to a crash. 160 // lead to a crash.
160 SystemTray* GetSystemTray(); 161 SystemTray* GetSystemTray();
161 162
(...skipping 27 matching lines...) Expand all
189 190
190 // Returns the shelf controller for this root window. 191 // Returns the shelf controller for this root window.
191 // TODO(jamescook): Remove this and use WmRootWindowController::GetShelf(). 192 // TODO(jamescook): Remove this and use WmRootWindowController::GetShelf().
192 Shelf* GetShelf() const; 193 Shelf* GetShelf() const;
193 194
194 // Called when the login status changes after login (such as lock/unlock). 195 // Called when the login status changes after login (such as lock/unlock).
195 // TODO(oshima): Investigate if we can merge this and |OnLoginStateChanged|. 196 // TODO(oshima): Investigate if we can merge this and |OnLoginStateChanged|.
196 void UpdateAfterLoginStatusChange(LoginStatus status); 197 void UpdateAfterLoginStatusChange(LoginStatus status);
197 198
198 // Called when the brightness/grayscale animation from white to the login 199 // Called when the brightness/grayscale animation from white to the login
199 // desktop background image has started. Starts |boot_splash_screen_|'s 200 // wallpaper image has started. Starts |boot_splash_screen_|'s hiding
200 // hiding animation (if the screen is non-NULL). 201 // animation (if the screen is non-NULL).
201 void HandleInitialDesktopBackgroundAnimationStarted(); 202 void HandleInitialWallpaperAnimationStarted();
202 203
203 // Called when the wallpaper ainmation is finished. Updates |background_| 204 // Called when the wallpaper animation is finished. Updates
204 // to be black and drops |boot_splash_screen_| and moves the wallpaper 205 // |system_wallpaper_| to be black and drops |boot_splash_screen_| and moves
205 // controller into the root window controller. |widget| holds the wallpaper 206 // the wallpaper controller into the root window controller. |widget| holds
206 // image, or NULL if the background is a solid color. 207 // the wallpaper image, or NULL if the wallpaper is a solid color.
207 void OnWallpaperAnimationFinished(views::Widget* widget); 208 void OnWallpaperAnimationFinished(views::Widget* widget);
208 209
209 // Deletes associated objects and clears the state, but doesn't delete 210 // Deletes associated objects and clears the state, but doesn't delete
210 // the root window yet. This is used to delete a secondary displays' 211 // the root window yet. This is used to delete a secondary displays'
211 // root window safely when the display disconnect signal is received, 212 // root window safely when the display disconnect signal is received,
212 // which may come while we're in the nested message loop. 213 // which may come while we're in the nested message loop.
213 void Shutdown(); 214 void Shutdown();
214 215
215 // Deletes all child windows and performs necessary cleanup. 216 // Deletes all child windows and performs necessary cleanup.
216 void CloseChildWindows(); 217 void CloseChildWindows();
(...skipping 28 matching lines...) Expand all
245 explicit RootWindowController(AshWindowTreeHost* host); 246 explicit RootWindowController(AshWindowTreeHost* host);
246 enum RootWindowType { PRIMARY, SECONDARY }; 247 enum RootWindowType { PRIMARY, SECONDARY };
247 248
248 // Initializes the RootWindowController. |is_primary| is true if 249 // Initializes the RootWindowController. |is_primary| is true if
249 // the controller is for primary display. |first_run_after_boot| is 250 // the controller is for primary display. |first_run_after_boot| is
250 // set to true only for primary root window after boot. 251 // set to true only for primary root window after boot.
251 void Init(RootWindowType root_window_type, bool first_run_after_boot); 252 void Init(RootWindowType root_window_type, bool first_run_after_boot);
252 253
253 void InitLayoutManagers(); 254 void InitLayoutManagers();
254 255
255 // Initializes |system_background_| and possibly also |boot_splash_screen_|. 256 // Initializes |system_wallpaper_| and possibly also |boot_splash_screen_|.
256 // |is_first_run_after_boot| determines the background's initial color. 257 // |is_first_run_after_boot| determines the wallpaper's initial color.
257 void CreateSystemBackground(bool is_first_run_after_boot); 258 void CreateSystemWallpaper(bool is_first_run_after_boot);
258 259
259 // Enables projection touch HUD. 260 // Enables projection touch HUD.
260 void EnableTouchHudProjection(); 261 void EnableTouchHudProjection();
261 262
262 // Disables projection touch HUD. 263 // Disables projection touch HUD.
263 void DisableTouchHudProjection(); 264 void DisableTouchHudProjection();
264 265
265 // Callback for MenuModelAdapter. 266 // Callback for MenuModelAdapter.
266 void OnMenuClosed(); 267 void OnMenuClosed();
267 268
(...skipping 14 matching lines...) Expand all
282 283
283 // Legacy shelf controller. Only present after shelf is created (post-login). 284 // Legacy shelf controller. Only present after shelf is created (post-login).
284 std::unique_ptr<Shelf> shelf_; 285 std::unique_ptr<Shelf> shelf_;
285 286
286 // The shelf widget for this root window. 287 // The shelf widget for this root window.
287 std::unique_ptr<ShelfWidget> shelf_widget_; 288 std::unique_ptr<ShelfWidget> shelf_widget_;
288 289
289 // An invisible/empty window used as a event target for 290 // An invisible/empty window used as a event target for
290 // |MouseCursorEventFilter| before a user logs in. 291 // |MouseCursorEventFilter| before a user logs in.
291 // (crbug.com/266987) 292 // (crbug.com/266987)
292 // Its container is |LockScreenBackgroundContainer| and 293 // Its container is |LockScreenWallpaperContainer| and
293 // this must be deleted before the container is deleted. 294 // this must be deleted before the container is deleted.
294 std::unique_ptr<aura::Window> mouse_event_target_; 295 std::unique_ptr<aura::Window> mouse_event_target_;
295 296
296 // Manages layout of docked windows. Owned by DockedContainer. 297 // Manages layout of docked windows. Owned by DockedContainer.
297 DockedWindowLayoutManager* docked_layout_manager_; 298 DockedWindowLayoutManager* docked_layout_manager_;
298 299
299 // Manages layout of panels. Owned by PanelContainer. 300 // Manages layout of panels. Owned by PanelContainer.
300 PanelLayoutManager* panel_layout_manager_; 301 PanelLayoutManager* panel_layout_manager_;
301 302
302 std::unique_ptr<SystemBackgroundController> system_background_; 303 std::unique_ptr<SystemWallpaperController> system_wallpaper_;
303 304
304 #if defined(OS_CHROMEOS) 305 #if defined(OS_CHROMEOS)
305 std::unique_ptr<BootSplashScreen> boot_splash_screen_; 306 std::unique_ptr<BootSplashScreen> boot_splash_screen_;
306 // Responsible for initializing TouchExplorationController when spoken 307 // Responsible for initializing TouchExplorationController when spoken
307 // feedback is on. 308 // feedback is on.
308 std::unique_ptr<AshTouchExplorationManager> touch_exploration_manager_; 309 std::unique_ptr<AshTouchExplorationManager> touch_exploration_manager_;
309 #endif 310 #endif
310 311
311 std::unique_ptr<WorkspaceController> workspace_controller_; 312 std::unique_ptr<WorkspaceController> workspace_controller_;
312 std::unique_ptr<AlwaysOnTopController> always_on_top_controller_; 313 std::unique_ptr<AlwaysOnTopController> always_on_top_controller_;
313 314
314 // Heads-up displays for touch events. These HUDs are not owned by the root 315 // Heads-up displays for touch events. These HUDs are not owned by the root
315 // window controller and manage their own lifetimes. 316 // window controller and manage their own lifetimes.
316 TouchHudDebug* touch_hud_debug_; 317 TouchHudDebug* touch_hud_debug_;
317 TouchHudProjection* touch_hud_projection_; 318 TouchHudProjection* touch_hud_projection_;
318 319
319 // Handles double clicks on the panel window header. 320 // Handles double clicks on the panel window header.
320 std::unique_ptr<ui::EventHandler> panel_container_handler_; 321 std::unique_ptr<ui::EventHandler> panel_container_handler_;
321 322
322 std::unique_ptr<DesktopBackgroundWidgetController> wallpaper_controller_; 323 std::unique_ptr<WallpaperWidgetController> wallpaper_widget_controller_;
323 std::unique_ptr<AnimatingDesktopController> animating_wallpaper_controller_; 324 std::unique_ptr<AnimatingWallpaperWidgetController>
325 animating_wallpaper_widget_controller_;
324 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; 326 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_;
325 327
326 // Manages the context menu. 328 // Manages the context menu.
327 std::unique_ptr<ui::MenuModel> menu_model_; 329 std::unique_ptr<ui::MenuModel> menu_model_;
328 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_; 330 std::unique_ptr<views::MenuModelAdapter> menu_model_adapter_;
329 std::unique_ptr<views::MenuRunner> menu_runner_; 331 std::unique_ptr<views::MenuRunner> menu_runner_;
330 332
331 DISALLOW_COPY_AND_ASSIGN(RootWindowController); 333 DISALLOW_COPY_AND_ASSIGN(RootWindowController);
332 }; 334 };
333 335
334 // On classic ash, returns the RootWindowController for the given |root_window|. 336 // On classic ash, returns the RootWindowController for the given |root_window|.
335 // On mus ash, returns the RootWindowController for the primary display. 337 // On mus ash, returns the RootWindowController for the primary display.
336 // See RootWindowController class comment above. 338 // See RootWindowController class comment above.
337 ASH_EXPORT RootWindowController* GetRootWindowController( 339 ASH_EXPORT RootWindowController* GetRootWindowController(
338 const aura::Window* root_window); 340 const aura::Window* root_window);
339 341
340 } // namespace ash 342 } // namespace ash
341 343
342 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ 344 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/public/interfaces/container.mojom ('k') | ash/root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698