Index: ash/wm/workspace/workspace_layout_manager.cc |
diff --git a/ash/wm/workspace/workspace_layout_manager.cc b/ash/wm/workspace/workspace_layout_manager.cc |
index 716907d266aab265355f96ac0468e69556fa03c7..5ae728bb14fb0e8eea4036bd451616be7e9c8cee 100644 |
--- a/ash/wm/workspace/workspace_layout_manager.cc |
+++ b/ash/wm/workspace/workspace_layout_manager.cc |
@@ -60,6 +60,11 @@ void WorkspaceLayoutManager::SetShelf(internal::ShelfLayoutManager* shelf) { |
shelf_ = shelf; |
} |
+void WorkspaceLayoutManager::SetMaximizeBackdropDelegate( |
+ MaximizeBackdropDelegate* delegate) { |
+ backdrop_delegate_.reset(delegate); |
+} |
+ |
////////////////////////////////////////////////////////////////////////////// |
// WorkspaceLayoutManager, aura::LayoutManager implementation: |
@@ -72,6 +77,8 @@ void WorkspaceLayoutManager::OnWindowAddedToLayout(Window* child) { |
window_state->AddObserver(this); |
UpdateShelfVisibility(); |
UpdateFullscreenState(); |
+ if (backdrop_delegate_) |
+ backdrop_delegate_->RestackBackdrop(); |
WindowPositioner::RearrangeVisibleWindowOnShow(child); |
} |
@@ -87,6 +94,8 @@ void WorkspaceLayoutManager::OnWillRemoveWindowFromLayout(Window* child) { |
void WorkspaceLayoutManager::OnWindowRemovedFromLayout(Window* child) { |
UpdateShelfVisibility(); |
UpdateFullscreenState(); |
+ if (backdrop_delegate_) |
+ backdrop_delegate_->RestackBackdrop(); |
} |
void WorkspaceLayoutManager::OnChildWindowVisibilityChanged(Window* child, |
@@ -102,6 +111,8 @@ void WorkspaceLayoutManager::OnChildWindowVisibilityChanged(Window* child, |
WindowPositioner::RearrangeVisibleWindowOnHideOrRemove(child); |
UpdateFullscreenState(); |
UpdateShelfVisibility(); |
+ if (backdrop_delegate_) |
+ backdrop_delegate_->RestackBackdrop(); |
} |
void WorkspaceLayoutManager::SetChildBounds( |
@@ -162,6 +173,8 @@ void WorkspaceLayoutManager::OnWindowPropertyChanged(Window* window, |
void WorkspaceLayoutManager::OnWindowStackingChanged(aura::Window* window) { |
UpdateShelfVisibility(); |
UpdateFullscreenState(); |
+ if (backdrop_delegate_) |
+ backdrop_delegate_->RestackBackdrop(); |
} |
void WorkspaceLayoutManager::OnWindowDestroying(aura::Window* window) { |
@@ -210,6 +223,8 @@ void WorkspaceLayoutManager::OnPostWindowStateTypeChange( |
} |
UpdateShelfVisibility(); |
+ if (backdrop_delegate_) |
+ backdrop_delegate_->RestackBackdrop(); |
} |
////////////////////////////////////////////////////////////////////////////// |