Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2579)

Unified Diff: ash/wm/panel_layout_manager.cc

Issue 12313118: Refactor: Shelf Widget (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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())->
James Cook 2013/03/05 20:30:38 Is this part of the same patch? It looks OK but I'
Harry McCleave 2013/03/06 01:59:49 Done.
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;

Powered by Google App Engine
This is Rietveld 408576698