Index: chrome/browser/chromeos/login/existing_user_controller.cc |
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc |
index 93d12a1fefed7e309e74c87fd91ee3737a9e0658..fd3a55f6afb11bb535b220e2b52569a957c5a95b 100644 |
--- a/chrome/browser/chromeos/login/existing_user_controller.cc |
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc |
@@ -261,6 +261,7 @@ void ExistingUserController::Observe( |
if (host_ != NULL) { |
// Signed settings or user list changed. Notify views and update them. |
UpdateLoginDisplay(chromeos::UserManager::Get()->GetUsers()); |
+ ConfigurePublicSessionAutoLogin(); |
return; |
} |
} |
@@ -909,6 +910,12 @@ void ExistingUserController::ConfigurePublicSessionAutoLogin() { |
&public_session_auto_login_username_)) { |
public_session_auto_login_username_.clear(); |
} |
+ |
+ const User* user = |
+ UserManager::Get()->FindUser(public_session_auto_login_username_); |
+ if (!user || user->GetType() != User::USER_TYPE_PUBLIC_ACCOUNT) |
+ public_session_auto_login_username_.clear(); |
+ |
if (!cros_settings_->GetInteger( |
kAccountsPrefDeviceLocalAccountAutoLoginDelay, |
&public_session_auto_login_delay_)) { |