| 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 5d67d29d96b14344cac0cd0227a9812378e90b3f..8705ecee137e65c1f6a1de53a94283d38e9ab415 100644
|
| --- a/chrome/browser/chromeos/login/existing_user_controller.cc
|
| +++ b/chrome/browser/chromeos/login/existing_user_controller.cc
|
| @@ -739,8 +739,8 @@ bool ExistingUserController::password_changed() const {
|
| }
|
|
|
| void ExistingUserController::LoginAsGuest() {
|
| - PerformPreLoginActions(UserContext(user_manager::USER_TYPE_GUEST,
|
| - login::GuestAccountId().GetUserEmail()));
|
| + PerformPreLoginActions(
|
| + UserContext(user_manager::USER_TYPE_GUEST, login::GuestAccountId()));
|
|
|
| bool allow_guest;
|
| cros_settings_->GetBoolean(kAccountsPrefAllowGuest, &allow_guest);
|
| @@ -843,20 +843,21 @@ void ExistingUserController::ConfigurePublicSessionAutoLogin() {
|
| const std::vector<policy::DeviceLocalAccount> device_local_accounts =
|
| policy::GetDeviceLocalAccounts(cros_settings_);
|
|
|
| - public_session_auto_login_username_.clear();
|
| + public_session_auto_login_account_id_ = EmptyAccountId();
|
| for (std::vector<policy::DeviceLocalAccount>::const_iterator
|
| it = device_local_accounts.begin();
|
| it != device_local_accounts.end(); ++it) {
|
| if (it->account_id == auto_login_account_id) {
|
| - public_session_auto_login_username_ = it->user_id;
|
| + public_session_auto_login_account_id_ =
|
| + AccountId::FromUserEmail(it->user_id);
|
| break;
|
| }
|
| }
|
|
|
| const user_manager::User* user = user_manager::UserManager::Get()->FindUser(
|
| - AccountId::FromUserEmail(public_session_auto_login_username_));
|
| + public_session_auto_login_account_id_);
|
| if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
|
| - public_session_auto_login_username_.clear();
|
| + public_session_auto_login_account_id_ = EmptyAccountId();
|
|
|
| if (!cros_settings_->GetInteger(
|
| kAccountsPrefDeviceLocalAccountAutoLoginDelay,
|
| @@ -864,7 +865,7 @@ void ExistingUserController::ConfigurePublicSessionAutoLogin() {
|
| public_session_auto_login_delay_ = 0;
|
| }
|
|
|
| - if (!public_session_auto_login_username_.empty())
|
| + if (public_session_auto_login_account_id_.is_valid())
|
| StartPublicSessionAutoLoginTimer();
|
| else
|
| StopPublicSessionAutoLoginTimer();
|
| @@ -879,9 +880,10 @@ void ExistingUserController::ResetPublicSessionAutoLoginTimer() {
|
| }
|
|
|
| void ExistingUserController::OnPublicSessionAutoLoginTimerFire() {
|
| - CHECK(signin_screen_ready_ && !public_session_auto_login_username_.empty());
|
| + CHECK(signin_screen_ready_ &&
|
| + public_session_auto_login_account_id_.is_valid());
|
| Login(UserContext(user_manager::USER_TYPE_PUBLIC_ACCOUNT,
|
| - public_session_auto_login_username_),
|
| + public_session_auto_login_account_id_),
|
| SigninSpecifics());
|
| }
|
|
|
| @@ -891,9 +893,8 @@ void ExistingUserController::StopPublicSessionAutoLoginTimer() {
|
| }
|
|
|
| void ExistingUserController::StartPublicSessionAutoLoginTimer() {
|
| - if (!signin_screen_ready_ ||
|
| - is_login_in_progress_ ||
|
| - public_session_auto_login_username_.empty()) {
|
| + if (!signin_screen_ready_ || is_login_in_progress_ ||
|
| + !public_session_auto_login_account_id_.is_valid()) {
|
| return;
|
| }
|
|
|
|
|