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 7be9133ab4c40b6cf5a55a12ff71e01d7047822d..8e0690923b47e0414be4cb41bd6629ea7cae3e92 100644 |
--- a/chrome/browser/chromeos/login/existing_user_controller.cc |
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc |
@@ -381,7 +381,28 @@ bool ExistingUserController::IsSigninInProgress() const { |
return is_login_in_progress_; |
} |
-void ExistingUserController::Login(const UserContext& user_context) { |
+void ExistingUserController::Login(const UserContext& user_context, |
+ const SigninSpecifics& specifics) { |
+ if (user_context.GetUserType() == User::USER_TYPE_GUEST) { |
+ if (!specifics.guest_mode_url.empty()) { |
+ guest_mode_url_ = GURL(specifics.guest_mode_url); |
+ if (specifics.guest_mode_url_append_locale) |
+ guest_mode_url_ = google_util::AppendGoogleLocaleParam( |
+ guest_mode_url_, g_browser_process->GetApplicationLocale()); |
+ } |
+ LoginAsGuest(); |
+ return; |
+ } else if (user_context.GetUserType() == User::USER_TYPE_PUBLIC_ACCOUNT) { |
+ LoginAsPublicAccount(user_context.GetUserID()); |
+ return; |
+ } else if (user_context.GetUserType() == User::USER_TYPE_RETAIL_MODE) { |
+ LoginAsRetailModeUser(); |
+ return; |
+ } else if (user_context.GetUserType() == User::USER_TYPE_KIOSK_APP) { |
+ LoginAsKioskApp(user_context.GetUserID(), specifics.kiosk_diagnostic_mode); |
+ return; |
+ } |
+ |
if (!user_context.HasCredentials()) |
return; |
@@ -572,11 +593,6 @@ void ExistingUserController::OnSigninScreenReady() { |
StartPublicSessionAutoLoginTimer(); |
} |
-void ExistingUserController::OnUserSelected(const std::string& username) { |
- login_performer_.reset(NULL); |
- num_login_attempts_ = 0; |
-} |
- |
void ExistingUserController::OnStartEnterpriseEnrollment() { |
if (KioskAppManager::Get()->IsConsumerKioskDeviceWithAutoLaunch()) { |
LOG(WARNING) << "Enterprise enrollment is not available after kiosk auto " |