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

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

Issue 14208014: Simplify adding callbacks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix. Created 7 years, 8 months 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 | Annotate | Revision Log
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 "base/callback.h" 7 #include "base/callback.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 AddCallback("completeLogin", &SigninScreenHandler::HandleCompleteLogin); 726 AddCallback("completeLogin", &SigninScreenHandler::HandleCompleteLogin);
727 AddCallback("completeAuthentication", 727 AddCallback("completeAuthentication",
728 &SigninScreenHandler::HandleCompleteAuthentication); 728 &SigninScreenHandler::HandleCompleteAuthentication);
729 AddCallback("getUsers", &SigninScreenHandler::HandleGetUsers); 729 AddCallback("getUsers", &SigninScreenHandler::HandleGetUsers);
730 AddCallback("launchDemoUser", &SigninScreenHandler::HandleLaunchDemoUser); 730 AddCallback("launchDemoUser", &SigninScreenHandler::HandleLaunchDemoUser);
731 AddCallback("launchIncognito", &SigninScreenHandler::HandleLaunchIncognito); 731 AddCallback("launchIncognito", &SigninScreenHandler::HandleLaunchIncognito);
732 AddCallback("showLocallyManagedUserCreationScreen", 732 AddCallback("showLocallyManagedUserCreationScreen",
733 &SigninScreenHandler::HandleShowLocallyManagedUserCreationScreen); 733 &SigninScreenHandler::HandleShowLocallyManagedUserCreationScreen);
734 AddCallback("launchPublicAccount", 734 AddCallback("launchPublicAccount",
735 &SigninScreenHandler::HandleLaunchPublicAccount); 735 &SigninScreenHandler::HandleLaunchPublicAccount);
736 AddCallback("offlineLogin", &SigninScreenHandler::HandleOfflineLogin); 736 AddRawCallback("offlineLogin", &SigninScreenHandler::HandleOfflineLogin);
737 AddCallback("rebootSystem", &SigninScreenHandler::HandleRebootSystem); 737 AddCallback("rebootSystem", &SigninScreenHandler::HandleRebootSystem);
738 AddCallback("showAddUser", &SigninScreenHandler::HandleShowAddUser); 738 AddRawCallback("showAddUser", &SigninScreenHandler::HandleShowAddUser);
739 AddCallback("shutdownSystem", &SigninScreenHandler::HandleShutdownSystem); 739 AddCallback("shutdownSystem", &SigninScreenHandler::HandleShutdownSystem);
740 AddCallback("loadWallpaper", &SigninScreenHandler::HandleLoadWallpaper); 740 AddCallback("loadWallpaper", &SigninScreenHandler::HandleLoadWallpaper);
741 AddCallback("removeUser", &SigninScreenHandler::HandleRemoveUser); 741 AddCallback("removeUser", &SigninScreenHandler::HandleRemoveUser);
742 AddCallback("toggleEnrollmentScreen", 742 AddCallback("toggleEnrollmentScreen",
743 &SigninScreenHandler::HandleToggleEnrollmentScreen); 743 &SigninScreenHandler::HandleToggleEnrollmentScreen);
744 AddCallback("toggleResetScreen", 744 AddCallback("toggleResetScreen",
745 &SigninScreenHandler::HandleToggleResetScreen); 745 &SigninScreenHandler::HandleToggleResetScreen);
746 AddCallback("launchHelpApp", &SigninScreenHandler::HandleLaunchHelpApp); 746 AddCallback("launchHelpApp", &SigninScreenHandler::HandleLaunchHelpApp);
747 AddCallback("createAccount", &SigninScreenHandler::HandleCreateAccount); 747 AddCallback("createAccount", &SigninScreenHandler::HandleCreateAccount);
748 AddCallback("accountPickerReady", 748 AddCallback("accountPickerReady",
(...skipping 19 matching lines...) Expand all
768 AddCallback("loginScreenUpdate", 768 AddCallback("loginScreenUpdate",
769 &SigninScreenHandler::HandleLoginScreenUpdate); 769 &SigninScreenHandler::HandleLoginScreenUpdate);
770 AddCallback("showGaiaFrameError", 770 AddCallback("showGaiaFrameError",
771 &SigninScreenHandler::HandleShowGaiaFrameError); 771 &SigninScreenHandler::HandleShowGaiaFrameError);
772 AddCallback("showLoadingTimeoutError", 772 AddCallback("showLoadingTimeoutError",
773 &SigninScreenHandler::HandleShowLoadingTimeoutError); 773 &SigninScreenHandler::HandleShowLoadingTimeoutError);
774 AddCallback("updateOfflineLogin", 774 AddCallback("updateOfflineLogin",
775 &SigninScreenHandler::HandleUpdateOfflineLogin); 775 &SigninScreenHandler::HandleUpdateOfflineLogin);
776 } 776 }
777 777
778 void SigninScreenHandler::HandleGetUsers(const base::ListValue* args) { 778 void SigninScreenHandler::HandleGetUsers() {
779 SendUserList(false); 779 SendUserList(false);
780 } 780 }
781 781
782 void SigninScreenHandler::ClearAndEnablePassword() { 782 void SigninScreenHandler::ClearAndEnablePassword() {
783 base::FundamentalValue force_online(false); 783 base::FundamentalValue force_online(false);
784 CallJS("cr.ui.Oobe.resetSigninUI", force_online); 784 CallJS("cr.ui.Oobe.resetSigninUI", force_online);
785 } 785 }
786 786
787 void SigninScreenHandler::ClearUserPodPassword() { 787 void SigninScreenHandler::ClearUserPodPassword() {
788 CallJS("cr.ui.Oobe.clearUserPodPassword"); 788 CallJS("cr.ui.Oobe.clearUserPodPassword");
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 delegate_->LoadWallpaper(email_); 955 delegate_->LoadWallpaper(email_);
956 956
957 LoadAuthExtension(!gaia_silent_load_, false, false); 957 LoadAuthExtension(!gaia_silent_load_, false, false);
958 UpdateUIState(UI_STATE_GAIA_SIGNIN, NULL); 958 UpdateUIState(UI_STATE_GAIA_SIGNIN, NULL);
959 959
960 if (gaia_silent_load_) { 960 if (gaia_silent_load_) {
961 // The variable is assigned to false because silently loaded Gaia page was 961 // The variable is assigned to false because silently loaded Gaia page was
962 // used. 962 // used.
963 gaia_silent_load_ = false; 963 gaia_silent_load_ = false;
964 if (focus_stolen_) 964 if (focus_stolen_)
965 HandleLoginWebuiReady(NULL); 965 HandleLoginWebuiReady();
966 } 966 }
967 967
968 UpdateState(network_state_informer_->state(), 968 UpdateState(network_state_informer_->state(),
969 network_state_informer_->last_network_service_path(), 969 network_state_informer_->last_network_service_path(),
970 network_state_informer_->last_network_type(), 970 network_state_informer_->last_network_type(),
971 ErrorScreenActor::kErrorReasonUpdate); 971 ErrorScreenActor::kErrorReasonUpdate);
972 } 972 }
973 973
974 void SigninScreenHandler::LoadAuthExtension( 974 void SigninScreenHandler::LoadAuthExtension(
975 bool force, bool silent_load, bool offline) { 975 bool force, bool silent_load, bool offline) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 DictionaryValue params; 1035 DictionaryValue params;
1036 UpdateAuthParamsFromSettings(&params, CrosSettings::Get()); 1036 UpdateAuthParamsFromSettings(&params, CrosSettings::Get());
1037 CallJS("login.GaiaSigninScreen.updateAuthExtension", params); 1037 CallJS("login.GaiaSigninScreen.updateAuthExtension", params);
1038 } 1038 }
1039 1039
1040 void SigninScreenHandler::UpdateAddButtonStatus() { 1040 void SigninScreenHandler::UpdateAddButtonStatus() {
1041 base::FundamentalValue disabled(AllWhitelistedUsersPresent()); 1041 base::FundamentalValue disabled(AllWhitelistedUsersPresent());
1042 CallJS("cr.ui.login.DisplayManager.updateAddUserButtonStatus", disabled); 1042 CallJS("cr.ui.login.DisplayManager.updateAddUserButtonStatus", disabled);
1043 } 1043 }
1044 1044
1045 void SigninScreenHandler::HandleCompleteLogin(const base::ListValue* args) { 1045 void SigninScreenHandler::HandleCompleteLogin(const std::string& typed_email,
1046 const std::string& password) {
1046 if (!delegate_) 1047 if (!delegate_)
1047 return; 1048 return;
1048 1049 const std::string sanitized_email = gaia::SanitizeEmail(typed_email);
1049 std::string typed_email; 1050 delegate_->SetDisplayEmail(sanitized_email);
1050 std::string password; 1051 delegate_->CompleteLogin(UserContext(sanitized_email,
1051 if (!args->GetString(0, &typed_email) ||
1052 !args->GetString(1, &password)) {
1053 NOTREACHED();
1054 return;
1055 }
1056
1057 typed_email = gaia::SanitizeEmail(typed_email);
1058 delegate_->SetDisplayEmail(typed_email);
1059 delegate_->CompleteLogin(UserContext(typed_email,
1060 password, 1052 password,
1061 std::string())); // auth_code 1053 std::string())); // auth_code
1062 } 1054 }
1063 1055
1064 void SigninScreenHandler::HandleCompleteAuthentication( 1056 void SigninScreenHandler::HandleCompleteAuthentication(
1065 const base::ListValue* args) { 1057 const std::string& email,
1058 const std::string& password,
1059 const std::string& auth_code) {
1066 if (!delegate_) 1060 if (!delegate_)
1067 return; 1061 return;
1068 1062 const std::string sanitized_email = gaia::SanitizeEmail(email);
1069 std::string email; 1063 delegate_->SetDisplayEmail(sanitized_email);
1070 std::string password; 1064 delegate_->CompleteLogin(UserContext(sanitized_email, password, auth_code));
1071 std::string auth_code;
1072 if (!args->GetString(0, &email) ||
1073 !args->GetString(1, &password) ||
1074 !args->GetString(2, &auth_code)) {
1075 NOTREACHED();
1076 return;
1077 }
1078
1079 email = gaia::SanitizeEmail(email);
1080 delegate_->SetDisplayEmail(email);
1081 delegate_->CompleteLogin(UserContext(email, password, auth_code));
1082 } 1065 }
1083 1066
1084 void SigninScreenHandler::HandleAuthenticateUser(const base::ListValue* args) { 1067 void SigninScreenHandler::HandleAuthenticateUser(const std::string& username,
1068 const std::string& password) {
1085 if (!delegate_) 1069 if (!delegate_)
1086 return; 1070 return;
1087 1071 delegate_->Login(UserContext(gaia::SanitizeEmail(username),
1088 std::string username;
1089 std::string password;
1090 if (!args->GetString(0, &username) ||
1091 !args->GetString(1, &password)) {
1092 NOTREACHED();
1093 return;
1094 }
1095
1096 username = gaia::SanitizeEmail(username);
1097 delegate_->Login(UserContext(username,
1098 password, 1072 password,
1099 std::string())); // auth_code 1073 std::string())); // auth_code
1100 } 1074 }
1101 1075
1102 void SigninScreenHandler::HandleLaunchDemoUser(const base::ListValue* args) { 1076 void SigninScreenHandler::HandleLaunchDemoUser() {
1103 if (delegate_) 1077 if (delegate_)
1104 delegate_->LoginAsRetailModeUser(); 1078 delegate_->LoginAsRetailModeUser();
1105 } 1079 }
1106 1080
1107 void SigninScreenHandler::HandleLaunchIncognito(const base::ListValue* args) { 1081 void SigninScreenHandler::HandleLaunchIncognito() {
1108 if (delegate_) 1082 if (delegate_)
1109 delegate_->LoginAsGuest(); 1083 delegate_->LoginAsGuest();
1110 } 1084 }
1111 1085
1112 void SigninScreenHandler::HandleShowLocallyManagedUserCreationScreen( 1086 void SigninScreenHandler::HandleShowLocallyManagedUserCreationScreen() {
1113 const base::ListValue* args) {
1114 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 1087 const CommandLine* command_line = CommandLine::ForCurrentProcess();
1115 if (!command_line->HasSwitch(::switches::kEnableManagedUsers)) 1088 if (!command_line->HasSwitch(::switches::kEnableManagedUsers))
1116 return; 1089 return;
1117 BaseLoginDisplayHost::default_host()-> 1090 BaseLoginDisplayHost::default_host()->
1118 StartWizard(WizardController::kLocallyManagedUserCreationScreenName, 1091 StartWizard(WizardController::kLocallyManagedUserCreationScreenName,
1119 NULL); 1092 NULL);
1120 } 1093 }
1121 1094
1122 void SigninScreenHandler::HandleLaunchPublicAccount( 1095 void SigninScreenHandler::HandleLaunchPublicAccount(
1123 const base::ListValue* args) { 1096 const std::string& username) {
1124 if (!delegate_) 1097 if (delegate_)
1125 return; 1098 delegate_->LoginAsPublicAccount(username);
1126
1127 std::string username;
1128 if (!args->GetString(0, &username)) {
1129 NOTREACHED();
1130 return;
1131 }
1132 delegate_->LoginAsPublicAccount(username);
1133 } 1099 }
1134 1100
1135 void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) { 1101 void SigninScreenHandler::HandleOfflineLogin(const base::ListValue* args) {
1136 if (!delegate_ || delegate_->IsShowUsers()) { 1102 if (!delegate_ || delegate_->IsShowUsers()) {
1137 NOTREACHED(); 1103 NOTREACHED();
1138 return; 1104 return;
1139 } 1105 }
1140 if (!args->GetString(0, &email_)) 1106 if (!args->GetString(0, &email_))
1141 email_.clear(); 1107 email_.clear();
1142 // Load auth extension. Parameters are: force reload, do not load extension in 1108 // Load auth extension. Parameters are: force reload, do not load extension in
1143 // background, use offline version. 1109 // background, use offline version.
1144 LoadAuthExtension(true, false, true); 1110 LoadAuthExtension(true, false, true);
1145 UpdateUIState(UI_STATE_GAIA_SIGNIN, NULL); 1111 UpdateUIState(UI_STATE_GAIA_SIGNIN, NULL);
1146 } 1112 }
1147 1113
1148 void SigninScreenHandler::HandleShutdownSystem(const base::ListValue* args) { 1114 void SigninScreenHandler::HandleShutdownSystem() {
1149 ash::Shell::GetInstance()->session_state_controller()->RequestShutdown(); 1115 ash::Shell::GetInstance()->session_state_controller()->RequestShutdown();
1150 } 1116 }
1151 1117
1152 void SigninScreenHandler::HandleLoadWallpaper(const base::ListValue* args) { 1118 void SigninScreenHandler::HandleLoadWallpaper(const std::string& email) {
1153 if (!delegate_) 1119 if (delegate_)
1154 return; 1120 delegate_->LoadWallpaper(email);
1155
1156 std::string email;
1157 if (!args->GetString(0, &email)) {
1158 NOTREACHED();
1159 return;
1160 }
1161
1162 delegate_->LoadWallpaper(email);
1163 } 1121 }
1164 1122
1165 void SigninScreenHandler::HandleRebootSystem(const base::ListValue* args) { 1123 void SigninScreenHandler::HandleRebootSystem() {
1166 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); 1124 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
1167 } 1125 }
1168 1126
1169 void SigninScreenHandler::HandleRemoveUser(const base::ListValue* args) { 1127 void SigninScreenHandler::HandleRemoveUser(const std::string& email) {
1170 if (!delegate_) 1128 if (!delegate_)
1171 return; 1129 return;
1172
1173 std::string email;
1174 if (!args->GetString(0, &email)) {
1175 NOTREACHED();
1176 return;
1177 }
1178
1179 delegate_->RemoveUser(email); 1130 delegate_->RemoveUser(email);
1180 UpdateAddButtonStatus(); 1131 UpdateAddButtonStatus();
1181 } 1132 }
1182 1133
1183 void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) { 1134 void SigninScreenHandler::HandleShowAddUser(const base::ListValue* args) {
1184 email_.clear(); 1135 email_.clear();
1185 // |args| can be null if it's OOBE. 1136 // |args| can be null if it's OOBE.
1186 if (args) 1137 if (args)
1187 args->GetString(0, &email_); 1138 args->GetString(0, &email_);
1188 is_account_picker_showing_first_time_ = false; 1139 is_account_picker_showing_first_time_ = false;
1189 1140
1190 if (gaia_silent_load_ && email_.empty()) { 1141 if (gaia_silent_load_ && email_.empty()) {
1191 dns_cleared_ = true; 1142 dns_cleared_ = true;
1192 cookies_cleared_ = true; 1143 cookies_cleared_ = true;
1193 ShowSigninScreenIfReady(); 1144 ShowSigninScreenIfReady();
1194 } else { 1145 } else {
1195 StartClearingDnsCache(); 1146 StartClearingDnsCache();
1196 1147
1197 cookie_remover_callback_ = base::Bind( 1148 cookie_remover_callback_ = base::Bind(
1198 &SigninScreenHandler::ShowSigninScreenIfReady, 1149 &SigninScreenHandler::ShowSigninScreenIfReady,
1199 weak_factory_.GetWeakPtr()); 1150 weak_factory_.GetWeakPtr());
1200 StartClearingCookies(); 1151 StartClearingCookies();
1201 } 1152 }
1202 } 1153 }
1203 1154
1204 void SigninScreenHandler::HandleToggleEnrollmentScreen( 1155 void SigninScreenHandler::HandleToggleEnrollmentScreen() {
1205 const base::ListValue* args) {
1206 if (delegate_) 1156 if (delegate_)
1207 delegate_->ShowEnterpriseEnrollmentScreen(); 1157 delegate_->ShowEnterpriseEnrollmentScreen();
1208 } 1158 }
1209 1159
1210 void SigninScreenHandler::HandleToggleResetScreen( 1160 void SigninScreenHandler::HandleToggleResetScreen() {
1211 const base::ListValue* args) {
1212 if (delegate_ && 1161 if (delegate_ &&
1213 !g_browser_process->browser_policy_connector()->IsEnterpriseManaged()) { 1162 !g_browser_process->browser_policy_connector()->IsEnterpriseManaged()) {
1214 delegate_->ShowResetScreen(); 1163 delegate_->ShowResetScreen();
1215 } 1164 }
1216 } 1165 }
1217 1166
1218 void SigninScreenHandler::HandleLaunchHelpApp(const base::ListValue* args) { 1167 void SigninScreenHandler::HandleLaunchHelpApp(double help_topic_id) {
1219 if (!delegate_) 1168 if (!delegate_)
1220 return; 1169 return;
1221 double help_topic_id; // Javascript number is passed back as double.
1222 if (!args->GetDouble(0, &help_topic_id)) {
1223 NOTREACHED();
1224 return;
1225 }
1226
1227 if (!help_app_.get()) 1170 if (!help_app_.get())
1228 help_app_ = new HelpAppLauncher(GetNativeWindow()); 1171 help_app_ = new HelpAppLauncher(GetNativeWindow());
1229 help_app_->ShowHelpTopic( 1172 help_app_->ShowHelpTopic(
1230 static_cast<HelpAppLauncher::HelpTopic>(help_topic_id)); 1173 static_cast<HelpAppLauncher::HelpTopic>(help_topic_id));
1231 } 1174 }
1232 1175
1233 void SigninScreenHandler::FillUserDictionary(User* user, 1176 void SigninScreenHandler::FillUserDictionary(User* user,
1234 bool is_owner, 1177 bool is_owner,
1235 DictionaryValue* user_dict) { 1178 DictionaryValue* user_dict) {
1236 const std::string& email = user->email(); 1179 const std::string& email = user->email();
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1312 ++non_owner_count; 1255 ++non_owner_count;
1313 } 1256 }
1314 } 1257 }
1315 1258
1316 base::FundamentalValue animated_value(animated); 1259 base::FundamentalValue animated_value(animated);
1317 base::FundamentalValue guest_value(delegate_->IsShowGuest()); 1260 base::FundamentalValue guest_value(delegate_->IsShowGuest());
1318 CallJS("login.AccountPickerScreen.loadUsers", 1261 CallJS("login.AccountPickerScreen.loadUsers",
1319 users_list, animated_value, guest_value); 1262 users_list, animated_value, guest_value);
1320 } 1263 }
1321 1264
1322 void SigninScreenHandler::HandleAccountPickerReady( 1265 void SigninScreenHandler::HandleAccountPickerReady() {
1323 const base::ListValue* args) {
1324 LOG(INFO) << "Login WebUI >> AccountPickerReady"; 1266 LOG(INFO) << "Login WebUI >> AccountPickerReady";
1325 1267
1326 if (delegate_ && !ScreenLocker::default_screen_locker() && 1268 if (delegate_ && !ScreenLocker::default_screen_locker() &&
1327 !chromeos::IsMachineHWIDCorrect() && 1269 !chromeos::IsMachineHWIDCorrect() &&
1328 !oobe_ui_) { 1270 !oobe_ui_) {
1329 delegate_->ShowWrongHWIDScreen(); 1271 delegate_->ShowWrongHWIDScreen();
1330 return; 1272 return;
1331 } 1273 }
1332 1274
1333 PrefService* prefs = g_browser_process->local_state(); 1275 PrefService* prefs = g_browser_process->local_state();
1334 if (prefs->GetBoolean(prefs::kFactoryResetRequested)) { 1276 if (prefs->GetBoolean(prefs::kFactoryResetRequested)) {
1335 prefs->SetBoolean(prefs::kFactoryResetRequested, false); 1277 prefs->SetBoolean(prefs::kFactoryResetRequested, false);
1336 prefs->CommitPendingWrite(); 1278 prefs->CommitPendingWrite();
1337 base::ListValue args; 1279 HandleToggleResetScreen();
1338 HandleToggleResetScreen(&args);
1339 return; 1280 return;
1340 } 1281 }
1341 1282
1342 is_account_picker_showing_first_time_ = true; 1283 is_account_picker_showing_first_time_ = true;
1343 MaybePreloadAuthExtension(); 1284 MaybePreloadAuthExtension();
1344 1285
1345 if (ScreenLocker::default_screen_locker()) { 1286 if (ScreenLocker::default_screen_locker()) {
1346 content::NotificationService::current()->Notify( 1287 content::NotificationService::current()->Notify(
1347 chrome::NOTIFICATION_LOCK_WEBUI_READY, 1288 chrome::NOTIFICATION_LOCK_WEBUI_READY,
1348 content::NotificationService::AllSources(), 1289 content::NotificationService::AllSources(),
1349 content::NotificationService::NoDetails()); 1290 content::NotificationService::NoDetails());
1350 } 1291 }
1351 1292
1352 if (delegate_) 1293 if (delegate_)
1353 delegate_->OnSigninScreenReady(); 1294 delegate_->OnSigninScreenReady();
1354 } 1295 }
1355 1296
1356 void SigninScreenHandler::HandleWallpaperReady( 1297 void SigninScreenHandler::HandleWallpaperReady() {
1357 const base::ListValue* args) {
1358 if (ScreenLocker::default_screen_locker()) { 1298 if (ScreenLocker::default_screen_locker()) {
1359 content::NotificationService::current()->Notify( 1299 content::NotificationService::current()->Notify(
1360 chrome::NOTIFICATION_LOCK_BACKGROUND_DISPLAYED, 1300 chrome::NOTIFICATION_LOCK_BACKGROUND_DISPLAYED,
1361 content::NotificationService::AllSources(), 1301 content::NotificationService::AllSources(),
1362 content::NotificationService::NoDetails()); 1302 content::NotificationService::NoDetails());
1363 } 1303 }
1364 } 1304 }
1365 1305
1366 void SigninScreenHandler::HandleLoginWebuiReady(const base::ListValue* args) { 1306 void SigninScreenHandler::HandleLoginWebuiReady() {
1367 if (focus_stolen_) { 1307 if (focus_stolen_) {
1368 // Set focus to the Gaia page. 1308 // Set focus to the Gaia page.
1369 // TODO(altimofeev): temporary solution, until focus parameters are 1309 // TODO(altimofeev): temporary solution, until focus parameters are
1370 // implemented on the Gaia side. 1310 // implemented on the Gaia side.
1371 // Do this only once. Any subsequent call would relod GAIA frame. 1311 // Do this only once. Any subsequent call would relod GAIA frame.
1372 focus_stolen_ = false; 1312 focus_stolen_ = false;
1373 const char code[] = "gWindowOnLoad();"; 1313 const char code[] = "gWindowOnLoad();";
1374 RenderViewHost* rvh = web_ui()->GetWebContents()->GetRenderViewHost(); 1314 RenderViewHost* rvh = web_ui()->GetWebContents()->GetRenderViewHost();
1375 rvh->ExecuteJavascriptInWebFrame( 1315 rvh->ExecuteJavascriptInWebFrame(
1376 ASCIIToUTF16("//iframe[@id='signin-frame']\n//iframe"), 1316 ASCIIToUTF16("//iframe[@id='signin-frame']\n//iframe"),
(...skipping 11 matching lines...) Expand all
1388 // implemented on the Gaia side. 1328 // implemented on the Gaia side.
1389 const char code[] = "var gWindowOnLoad = window.onload; " 1329 const char code[] = "var gWindowOnLoad = window.onload; "
1390 "window.onload=function() {};"; 1330 "window.onload=function() {};";
1391 RenderViewHost* rvh = web_ui()->GetWebContents()->GetRenderViewHost(); 1331 RenderViewHost* rvh = web_ui()->GetWebContents()->GetRenderViewHost();
1392 rvh->ExecuteJavascriptInWebFrame( 1332 rvh->ExecuteJavascriptInWebFrame(
1393 ASCIIToUTF16("//iframe[@id='signin-frame']\n//iframe"), 1333 ASCIIToUTF16("//iframe[@id='signin-frame']\n//iframe"),
1394 ASCIIToUTF16(code)); 1334 ASCIIToUTF16(code));
1395 } 1335 }
1396 } 1336 }
1397 1337
1398 void SigninScreenHandler::HandleDemoWebuiReady(const base::ListValue* args) { 1338 void SigninScreenHandler::HandleDemoWebuiReady() {
1399 content::NotificationService::current()->Notify( 1339 content::NotificationService::current()->Notify(
1400 chrome::NOTIFICATION_DEMO_WEBUI_LOADED, 1340 chrome::NOTIFICATION_DEMO_WEBUI_LOADED,
1401 content::NotificationService::AllSources(), 1341 content::NotificationService::AllSources(),
1402 content::NotificationService::NoDetails()); 1342 content::NotificationService::NoDetails());
1403 } 1343 }
1404 1344
1405 void SigninScreenHandler::HandleSignOutUser(const base::ListValue* args) { 1345 void SigninScreenHandler::HandleSignOutUser() {
1406 if (delegate_) 1346 if (delegate_)
1407 delegate_->Signout(); 1347 delegate_->Signout();
1408 } 1348 }
1409 1349
1410 void SigninScreenHandler::HandleUserImagesLoaded(const base::ListValue* args) { 1350 void SigninScreenHandler::HandleUserImagesLoaded() {
1411 content::NotificationService::current()->Notify( 1351 content::NotificationService::current()->Notify(
1412 chrome::NOTIFICATION_LOGIN_USER_IMAGES_LOADED, 1352 chrome::NOTIFICATION_LOGIN_USER_IMAGES_LOADED,
1413 content::NotificationService::AllSources(), 1353 content::NotificationService::AllSources(),
1414 content::NotificationService::NoDetails()); 1354 content::NotificationService::NoDetails());
1415 } 1355 }
1416 1356
1417 void SigninScreenHandler::HandleNetworkErrorShown(const base::ListValue* args) { 1357 void SigninScreenHandler::HandleNetworkErrorShown() {
1418 content::NotificationService::current()->Notify( 1358 content::NotificationService::current()->Notify(
1419 chrome::NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN, 1359 chrome::NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN,
1420 content::NotificationService::AllSources(), 1360 content::NotificationService::AllSources(),
1421 content::NotificationService::NoDetails()); 1361 content::NotificationService::NoDetails());
1422 } 1362 }
1423 1363
1424 void SigninScreenHandler::HandleCreateAccount(const base::ListValue* args) { 1364 void SigninScreenHandler::HandleCreateAccount() {
1425 if (delegate_) 1365 if (delegate_)
1426 delegate_->CreateAccount(); 1366 delegate_->CreateAccount();
1427 } 1367 }
1428 1368
1429 void SigninScreenHandler::HandleOpenProxySettings(const base::ListValue* args) { 1369 void SigninScreenHandler::HandleOpenProxySettings() {
1430 BaseLoginDisplayHost::default_host()->OpenProxySettings(); 1370 BaseLoginDisplayHost::default_host()->OpenProxySettings();
1431 } 1371 }
1432 1372
1433 void SigninScreenHandler::HandleLoginVisible(const base::ListValue* args) { 1373 void SigninScreenHandler::HandleLoginVisible(const std::string& source) {
1434 std::string source;
1435 if (!args->GetString(0, &source)) {
1436 NOTREACHED();
1437 return;
1438 }
1439
1440 LOG(INFO) << "Login WebUI >> LoginVisible, source: " << source << ", " 1374 LOG(INFO) << "Login WebUI >> LoginVisible, source: " << source << ", "
1441 << "webui_visible_: " << webui_visible_; 1375 << "webui_visible_: " << webui_visible_;
1442 if (!webui_visible_) { 1376 if (!webui_visible_) {
1443 // There might be multiple messages from OOBE UI so send notifications after 1377 // There might be multiple messages from OOBE UI so send notifications after
1444 // the first one only. 1378 // the first one only.
1445 content::NotificationService::current()->Notify( 1379 content::NotificationService::current()->Notify(
1446 chrome::NOTIFICATION_LOGIN_WEBUI_VISIBLE, 1380 chrome::NOTIFICATION_LOGIN_WEBUI_VISIBLE,
1447 content::NotificationService::AllSources(), 1381 content::NotificationService::AllSources(),
1448 content::NotificationService::NoDetails()); 1382 content::NotificationService::NoDetails());
1449 } 1383 }
1450 webui_visible_ = true; 1384 webui_visible_ = true;
1451 } 1385 }
1452 1386
1453 void SigninScreenHandler::HandleCancelPasswordChangedFlow( 1387 void SigninScreenHandler::HandleCancelPasswordChangedFlow() {
1454 const base::ListValue* args) {
1455 cookie_remover_callback_ = base::Bind( 1388 cookie_remover_callback_ = base::Bind(
1456 &SigninScreenHandler::CancelPasswordChangedFlowInternal, 1389 &SigninScreenHandler::CancelPasswordChangedFlowInternal,
1457 weak_factory_.GetWeakPtr()); 1390 weak_factory_.GetWeakPtr());
1458 StartClearingCookies(); 1391 StartClearingCookies();
1459 } 1392 }
1460 1393
1461 void SigninScreenHandler::HandleMigrateUserData(const base::ListValue* args) { 1394 void SigninScreenHandler::HandleMigrateUserData(
1462 std::string old_password; 1395 const std::string& old_password) {
1463 if (!args->GetString(0, &old_password)) {
1464 NOTREACHED();
1465 return;
1466 }
1467 if (delegate_) 1396 if (delegate_)
1468 delegate_->MigrateUserData(old_password); 1397 delegate_->MigrateUserData(old_password);
1469 } 1398 }
1470 1399
1471 void SigninScreenHandler::HandleResyncUserData(const base::ListValue* args) { 1400 void SigninScreenHandler::HandleResyncUserData() {
1472 if (delegate_) 1401 if (delegate_)
1473 delegate_->ResyncUserData(); 1402 delegate_->ResyncUserData();
1474 } 1403 }
1475 1404
1476 void SigninScreenHandler::HandleLoginUIStateChanged( 1405 void SigninScreenHandler::HandleLoginUIStateChanged(const std::string& source,
1477 const base::ListValue* args) { 1406 bool new_value) {
1478 std::string source;
1479 bool new_value;
1480 if (!args->GetString(0, &source) || !args->GetBoolean(1, &new_value)) {
1481 NOTREACHED();
1482 return;
1483 }
1484 if (source == kSourceGaiaSignin) { 1407 if (source == kSourceGaiaSignin) {
1485 ui_state_ = UI_STATE_GAIA_SIGNIN; 1408 ui_state_ = UI_STATE_GAIA_SIGNIN;
1486 } else if (source == kSourceAccountPicker) { 1409 } else if (source == kSourceAccountPicker) {
1487 ui_state_ = UI_STATE_ACCOUNT_PICKER; 1410 ui_state_ = UI_STATE_ACCOUNT_PICKER;
1488 } else { 1411 } else {
1489 NOTREACHED(); 1412 NOTREACHED();
1490 return; 1413 return;
1491 } 1414 }
1492 1415
1493 LOG(INFO) << "Login WebUI >> active: " << new_value << ", " 1416 LOG(INFO) << "Login WebUI >> active: " << new_value << ", "
1494 << "source: " << source; 1417 << "source: " << source;
1495 login_ui_active_ = new_value; 1418 login_ui_active_ = new_value;
1496 } 1419 }
1497 1420
1498 void SigninScreenHandler::HandleUnlockOnLoginSuccess( 1421 void SigninScreenHandler::HandleUnlockOnLoginSuccess() {
1499 const base::ListValue* args) {
1500 DCHECK(UserManager::Get()->IsUserLoggedIn()); 1422 DCHECK(UserManager::Get()->IsUserLoggedIn());
1501 if (ScreenLocker::default_screen_locker()) 1423 if (ScreenLocker::default_screen_locker())
1502 ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess(); 1424 ScreenLocker::default_screen_locker()->UnlockOnLoginSuccess();
1503 } 1425 }
1504 1426
1505 void SigninScreenHandler::HandleLoginScreenUpdate( 1427 void SigninScreenHandler::HandleLoginScreenUpdate() {
1506 const base::ListValue* args) {
1507 LOG(INFO) << "Auth extension frame is loaded"; 1428 LOG(INFO) << "Auth extension frame is loaded";
1508 UpdateStateInternal(network_state_informer_->state(), 1429 UpdateStateInternal(network_state_informer_->state(),
1509 network_state_informer_->last_network_service_path(), 1430 network_state_informer_->last_network_service_path(),
1510 network_state_informer_->last_network_type(), 1431 network_state_informer_->last_network_type(),
1511 ErrorScreenActor::kErrorReasonUpdate, 1432 ErrorScreenActor::kErrorReasonUpdate,
1512 false); 1433 false);
1513 } 1434 }
1514 1435
1515 void SigninScreenHandler::HandleShowGaiaFrameError( 1436 void SigninScreenHandler::HandleShowGaiaFrameError(int error) {
1516 const base::ListValue* args) {
1517 int error;
1518 if (args->GetSize() != 1 || !args->GetInteger(0, &error)) {
1519 NOTREACHED();
1520 return;
1521 }
1522 if (network_state_informer_->state() != NetworkStateInformer::ONLINE) 1437 if (network_state_informer_->state() != NetworkStateInformer::ONLINE)
1523 return; 1438 return;
1524 LOG(WARNING) << "Gaia frame error: " << error; 1439 LOG(WARNING) << "Gaia frame error: " << error;
1525 std::string reason = base::StringPrintf("frame error:%d", error); 1440 std::string reason = base::StringPrintf("frame error:%d", error);
1526 UpdateStateInternal(network_state_informer_->state(), 1441 UpdateStateInternal(network_state_informer_->state(),
1527 network_state_informer_->last_network_service_path(), 1442 network_state_informer_->last_network_service_path(),
1528 network_state_informer_->last_network_type(), 1443 network_state_informer_->last_network_type(),
1529 reason, 1444 reason,
1530 false); 1445 false);
1531 } 1446 }
1532 1447
1533 void SigninScreenHandler::HandleShowLoadingTimeoutError( 1448 void SigninScreenHandler::HandleShowLoadingTimeoutError() {
1534 const base::ListValue* args) {
1535 UpdateStateInternal(network_state_informer_->state(), 1449 UpdateStateInternal(network_state_informer_->state(),
1536 network_state_informer_->last_network_service_path(), 1450 network_state_informer_->last_network_service_path(),
1537 network_state_informer_->last_network_type(), 1451 network_state_informer_->last_network_type(),
1538 ErrorScreenActor::kErrorReasonLoadingTimeout, 1452 ErrorScreenActor::kErrorReasonLoadingTimeout,
1539 false); 1453 false);
1540 } 1454 }
1541 1455
1542 void SigninScreenHandler::HandleUpdateOfflineLogin( 1456 void SigninScreenHandler::HandleUpdateOfflineLogin(bool offline_login_active) {
1543 const base::ListValue* args) {
1544 DCHECK(args && args->GetSize() == 1);
1545
1546 bool offline_login_active = false;
1547 if (!args->GetBoolean(0, &offline_login_active)) {
1548 NOTREACHED();
1549 return;
1550 }
1551 offline_login_active_ = offline_login_active; 1457 offline_login_active_ = offline_login_active;
1552 } 1458 }
1553 1459
1554 void SigninScreenHandler::StartClearingDnsCache() { 1460 void SigninScreenHandler::StartClearingDnsCache() {
1555 if (dns_clear_task_running_ || !g_browser_process->io_thread()) 1461 if (dns_clear_task_running_ || !g_browser_process->io_thread())
1556 return; 1462 return;
1557 1463
1558 dns_cleared_ = false; 1464 dns_cleared_ = false;
1559 BrowserThread::PostTaskAndReply( 1465 BrowserThread::PostTaskAndReply(
1560 BrowserThread::IO, FROM_HERE, 1466 BrowserThread::IO, FROM_HERE,
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1659 if (!cros_settings) 1565 if (!cros_settings)
1660 return false; 1566 return false;
1661 1567
1662 // Offline login is allowed only when user pods are hidden. 1568 // Offline login is allowed only when user pods are hidden.
1663 bool show_pods; 1569 bool show_pods;
1664 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_pods); 1570 cros_settings->GetBoolean(kAccountsPrefShowUserNamesOnSignIn, &show_pods);
1665 return !show_pods; 1571 return !show_pods;
1666 } 1572 }
1667 1573
1668 } // namespace chromeos 1574 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698