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

Unified Diff: athena/wm/window_manager_impl.cc

Issue 536013002: Decoupling visibility states from webcontent, adding visibility management in ResourceManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Created 6 years, 3 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
« no previous file with comments | « athena/wm/window_manager_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
}
« no previous file with comments | « athena/wm/window_manager_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698