Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc

Issue 1454153002: Revert of This CL replaces e-mail with AccountId on user selection screen. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 856 matching lines...) Expand 10 before | Expand all | Expand 10 after
867 867
868 void SigninScreenHandler::OnUserRemoved(const std::string& username, 868 void SigninScreenHandler::OnUserRemoved(const std::string& username,
869 bool last_user_removed) { 869 bool last_user_removed) {
870 CallJS("login.AccountPickerScreen.removeUser", username); 870 CallJS("login.AccountPickerScreen.removeUser", username);
871 if (last_user_removed) 871 if (last_user_removed)
872 OnShowAddUser(); 872 OnShowAddUser();
873 } 873 }
874 874
875 void SigninScreenHandler::OnUserImageChanged(const user_manager::User& user) { 875 void SigninScreenHandler::OnUserImageChanged(const user_manager::User& user) {
876 if (page_is_ready()) 876 if (page_is_ready())
877 CallJS("login.AccountPickerScreen.updateUserImage", user.GetAccountId()); 877 CallJS("login.AccountPickerScreen.updateUserImage", user.email());
878 } 878 }
879 879
880 void SigninScreenHandler::OnPreferencesChanged() { 880 void SigninScreenHandler::OnPreferencesChanged() {
881 // Make sure that one of the login UI is fully functional now, otherwise 881 // Make sure that one of the login UI is fully functional now, otherwise
882 // preferences update would be picked up next time it will be shown. 882 // preferences update would be picked up next time it will be shown.
883 if (!webui_visible_) { 883 if (!webui_visible_) {
884 LOG(WARNING) << "Login UI is not active - postponed prefs change."; 884 LOG(WARNING) << "Login UI is not active - postponed prefs change.";
885 preferences_changed_delayed_ = true; 885 preferences_changed_delayed_ = true;
886 return; 886 return;
887 } 887 }
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 // Do not load the extension for the screen locker, see crosbug.com/25018. 981 // Do not load the extension for the screen locker, see crosbug.com/25018.
982 return !ScreenLocker::default_screen_locker() && 982 return !ScreenLocker::default_screen_locker() &&
983 is_account_picker_showing_first_time_; 983 is_account_picker_showing_first_time_;
984 } 984 }
985 985
986 void SigninScreenHandler::UpdateAddButtonStatus() { 986 void SigninScreenHandler::UpdateAddButtonStatus() {
987 CallJS("cr.ui.login.DisplayManager.updateAddUserButtonStatus", 987 CallJS("cr.ui.login.DisplayManager.updateAddUserButtonStatus",
988 AllWhitelistedUsersPresent()); 988 AllWhitelistedUsersPresent());
989 } 989 }
990 990
991 void SigninScreenHandler::HandleAuthenticateUser(const AccountId& account_id, 991 void SigninScreenHandler::HandleAuthenticateUser(const std::string& username,
992 const std::string& password) { 992 const std::string& password) {
993 if (!delegate_) 993 if (!delegate_)
994 return; 994 return;
995 DCHECK_EQ(account_id.GetUserEmail(), 995 UserContext user_context(
996 gaia::SanitizeEmail(account_id.GetUserEmail())); 996 AccountId::FromUserEmail(gaia::SanitizeEmail(username)));
997
998 UserContext user_context(account_id);
999 user_context.SetKey(Key(password)); 997 user_context.SetKey(Key(password));
1000 delegate_->Login(user_context, SigninSpecifics()); 998 delegate_->Login(user_context, SigninSpecifics());
1001 } 999 }
1002 1000
1003 void SigninScreenHandler::HandleLaunchIncognito() { 1001 void SigninScreenHandler::HandleLaunchIncognito() {
1004 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); 1002 UserContext context(user_manager::USER_TYPE_GUEST, std::string());
1005 if (delegate_) 1003 if (delegate_)
1006 delegate_->Login(context, SigninSpecifics()); 1004 delegate_->Login(context, SigninSpecifics());
1007 } 1005 }
1008 1006
1009 void SigninScreenHandler::HandleShowSupervisedUserCreationScreen() { 1007 void SigninScreenHandler::HandleShowSupervisedUserCreationScreen() {
1010 if (!user_manager::UserManager::Get()->AreSupervisedUsersAllowed()) { 1008 if (!user_manager::UserManager::Get()->AreSupervisedUsersAllowed()) {
1011 LOG(ERROR) << "Managed users not allowed."; 1009 LOG(ERROR) << "Managed users not allowed.";
1012 return; 1010 return;
1013 } 1011 }
1014 LoginDisplayHostImpl::default_host()-> 1012 LoginDisplayHostImpl::default_host()->
1015 StartWizard(WizardController::kSupervisedUserCreationScreenName); 1013 StartWizard(WizardController::kSupervisedUserCreationScreenName);
1016 } 1014 }
1017 1015
1018 void SigninScreenHandler::HandleLaunchPublicSession( 1016 void SigninScreenHandler::HandleLaunchPublicSession(
1019 const AccountId& account_id, 1017 const std::string& user_id,
1020 const std::string& locale, 1018 const std::string& locale,
1021 const std::string& input_method) { 1019 const std::string& input_method) {
1022 if (!delegate_) 1020 if (!delegate_)
1023 return; 1021 return;
1024 1022
1025 UserContext context(user_manager::USER_TYPE_PUBLIC_ACCOUNT, 1023 UserContext context(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user_id);
1026 account_id.GetUserEmail());
1027 context.SetPublicSessionLocale(locale), 1024 context.SetPublicSessionLocale(locale),
1028 context.SetPublicSessionInputMethod(input_method); 1025 context.SetPublicSessionInputMethod(input_method);
1029 delegate_->Login(context, SigninSpecifics()); 1026 delegate_->Login(context, SigninSpecifics());
1030 } 1027 }
1031 1028
1032 void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) { 1029 void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) {
1033 if (!delegate_ || delegate_->IsShowUsers()) { 1030 if (!delegate_ || delegate_->IsShowUsers()) {
1034 NOTREACHED(); 1031 NOTREACHED();
1035 return; 1032 return;
1036 } 1033 }
1037 std::string email; 1034 std::string email;
1038 args->GetString(0, &email); 1035 args->GetString(0, &email);
1039 1036
1040 gaia_screen_handler_->set_populated_email(email); 1037 gaia_screen_handler_->set_populated_email(email);
1041 gaia_screen_handler_->LoadAuthExtension(true /* force */, true /* offline */); 1038 gaia_screen_handler_->LoadAuthExtension(true /* force */, true /* offline */);
1042 UpdateUIState(UI_STATE_GAIA_SIGNIN, nullptr); 1039 UpdateUIState(UI_STATE_GAIA_SIGNIN, nullptr);
1043 } 1040 }
1044 1041
1045 void SigninScreenHandler::HandleShutdownSystem() { 1042 void SigninScreenHandler::HandleShutdownSystem() {
1046 ash::Shell::GetInstance()->lock_state_controller()->RequestShutdown(); 1043 ash::Shell::GetInstance()->lock_state_controller()->RequestShutdown();
1047 } 1044 }
1048 1045
1049 void SigninScreenHandler::HandleLoadWallpaper(const AccountId& account_id) { 1046 void SigninScreenHandler::HandleLoadWallpaper(const std::string& email) {
1050 if (delegate_) 1047 if (delegate_)
1051 delegate_->LoadWallpaper(account_id.GetUserEmail()); 1048 delegate_->LoadWallpaper(email);
1052 } 1049 }
1053 1050
1054 void SigninScreenHandler::HandleRebootSystem() { 1051 void SigninScreenHandler::HandleRebootSystem() {
1055 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); 1052 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
1056 } 1053 }
1057 1054
1058 void SigninScreenHandler::HandleRemoveUser(const AccountId& account_id) { 1055 void SigninScreenHandler::HandleRemoveUser(const std::string& email) {
1059 ProfileMetrics::LogProfileDeleteUser( 1056 ProfileMetrics::LogProfileDeleteUser(
1060 ProfileMetrics::DELETE_PROFILE_USER_MANAGER); 1057 ProfileMetrics::DELETE_PROFILE_USER_MANAGER);
1061 1058
1062 if (!delegate_) 1059 if (!delegate_)
1063 return; 1060 return;
1064 delegate_->RemoveUser(account_id.GetUserEmail()); 1061 delegate_->RemoveUser(email);
1065 UpdateAddButtonStatus(); 1062 UpdateAddButtonStatus();
1066 } 1063 }
1067 1064
1068 void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) { 1065 void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) {
1069 TRACE_EVENT_ASYNC_STEP_INTO0("ui", 1066 TRACE_EVENT_ASYNC_STEP_INTO0("ui",
1070 "ShowLoginWebUI", 1067 "ShowLoginWebUI",
1071 LoginDisplayHostImpl::kShowLoginWebUIid, 1068 LoginDisplayHostImpl::kShowLoginWebUIid,
1072 "ShowAddUser"); 1069 "ShowAddUser");
1073 std::string email; 1070 std::string email;
1074 // |args| can be null if it's OOBE. 1071 // |args| can be null if it's OOBE.
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 content::NotificationService::NoDetails()); 1167 content::NotificationService::NoDetails());
1171 TRACE_EVENT_ASYNC_END0( 1168 TRACE_EVENT_ASYNC_END0(
1172 "ui", "ShowLoginWebUI", LoginDisplayHostImpl::kShowLoginWebUIid); 1169 "ui", "ShowLoginWebUI", LoginDisplayHostImpl::kShowLoginWebUIid);
1173 } 1170 }
1174 webui_visible_ = true; 1171 webui_visible_ = true;
1175 if (preferences_changed_delayed_) 1172 if (preferences_changed_delayed_)
1176 OnPreferencesChanged(); 1173 OnPreferencesChanged();
1177 } 1174 }
1178 1175
1179 void SigninScreenHandler::HandleCancelPasswordChangedFlow( 1176 void SigninScreenHandler::HandleCancelPasswordChangedFlow(
1180 const AccountId& account_id) { 1177 const std::string& user_id) {
1181 if (account_id.is_valid()) { 1178 if (!user_id.empty())
1182 RecordReauthReason(account_id, ReauthReason::PASSWORD_UPDATE_SKIPPED); 1179 RecordReauthReason(AccountId::FromUserEmail(user_id),
1183 } 1180 ReauthReason::PASSWORD_UPDATE_SKIPPED);
1184 gaia_screen_handler_->StartClearingCookies( 1181 gaia_screen_handler_->StartClearingCookies(
1185 base::Bind(&SigninScreenHandler::CancelPasswordChangedFlowInternal, 1182 base::Bind(&SigninScreenHandler::CancelPasswordChangedFlowInternal,
1186 weak_factory_.GetWeakPtr())); 1183 weak_factory_.GetWeakPtr()));
1187 } 1184 }
1188 1185
1189 void SigninScreenHandler::HandleCancelUserAdding() { 1186 void SigninScreenHandler::HandleCancelUserAdding() {
1190 if (delegate_) 1187 if (delegate_)
1191 delegate_->CancelUserAdding(); 1188 delegate_->CancelUserAdding();
1192 } 1189 }
1193 1190
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 void SigninScreenHandler::HandleUnlockOnLoginSuccess() { 1228 void SigninScreenHandler::HandleUnlockOnLoginSuccess() {
1232 DCHECK(user_manager::UserManager::Get()->IsUserLoggedIn()); 1229 DCHECK(user_manager::UserManager::Get()->IsUserLoggedIn());
1233 if (ScreenLocker::default_screen_locker()) 1230 if (ScreenLocker::default_screen_locker())
1234 ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess(); 1231 ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess();
1235 } 1232 }
1236 1233
1237 void SigninScreenHandler::HandleShowLoadingTimeoutError() { 1234 void SigninScreenHandler::HandleShowLoadingTimeoutError() {
1238 UpdateState(NetworkError::ERROR_REASON_LOADING_TIMEOUT); 1235 UpdateState(NetworkError::ERROR_REASON_LOADING_TIMEOUT);
1239 } 1236 }
1240 1237
1241 void SigninScreenHandler::HandleFocusPod(const AccountId& account_id) { 1238 void SigninScreenHandler::HandleFocusPod(const std::string& user_id) {
1242 SetUserInputMethod(account_id.GetUserEmail(), ime_state_.get()); 1239 SetUserInputMethod(user_id, ime_state_.get());
1243 WallpaperManager::Get()->SetUserWallpaperDelayed(account_id.GetUserEmail()); 1240 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id);
1244 proximity_auth::ScreenlockBridge::Get()->SetFocusedUser( 1241 proximity_auth::ScreenlockBridge::Get()->SetFocusedUser(user_id);
1245 account_id.GetUserEmail());
1246 if (delegate_) 1242 if (delegate_)
1247 delegate_->CheckUserStatus(account_id); 1243 delegate_->CheckUserStatus(user_id);
1248 if (!test_focus_pod_callback_.is_null()) 1244 if (!test_focus_pod_callback_.is_null())
1249 test_focus_pod_callback_.Run(); 1245 test_focus_pod_callback_.Run();
1250 1246
1251 bool use_24hour_clock = false; 1247 bool use_24hour_clock = false;
1252 if (user_manager::UserManager::Get()->GetKnownUserBooleanPref( 1248 if (user_manager::UserManager::Get()->GetKnownUserBooleanPref(
1253 account_id, prefs::kUse24HourClock, &use_24hour_clock)) { 1249 AccountId::FromUserEmail(user_id), prefs::kUse24HourClock,
1250 &use_24hour_clock)) {
1254 g_browser_process->platform_part() 1251 g_browser_process->platform_part()
1255 ->GetSystemClock() 1252 ->GetSystemClock()
1256 ->SetLastFocusedPodHourClockType(use_24hour_clock ? base::k24HourClock 1253 ->SetLastFocusedPodHourClockType(use_24hour_clock ? base::k24HourClock
1257 : base::k12HourClock); 1254 : base::k12HourClock);
1258 } 1255 }
1259 } 1256 }
1260 1257
1261 void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts( 1258 void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts(
1262 const AccountId& account_id, 1259 const std::string& user_id,
1263 const std::string& locale) { 1260 const std::string& locale) {
1264 GetKeyboardLayoutsForLocale( 1261 GetKeyboardLayoutsForLocale(
1265 base::Bind(&SigninScreenHandler::SendPublicSessionKeyboardLayouts, 1262 base::Bind(&SigninScreenHandler::SendPublicSessionKeyboardLayouts,
1266 weak_factory_.GetWeakPtr(), account_id, locale), 1263 weak_factory_.GetWeakPtr(),
1264 user_id,
1265 locale),
1267 locale); 1266 locale);
1268 } 1267 }
1269 1268
1270 void SigninScreenHandler::SendPublicSessionKeyboardLayouts( 1269 void SigninScreenHandler::SendPublicSessionKeyboardLayouts(
1271 const AccountId& account_id, 1270 const std::string& user_id,
1272 const std::string& locale, 1271 const std::string& locale,
1273 scoped_ptr<base::ListValue> keyboard_layouts) { 1272 scoped_ptr<base::ListValue> keyboard_layouts) {
1274 CallJS("login.AccountPickerScreen.setPublicSessionKeyboardLayouts", 1273 CallJS("login.AccountPickerScreen.setPublicSessionKeyboardLayouts",
1275 account_id, locale, *keyboard_layouts); 1274 user_id,
1275 locale,
1276 *keyboard_layouts);
1276 } 1277 }
1277 1278
1278 void SigninScreenHandler::HandleLaunchKioskApp(const AccountId& app_account_id, 1279 void SigninScreenHandler::HandleLaunchKioskApp(const std::string& app_id,
1279 bool diagnostic_mode) { 1280 bool diagnostic_mode) {
1280 UserContext context(user_manager::USER_TYPE_KIOSK_APP, 1281 UserContext context(user_manager::USER_TYPE_KIOSK_APP, app_id);
1281 app_account_id.GetUserEmail());
1282 SigninSpecifics specifics; 1282 SigninSpecifics specifics;
1283 specifics.kiosk_diagnostic_mode = diagnostic_mode; 1283 specifics.kiosk_diagnostic_mode = diagnostic_mode;
1284 if (delegate_) 1284 if (delegate_)
1285 delegate_->Login(context, specifics); 1285 delegate_->Login(context, specifics);
1286 } 1286 }
1287 1287
1288 void SigninScreenHandler::HandleCancelConsumerManagementEnrollment() { 1288 void SigninScreenHandler::HandleCancelConsumerManagementEnrollment() {
1289 policy::ConsumerManagementService* consumer_management = 1289 policy::ConsumerManagementService* consumer_management =
1290 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> 1290 g_browser_process->platform_part()->browser_policy_connector_chromeos()->
1291 GetConsumerManagementService(); 1291 GetConsumerManagementService();
(...skipping 10 matching lines...) Expand all
1302 max_mode_delegate_->IsMaximizeModeEnabled()); 1302 max_mode_delegate_->IsMaximizeModeEnabled());
1303 } 1303 }
1304 } 1304 }
1305 1305
1306 void SigninScreenHandler::HandleLogRemoveUserWarningShown() { 1306 void SigninScreenHandler::HandleLogRemoveUserWarningShown() {
1307 ProfileMetrics::LogProfileDeleteUser( 1307 ProfileMetrics::LogProfileDeleteUser(
1308 ProfileMetrics::DELETE_PROFILE_USER_MANAGER_SHOW_WARNING); 1308 ProfileMetrics::DELETE_PROFILE_USER_MANAGER_SHOW_WARNING);
1309 } 1309 }
1310 1310
1311 void SigninScreenHandler::HandleFirstIncorrectPasswordAttempt( 1311 void SigninScreenHandler::HandleFirstIncorrectPasswordAttempt(
1312 const AccountId& account_id) { 1312 const std::string& email) {
1313 // TODO(ginkage): Fix this case once crbug.com/469987 is ready. 1313 // TODO(ginkage): Fix this case once crbug.com/469987 is ready.
1314 /* 1314 /*
1315 if (user_manager::UserManager::Get()->FindUsingSAML(email)) 1315 if (user_manager::UserManager::Get()->FindUsingSAML(email))
1316 RecordReauthReason(email, ReauthReason::INCORRECT_SAML_PASSWORD_ENTERED); 1316 RecordReauthReason(email, ReauthReason::INCORRECT_SAML_PASSWORD_ENTERED);
1317 */ 1317 */
1318 } 1318 }
1319 1319
1320 void SigninScreenHandler::HandleMaxIncorrectPasswordAttempts( 1320 void SigninScreenHandler::HandleMaxIncorrectPasswordAttempts(
1321 const AccountId& account_id) { 1321 const std::string& email) {
1322 RecordReauthReason(account_id, ReauthReason::INCORRECT_PASSWORD_ENTERED); 1322 RecordReauthReason(AccountId::FromUserEmail(email),
1323 ReauthReason::INCORRECT_PASSWORD_ENTERED);
1323 } 1324 }
1324 1325
1325 bool SigninScreenHandler::AllWhitelistedUsersPresent() { 1326 bool SigninScreenHandler::AllWhitelistedUsersPresent() {
1326 CrosSettings* cros_settings = CrosSettings::Get(); 1327 CrosSettings* cros_settings = CrosSettings::Get();
1327 bool allow_new_user = false; 1328 bool allow_new_user = false;
1328 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); 1329 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user);
1329 if (allow_new_user) 1330 if (allow_new_user)
1330 return false; 1331 return false;
1331 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); 1332 user_manager::UserManager* user_manager = user_manager::UserManager::Get();
1332 const user_manager::UserList& users = user_manager->GetUsers(); 1333 const user_manager::UserList& users = user_manager->GetUsers();
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 return gaia_screen_handler_->frame_error(); 1412 return gaia_screen_handler_->frame_error();
1412 } 1413 }
1413 1414
1414 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { 1415 void SigninScreenHandler::OnCapsLockChanged(bool enabled) {
1415 caps_lock_enabled_ = enabled; 1416 caps_lock_enabled_ = enabled;
1416 if (page_is_ready()) 1417 if (page_is_ready())
1417 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); 1418 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_);
1418 } 1419 }
1419 1420
1420 } // namespace chromeos 1421 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698