| Index: ash/root_window_controller.cc
|
| diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
|
| index 30e3ba71060f95708ebd4e41995dc81fe59a420b..8e1d400eadca2be0c7f939e0cdc4f32a8e5c1203 100644
|
| --- a/ash/root_window_controller.cc
|
| +++ b/ash/root_window_controller.cc
|
| @@ -25,6 +25,7 @@
|
| #include "ash/touch/touch_observer_hud.h"
|
| #include "ash/wm/base_layout_manager.h"
|
| #include "ash/wm/boot_splash_screen.h"
|
| +#include "ash/wm/dock/docked_window_layout_manager.h"
|
| #include "ash/wm/panels/panel_layout_manager.h"
|
| #include "ash/wm/property_util.h"
|
| #include "ash/wm/root_window_layout_manager.h"
|
| @@ -111,6 +112,7 @@ void ReparentAllWindows(aura::RootWindow* src, aura::RootWindow* dst) {
|
| // Set of windows to move.
|
| const int kContainerIdsToMove[] = {
|
| internal::kShellWindowId_DefaultContainer,
|
| + internal::kShellWindowId_DockedContainer,
|
| internal::kShellWindowId_PanelContainer,
|
| internal::kShellWindowId_AlwaysOnTopContainer,
|
| internal::kShellWindowId_SystemModalContainer,
|
| @@ -166,6 +168,7 @@ namespace internal {
|
| RootWindowController::RootWindowController(aura::RootWindow* root_window)
|
| : root_window_(root_window),
|
| root_window_layout_(NULL),
|
| + docked_layout_manager_(NULL),
|
| panel_layout_manager_(NULL),
|
| touch_observer_hud_(NULL) {
|
| SetRootWindowController(root_window, this);
|
| @@ -271,6 +274,15 @@ void RootWindowController::InitForPrimaryDisplay() {
|
| shelf_.reset(new ash::ShelfWidget(
|
| shelf_container, status_container, workspace_controller()));
|
|
|
| + // Create Docked windows layout manager
|
| + aura::Window* docked_container = GetContainer(
|
| + internal::kShellWindowId_DockedContainer);
|
| + docked_layout_manager_ =
|
| + new internal::DockedWindowLayoutManager(docked_container);
|
| + docked_container_handler_.reset(
|
| + new ToplevelWindowEventHandler(docked_container));
|
| + docked_container->SetLayoutManager(docked_layout_manager_);
|
| +
|
| // Create Panel layout manager
|
| aura::Window* panel_container = GetContainer(
|
| internal::kShellWindowId_PanelContainer);
|
| @@ -325,6 +337,8 @@ void RootWindowController::CreateSystemBackground(
|
| void RootWindowController::OnLauncherCreated() {
|
| if (panel_layout_manager_)
|
| panel_layout_manager_->SetLauncher(shelf_->launcher());
|
| + if (docked_layout_manager_)
|
| + docked_layout_manager_->SetLauncher(shelf_->launcher());
|
| }
|
|
|
| void RootWindowController::ShowLauncher() {
|
| @@ -536,6 +550,12 @@ void RootWindowController::CreateContainersInRootWindow(
|
| always_on_top_container);
|
| SetUsesScreenCoordinates(always_on_top_container);
|
|
|
| + aura::Window* docked_container = CreateContainer(
|
| + kShellWindowId_DockedContainer,
|
| + "DockedContainer",
|
| + non_lock_screen_containers);
|
| + SetUsesScreenCoordinates(docked_container);
|
| +
|
| aura::Window* panel_container = CreateContainer(
|
| kShellWindowId_PanelContainer,
|
| "PanelContainer",
|
|
|