Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index 5fd3306a29594e773977145b7f3ac9d326b0d87d..99c6f3617149093c3d7600294f6f4b0b12472d0d 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -66,6 +66,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" |
@@ -454,7 +455,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()); |
@@ -771,6 +774,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(); |