Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
index dd2b7015d23b54dfeec4e3254c2ffc82bee496fa..31fe77657b6bfb389e9b33f4069fc7ebc2c9135f 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -177,12 +177,12 @@ std::string GetNetworkName(const std::string& service_path) { |
} |
static bool SetUserInputMethodImpl( |
- const std::string& username, |
+ const user_manager::UserID& user_id, |
const std::string& user_input_method, |
input_method::InputMethodManager::State* ime_state) { |
if (!chromeos::input_method::InputMethodManager::Get()->IsLoginKeyboard( |
user_input_method)) { |
- LOG(WARNING) << "SetUserInputMethod('" << username |
+ LOG(WARNING) << "SetUserInputMethod('" << user_id.GetUserEmail() |
<< "'): stored user LRU input method '" << user_input_method |
<< "' is no longer Full Latin Keyboard Language" |
<< " (entry dropped). Use hardware default instead."; |
@@ -192,14 +192,14 @@ static bool SetUserInputMethodImpl( |
base::DictionaryValue* const users_lru_input_methods = updater.Get(); |
if (users_lru_input_methods != NULL) { |
- users_lru_input_methods->SetStringWithoutPathExpansion(username, ""); |
+ users_lru_input_methods->SetStringWithoutPathExpansion(user_id.GetUserEmail(), ""); |
} |
return false; |
} |
if (!Contains(ime_state->GetActiveInputMethodIds(), user_input_method)) { |
if (!ime_state->EnableInputMethod(user_input_method)) { |
- DLOG(ERROR) << "SigninScreenHandler::SetUserInputMethod('" << username |
+ DLOG(ERROR) << "SigninScreenHandler::SetUserInputMethod('" << user_id.GetUserEmail() |
<< "'): user input method '" << user_input_method |
<< "' is not enabled and enabling failed (ignored!)."; |
} |
@@ -297,27 +297,27 @@ SigninScreenHandler::~SigninScreenHandler() { |
max_mode_delegate_.reset(NULL); |
} |
GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
- GetScreenlockBridgeInstance()->SetFocusedUser(""); |
+ GetScreenlockBridgeInstance()->SetFocusedUser(user_manager::UserID(std::string(), std::string())); |
} |
// static |
std::string SigninScreenHandler::GetUserLRUInputMethod( |
- const std::string& username) { |
+ const user_manager::UserID& user_id) { |
PrefService* const local_state = g_browser_process->local_state(); |
const base::DictionaryValue* users_lru_input_methods = |
local_state->GetDictionary(prefs::kUsersLRUInputMethod); |
if (!users_lru_input_methods) { |
- DLOG(WARNING) << "GetUserLRUInputMethod('" << username |
+ DLOG(WARNING) << "GetUserLRUInputMethod('" << user_id.GetUserEmail() |
<< "'): no kUsersLRUInputMethod"; |
return std::string(); |
} |
std::string input_method; |
- if (!users_lru_input_methods->GetStringWithoutPathExpansion(username, |
+ if (!users_lru_input_methods->GetStringWithoutPathExpansion(user_id.GetUserEmail(), |
&input_method)) { |
- DVLOG(0) << "GetUserLRUInputMethod('" << username |
+ DVLOG(0) << "GetUserLRUInputMethod('" << user_id.GetUserEmail() |
<< "'): no input method for this user"; |
return std::string(); |
} |
@@ -328,20 +328,20 @@ std::string SigninScreenHandler::GetUserLRUInputMethod( |
// static |
// Update keyboard layout to least recently used by the user. |
void SigninScreenHandler::SetUserInputMethod( |
- const std::string& username, |
+ const user_manager::UserID& user_id, |
input_method::InputMethodManager::State* ime_state) { |
bool succeed = false; |
- const std::string input_method = GetUserLRUInputMethod(username); |
+ const std::string input_method = GetUserLRUInputMethod(user_id); |
if (!input_method.empty()) |
- succeed = SetUserInputMethodImpl(username, input_method, ime_state); |
+ succeed = SetUserInputMethodImpl(user_id, input_method, ime_state); |
// This is also a case when LRU layout is set only for a few local users, |
// thus others need to be switched to default locale. |
// Otherwise they will end up using another user's locale to log in. |
if (!succeed) { |
- DVLOG(0) << "SetUserInputMethod('" << username |
+ DVLOG(0) << "SetUserInputMethod('" << user_id.GetUserEmail() |
<< "'): failed to set user layout. Switching to default."; |
ime_state->SetInputMethodLoginDefault(); |
@@ -886,15 +886,15 @@ void SigninScreenHandler::RefocusCurrentPod() { |
core_oobe_actor_->RefocusCurrentPod(); |
} |
-void SigninScreenHandler::OnUserRemoved(const std::string& username) { |
- CallJS("login.AccountPickerScreen.removeUser", username); |
+void SigninScreenHandler::OnUserRemoved(const user_manager::UserID& user_id) { |
+ CallJS("login.AccountPickerScreen.removeUser", user_id.GetUserEmail()); |
if (delegate_->GetUsers().empty()) |
OnShowAddUser(); |
} |
void SigninScreenHandler::OnUserImageChanged(const user_manager::User& user) { |
if (page_is_ready()) |
- CallJS("login.AccountPickerScreen.updateUserImage", user.email()); |
+ CallJS("login.AccountPickerScreen.updateUserImage", user.GetUserID().GetUserEmail()); |
} |
void SigninScreenHandler::OnPreferencesChanged() { |
@@ -939,29 +939,29 @@ void SigninScreenHandler::ShowErrorScreen(LoginDisplay::SigninError error_id) { |
} |
} |
-void SigninScreenHandler::ShowSigninUI(const std::string& email) { |
- core_oobe_actor_->ShowSignInUI(email); |
+void SigninScreenHandler::ShowSigninUI(const user_manager::UserID& user_id) { |
+ core_oobe_actor_->ShowSignInUI(user_id); |
} |
-void SigninScreenHandler::ShowGaiaPasswordChanged(const std::string& username) { |
- gaia_screen_handler_->PasswordChangedFor(username); |
- gaia_screen_handler_->PopulateEmail(username); |
- core_oobe_actor_->ShowSignInUI(username); |
- CallJS("login.setAuthType", username, |
+void SigninScreenHandler::ShowGaiaPasswordChanged(const user_manager::UserID& user_id) { |
+ gaia_screen_handler_->PasswordChangedFor(user_id); |
+ gaia_screen_handler_->PopulateEmail(user_id.GetUserEmail()); |
+ core_oobe_actor_->ShowSignInUI(user_id); |
+ CallJS("login.setAuthType", user_id.GetUserEmail(), |
static_cast<int>(UserSelectionScreen::ONLINE_SIGN_IN), |
base::StringValue("")); |
} |
void SigninScreenHandler::ShowPasswordChangedDialog(bool show_password_error, |
- const std::string& email) { |
- core_oobe_actor_->ShowPasswordChangedScreen(show_password_error, email); |
+ const user_manager::UserID& user_id) { |
+ core_oobe_actor_->ShowPasswordChangedScreen(show_password_error, user_id); |
} |
void SigninScreenHandler::ShowSigninScreenForCreds( |
- const std::string& username, |
+ const user_manager::UserID& user_id, |
const std::string& password) { |
DCHECK(gaia_screen_handler_); |
- gaia_screen_handler_->ShowSigninScreenForCreds(username, password); |
+ gaia_screen_handler_->ShowSigninScreenForCreds(user_id, password); |
} |
void SigninScreenHandler::ShowWhitelistCheckFailedError() { |
@@ -1029,13 +1029,13 @@ void SigninScreenHandler::HandleAuthenticateUser(const std::string& username, |
const std::string& password) { |
if (!delegate_) |
return; |
- UserContext user_context(gaia::SanitizeEmail(username)); |
+ UserContext user_context(user_manager::UserID::FromUserEmail(gaia::SanitizeEmail(username))); |
user_context.SetKey(Key(password)); |
delegate_->Login(user_context, SigninSpecifics()); |
} |
void SigninScreenHandler::HandleLaunchIncognito() { |
- UserContext context(user_manager::USER_TYPE_GUEST, std::string()); |
+ UserContext context(user_manager::USER_TYPE_GUEST, user_manager::UserID(std::string(), std::string())); |
if (delegate_) |
delegate_->Login(context, SigninSpecifics()); |
} |
@@ -1050,12 +1050,14 @@ void SigninScreenHandler::HandleShowSupervisedUserCreationScreen() { |
} |
void SigninScreenHandler::HandleLaunchPublicSession( |
- const std::string& user_id, |
+ const std::string& user_id_str, |
const std::string& locale, |
const std::string& input_method) { |
if (!delegate_) |
return; |
+ const user_manager::UserID user_id(user_manager::UserID::FromUserEmail(user_id_str)); |
+ |
UserContext context(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user_id); |
context.SetPublicSessionLocale(locale), |
context.SetPublicSessionInputMethod(input_method); |
@@ -1083,7 +1085,7 @@ void SigninScreenHandler::HandleShutdownSystem() { |
void SigninScreenHandler::HandleLoadWallpaper(const std::string& email) { |
if (delegate_) |
- delegate_->LoadWallpaper(email); |
+ delegate_->LoadWallpaper(user_manager::UserID::FromUserEmail(email)); |
} |
void SigninScreenHandler::HandleRebootSystem() { |
@@ -1093,7 +1095,7 @@ void SigninScreenHandler::HandleRebootSystem() { |
void SigninScreenHandler::HandleRemoveUser(const std::string& email) { |
if (!delegate_) |
return; |
- delegate_->RemoveUser(email); |
+ delegate_->RemoveUser(user_manager::UserID::FromUserEmail(email)); |
UpdateAddButtonStatus(); |
} |
@@ -1108,7 +1110,7 @@ void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) { |
args->GetString(0, &email); |
gaia_screen_handler_->PopulateEmail(email); |
if (!email.empty()) |
- SendReauthReason(email); |
+ SendReauthReason(user_manager::UserID::FromUserEmail(email)); |
OnShowAddUser(); |
} |
@@ -1214,9 +1216,9 @@ void SigninScreenHandler::HandleLoginVisible(const std::string& source) { |
} |
void SigninScreenHandler::HandleCancelPasswordChangedFlow( |
- const std::string& user_id) { |
- if (!user_id.empty()) |
- RecordReauthReason(user_id, ReauthReason::PASSWORD_UPDATE_SKIPPED); |
+ const std::string& user_id_str) { |
+ if (!user_id_str.empty()) |
+ RecordReauthReason(user_manager::UserID::FromUserEmail(user_id_str), ReauthReason::PASSWORD_UPDATE_SKIPPED); |
gaia_screen_handler_->StartClearingCookies( |
base::Bind(&SigninScreenHandler::CancelPasswordChangedFlowInternal, |
weak_factory_.GetWeakPtr())); |
@@ -1278,7 +1280,8 @@ void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) { |
offline_login_active_ = offline_login_active; |
} |
-void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { |
+void SigninScreenHandler::HandleFocusPod(const std::string& user_id_str) { |
+ const user_manager::UserID user_id(user_manager::UserID::FromUserEmail(user_id_str)); |
SetUserInputMethod(user_id, ime_state_.get()); |
WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); |
GetScreenlockBridgeInstance()->SetFocusedUser(user_id); |
@@ -1289,29 +1292,30 @@ void SigninScreenHandler::HandleFocusPod(const std::string& user_id) { |
} |
void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts( |
- const std::string& user_id, |
+ const std::string& user_id_str, |
const std::string& locale) { |
GetKeyboardLayoutsForLocale( |
base::Bind(&SigninScreenHandler::SendPublicSessionKeyboardLayouts, |
weak_factory_.GetWeakPtr(), |
- user_id, |
+ user_manager::UserID::FromUserEmail(user_id_str), |
locale), |
locale); |
} |
void SigninScreenHandler::SendPublicSessionKeyboardLayouts( |
- const std::string& user_id, |
+ const user_manager::UserID& user_id, |
const std::string& locale, |
scoped_ptr<base::ListValue> keyboard_layouts) { |
CallJS("login.AccountPickerScreen.setPublicSessionKeyboardLayouts", |
- user_id, |
+ user_id.GetUserEmail(), |
locale, |
*keyboard_layouts); |
} |
void SigninScreenHandler::HandleLaunchKioskApp(const std::string& app_id, |
bool diagnostic_mode) { |
- UserContext context(user_manager::USER_TYPE_KIOSK_APP, app_id); |
+ const user_manager::UserID app_user_id(user_manager::UserID::FromUserEmail(app_id)); |
+ UserContext context(user_manager::USER_TYPE_KIOSK_APP, app_user_id); |
SigninSpecifics specifics; |
specifics.kiosk_diagnostic_mode = diagnostic_mode; |
if (delegate_) |
@@ -1352,7 +1356,7 @@ void SigninScreenHandler::HandleFirstIncorrectPasswordAttempt( |
void SigninScreenHandler::HandleMaxIncorrectPasswordAttempts( |
const std::string& email) { |
- RecordReauthReason(email, ReauthReason::INCORRECT_PASSWORD_ENTERED); |
+ RecordReauthReason(user_manager::UserID::FromUserEmail(email), ReauthReason::INCORRECT_PASSWORD_ENTERED); |
} |
bool SigninScreenHandler::AllWhitelistedUsersPresent() { |
@@ -1373,7 +1377,7 @@ bool SigninScreenHandler::AllWhitelistedUsersPresent() { |
std::string whitelisted_user; |
// NB: Wildcards in the whitelist are also detected as not present here. |
if (!whitelist->GetString(i, &whitelisted_user) || |
- !user_manager->IsKnownUser(whitelisted_user)) { |
+ !user_manager->IsKnownUser(user_manager::UserID::FromUserEmail(whitelisted_user))) { |
return false; |
} |
} |