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

Unified Diff: athena/wm/window_manager_impl.cc

Issue 394833004: Split View Mode: Support for the 2-finger bezel scroll. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing a rebase issue. Created 6 years, 5 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/wm/window_manager_impl.cc
diff --git a/athena/wm/window_manager_impl.cc b/athena/wm/window_manager_impl.cc
index 37e7dcee736519c054e369e4ee286096a19ae6ca..a5bbf53b990b895244aa2bc9d6a69c7e023d8381 100644
--- a/athena/wm/window_manager_impl.cc
+++ b/athena/wm/window_manager_impl.cc
@@ -6,7 +6,9 @@
#include "athena/input/public/accelerator_manager.h"
#include "athena/screen/public/screen_manager.h"
+#include "athena/wm/bezel_controller.h"
#include "athena/wm/public/window_manager_observer.h"
+#include "athena/wm/split_view_controller.h"
#include "athena/wm/window_overview_mode.h"
#include "base/logging.h"
#include "base/observer_list.h"
@@ -92,6 +94,8 @@ class WindowManagerImpl : public WindowManager,
scoped_ptr<aura::Window> container_;
scoped_ptr<WindowOverviewMode> overview_;
+ scoped_ptr<BezelController> bezel_controller_;
+ scoped_ptr<SplitViewController> split_view_controller_;
ObserverList<WindowManagerObserver> observers_;
DISALLOW_COPY_AND_ASSIGN(WindowManagerImpl);
@@ -133,13 +137,19 @@ WindowManagerImpl::WindowManagerImpl() {
container_.reset(ScreenManager::Get()->CreateDefaultContainer(params));
container_->SetLayoutManager(new AthenaContainerLayoutManager);
container_->AddObserver(this);
+ bezel_controller_.reset(new BezelController(container_.get()));
+ split_view_controller_.reset(new SplitViewController());
+ bezel_controller_->set_left_right_delegate(split_view_controller_.get());
+ container_->AddPreTargetHandler(bezel_controller_.get());
instance = this;
InstallAccelerators();
}
WindowManagerImpl::~WindowManagerImpl() {
- if (container_)
+ if (container_) {
container_->RemoveObserver(this);
+ container_->RemovePreTargetHandler(bezel_controller_.get());
+ }
container_.reset();
instance = NULL;
}

Powered by Google App Engine
This is Rietveld 408576698