| Index: chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| index e71da5ac5ad0c8feda8938ab4b068de21232d264..9aca4f46abf1f6ceab87d969e3c27996c1f7652a 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
|
| @@ -504,8 +504,10 @@ void GaiaScreenHandler::HandleCompleteAuthentication(
|
| DCHECK(!gaia_id.empty());
|
| const std::string sanitized_email = gaia::SanitizeEmail(email);
|
| Delegate()->SetDisplayEmail(sanitized_email);
|
| - UserContext user_context(sanitized_email);
|
| - user_context.SetGaiaID(gaia_id);
|
| +
|
| + user_manager::UserID user_id(user_manager::UserID::FromUserEmail(sanitized_email));
|
| + user_id.SetGaiaId(gaia_id);
|
| + UserContext user_context(user_id);
|
| user_context.SetKey(Key(password));
|
| user_context.SetAuthCode(auth_code);
|
| user_context.SetAuthFlow(using_saml
|
| @@ -537,18 +539,18 @@ void GaiaScreenHandler::HandleCompleteLogin(const std::string& gaia_id,
|
| }
|
|
|
| // Consumer management enrollment is in progress.
|
| - const std::string owner_email =
|
| - user_manager::UserManager::Get()->GetOwnerEmail();
|
| - if (typed_email != owner_email) {
|
| + const user_manager::UserID owner_id =
|
| + user_manager::UserManager::Get()->GetOwnerID();
|
| + if (user_manager::UserID::FromUserEmail(typed_email) != owner_id) {
|
| // Show Gaia sign-in screen again, since we only allow the owner to sign
|
| // in.
|
| - populated_email_ = owner_email;
|
| + populated_email_ = owner_id.GetUserEmail();
|
| ShowGaiaAsync(is_enrolling_consumer_management_);
|
| return;
|
| }
|
|
|
| CHECK(consumer_management_);
|
| - consumer_management_->SetOwner(owner_email,
|
| + consumer_management_->SetOwner(owner_id,
|
| base::Bind(&GaiaScreenHandler::OnSetOwnerDone,
|
| weak_factory_.GetWeakPtr(),
|
| gaia_id,
|
| @@ -664,8 +666,10 @@ void GaiaScreenHandler::DoCompleteLogin(const std::string& gaia_id,
|
| DCHECK(!gaia_id.empty());
|
| const std::string sanitized_email = gaia::SanitizeEmail(typed_email);
|
| Delegate()->SetDisplayEmail(sanitized_email);
|
| - UserContext user_context(sanitized_email);
|
| - user_context.SetGaiaID(gaia_id);
|
| +
|
| + user_manager::UserID user_id(user_manager::UserID::FromUserEmail(sanitized_email));
|
| + user_id.SetGaiaId(gaia_id);
|
| + UserContext user_context(user_id);
|
| user_context.SetKey(Key(password));
|
| user_context.SetAuthFlow(using_saml
|
| ? UserContext::AUTH_FLOW_GAIA_WITH_SAML
|
| @@ -686,7 +690,7 @@ void GaiaScreenHandler::PopulateEmail(const std::string& user_id) {
|
| populated_email_ = user_id;
|
| }
|
|
|
| -void GaiaScreenHandler::PasswordChangedFor(const std::string& user_id) {
|
| +void GaiaScreenHandler::PasswordChangedFor(const user_manager::UserID& user_id) {
|
| password_changed_for_.insert(user_id);
|
| }
|
|
|
| @@ -728,12 +732,12 @@ void GaiaScreenHandler::OnCookiesCleared(
|
| on_clear_callback.Run();
|
| }
|
|
|
| -void GaiaScreenHandler::ShowSigninScreenForCreds(const std::string& username,
|
| +void GaiaScreenHandler::ShowSigninScreenForCreds(const user_manager::UserID& user_id,
|
| const std::string& password) {
|
| - VLOG(2) << "ShowSigninScreenForCreds for user " << username
|
| + VLOG(2) << "ShowSigninScreenForCreds for user " << user_id.GetUserEmail()
|
| << ", frame_state=" << frame_state();
|
|
|
| - test_user_ = username;
|
| + test_user_ = user_id.GetUserEmail();
|
| test_pass_ = password;
|
| test_expects_complete_login_ = true;
|
|
|
| @@ -825,11 +829,13 @@ void GaiaScreenHandler::ShowGaiaScreenIfReady() {
|
| focus_stolen_ = false;
|
| }
|
|
|
| - // Note that LoadAuthExtension clears |populated_email_|.
|
| - if (populated_email_.empty())
|
| + const user_manager::UserID populated_user_id = user_manager::UserID::FromUserEmail(populated_email_);
|
| +
|
| + // Note that LoadAuthExtension clears |populated_user_id|.
|
| + if (populated_user_id.empty())
|
| Delegate()->LoadSigninWallpaper();
|
| else
|
| - Delegate()->LoadWallpaper(populated_email_);
|
| + Delegate()->LoadWallpaper(populated_user_id);
|
|
|
| input_method::InputMethodManager* imm =
|
| input_method::InputMethodManager::Get();
|
| @@ -839,14 +845,14 @@ void GaiaScreenHandler::ShowGaiaScreenIfReady() {
|
| imm->SetState(gaia_ime_state);
|
|
|
| // Set Least Recently Used input method for the user.
|
| - if (!populated_email_.empty()) {
|
| - SigninScreenHandler::SetUserInputMethod(populated_email_,
|
| + if (!populated_user_id.empty()) {
|
| + SigninScreenHandler::SetUserInputMethod(populated_user_id,
|
| gaia_ime_state.get());
|
| } else {
|
| std::vector<std::string> input_methods =
|
| imm->GetInputMethodUtil()->GetHardwareLoginInputMethodIds();
|
| const std::string owner_im = SigninScreenHandler::GetUserLRUInputMethod(
|
| - user_manager::UserManager::Get()->GetOwnerEmail());
|
| + user_manager::UserManager::Get()->GetOwnerID());
|
| const std::string system_im = g_browser_process->local_state()->GetString(
|
| language_prefs::kPreferredKeyboardLayout);
|
|
|
| @@ -914,17 +920,19 @@ void GaiaScreenHandler::ShowWhitelistCheckFailedError() {
|
| void GaiaScreenHandler::LoadAuthExtension(bool force,
|
| bool silent_load,
|
| bool offline) {
|
| + const user_manager::UserID populated_user_id = user_manager::UserID::FromUserEmail(populated_email_);
|
| +
|
| GaiaContext context;
|
| context.force_reload = force;
|
| context.is_local = offline;
|
| - context.password_changed = !populated_email_.empty() &&
|
| - password_changed_for_.count(populated_email_);
|
| + context.password_changed = !populated_user_id.empty() &&
|
| + password_changed_for_.count(populated_user_id);
|
| context.use_offline = offline;
|
| - context.email = populated_email_;
|
| + context.email = populated_user_id.GetUserEmail();
|
| context.is_enrolling_consumer_management = is_enrolling_consumer_management_;
|
|
|
| std::string gaia_id;
|
| - if (user_manager::UserManager::Get()->FindGaiaID(context.email, &gaia_id))
|
| + if (user_manager::UserManager::Get()->FindGaiaID(populated_user_id, &gaia_id))
|
| context.gaia_id = gaia_id;
|
|
|
| if (Delegate()) {
|
|
|