Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index e95d1d70243b43d702ff6c97f2872a913e91c735..bac0bb674b5c2d900e78db49791bff4ae4b4b58b 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -67,6 +67,7 @@ |
#include "base/command_line.h" |
#include "base/debug/leak_annotations.h" |
#include "ui/aura/client/aura_constants.h" |
+#include "ui/aura/client/stacking_client.h" |
#include "ui/aura/client/user_action_client.h" |
#include "ui/aura/display_manager.h" |
#include "ui/aura/env.h" |
@@ -455,7 +456,9 @@ void Shell::Init() { |
// Create Controllers that may need root window. |
// TODO(oshima): Move as many controllers before creating |
// RootWindowController as possible. |
- stacking_controller_.reset(new internal::StackingController); |
+ stacking_client_.reset(delegate_->CreateStackingClient()); |
+ if (stacking_client_.get()) |
+ aura::client::SetStackingClient(stacking_client_.get()); |
visibility_controller_.reset(new internal::VisibilityController); |
drag_drop_controller_.reset(new internal::DragDropController); |
user_action_client_.reset(delegate_->CreateUserActionClient()); |
@@ -764,6 +767,10 @@ void Shell::DoInitialWorkspaceAnimation() { |
DoInitialAnimation(); |
} |
+aura::client::StackingClient* Shell::stacking_client() { |
+ return stacking_client_.get(); |
+} |
+ |
void Shell::InitRootWindowController( |
internal::RootWindowController* controller) { |
aura::RootWindow* root_window = controller->root_window(); |