diff options
author | varkha@chromium.org <varkha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-19 08:25:39 +0000 |
---|---|---|
committer | varkha@chromium.org <varkha@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-19 08:25:39 +0000 |
commit | 7115bd3088eab75d350801502d7d20d17bced78c (patch) | |
tree | bc975355f94a5ef5f92b71ed6d6066734442c5da /ash/root_window_controller.cc | |
parent | 7eb8cbf5129c9e62f8b92bcc658248270b897e58 (diff) | |
download | chromium_src-7115bd3088eab75d350801502d7d20d17bced78c.zip chromium_src-7115bd3088eab75d350801502d7d20d17bced78c.tar.gz chromium_src-7115bd3088eab75d350801502d7d20d17bced78c.tar.bz2 |
Dock with non-zero width
BUG=233337
BUG=247085
This CL builds on https://codereview.chromium.org/13896026/ and adds a non-zero width dock. It is possible to add windows to the dock and it will update its width (insetting the workspace).
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=212306
Review URL: https://chromiumcodereview.appspot.com/15719012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212535 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/root_window_controller.cc')
-rw-r--r-- | ash/root_window_controller.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc index 3e46f50..7039d56 100644 --- a/ash/root_window_controller.cc +++ b/ash/root_window_controller.cc @@ -302,8 +302,11 @@ void RootWindowController::ShowLauncher() { void RootWindowController::OnLauncherCreated() { if (panel_layout_manager_) panel_layout_manager_->SetLauncher(shelf_->launcher()); - if (docked_layout_manager_) + if (docked_layout_manager_) { docked_layout_manager_->SetLauncher(shelf_->launcher()); + if (shelf_->shelf_layout_manager()) + docked_layout_manager_->AddObserver(shelf_->shelf_layout_manager()); + } } void RootWindowController::UpdateAfterLoginStatusChange( @@ -353,6 +356,13 @@ void RootWindowController::CloseChildWindows() { panel_layout_manager_->Shutdown(); panel_layout_manager_ = NULL; } + // docked_layout_manager_ needs to be shut down before windows are destroyed. + if (docked_layout_manager_) { + if (shelf_->shelf_layout_manager()) + docked_layout_manager_->RemoveObserver(shelf_->shelf_layout_manager()); + docked_layout_manager_->Shutdown(); + docked_layout_manager_ = NULL; + } // TODO(harrym): Remove when Status Area Widget is a child view. shelf_->ShutdownStatusAreaWidget(); |