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

Unified Diff: ash/common/wm_shell.cc

Issue 2247503002: mash: Create and show a shelf in mash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix WindowManager WmShell::Shutdown; delay PointerWatcherEventRouter teardown; cleanup shutdown wor… Created 4 years, 4 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/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();
}

Powered by Google App Engine
This is Rietveld 408576698