Index: athena/wm/window_manager_impl.cc |
diff --git a/athena/wm/window_manager_impl.cc b/athena/wm/window_manager_impl.cc |
index 6e42c17a460a350d58e2ef20673ca947b0f2a640..bd93b2350cbca65bc48af2ab0addf40162dae5b7 100644 |
--- a/athena/wm/window_manager_impl.cc |
+++ b/athena/wm/window_manager_impl.cc |
@@ -217,9 +217,15 @@ void WindowManagerImpl::RemoveObserver(WindowManagerObserver* observer) { |
observers_.RemoveObserver(observer); |
} |
+void WindowManagerImpl::ToggleSplitViewForTest() { |
+ ToggleSplitview(); |
+} |
+ |
void WindowManagerImpl::OnSelectWindow(aura::Window* window) { |
- if (split_view_controller_->IsSplitViewModeActive()) |
+ if (split_view_controller_->IsSplitViewModeActive()) { |
split_view_controller_->DeactivateSplitMode(); |
+ FOR_EACH_OBSERVER(WindowManagerObserver, observers_, OnSplitViewModeExit()); |
+ } |
wm::ActivateWindow(window); |
SetInOverview(false); |
// If |window| does not have the size of the work-area, then make sure it is |
@@ -250,6 +256,7 @@ void WindowManagerImpl::OnSelectWindow(aura::Window* window) { |
void WindowManagerImpl::OnSplitViewMode(aura::Window* left, |
aura::Window* right) { |
SetInOverview(false); |
+ FOR_EACH_OBSERVER(WindowManagerObserver, observers_, OnSplitViewModeEnter()); |
split_view_controller_->ActivateSplitMode(left, right); |
} |
@@ -265,15 +272,6 @@ void WindowManagerImpl::OnWindowDestroying(aura::Window* window) { |
container_.reset(); |
} |
-void WindowManagerImpl::OnWindowStackingChanged(aura::Window* window) { |
- // TODO(skuhne): Use |window_list_provider_->IsValidWindow(window)| instead. |
- if (window->type() == ui::wm::WINDOW_TYPE_NORMAL) { |
- FOR_EACH_OBSERVER(WindowManagerObserver, |
- observers_, |
- OnActivityOrderHasChanged()); |
- } |
-} |
- |
bool WindowManagerImpl::IsCommandEnabled(int command_id) const { |
return true; |
} |
@@ -298,9 +296,13 @@ void WindowManagerImpl::ToggleSplitview() { |
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 (window_list_provider_->GetWindowList().size() > 1) { |
+ FOR_EACH_OBSERVER(WindowManagerObserver, |
+ observers_, |
+ OnSplitViewModeEnter()); |
split_view_controller_->ActivateSplitMode(NULL, NULL); |
} |
} |