| Index: ash/common/wm_shell.cc
|
| diff --git a/ash/common/wm_shell.cc b/ash/common/wm_shell.cc
|
| index 567c38c137d49ad8ade6c8b3adb76c0d1b5b447b..c3fd2edcd8a34672c7ddec33dffa60a56dbe18cb 100644
|
| --- a/ash/common/wm_shell.cc
|
| +++ b/ash/common/wm_shell.cc
|
| @@ -90,6 +90,19 @@ void WmShell::Shutdown() {
|
| views::FocusManagerFactory::Install(nullptr);
|
| }
|
|
|
| +void WmShell::CreateShelfDelegate() {
|
| + // May be called multiple times as shelves are created and destroyed.
|
| + if (shelf_delegate_)
|
| + return;
|
| + // Must occur after SessionStateDelegate creation and user login because
|
| + // Chrome's implementation of ShelfDelegate assumes it can get information
|
| + // about multi-profile login state.
|
| + DCHECK(GetSessionStateDelegate());
|
| + DCHECK_GT(GetSessionStateDelegate()->NumberOfLoggedInUsers(), 0);
|
| + shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get()));
|
| + shelf_window_watcher_.reset(new ShelfWindowWatcher(shelf_model_.get()));
|
| +}
|
| +
|
| void WmShell::OnMaximizeModeStarted() {
|
| FOR_EACH_OBSERVER(ShellObserver, shell_observers_, OnMaximizeModeStarted());
|
| }
|
| @@ -248,19 +261,6 @@ void WmShell::DeleteSystemTrayDelegate() {
|
| system_tray_delegate_.reset();
|
| }
|
|
|
| -void WmShell::CreateShelfDelegate() {
|
| - // May be called multiple times as shelves are created and destroyed.
|
| - if (shelf_delegate_)
|
| - return;
|
| - // Must occur after SessionStateDelegate creation and user login because
|
| - // Chrome's implementation of ShelfDelegate assumes it can get information
|
| - // about multi-profile login state.
|
| - DCHECK(GetSessionStateDelegate());
|
| - DCHECK_GT(GetSessionStateDelegate()->NumberOfLoggedInUsers(), 0);
|
| - shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get()));
|
| - shelf_window_watcher_.reset(new ShelfWindowWatcher(shelf_model_.get()));
|
| -}
|
| -
|
| void WmShell::DeleteWindowCycleController() {
|
| window_cycle_controller_.reset();
|
| }
|
|
|