| Index: ash/shelf/shelf_widget.cc
|
| diff --git a/ash/shelf/shelf_widget.cc b/ash/shelf/shelf_widget.cc
|
| index 685a434395aa499a9ca3e0be130a96aaadc4cf89..4cb1649a371eca863d9aee4e9b910b0e1311deeb 100644
|
| --- a/ash/shelf/shelf_widget.cc
|
| +++ b/ash/shelf/shelf_widget.cc
|
| @@ -722,18 +722,17 @@ bool ShelfWidget::ShelfAlignmentAllowed() {
|
| return false;
|
| }
|
|
|
| - DCHECK(false);
|
| + NOTREACHED();
|
| return false;
|
| }
|
|
|
| ShelfAlignment ShelfWidget::GetAlignment() const {
|
| - return shelf_layout_manager_->GetAlignment();
|
| + // TODO(msw): This should not be called before |shelf_| is created.
|
| + return shelf_ ? shelf_->GetAlignment() : SHELF_ALIGNMENT_BOTTOM;
|
| }
|
|
|
| -void ShelfWidget::SetAlignment(ShelfAlignment alignment) {
|
| - if (shelf_)
|
| - shelf_->SetAlignment(alignment);
|
| - status_area_widget_->SetShelfAlignment(alignment);
|
| +void ShelfWidget::OnShelfAlignmentChanged() {
|
| + status_area_widget_->SetShelfAlignment(GetAlignment());
|
| delegate_view_->SchedulePaint();
|
| }
|
|
|
| @@ -755,13 +754,10 @@ void ShelfWidget::CreateShelf() {
|
| return;
|
|
|
| Shell* shell = Shell::GetInstance();
|
| - // This needs to be called before shelf_model().
|
| - ShelfDelegate* shelf_delegate = shell->GetShelfDelegate();
|
| - if (!shelf_delegate)
|
| - return; // Not ready to create Shelf.
|
| + ShelfDelegate* delegate = shell->GetShelfDelegate();
|
| + shelf_.reset(new Shelf(shell->shelf_model(), delegate, this));
|
| + delegate->OnShelfCreated(shelf_.get());
|
|
|
| - shelf_.reset(
|
| - new Shelf(shell->shelf_model(), shell->GetShelfDelegate(), this));
|
| SetFocusCycler(shell->focus_cycler());
|
|
|
| // Inform the root window controller.
|
|
|