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 9d9791c7a79f4161bf2c744a76d08afba5041e4b..02a4c2f7931f7bed8de985f8b7126ac3dbb24409 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,36 @@ 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()) |
+ // Map ChromeOS specific LOGGED_IN states to Ash LOGGED_IN states. |
+ LoginState::LoggedInState state = LoginState::Get()->GetLoggedInState(); |
+ if (state == LoginState::LOGGED_IN_OOBE || |
+ state == LoginState::LOGGED_IN_NONE) |
return ash::user::LOGGED_IN_NONE; |
Nikita (slow)
2013/04/10 08:09:22
nit: Add {}
stevenjb
2013/04/10 16:32:17
Done.
|
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::LoggedInUserType user_type = |
+ LoginState::Get()->GetLoggedInUserType(); |
+ switch (user_type) { |
+ case LoginState::LOGGED_IN_USER_NONE: |
+ return ash::user::LOGGED_IN_NONE; |
+ case LoginState::LOGGED_IN_USER_REGULAR: |
+ return ash::user::LOGGED_IN_USER; |
+ case LoginState::LOGGED_IN_USER_OWNER: |
+ return ash::user::LOGGED_IN_OWNER; |
+ case LoginState::LOGGED_IN_USER_GUEST: |
+ return ash::user::LOGGED_IN_GUEST; |
+ case LoginState::LOGGED_IN_USER_RETAIL_MODE: |
+ return ash::user::LOGGED_IN_RETAIL_MODE; |
+ case LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT: |
+ return ash::user::LOGGED_IN_PUBLIC; |
+ case LoginState::LOGGED_IN_USER_LOCALLY_MANAGED: |
+ return ash::user::LOGGED_IN_LOCALLY_MANAGED; |
+ case LoginState::LOGGED_IN_USER_KIOSK_APP: |
+ return ash::user::LOGGED_IN_KIOSK_APP; |
+ } |
+ NOTREACHED(); |
+ return ash::user::LOGGED_IN_NONE; |
} |
virtual bool IsOobeCompleted() const OVERRIDE { |