| OLD | NEW |
| 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 22 matching lines...) Expand all Loading... |
| 33 | 33 |
| 34 namespace views { | 34 namespace views { |
| 35 class Widget; | 35 class Widget; |
| 36 } | 36 } |
| 37 | 37 |
| 38 namespace wm { | 38 namespace wm { |
| 39 class ScopedCaptureClient; | 39 class ScopedCaptureClient; |
| 40 } | 40 } |
| 41 | 41 |
| 42 namespace ash { | 42 namespace ash { |
| 43 class AshTouchExplorationManager; |
| 43 class AshWindowTreeHost; | 44 class AshWindowTreeHost; |
| 45 class BootSplashScreen; |
| 44 class DockedWindowLayoutManager; | 46 class DockedWindowLayoutManager; |
| 45 enum class LoginStatus; | 47 enum class LoginStatus; |
| 46 class PanelLayoutManager; | 48 class PanelLayoutManager; |
| 47 class ShelfLayoutManager; | 49 class ShelfLayoutManager; |
| 48 class StackingController; | 50 class StackingController; |
| 49 class StatusAreaWidget; | 51 class StatusAreaWidget; |
| 50 class SystemTray; | 52 class SystemTray; |
| 51 class SystemWallpaperController; | 53 class SystemWallpaperController; |
| 52 class TouchHudDebug; | 54 class TouchHudDebug; |
| 53 class TouchHudProjection; | 55 class TouchHudProjection; |
| 54 class WmRootWindowControllerAura; | 56 class WmRootWindowControllerAura; |
| 55 class WmShelfAura; | 57 class WmShelfAura; |
| 56 class WorkspaceController; | 58 class WorkspaceController; |
| 57 | 59 |
| 58 #if defined(OS_CHROMEOS) | |
| 59 class BootSplashScreen; | |
| 60 class AshTouchExplorationManager; | |
| 61 #endif | |
| 62 | |
| 63 // This class maintains the per root window state for ash. This class | 60 // This class maintains the per root window state for ash. This class |
| 64 // owns the root window and other dependent objects that should be | 61 // owns the root window and other dependent objects that should be |
| 65 // deleted upon the deletion of the root window. This object is | 62 // deleted upon the deletion of the root window. This object is |
| 66 // indirectly owned and deleted by |WindowTreeHostManager|. | 63 // indirectly owned and deleted by |WindowTreeHostManager|. |
| 67 // The RootWindowController for particular root window is stored in | 64 // The RootWindowController for particular root window is stored in |
| 68 // its property (RootWindowSettings) and can be obtained using | 65 // its property (RootWindowSettings) and can be obtained using |
| 69 // |GetRootWindowController(aura::WindowEventDispatcher*)| function. | 66 // |GetRootWindowController(aura::WindowEventDispatcher*)| function. |
| 70 // | 67 // |
| 71 // NOTE: In classic ash there is one RootWindow per display, so every RootWindow | 68 // NOTE: In classic ash there is one RootWindow per display, so every RootWindow |
| 72 // has a RootWindowController. In mus/mash there is one RootWindow per top-level | 69 // has a RootWindowController. In mus/mash there is one RootWindow per top-level |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 | 213 |
| 217 std::unique_ptr<StackingController> stacking_controller_; | 214 std::unique_ptr<StackingController> stacking_controller_; |
| 218 | 215 |
| 219 // The shelf controller for this root window. Exists for the entire lifetime | 216 // The shelf controller for this root window. Exists for the entire lifetime |
| 220 // of the RootWindowController so that it is safe for observers to be added | 217 // of the RootWindowController so that it is safe for observers to be added |
| 221 // to it during construction of the shelf widget and status tray. | 218 // to it during construction of the shelf widget and status tray. |
| 222 std::unique_ptr<WmShelfAura> wm_shelf_aura_; | 219 std::unique_ptr<WmShelfAura> wm_shelf_aura_; |
| 223 | 220 |
| 224 std::unique_ptr<SystemWallpaperController> system_wallpaper_; | 221 std::unique_ptr<SystemWallpaperController> system_wallpaper_; |
| 225 | 222 |
| 226 #if defined(OS_CHROMEOS) | |
| 227 std::unique_ptr<BootSplashScreen> boot_splash_screen_; | 223 std::unique_ptr<BootSplashScreen> boot_splash_screen_; |
| 228 // Responsible for initializing TouchExplorationController when spoken | 224 // Responsible for initializing TouchExplorationController when spoken |
| 229 // feedback is on. | 225 // feedback is on. |
| 230 std::unique_ptr<AshTouchExplorationManager> touch_exploration_manager_; | 226 std::unique_ptr<AshTouchExplorationManager> touch_exploration_manager_; |
| 231 #endif | |
| 232 | 227 |
| 233 // Heads-up displays for touch events. These HUDs are not owned by the root | 228 // Heads-up displays for touch events. These HUDs are not owned by the root |
| 234 // window controller and manage their own lifetimes. | 229 // window controller and manage their own lifetimes. |
| 235 TouchHudDebug* touch_hud_debug_; | 230 TouchHudDebug* touch_hud_debug_; |
| 236 TouchHudProjection* touch_hud_projection_; | 231 TouchHudProjection* touch_hud_projection_; |
| 237 | 232 |
| 238 // Handles double clicks on the panel window header. | 233 // Handles double clicks on the panel window header. |
| 239 std::unique_ptr<ui::EventHandler> panel_container_handler_; | 234 std::unique_ptr<ui::EventHandler> panel_container_handler_; |
| 240 | 235 |
| 241 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; | 236 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; |
| 242 | 237 |
| 243 DISALLOW_COPY_AND_ASSIGN(RootWindowController); | 238 DISALLOW_COPY_AND_ASSIGN(RootWindowController); |
| 244 }; | 239 }; |
| 245 | 240 |
| 246 // On classic ash, returns the RootWindowController for the given |root_window|. | 241 // On classic ash, returns the RootWindowController for the given |root_window|. |
| 247 // On mus ash, returns the RootWindowController for the primary display. | 242 // On mus ash, returns the RootWindowController for the primary display. |
| 248 // See RootWindowController class comment above. | 243 // See RootWindowController class comment above. |
| 249 ASH_EXPORT RootWindowController* GetRootWindowController( | 244 ASH_EXPORT RootWindowController* GetRootWindowController( |
| 250 const aura::Window* root_window); | 245 const aura::Window* root_window); |
| 251 | 246 |
| 252 } // namespace ash | 247 } // namespace ash |
| 253 | 248 |
| 254 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ | 249 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ |
| OLD | NEW |