Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index dea97860e0dc22adabb5590cbc9e719de39521c4..e4edd6bf9767b9a437a4b64a6d10589ab3fe8737 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -15,6 +15,8 @@ |
#include "ash/focus_cycler.h" |
#include "ash/ime/input_method_event_filter.h" |
#include "ash/launcher/launcher.h" |
+#include "ash/monitor/multi_monitor_manager.h" |
+#include "ash/monitor/monitor_controller.h" |
#include "ash/screen_ash.h" |
#include "ash/shell_delegate.h" |
#include "ash/shell_factory.h" |
@@ -409,8 +411,7 @@ internal::WorkspaceController* Shell::TestApi::workspace_controller() { |
// Shell, public: |
Shell::Shell(ShellDelegate* delegate) |
- : root_window_(aura::Env::GetInstance()->monitor_manager()-> |
- CreateRootWindowForPrimaryMonitor()), |
+ : root_window_(aura::MonitorManager::CreateRootWindowForPrimaryMonitor()), |
screen_(new ScreenAsh(root_window_.get())), |
root_filter_(NULL), |
delegate_(delegate), |
@@ -419,11 +420,9 @@ Shell::Shell(ShellDelegate* delegate) |
status_widget_(NULL) { |
gfx::Screen::SetInstance(screen_); |
ui_controls::InstallUIControlsAura(CreateUIControlsAura(root_window_.get())); |
- aura::Env::GetInstance()->monitor_manager()->AddObserver(this); |
} |
Shell::~Shell() { |
- aura::Env::GetInstance()->monitor_manager()->RemoveObserver(this); |
RemoveRootWindowEventFilter(partial_screenshot_filter_.get()); |
RemoveRootWindowEventFilter(input_method_filter_.get()); |
RemoveRootWindowEventFilter(window_modality_controller_.get()); |
@@ -462,6 +461,7 @@ Shell::~Shell() { |
resize_shadow_controller_.reset(); |
shadow_controller_.reset(); |
window_cycle_controller_.reset(); |
+ monitor_controller_.reset(); |
// Launcher widget has a InputMethodBridge that references to |
// input_method_filter_'s input_method_. So explicitly release launcher_ |
@@ -477,6 +477,8 @@ Shell::~Shell() { |
// static |
Shell* Shell::CreateInstance(ShellDelegate* delegate) { |
CHECK(!instance_); |
+ aura::Env::GetInstance()->SetMonitorManager( |
+ new internal::MultiMonitorManager()); |
instance_ = new Shell(delegate); |
instance_->Init(); |
return instance_; |
@@ -634,6 +636,7 @@ void Shell::Init() { |
power_button_controller_.reset(new PowerButtonController); |
video_detector_.reset(new VideoDetector); |
window_cycle_controller_.reset(new WindowCycleController); |
+ monitor_controller_.reset(new internal::MonitorController); |
} |
aura::Window* Shell::GetContainer(int container_id) { |
@@ -726,14 +729,6 @@ int Shell::GetGridSize() const { |
} |
//////////////////////////////////////////////////////////////////////////////// |
-// Shell, aura::MonitorObserver implementation: |
- |
-void Shell::OnMonitorBoundsChanged(const aura::Monitor* monitor) { |
- if (aura::RootWindow::use_fullscreen_host_window()) |
- root_window_->SetHostSize(monitor->size()); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
// Shell, private: |
void Shell::InitLayoutManagers() { |