summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 07:38:23 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-15 07:38:23 +0000
commitbe65be36422183ca14c6e61bdcca8b79eb36c668 (patch)
tree37ba9417fdf52544c6f0e4195136e6a8457ea5f5 /ash/shell.h
parent56c2ee9abf440e57c3b133c625067743f237c324 (diff)
downloadchromium_src-be65be36422183ca14c6e61bdcca8b79eb36c668.zip
chromium_src-be65be36422183ca14c6e61bdcca8b79eb36c668.tar.gz
chromium_src-be65be36422183ca14c6e61bdcca8b79eb36c668.tar.bz2
Add Extended Desktop mode behind --ash-extended-desktop flag.
A lot of stuff still doesn't work but you can create and use a window on 2nd display. MonitorController now owns all root windows. BUG=123160 TEST=see http://codereview.chromium.org/10536187/ Review URL: https://chromiumcodereview.appspot.com/10535149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142350 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r--ash/shell.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/ash/shell.h b/ash/shell.h
index daa17f0..cf0ec17 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -110,6 +110,9 @@ class WorkspaceController;
// takes ownership of the Shell.
class ASH_EXPORT Shell : aura::CursorDelegate {
public:
+ typedef std::vector<aura::RootWindow*> RootWindowList;
+ typedef std::vector<internal::RootWindowController*> RootWindowControllerList;
+
enum Direction {
FORWARD,
BACKWARD
@@ -146,21 +149,29 @@ class ASH_EXPORT Shell : aura::CursorDelegate {
// Returns the root window controller for the primary root window.
static internal::RootWindowController* GetPrimaryRootWindowController();
- // Gets the primary RootWindow. The primary RootWindow is the one
+ // Returns all root window controllers. In non extended desktop
+ // mode, this return a RootWindowController for the primary root window only.
+ static RootWindowControllerList GetAllRootWindowControllers();
+
+ // Returns the primary RootWindow. The primary RootWindow is the one
// that has a launcher.
static aura::RootWindow* GetPrimaryRootWindow();
- // Gets the active RootWindow. The active RootWindow is the one that
+ // Returns the active RootWindow. The active RootWindow is the one that
// contains the current active window as a decendant child. The active
// RootWindow remains the same even when the active window becomes NULL,
// until the another window who has a different root window becomes active.
static aura::RootWindow* GetActiveRootWindow();
- // Gets the RootWindow at |point| in the virtual screen coordinates.
+ // Returns the RootWindow at |point| in the virtual screen coordinates.
// Returns NULL if the root window does not exist at the given
// point.
static aura::RootWindow* GetRootWindowAt(const gfx::Point& point);
+ // Returns all root windows. In non extended desktop mode, this
+ // returns the primary root window only.
+ static RootWindowList GetAllRootWindows();
+
static aura::Window* GetContainer(aura::RootWindow* root_window,
int container_id);
@@ -330,7 +341,7 @@ class ASH_EXPORT Shell : aura::CursorDelegate {
browser_context_ = browser_context;
}
- // Initialize the root window to be used for a secondary monitor.
+ // Initializes the root window to be used for a secondary monitor.
void InitRootWindowForSecondaryMonitor(aura::RootWindow* root);
#if defined(OS_CHROMEOS)
@@ -351,8 +362,9 @@ class ASH_EXPORT Shell : aura::CursorDelegate {
void Init();
- // Initiailze the root window so that it can host browser windows.
- void InitRootWindow(aura::RootWindow* root);
+ // Initializes the root window and root window controller so that it
+ // can host browser windows.
+ void InitRootWindowController(internal::RootWindowController* root);
// Initializes the layout managers and event filters specific for
// primary display.
@@ -372,7 +384,6 @@ class ASH_EXPORT Shell : aura::CursorDelegate {
// when the screen is initially created.
static bool initially_hide_cursor_;
- scoped_ptr<internal::RootWindowController> root_window_controller_;
ScreenAsh* screen_;
// Active root window. Never become NULL.