| Index: athena/wm/window_manager_impl.cc
|
| diff --git a/athena/wm/window_manager_impl.cc b/athena/wm/window_manager_impl.cc
|
| index 47f36e27b9aa813a6c67911d16b55985275f5f6c..e507c462f1934706a9ce66717d5fd33a917ebbc1 100644
|
| --- a/athena/wm/window_manager_impl.cc
|
| +++ b/athena/wm/window_manager_impl.cc
|
| @@ -176,6 +176,23 @@ WindowManagerImpl::~WindowManagerImpl() {
|
| instance = NULL;
|
| }
|
|
|
| +void WindowManagerImpl::ToggleSplitView() {
|
| + if (IsOverviewModeActive())
|
| + return;
|
| +
|
| + if (split_view_controller_->IsSplitViewModeActive()) {
|
| + split_view_controller_->DeactivateSplitMode();
|
| + FOR_EACH_OBSERVER(WindowManagerObserver, observers_, OnSplitViewModeExit());
|
| + // Relayout so that windows are maximzied.
|
| + container_->layout_manager()->OnWindowResized();
|
| + } else if (split_view_controller_->CanActivateSplitViewMode()) {
|
| + FOR_EACH_OBSERVER(WindowManagerObserver,
|
| + observers_,
|
| + OnSplitViewModeEnter());
|
| + split_view_controller_->ActivateSplitMode(NULL, NULL, NULL);
|
| + }
|
| +}
|
| +
|
| void WindowManagerImpl::ToggleOverview() {
|
| if (IsOverviewModeActive()) {
|
| SetInOverview(false);
|
| @@ -241,7 +258,7 @@ void WindowManagerImpl::RemoveObserver(WindowManagerObserver* observer) {
|
| }
|
|
|
| void WindowManagerImpl::ToggleSplitViewForTest() {
|
| - ToggleSplitview();
|
| + ToggleSplitView();
|
| }
|
|
|
| WindowListProvider* WindowManagerImpl::GetWindowListProvider() {
|
| @@ -290,8 +307,7 @@ void WindowManagerImpl::OnSelectSplitViewWindow(aura::Window* left,
|
| aura::Window* to_activate) {
|
| SetInOverview(false);
|
| FOR_EACH_OBSERVER(WindowManagerObserver, observers_, OnSplitViewModeEnter());
|
| - split_view_controller_->ActivateSplitMode(left, right);
|
| - wm::ActivateWindow(to_activate);
|
| + split_view_controller_->ActivateSplitMode(left, right, to_activate);
|
| }
|
|
|
| void WindowManagerImpl::OnWindowDestroying(aura::Window* window) {
|
| @@ -310,29 +326,12 @@ bool WindowManagerImpl::OnAcceleratorFired(int command_id,
|
| ToggleOverview();
|
| break;
|
| case CMD_TOGGLE_SPLIT_VIEW:
|
| - ToggleSplitview();
|
| + ToggleSplitView();
|
| break;
|
| }
|
| return true;
|
| }
|
|
|
| -void WindowManagerImpl::ToggleSplitview() {
|
| - if (IsOverviewModeActive())
|
| - return;
|
| -
|
| - if (split_view_controller_->IsSplitViewModeActive()) {
|
| - split_view_controller_->DeactivateSplitMode();
|
| - FOR_EACH_OBSERVER(WindowManagerObserver, observers_, OnSplitViewModeExit());
|
| - // Relayout so that windows are maximzied.
|
| - container_->layout_manager()->OnWindowResized();
|
| - } else if (split_view_controller_->CanActivateSplitViewMode()) {
|
| - FOR_EACH_OBSERVER(WindowManagerObserver,
|
| - observers_,
|
| - OnSplitViewModeEnter());
|
| - split_view_controller_->ActivateSplitMode(NULL, NULL);
|
| - }
|
| -}
|
| -
|
| aura::Window* WindowManagerImpl::GetWindowBehind(aura::Window* window) {
|
| const aura::Window::Windows& windows = window_list_provider_->GetWindowList();
|
| aura::Window::Windows::const_reverse_iterator iter =
|
| @@ -383,7 +382,6 @@ void WindowManagerImpl::OnTitleDragCompleted(aura::Window* window) {
|
| return;
|
| if (split_view_controller_->IsSplitViewModeActive()) {
|
| split_view_controller_->ReplaceWindow(window, next_window);
|
| - wm::ActivateWindow(next_window);
|
| } else {
|
| ui::ScopedLayerAnimationSettings
|
| settings(next_window->layer()->GetAnimator());
|
|
|