Chromium Code Reviews| Index: ash/common/shelf/shelf_widget.cc |
| diff --git a/ash/common/shelf/shelf_widget.cc b/ash/common/shelf/shelf_widget.cc |
| index 4d6a79089a3f2fab8abc3d692b5bbb33e140e202..01d4109f45bb570eaff9a4f9d83a8a2400229ad1 100644 |
| --- a/ash/common/shelf/shelf_widget.cc |
| +++ b/ash/common/shelf/shelf_widget.cc |
| @@ -287,10 +287,9 @@ void ShelfWidget::DelegateView::UpdateShelfAssetBackground(int alpha) { |
| SchedulePaint(); |
| } |
| -ShelfWidget::ShelfWidget(WmWindow* shelf_container, |
| - WmWindow* status_container, |
| - WmShelf* wm_shelf) |
| +ShelfWidget::ShelfWidget(WmWindow* shelf_container, WmShelf* wm_shelf) |
| : wm_shelf_(wm_shelf), |
| + status_area_widget_(nullptr), |
| delegate_view_(new DelegateView(wm_shelf, this)), |
| shelf_view_(nullptr), |
| background_animator_(SHELF_BACKGROUND_DEFAULT, wm_shelf_), |
| @@ -320,17 +319,6 @@ ShelfWidget::ShelfWidget(WmWindow* shelf_container, |
| background_animator_.PaintBackground( |
| shelf_layout_manager_->GetShelfBackgroundType(), |
| BACKGROUND_CHANGE_IMMEDIATE); |
| - wm_shelf_->SetShelfLayoutManager(shelf_layout_manager_); |
| - |
| - // TODO(jamescook): Move ownership to RootWindowController. |
| - status_area_widget_ = new StatusAreaWidget(status_container, wm_shelf_); |
| - status_area_widget_->CreateTrayViews(); |
| - if (WmShell::Get()->GetSessionStateDelegate()->IsActiveUserSessionStarted()) |
| - status_area_widget_->Show(); |
| - WmShell::Get()->focus_cycler()->AddWidget(status_area_widget_); |
| - background_animator_.AddObserver(status_area_widget_); |
| - status_container->SetLayoutManager( |
| - base::MakeUnique<StatusAreaLayoutManager>(this)); |
| views::Widget::AddObserver(this); |
| } |
| @@ -345,6 +333,20 @@ ShelfWidget::~ShelfWidget() { |
| background_animator_.RemoveObserver(this); |
| } |
| +void ShelfWidget::CreateStatusAreaWidget(WmWindow* status_container) { |
| + DCHECK(status_container); |
| + DCHECK(!status_area_widget_); |
| + // TODO(jamescook): Move ownership to RootWindowController. |
|
msw
2016/08/31 23:01:39
nit: resolve contradiction between this and the me
James Cook
2016/08/31 23:33:45
Done.
|
| + status_area_widget_ = new StatusAreaWidget(status_container, wm_shelf_); |
| + status_area_widget_->CreateTrayViews(); |
| + if (WmShell::Get()->GetSessionStateDelegate()->IsActiveUserSessionStarted()) |
| + status_area_widget_->Show(); |
| + WmShell::Get()->focus_cycler()->AddWidget(status_area_widget_); |
| + background_animator_.AddObserver(status_area_widget_); |
| + status_container->SetLayoutManager( |
| + base::MakeUnique<StatusAreaLayoutManager>(this)); |
| +} |
| + |
| void ShelfWidget::SetPaintsBackground( |
| ShelfBackgroundType background_type, |
| BackgroundAnimatorChangeType change_type) { |