Index: ash/wm/maximize_mode/maximize_mode_window_manager.cc |
diff --git a/ash/wm/maximize_mode/maximize_mode_window_manager.cc b/ash/wm/maximize_mode/maximize_mode_window_manager.cc |
index 2e9f042970907350d2ae11748c3eb9a8215660df..6b7fc369ea22b25e7eef9b4ee83e126987419f4f 100644 |
--- a/ash/wm/maximize_mode/maximize_mode_window_manager.cc |
+++ b/ash/wm/maximize_mode/maximize_mode_window_manager.cc |
@@ -81,6 +81,7 @@ void MaximizeModeWindowManager::OnOverviewModeStarting() { |
return; |
EnableBackdropBehindTopWindowOnEachDisplay(false); |
+ SetDeferBoundsUpdates(true); |
backdrops_hidden_ = true; |
} |
@@ -90,6 +91,7 @@ void MaximizeModeWindowManager::OnOverviewModeEnding() { |
backdrops_hidden_ = false; |
EnableBackdropBehindTopWindowOnEachDisplay(true); |
+ SetDeferBoundsUpdates(false); |
} |
void MaximizeModeWindowManager::OnWindowDestroying(aura::Window* window) { |
@@ -194,6 +196,15 @@ void MaximizeModeWindowManager::RestoreAllWindows() { |
ForgetWindow(window_state_map_.begin()->first); |
} |
+void MaximizeModeWindowManager::SetDeferBoundsUpdates( |
+ bool defer_bounds_updates) { |
+ for (WindowToState::iterator it = window_state_map_.begin(); |
+ it != window_state_map_.end(); |
+ ++it) { |
+ it->second->SetDeferBoundsUpdates(defer_bounds_updates); |
+ } |
+} |
+ |
void MaximizeModeWindowManager::MaximizeAndTrackWindow( |
aura::Window* window) { |
if (!ShouldHandleWindow(window)) |