| 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();
|
| }
|
|
|
| //////////////////////////////////////////////////////////////////////////////
|
|
|