Chromium Code Reviews| Index: athena/screen/screen_manager_impl.cc |
| diff --git a/athena/screen/screen_manager_impl.cc b/athena/screen/screen_manager_impl.cc |
| index 2c9c76401c1f8c02b2fd90e83ef20349bb4dbbba..6b62b6c816406b7bee2cb3eb00eaebcba99412d2 100644 |
| --- a/athena/screen/screen_manager_impl.cc |
| +++ b/athena/screen/screen_manager_impl.cc |
| @@ -8,6 +8,7 @@ |
| #include "athena/common/fill_layout_manager.h" |
| #include "athena/input/public/accelerator_manager.h" |
| #include "athena/screen/background_controller.h" |
| +#include "athena/screen/public/screen_manager_delegate.h" |
| #include "athena/screen/screen_accelerator_handler.h" |
| #include "base/logging.h" |
| #include "base/memory/scoped_ptr.h" |
| @@ -188,13 +189,15 @@ class AthenaEventTargeter : public aura::WindowTargeter, |
| class ScreenManagerImpl : public ScreenManager { |
| public: |
| - explicit ScreenManagerImpl(aura::Window* root_window); |
| + explicit ScreenManagerImpl(ScreenManagerDelegate* delegate, |
|
sadrul
2014/08/14 21:25:19
Remove explicit
|
| + aura::Window* root_window); |
| virtual ~ScreenManagerImpl(); |
| void Init(); |
| private: |
| // ScreenManager: |
| + virtual void SetWorkAreaInsets(const gfx::Insets& insets) OVERRIDE; |
| virtual aura::Window* CreateDefaultContainer( |
| const ContainerParams& params) OVERRIDE; |
| virtual aura::Window* CreateContainer(const ContainerParams& params) OVERRIDE; |
| @@ -202,6 +205,8 @@ class ScreenManagerImpl : public ScreenManager { |
| virtual void SetBackgroundImage(const gfx::ImageSkia& image) OVERRIDE; |
| virtual ui::LayerAnimator* GetScreenAnimator() OVERRIDE; |
| + // Not owned. |
| + ScreenManagerDelegate* delegate_; |
| aura::Window* root_window_; |
| aura::Window* background_window_; |
| @@ -214,8 +219,10 @@ class ScreenManagerImpl : public ScreenManager { |
| DISALLOW_COPY_AND_ASSIGN(ScreenManagerImpl); |
| }; |
| -ScreenManagerImpl::ScreenManagerImpl(aura::Window* root_window) |
| - : root_window_(root_window) { |
| +ScreenManagerImpl::ScreenManagerImpl(ScreenManagerDelegate* delegate, |
| + aura::Window* root_window) |
| + : delegate_(delegate), |
| + root_window_(root_window) { |
| DCHECK(root_window_); |
| DCHECK(!instance); |
| instance = this; |
| @@ -241,6 +248,10 @@ void ScreenManagerImpl::Init() { |
| accelerator_handler_.reset(new ScreenAcceleratorHandler(root_window_)); |
| } |
| +void ScreenManagerImpl::SetWorkAreaInsets(const gfx::Insets& insets) { |
| + delegate_->SetWorkAreaInsets(insets); |
| +} |
| + |
| aura::Window* ScreenManagerImpl::CreateDefaultContainer( |
| const ContainerParams& params) { |
| aura::Window* container = CreateContainer(params); |
| @@ -339,8 +350,9 @@ ScreenManager::ContainerParams::ContainerParams(const std::string& n, |
| } |
| // static |
| -ScreenManager* ScreenManager::Create(aura::Window* root_window) { |
| - (new ScreenManagerImpl(root_window))->Init(); |
| +ScreenManager* ScreenManager::Create(ScreenManagerDelegate* delegate, |
| + aura::Window* root_window) { |
| + (new ScreenManagerImpl(delegate, root_window))->Init(); |
| DCHECK(instance); |
| return instance; |
| } |