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; |
} |