Index: chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
index efe38a7dcf1b5ec32748a010f11bdabe39a21ef2..85ba60bc4b1bd855c557655f9e2e0ec3f6799565 100644 |
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc |
@@ -89,6 +89,7 @@ |
#include "chromeos/dbus/session_manager_client.h" |
#include "chromeos/dbus/system_clock_client.h" |
#include "chromeos/ime/xkeyboard.h" |
+#include "chromeos/login/login_state.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_service.h" |
@@ -364,7 +365,7 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
// Overridden from ash::SystemTrayDelegate: |
virtual bool GetTrayVisibilityOnStartup() OVERRIDE { |
// In case of OOBE / sign in screen tray will be shown later. |
- return UserManager::Get()->IsUserLoggedIn(); |
+ return LoginState::Get()->IsUserLoggedIn(); |
} |
virtual const string16 GetUserDisplayName() const OVERRIDE { |
@@ -380,22 +381,28 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, |
} |
virtual ash::user::LoginStatus GetUserLoginStatus() const OVERRIDE { |
- UserManager* manager = UserManager::Get(); |
- // At new user image screen manager->IsUserLoggedIn() would return true |
- // but there's no browser session available yet so use SessionStarted(). |
- if (!manager->IsSessionStarted()) |
- return ash::user::LOGGED_IN_NONE; |
- if (screen_locked_) |
- return ash::user::LOGGED_IN_LOCKED; |
- if (manager->IsCurrentUserOwner()) |
- return ash::user::LOGGED_IN_OWNER; |
- if (manager->IsLoggedInAsGuest()) |
- return ash::user::LOGGED_IN_GUEST; |
- if (manager->IsLoggedInAsDemoUser()) |
- return ash::user::LOGGED_IN_RETAIL_MODE; |
- if (manager->IsLoggedInAsPublicAccount()) |
- return ash::user::LOGGED_IN_PUBLIC; |
- return ash::user::LOGGED_IN_USER; |
+ LoginState::State state = LoginState::Get()->GetLoginState(); |
bartfab (slow)
2013/04/05 13:16:33
I really dislike this - two almost-identical enums
stevenjb
2013/04/05 18:17:15
One of them is Ash-specific (which may be on Windo
bartfab (slow)
2013/04/08 15:18:36
I don't see much reason to abstract away OOBE when
|
+ switch (state) { |
+ case LoginState::LOGGED_IN_OOBE: |
+ case LoginState::LOGGED_IN_NONE: |
+ return ash::user::LOGGED_IN_NONE; |
+ case LoginState::LOGGED_IN_LOCKED: |
+ return ash::user::LOGGED_IN_LOCKED; |
+ case LoginState::LOGGED_IN_USER: |
+ return ash::user::LOGGED_IN_USER; |
+ case LoginState::LOGGED_IN_OWNER: |
+ return ash::user::LOGGED_IN_OWNER; |
+ case LoginState::LOGGED_IN_GUEST: |
+ return ash::user::LOGGED_IN_GUEST; |
+ case LoginState::LOGGED_IN_RETAIL_MODE: |
+ return ash::user::LOGGED_IN_RETAIL_MODE; |
+ case LoginState::LOGGED_IN_KIOSK_APP: |
+ return ash::user::LOGGED_IN_KIOSK_APP; |
+ case LoginState::LOGGED_IN_PUBLIC: |
+ return ash::user::LOGGED_IN_PUBLIC; |
+ } |
+ NOTREACHED(); |
+ return ash::user::LOGGED_IN_NONE; |
} |
virtual bool IsOobeCompleted() const OVERRIDE { |