| Index: ash/wm/panel_layout_manager.cc
|
| diff --git a/ash/wm/panel_layout_manager.cc b/ash/wm/panel_layout_manager.cc
|
| index 54df0c29dae1efc4c3df52235e44e363ed2040d0..612adcfe1926e5e54da468bb4e0f0be923f4a143 100644
|
| --- a/ash/wm/panel_layout_manager.cc
|
| +++ b/ash/wm/panel_layout_manager.cc
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "ash/launcher/launcher.h"
|
| #include "ash/screen_ash.h"
|
| +#include "ash/shelf/shelf_widget.h"
|
| #include "ash/shell.h"
|
| #include "ash/wm/frame_painter.h"
|
| #include "ash/wm/property_util.h"
|
| @@ -130,14 +131,12 @@ PanelLayoutManager::PanelLayoutManager(aura::Window* panel_container)
|
| last_active_panel_(NULL),
|
| weak_factory_(this) {
|
| DCHECK(panel_container);
|
| - aura::client::GetActivationClient(Shell::GetPrimaryRootWindow())->
|
| + aura::client::GetActivationClient(panel_container_->GetRootWindow())->
|
| AddObserver(this);
|
| }
|
|
|
| PanelLayoutManager::~PanelLayoutManager() {
|
| Shutdown();
|
| - if (launcher_)
|
| - launcher_->RemoveIconObserver(this);
|
| aura::client::GetActivationClient(Shell::GetPrimaryRootWindow())->
|
| RemoveObserver(this);
|
| }
|
| @@ -148,6 +147,9 @@ void PanelLayoutManager::Shutdown() {
|
| delete iter->callout_widget;
|
| }
|
| panel_windows_.clear();
|
| + if (launcher_)
|
| + launcher_->RemoveIconObserver(this);
|
| + launcher_ = NULL;
|
| }
|
|
|
| void PanelLayoutManager::StartDragging(aura::Window* panel) {
|
| @@ -322,14 +324,14 @@ void PanelLayoutManager::RestorePanel(aura::Window* panel) {
|
| }
|
|
|
| void PanelLayoutManager::Relayout() {
|
| - if (!launcher_ || !launcher_->widget())
|
| + if (!launcher_ || !launcher_->shelf_widget())
|
| return;
|
|
|
| if (in_layout_)
|
| return;
|
| base::AutoReset<bool> auto_reset_in_layout(&in_layout_, true);
|
|
|
| - int launcher_top = launcher_->widget()->GetWindowBoundsInScreen().y();
|
| + int launcher_top = launcher_->shelf_widget()->GetWindowBoundsInScreen().y();
|
| int panel_left_bounds = kPanelIdealSpacing;
|
| int panel_right_bounds =
|
| panel_container_->bounds().width() - kPanelIdealSpacing;
|
|
|