| Index: athena/wm/window_manager_impl.cc
|
| diff --git a/athena/wm/window_manager_impl.cc b/athena/wm/window_manager_impl.cc
|
| index 47e49b64584e8948dc8408d24f1f17a7e993b4bd..560252aec02a3f9e8a8e69a9a040acbae2b47870 100644
|
| --- a/athena/wm/window_manager_impl.cc
|
| +++ b/athena/wm/window_manager_impl.cc
|
| @@ -10,7 +10,6 @@
|
| #include "athena/input/public/accelerator_manager.h"
|
| #include "athena/screen/public/screen_manager.h"
|
| #include "athena/wm/bezel_controller.h"
|
| -#include "athena/wm/mru_window_tracker.h"
|
| #include "athena/wm/public/window_manager_observer.h"
|
| #include "athena/wm/split_view_controller.h"
|
| #include "athena/wm/title_drag_controller.h"
|
| @@ -42,8 +41,6 @@ class WindowManagerImpl : public WindowManager,
|
| // WindowManager:
|
| virtual void ToggleOverview() OVERRIDE;
|
|
|
| - virtual bool IsOverviewModeActive() OVERRIDE;
|
| -
|
| private:
|
| enum Command {
|
| CMD_TOGGLE_OVERVIEW,
|
| @@ -76,17 +73,14 @@ class WindowManagerImpl : public WindowManager,
|
| virtual void OnTitleDragCompleted(aura::Window* window) OVERRIDE;
|
| virtual void OnTitleDragCanceled(aura::Window* window) OVERRIDE;
|
|
|
| - // Should be declared first so that it is destoyed last.
|
| - ObserverList<WindowManagerObserver> observers_;
|
| -
|
| scoped_ptr<aura::Window> container_;
|
| - scoped_ptr<MruWindowTracker> mru_window_tracker_;
|
| scoped_ptr<WindowOverviewMode> overview_;
|
| scoped_ptr<BezelController> bezel_controller_;
|
| scoped_ptr<SplitViewController> split_view_controller_;
|
| scoped_ptr<wm::WMState> wm_state_;
|
| scoped_ptr<TitleDragController> title_drag_controller_;
|
| scoped_ptr<wm::ShadowController> shadow_controller_;
|
| + ObserverList<WindowManagerObserver> observers_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(WindowManagerImpl);
|
| };
|
| @@ -118,10 +112,8 @@ WindowManagerImpl::WindowManagerImpl() {
|
| container_.reset(ScreenManager::Get()->CreateDefaultContainer(params));
|
| container_->SetLayoutManager(new AthenaContainerLayoutManager);
|
| container_->AddObserver(this);
|
| - mru_window_tracker_.reset(new MruWindowTracker(container_.get()));
|
| bezel_controller_.reset(new BezelController(container_.get()));
|
| - split_view_controller_.reset(new SplitViewController(
|
| - container_.get(), mru_window_tracker_.get(), this));
|
| + split_view_controller_.reset(new SplitViewController());
|
| bezel_controller_->set_left_right_delegate(split_view_controller_.get());
|
| container_->AddPreTargetHandler(bezel_controller_.get());
|
| title_drag_controller_.reset(new TitleDragController(container_.get(), this));
|
| @@ -162,26 +154,15 @@ void WindowManagerImpl::ToggleOverview() {
|
| SetInOverview(overview_.get() == NULL);
|
| }
|
|
|
| -bool WindowManagerImpl::IsOverviewModeActive() {
|
| - return overview_;
|
| -}
|
| -
|
| void WindowManagerImpl::SetInOverview(bool active) {
|
| bool in_overview = !!overview_;
|
| if (active == in_overview)
|
| return;
|
|
|
| if (active) {
|
| + overview_ = WindowOverviewMode::Create(container_.get(), this);
|
| FOR_EACH_OBSERVER(WindowManagerObserver, observers_,
|
| OnOverviewModeEnter());
|
| - // Re-stack all windows in the order defined by mru_window_tracker_.
|
| - aura::Window::Windows window_list = mru_window_tracker_->GetWindowList();
|
| - aura::Window::Windows::iterator it;
|
| - for (it = window_list.begin(); it != window_list.end(); ++it)
|
| - container_->StackChildAtTop(*it);
|
| - overview_ = WindowOverviewMode::Create(container_.get(),
|
| - mru_window_tracker_.get(),
|
| - this);
|
| } else {
|
| overview_.reset();
|
| FOR_EACH_OBSERVER(WindowManagerObserver, observers_,
|
| @@ -207,7 +188,8 @@ void WindowManagerImpl::RemoveObserver(WindowManagerObserver* observer) {
|
| }
|
|
|
| void WindowManagerImpl::OnSelectWindow(aura::Window* window) {
|
| - mru_window_tracker_->MoveToFront(window);
|
| + CHECK_EQ(container_.get(), window->parent());
|
| + container_->StackChildAtTop(window);
|
| wm::ActivateWindow(window);
|
| SetInOverview(false);
|
| }
|
|
|