OLD | NEW |
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 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 std::string& username, | 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 UserContext user_context(gaia::SanitizeEmail(username)); | 995 UserContext user_context( |
| 996 AccountId::FromUserEmail(gaia::SanitizeEmail(username))); |
996 user_context.SetKey(Key(password)); | 997 user_context.SetKey(Key(password)); |
997 delegate_->Login(user_context, SigninSpecifics()); | 998 delegate_->Login(user_context, SigninSpecifics()); |
998 } | 999 } |
999 | 1000 |
1000 void SigninScreenHandler::HandleLaunchIncognito() { | 1001 void SigninScreenHandler::HandleLaunchIncognito() { |
1001 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); | 1002 UserContext context(user_manager::USER_TYPE_GUEST, std::string()); |
1002 if (delegate_) | 1003 if (delegate_) |
1003 delegate_->Login(context, SigninSpecifics()); | 1004 delegate_->Login(context, SigninSpecifics()); |
1004 } | 1005 } |
1005 | 1006 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1065 TRACE_EVENT_ASYNC_STEP_INTO0("ui", | 1066 TRACE_EVENT_ASYNC_STEP_INTO0("ui", |
1066 "ShowLoginWebUI", | 1067 "ShowLoginWebUI", |
1067 LoginDisplayHostImpl::kShowLoginWebUIid, | 1068 LoginDisplayHostImpl::kShowLoginWebUIid, |
1068 "ShowAddUser"); | 1069 "ShowAddUser"); |
1069 std::string email; | 1070 std::string email; |
1070 // |args| can be null if it's OOBE. | 1071 // |args| can be null if it's OOBE. |
1071 if (args) | 1072 if (args) |
1072 args->GetString(0, &email); | 1073 args->GetString(0, &email); |
1073 gaia_screen_handler_->set_populated_email(email); | 1074 gaia_screen_handler_->set_populated_email(email); |
1074 if (!email.empty()) | 1075 if (!email.empty()) |
1075 SendReauthReason(email); | 1076 SendReauthReason(AccountId::FromUserEmail(email)); |
1076 OnShowAddUser(); | 1077 OnShowAddUser(); |
1077 } | 1078 } |
1078 | 1079 |
1079 void SigninScreenHandler::HandleToggleEnrollmentScreen() { | 1080 void SigninScreenHandler::HandleToggleEnrollmentScreen() { |
1080 if (delegate_) | 1081 if (delegate_) |
1081 delegate_->ShowEnterpriseEnrollmentScreen(); | 1082 delegate_->ShowEnterpriseEnrollmentScreen(); |
1082 } | 1083 } |
1083 | 1084 |
1084 void SigninScreenHandler::HandleToggleEnableDebuggingScreen() { | 1085 void SigninScreenHandler::HandleToggleEnableDebuggingScreen() { |
1085 if (delegate_) | 1086 if (delegate_) |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1168 "ui", "ShowLoginWebUI", LoginDisplayHostImpl::kShowLoginWebUIid); | 1169 "ui", "ShowLoginWebUI", LoginDisplayHostImpl::kShowLoginWebUIid); |
1169 } | 1170 } |
1170 webui_visible_ = true; | 1171 webui_visible_ = true; |
1171 if (preferences_changed_delayed_) | 1172 if (preferences_changed_delayed_) |
1172 OnPreferencesChanged(); | 1173 OnPreferencesChanged(); |
1173 } | 1174 } |
1174 | 1175 |
1175 void SigninScreenHandler::HandleCancelPasswordChangedFlow( | 1176 void SigninScreenHandler::HandleCancelPasswordChangedFlow( |
1176 const std::string& user_id) { | 1177 const std::string& user_id) { |
1177 if (!user_id.empty()) | 1178 if (!user_id.empty()) |
1178 RecordReauthReason(user_id, ReauthReason::PASSWORD_UPDATE_SKIPPED); | 1179 RecordReauthReason(AccountId::FromUserEmail(user_id), |
| 1180 ReauthReason::PASSWORD_UPDATE_SKIPPED); |
1179 gaia_screen_handler_->StartClearingCookies( | 1181 gaia_screen_handler_->StartClearingCookies( |
1180 base::Bind(&SigninScreenHandler::CancelPasswordChangedFlowInternal, | 1182 base::Bind(&SigninScreenHandler::CancelPasswordChangedFlowInternal, |
1181 weak_factory_.GetWeakPtr())); | 1183 weak_factory_.GetWeakPtr())); |
1182 } | 1184 } |
1183 | 1185 |
1184 void SigninScreenHandler::HandleCancelUserAdding() { | 1186 void SigninScreenHandler::HandleCancelUserAdding() { |
1185 if (delegate_) | 1187 if (delegate_) |
1186 delegate_->CancelUserAdding(); | 1188 delegate_->CancelUserAdding(); |
1187 } | 1189 } |
1188 | 1190 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1241 SetUserInputMethod(user_id, ime_state_.get()); | 1243 SetUserInputMethod(user_id, ime_state_.get()); |
1242 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); | 1244 WallpaperManager::Get()->SetUserWallpaperDelayed(user_id); |
1243 proximity_auth::ScreenlockBridge::Get()->SetFocusedUser(user_id); | 1245 proximity_auth::ScreenlockBridge::Get()->SetFocusedUser(user_id); |
1244 if (delegate_) | 1246 if (delegate_) |
1245 delegate_->CheckUserStatus(user_id); | 1247 delegate_->CheckUserStatus(user_id); |
1246 if (!test_focus_pod_callback_.is_null()) | 1248 if (!test_focus_pod_callback_.is_null()) |
1247 test_focus_pod_callback_.Run(); | 1249 test_focus_pod_callback_.Run(); |
1248 | 1250 |
1249 bool use_24hour_clock = false; | 1251 bool use_24hour_clock = false; |
1250 if (user_manager::UserManager::Get()->GetKnownUserBooleanPref( | 1252 if (user_manager::UserManager::Get()->GetKnownUserBooleanPref( |
1251 user_id, prefs::kUse24HourClock, &use_24hour_clock)) { | 1253 AccountId::FromUserEmail(user_id), prefs::kUse24HourClock, |
| 1254 &use_24hour_clock)) { |
1252 g_browser_process->platform_part() | 1255 g_browser_process->platform_part() |
1253 ->GetSystemClock() | 1256 ->GetSystemClock() |
1254 ->SetLastFocusedPodHourClockType(use_24hour_clock ? base::k24HourClock | 1257 ->SetLastFocusedPodHourClockType(use_24hour_clock ? base::k24HourClock |
1255 : base::k12HourClock); | 1258 : base::k12HourClock); |
1256 } | 1259 } |
1257 } | 1260 } |
1258 | 1261 |
1259 void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts( | 1262 void SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts( |
1260 const std::string& user_id, | 1263 const std::string& user_id, |
1261 const std::string& locale) { | 1264 const std::string& locale) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1313 const std::string& email) { | 1316 const std::string& email) { |
1314 // TODO(ginkage): Fix this case once crbug.com/469987 is ready. | 1317 // TODO(ginkage): Fix this case once crbug.com/469987 is ready. |
1315 /* | 1318 /* |
1316 if (user_manager::UserManager::Get()->FindUsingSAML(email)) | 1319 if (user_manager::UserManager::Get()->FindUsingSAML(email)) |
1317 RecordReauthReason(email, ReauthReason::INCORRECT_SAML_PASSWORD_ENTERED); | 1320 RecordReauthReason(email, ReauthReason::INCORRECT_SAML_PASSWORD_ENTERED); |
1318 */ | 1321 */ |
1319 } | 1322 } |
1320 | 1323 |
1321 void SigninScreenHandler::HandleMaxIncorrectPasswordAttempts( | 1324 void SigninScreenHandler::HandleMaxIncorrectPasswordAttempts( |
1322 const std::string& email) { | 1325 const std::string& email) { |
1323 RecordReauthReason(email, ReauthReason::INCORRECT_PASSWORD_ENTERED); | 1326 RecordReauthReason(AccountId::FromUserEmail(email), |
| 1327 ReauthReason::INCORRECT_PASSWORD_ENTERED); |
1324 } | 1328 } |
1325 | 1329 |
1326 bool SigninScreenHandler::AllWhitelistedUsersPresent() { | 1330 bool SigninScreenHandler::AllWhitelistedUsersPresent() { |
1327 CrosSettings* cros_settings = CrosSettings::Get(); | 1331 CrosSettings* cros_settings = CrosSettings::Get(); |
1328 bool allow_new_user = false; | 1332 bool allow_new_user = false; |
1329 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); | 1333 cros_settings->GetBoolean(kAccountsPrefAllowNewUser, &allow_new_user); |
1330 if (allow_new_user) | 1334 if (allow_new_user) |
1331 return false; | 1335 return false; |
1332 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); | 1336 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); |
1333 const user_manager::UserList& users = user_manager->GetUsers(); | 1337 const user_manager::UserList& users = user_manager->GetUsers(); |
1334 if (!delegate_ || users.size() > kMaxUsers) { | 1338 if (!delegate_ || users.size() > kMaxUsers) { |
1335 return false; | 1339 return false; |
1336 } | 1340 } |
1337 const base::ListValue* whitelist = nullptr; | 1341 const base::ListValue* whitelist = nullptr; |
1338 if (!cros_settings->GetList(kAccountsPrefUsers, &whitelist) || !whitelist) | 1342 if (!cros_settings->GetList(kAccountsPrefUsers, &whitelist) || !whitelist) |
1339 return false; | 1343 return false; |
1340 for (size_t i = 0; i < whitelist->GetSize(); ++i) { | 1344 for (size_t i = 0; i < whitelist->GetSize(); ++i) { |
1341 std::string whitelisted_user; | 1345 std::string whitelisted_user; |
1342 // NB: Wildcards in the whitelist are also detected as not present here. | 1346 // NB: Wildcards in the whitelist are also detected as not present here. |
1343 if (!whitelist->GetString(i, &whitelisted_user) || | 1347 if (!whitelist->GetString(i, &whitelisted_user) || |
1344 !user_manager->IsKnownUser(whitelisted_user)) { | 1348 !user_manager->IsKnownUser( |
| 1349 AccountId::FromUserEmail(whitelisted_user))) { |
1345 return false; | 1350 return false; |
1346 } | 1351 } |
1347 } | 1352 } |
1348 return true; | 1353 return true; |
1349 } | 1354 } |
1350 | 1355 |
1351 void SigninScreenHandler::CancelPasswordChangedFlowInternal() { | 1356 void SigninScreenHandler::CancelPasswordChangedFlowInternal() { |
1352 if (delegate_) { | 1357 if (delegate_) { |
1353 ShowImpl(); | 1358 ShowImpl(); |
1354 delegate_->CancelPasswordChangedFlow(); | 1359 delegate_->CancelPasswordChangedFlow(); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1411 return gaia_screen_handler_->frame_error(); | 1416 return gaia_screen_handler_->frame_error(); |
1412 } | 1417 } |
1413 | 1418 |
1414 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { | 1419 void SigninScreenHandler::OnCapsLockChanged(bool enabled) { |
1415 caps_lock_enabled_ = enabled; | 1420 caps_lock_enabled_ = enabled; |
1416 if (page_is_ready()) | 1421 if (page_is_ready()) |
1417 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); | 1422 CallJS("login.AccountPickerScreen.setCapsLockState", caps_lock_enabled_); |
1418 } | 1423 } |
1419 | 1424 |
1420 } // namespace chromeos | 1425 } // namespace chromeos |
OLD | NEW |