| Index: ash/common/wm_root_window_controller.h
|
| diff --git a/ash/common/wm_root_window_controller.h b/ash/common/wm_root_window_controller.h
|
| index 6ac288a20d1a21b1483625370fe26ceda80de3db..15e811cbd129b3b2fd47674c659fbf5e255d80b5 100644
|
| --- a/ash/common/wm_root_window_controller.h
|
| +++ b/ash/common/wm_root_window_controller.h
|
| @@ -30,6 +30,7 @@ class AlwaysOnTopController;
|
| class AnimatingWallpaperWidgetController;
|
| class DockedWindowLayoutManager;
|
| class PanelLayoutManager;
|
| +class RootWindowController;
|
| class SystemModalContainerLayoutManager;
|
| class SystemTray;
|
| class WallpaperWidgetController;
|
| @@ -46,8 +47,9 @@ class RootWindowLayoutManager;
|
| // Provides state associated with a root of a window hierarchy.
|
| class ASH_EXPORT WmRootWindowController {
|
| public:
|
| - explicit WmRootWindowController(WmWindow* window);
|
| - virtual ~WmRootWindowController();
|
| + WmRootWindowController(RootWindowController* root_window_controller,
|
| + WmWindow* window);
|
| + ~WmRootWindowController();
|
|
|
| DockedWindowLayoutManager* docked_window_layout_manager() {
|
| return docked_window_layout_manager_;
|
| @@ -90,9 +92,9 @@ class ASH_EXPORT WmRootWindowController {
|
| SystemModalContainerLayoutManager* GetSystemModalLayoutManager(
|
| WmWindow* window);
|
|
|
| - virtual bool HasShelf() = 0;
|
| + bool HasShelf();
|
|
|
| - virtual WmShelf* GetShelf() = 0;
|
| + WmShelf* GetShelf();
|
|
|
| // Creates the shelf for this root window and notifies observers.
|
| void CreateShelf();
|
| @@ -105,7 +107,7 @@ class ASH_EXPORT WmRootWindowController {
|
| SystemTray* GetSystemTray();
|
|
|
| // Returns the window associated with this WmRootWindowController.
|
| - virtual WmWindow* GetWindow() = 0;
|
| + WmWindow* GetWindow();
|
|
|
| // Gets the WmWindow whose shell window id is |container_id|.
|
| WmWindow* GetContainer(int container_id);
|
| @@ -135,8 +137,8 @@ class ASH_EXPORT WmRootWindowController {
|
|
|
| // Called when the wallpaper animation has started or finished.
|
| // TODO: port remaining classic ash wallpaper functionality here.
|
| - virtual void OnInitialWallpaperAnimationStarted();
|
| - virtual void OnWallpaperAnimationFinished(views::Widget* widget);
|
| + void OnInitialWallpaperAnimationStarted();
|
| + void OnWallpaperAnimationFinished(views::Widget* widget);
|
|
|
| // Called when the login status changes after login (such as lock/unlock).
|
| // TODO(oshima): Investigate if we can merge this and |OnLoginStateChanged|.
|
| @@ -160,14 +162,19 @@ class ASH_EXPORT WmRootWindowController {
|
| // Called during shutdown to destroy state such as windows and LayoutManagers.
|
| void CloseChildWindows();
|
|
|
| + private:
|
| + friend class RootWindowController;
|
| +
|
| // Called from CloseChildWindows() to determine if the specified window should
|
| // be destroyed.
|
| - virtual bool ShouldDestroyWindowInCloseChildWindows(WmWindow* window) = 0;
|
| + bool ShouldDestroyWindowInCloseChildWindows(WmWindow* window);
|
|
|
| - private:
|
| // Callback for MenuModelAdapter.
|
| void OnMenuClosed();
|
|
|
| + // TODO(sky): remove this, needed until merge two classes.
|
| + RootWindowController* root_window_controller_;
|
| +
|
| WmWindow* root_;
|
|
|
| // LayoutManagers are owned by the window they are installed on.
|
|
|