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

Unified Diff: athena/screen/screen_manager_impl.cc

Issue 465803002: Make the minimized home card not overlap activities on Athena (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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
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;
}

Powered by Google App Engine
This is Rietveld 408576698