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

Unified Diff: ash/common/wm_root_window_controller.h

Issue 2620913003: Removes WmRootWindowController subclasses (Closed)
Patch Set: spelling Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/aura/wm_window_aura.cc ('k') | ash/common/wm_root_window_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « ash/aura/wm_window_aura.cc ('k') | ash/common/wm_root_window_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698