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 | 10 |
10 #include "ash/ash_export.h" | 11 #include "ash/ash_export.h" |
11 #include "ash/shelf/shelf_types.h" | 12 #include "ash/shelf/shelf_types.h" |
12 #include "ash/shell_observer.h" | 13 #include "ash/shell_observer.h" |
13 #include "ash/system/user/login_status.h" | 14 #include "ash/system/user/login_status.h" |
14 #include "base/macros.h" | 15 #include "base/macros.h" |
15 #include "base/memory/scoped_ptr.h" | |
16 #include "ui/aura/window.h" | 16 #include "ui/aura/window.h" |
17 #include "ui/aura/window_tree_host.h" | 17 #include "ui/aura/window_tree_host.h" |
18 #include "ui/base/ui_base_types.h" | 18 #include "ui/base/ui_base_types.h" |
19 | 19 |
20 class SkBitmap; | 20 class SkBitmap; |
21 | 21 |
22 namespace aura { | 22 namespace aura { |
23 class EventFilter; | 23 class EventFilter; |
24 class Window; | 24 class Window; |
25 } | 25 } |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 // Enables projection touch HUD. | 250 // Enables projection touch HUD. |
251 void EnableTouchHudProjection(); | 251 void EnableTouchHudProjection(); |
252 | 252 |
253 // Disables projection touch HUD. | 253 // Disables projection touch HUD. |
254 void DisableTouchHudProjection(); | 254 void DisableTouchHudProjection(); |
255 | 255 |
256 // Overridden from ShellObserver. | 256 // Overridden from ShellObserver. |
257 void OnLoginStateChanged(user::LoginStatus status) override; | 257 void OnLoginStateChanged(user::LoginStatus status) override; |
258 void OnTouchHudProjectionToggled(bool enabled) override; | 258 void OnTouchHudProjectionToggled(bool enabled) override; |
259 | 259 |
260 scoped_ptr<AshWindowTreeHost> ash_host_; | 260 std::unique_ptr<AshWindowTreeHost> ash_host_; |
261 RootWindowLayoutManager* root_window_layout_; | 261 RootWindowLayoutManager* root_window_layout_; |
262 | 262 |
263 scoped_ptr<StackingController> stacking_controller_; | 263 std::unique_ptr<StackingController> stacking_controller_; |
264 | 264 |
265 // The shelf for managing the shelf and the status widget. | 265 // The shelf for managing the shelf and the status widget. |
266 scoped_ptr<ShelfWidget> shelf_; | 266 std::unique_ptr<ShelfWidget> shelf_; |
267 | 267 |
268 // An invisible/empty window used as a event target for | 268 // An invisible/empty window used as a event target for |
269 // |MouseCursorEventFilter| before a user logs in. | 269 // |MouseCursorEventFilter| before a user logs in. |
270 // (crbug.com/266987) | 270 // (crbug.com/266987) |
271 // Its container is |LockScreenBackgroundContainer| and | 271 // Its container is |LockScreenBackgroundContainer| and |
272 // this must be deleted before the container is deleted. | 272 // this must be deleted before the container is deleted. |
273 scoped_ptr<aura::Window> mouse_event_target_; | 273 std::unique_ptr<aura::Window> mouse_event_target_; |
274 | 274 |
275 // Manages layout of docked windows. Owned by DockedContainer. | 275 // Manages layout of docked windows. Owned by DockedContainer. |
276 DockedWindowLayoutManager* docked_layout_manager_; | 276 DockedWindowLayoutManager* docked_layout_manager_; |
277 | 277 |
278 // Manages layout of panels. Owned by PanelContainer. | 278 // Manages layout of panels. Owned by PanelContainer. |
279 PanelLayoutManager* panel_layout_manager_; | 279 PanelLayoutManager* panel_layout_manager_; |
280 | 280 |
281 scoped_ptr<SystemBackgroundController> system_background_; | 281 std::unique_ptr<SystemBackgroundController> system_background_; |
282 | 282 |
283 #if defined(OS_CHROMEOS) | 283 #if defined(OS_CHROMEOS) |
284 scoped_ptr<BootSplashScreen> boot_splash_screen_; | 284 std::unique_ptr<BootSplashScreen> boot_splash_screen_; |
285 // Responsible for initializing TouchExplorationController when spoken | 285 // Responsible for initializing TouchExplorationController when spoken |
286 // feedback is on. | 286 // feedback is on. |
287 scoped_ptr<AshTouchExplorationManager> touch_exploration_manager_; | 287 std::unique_ptr<AshTouchExplorationManager> touch_exploration_manager_; |
288 #endif | 288 #endif |
289 | 289 |
290 scoped_ptr<WorkspaceController> workspace_controller_; | 290 std::unique_ptr<WorkspaceController> workspace_controller_; |
291 scoped_ptr<AlwaysOnTopController> always_on_top_controller_; | 291 std::unique_ptr<AlwaysOnTopController> always_on_top_controller_; |
292 | 292 |
293 // Heads-up displays for touch events. These HUDs are not owned by the root | 293 // Heads-up displays for touch events. These HUDs are not owned by the root |
294 // window controller and manage their own lifetimes. | 294 // window controller and manage their own lifetimes. |
295 TouchHudDebug* touch_hud_debug_; | 295 TouchHudDebug* touch_hud_debug_; |
296 TouchHudProjection* touch_hud_projection_; | 296 TouchHudProjection* touch_hud_projection_; |
297 | 297 |
298 // Handles double clicks on the panel window header. | 298 // Handles double clicks on the panel window header. |
299 scoped_ptr<ui::EventHandler> panel_container_handler_; | 299 std::unique_ptr<ui::EventHandler> panel_container_handler_; |
300 | 300 |
301 scoped_ptr<DesktopBackgroundWidgetController> wallpaper_controller_; | 301 std::unique_ptr<DesktopBackgroundWidgetController> wallpaper_controller_; |
302 scoped_ptr<AnimatingDesktopController> animating_wallpaper_controller_; | 302 std::unique_ptr<AnimatingDesktopController> animating_wallpaper_controller_; |
303 scoped_ptr< ::wm::ScopedCaptureClient> capture_client_; | 303 std::unique_ptr<::wm::ScopedCaptureClient> capture_client_; |
304 | 304 |
305 DISALLOW_COPY_AND_ASSIGN(RootWindowController); | 305 DISALLOW_COPY_AND_ASSIGN(RootWindowController); |
306 }; | 306 }; |
307 | 307 |
308 | 308 |
309 // Gets the RootWindowController for |root_window|. | 309 // Gets the RootWindowController for |root_window|. |
310 ASH_EXPORT RootWindowController* GetRootWindowController( | 310 ASH_EXPORT RootWindowController* GetRootWindowController( |
311 const aura::Window* root_window); | 311 const aura::Window* root_window); |
312 | 312 |
313 } // namespace ash | 313 } // namespace ash |
314 | 314 |
315 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ | 315 #endif // ASH_ROOT_WINDOW_CONTROLLER_H_ |
OLD | NEW |