Index: ash/mus/window_manager.cc |
diff --git a/ash/mus/window_manager.cc b/ash/mus/window_manager.cc |
index 221df659414427fad02fb2dd44fa294c3c033b79..5e1c8c9dcf2d0f61cd5b25501725f34461b007f5 100644 |
--- a/ash/mus/window_manager.cc |
+++ b/ash/mus/window_manager.cc |
@@ -8,6 +8,7 @@ |
#include <utility> |
+#include "ash/common/session/session_controller.h" |
#include "ash/common/wm/container_finder.h" |
#include "ash/common/wm/window_state.h" |
#include "ash/display/screen_position_controller.h" |
@@ -137,9 +138,6 @@ void WindowManager::Init( |
this, pointer_watcher_event_router_.get())); |
shell_->Initialize(blocking_pool); |
lookup_.reset(new WmLookupMus); |
- |
- // TODO: this should be called when logged in. See http://crbug.com/654606. |
- shell_->CreateShelf(); |
} |
aura::Window* WindowManager::NewTopLevelWindow( |
@@ -221,8 +219,9 @@ RootWindowController* WindowManager::CreateRootWindowController( |
root_window_controller_ptr.get(); |
root_window_controllers_.insert(std::move(root_window_controller_ptr)); |
- // TODO: this should be called when logged in. See http://crbug.com/654606. |
- root_window_controller->wm_root_window_controller()->CreateShelf(); |
+ // Create a shelf if a user is already logged in. |
+ if (shell_->session_controller()->NumberOfLoggedInUsers()) |
+ root_window_controller->wm_root_window_controller()->CreateShelf(); |
for (auto& observer : observers_) |
observer.OnRootWindowControllerAdded(root_window_controller); |