Index: ash/wm/workspace/workspace_manager.cc |
diff --git a/ash/wm/workspace/workspace_manager.cc b/ash/wm/workspace/workspace_manager.cc |
index 3e8d25a66fbe5e96de0730c5a5d6cd1adf818f58..6401d01f31c30971a6cac34f1df4ff4d7fade46b 100644 |
--- a/ash/wm/workspace/workspace_manager.cc |
+++ b/ash/wm/workspace/workspace_manager.cc |
@@ -171,10 +171,11 @@ void WorkspaceManager::SetWorkspaceSize(const gfx::Size& workspace_size) { |
if (workspace_size == workspace_size_) |
return; |
workspace_size_ = workspace_size; |
- for (Workspaces::const_iterator i = workspaces_.begin(); |
- i != workspaces_.end(); ++i) { |
- (*i)->SetBounds(GetWorkAreaBounds()); |
- } |
+ SetWorkspaceBounds(); |
+} |
+ |
+void WorkspaceManager::OnScreenWorkAreaInsetsChanged() { |
+ SetWorkspaceBounds(); |
} |
gfx::Rect WorkspaceManager::AlignBoundsToGrid(const gfx::Rect& bounds) { |
@@ -358,6 +359,13 @@ void WorkspaceManager::SetFullScreenOrMaximizedBounds(aura::Window* window) { |
SetWindowBounds(window, gfx::Screen::GetMonitorAreaNearestWindow(window)); |
} |
+void WorkspaceManager::SetWorkspaceBounds() { |
+ for (Workspaces::const_iterator i = workspaces_.begin(); |
+ i != workspaces_.end(); ++i) { |
+ (*i)->SetBounds(GetWorkAreaBounds()); |
+ } |
+} |
+ |
void WorkspaceManager::OnTypeOfWorkspacedNeededChanged(aura::Window* window) { |
DCHECK(IsManagedWindow(window)); |
Workspace* current_workspace = FindBy(window); |