Index: ash/wm/shelf_layout_manager.cc |
diff --git a/ash/wm/shelf_layout_manager.cc b/ash/wm/shelf_layout_manager.cc |
index f1cbdaa36c42166cf3f854c01c9514dd4359404b..ad751a4174d965e5b8b9b1d697ee9d71283f3cb3 100644 |
--- a/ash/wm/shelf_layout_manager.cc |
+++ b/ash/wm/shelf_layout_manager.cc |
@@ -193,6 +193,8 @@ void ShelfLayoutManager::SetAlignment(ShelfAlignment alignment) { |
alignment_ = alignment; |
if (launcher_) |
launcher_->SetAlignment(alignment); |
+ if (Shell::GetInstance()->tray()) |
+ Shell::GetInstance()->tray()->SetShelfAlignment(alignment); |
LayoutShelf(); |
} |
@@ -395,12 +397,10 @@ void ShelfLayoutManager::GetShelfSize(int* width, int* height) { |
gfx::Rect status_bounds(status_->GetWindowScreenBounds()); |
gfx::Size launcher_size = launcher_ ? |
launcher_widget()->GetContentsView()->GetPreferredSize() : gfx::Size(); |
- if (alignment_ == SHELF_ALIGNMENT_BOTTOM) { |
+ if (alignment_ == SHELF_ALIGNMENT_BOTTOM) |
*height = std::max(launcher_size.height(), status_bounds.height()); |
- } else { |
- // TODO: include status when supports alignment. |
- *width = launcher_size.width(); |
- } |
+ else |
+ *width = std::max(launcher_size.width(), status_bounds.width()); |
} |
void ShelfLayoutManager::AdjustBoundsBasedOnAlignment(int inset, |