OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chromeos/login/wizard_controller.h" | 5 #include "chrome/browser/chromeos/login/wizard_controller.h" |
6 | 6 |
7 #include <signal.h> | 7 #include <signal.h> |
8 #include <stdlib.h> | 8 #include <stdlib.h> |
9 #include <sys/types.h> | 9 #include <sys/types.h> |
10 | 10 |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 first_screen_name == WizardController::kTestNoScreenName)) { | 265 first_screen_name == WizardController::kTestNoScreenName)) { |
266 first_screen_name_ = screen_pref; | 266 first_screen_name_ = screen_pref; |
267 } | 267 } |
268 | 268 |
269 AdvanceToScreen(first_screen_name_); | 269 AdvanceToScreen(first_screen_name_); |
270 if (!IsMachineHWIDCorrect() && !StartupUtils::IsDeviceRegistered() && | 270 if (!IsMachineHWIDCorrect() && !StartupUtils::IsDeviceRegistered() && |
271 first_screen_name_.empty()) | 271 first_screen_name_.empty()) |
272 ShowWrongHWIDScreen(); | 272 ShowWrongHWIDScreen(); |
273 } | 273 } |
274 | 274 |
275 chromeos::NetworkScreen* WizardController::GetNetworkScreen() { | |
276 return static_cast<chromeos::NetworkScreen*>(GetScreen(kNetworkScreenName)); | |
277 } | |
278 | |
279 chromeos::UpdateScreen* WizardController::GetUpdateScreen() { | |
280 return static_cast<chromeos::UpdateScreen*>(GetScreen(kUpdateScreenName)); | |
281 } | |
282 | |
283 chromeos::UserImageScreen* WizardController::GetUserImageScreen() { | |
284 return static_cast<chromeos::UserImageScreen*>( | |
285 GetScreen(kUserImageScreenName)); | |
286 } | |
287 | |
288 chromeos::EnrollmentScreen* WizardController::GetEnrollmentScreen() { | |
289 return static_cast<chromeos::EnrollmentScreen*>( | |
290 GetScreen(kEnrollmentScreenName)); | |
291 } | |
292 | |
293 chromeos::AutoEnrollmentCheckScreen* | |
294 WizardController::GetAutoEnrollmentCheckScreen() { | |
295 return static_cast<chromeos::AutoEnrollmentCheckScreen*>( | |
296 GetScreen(kAutoEnrollmentCheckScreenName)); | |
297 } | |
298 | |
299 chromeos::SupervisedUserCreationScreen* | |
300 WizardController::GetSupervisedUserCreationScreen() { | |
301 return static_cast<chromeos::SupervisedUserCreationScreen*>( | |
302 GetScreen(kSupervisedUserCreationScreenName)); | |
303 } | |
304 | |
305 chromeos::ErrorScreen* WizardController::GetErrorScreen() { | 275 chromeos::ErrorScreen* WizardController::GetErrorScreen() { |
306 return static_cast<chromeos::ErrorScreen*>(GetScreen(kErrorScreenName)); | 276 return static_cast<chromeos::ErrorScreen*>(GetScreen(kErrorScreenName)); |
307 } | 277 } |
308 | 278 |
309 WizardScreen* WizardController::GetScreen(const std::string& screen_name) { | |
310 ScreenMap::const_iterator iter = screens_.find(screen_name); | |
311 if (iter != screens_.end()) { | |
312 return iter->second.get(); | |
313 } | |
314 WizardScreen* result = CreateScreen(screen_name); | |
315 DCHECK(result) << "Can not create screen named " << screen_name; | |
316 screens_[screen_name] = make_linked_ptr(result); | |
317 return result; | |
318 } | |
319 | |
320 WizardScreen* WizardController::CreateScreen(const std::string& screen_name) { | 279 WizardScreen* WizardController::CreateScreen(const std::string& screen_name) { |
321 if (screen_name == kNetworkScreenName) { | 280 if (screen_name == kNetworkScreenName) { |
322 return new chromeos::NetworkScreen(this, | 281 return new chromeos::NetworkScreen(this, |
323 oobe_display_->GetNetworkScreenActor()); | 282 oobe_display_->GetNetworkScreenActor()); |
324 } else if (screen_name == kErrorScreenName) { | 283 } else if (screen_name == kErrorScreenName) { |
325 return new chromeos::ErrorScreen(this, | 284 return new chromeos::ErrorScreen(this, |
326 oobe_display_->GetErrorScreenActor()); | 285 oobe_display_->GetErrorScreenActor()); |
327 } else if (screen_name == kUpdateScreenName) { | 286 } else if (screen_name == kUpdateScreenName) { |
328 chromeos::UpdateScreen* result = | 287 chromeos::UpdateScreen* result = |
329 new chromeos::UpdateScreen(this, oobe_display_->GetUpdateScreenActor()); | 288 new chromeos::UpdateScreen(this, oobe_display_->GetUpdateScreenActor()); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 | 397 |
439 bool is_auto_enrollment = false; | 398 bool is_auto_enrollment = false; |
440 std::string user; | 399 std::string user; |
441 if (screen_parameters_.get()) { | 400 if (screen_parameters_.get()) { |
442 screen_parameters_->GetBoolean("is_auto_enrollment", &is_auto_enrollment); | 401 screen_parameters_->GetBoolean("is_auto_enrollment", &is_auto_enrollment); |
443 screen_parameters_->GetString("user", &user); | 402 screen_parameters_->GetString("user", &user); |
444 } | 403 } |
445 | 404 |
446 EnrollmentScreenActor::EnrollmentMode mode = | 405 EnrollmentScreenActor::EnrollmentMode mode = |
447 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL; | 406 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL; |
448 EnrollmentScreen* screen = GetEnrollmentScreen(); | 407 EnrollmentScreen* screen = EnrollmentScreen::Get(this); |
449 std::string enrollment_domain = GetForcedEnrollmentDomain(); | 408 std::string enrollment_domain = GetForcedEnrollmentDomain(); |
450 if (is_auto_enrollment) { | 409 if (is_auto_enrollment) { |
451 mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO; | 410 mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO; |
452 } else if (enrollment_recovery_) { | 411 } else if (enrollment_recovery_) { |
453 mode = EnrollmentScreenActor::ENROLLMENT_MODE_RECOVERY; | 412 mode = EnrollmentScreenActor::ENROLLMENT_MODE_RECOVERY; |
454 enrollment_domain = GetEnrollmentRecoveryDomain(); | 413 enrollment_domain = GetEnrollmentRecoveryDomain(); |
455 } else if (ShouldAutoStartEnrollment() && !CanExitEnrollment()) { | 414 } else if (ShouldAutoStartEnrollment() && !CanExitEnrollment()) { |
456 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED; | 415 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED; |
457 } | 416 } |
458 | 417 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 | 455 |
497 void WizardController::ShowWrongHWIDScreen() { | 456 void WizardController::ShowWrongHWIDScreen() { |
498 VLOG(1) << "Showing wrong HWID screen."; | 457 VLOG(1) << "Showing wrong HWID screen."; |
499 SetStatusAreaVisible(false); | 458 SetStatusAreaVisible(false); |
500 SetCurrentScreen(GetScreen(kWrongHWIDScreenName)); | 459 SetCurrentScreen(GetScreen(kWrongHWIDScreenName)); |
501 } | 460 } |
502 | 461 |
503 void WizardController::ShowAutoEnrollmentCheckScreen() { | 462 void WizardController::ShowAutoEnrollmentCheckScreen() { |
504 VLOG(1) << "Showing Auto-enrollment check screen."; | 463 VLOG(1) << "Showing Auto-enrollment check screen."; |
505 SetStatusAreaVisible(true); | 464 SetStatusAreaVisible(true); |
506 AutoEnrollmentCheckScreen* screen = GetAutoEnrollmentCheckScreen(); | 465 AutoEnrollmentCheckScreen* screen = AutoEnrollmentCheckScreen::Get(this); |
507 screen->set_auto_enrollment_controller(host_->GetAutoEnrollmentController()); | 466 screen->set_auto_enrollment_controller(host_->GetAutoEnrollmentController()); |
508 SetCurrentScreen(screen); | 467 SetCurrentScreen(screen); |
509 } | 468 } |
510 | 469 |
511 void WizardController::ShowSupervisedUserCreationScreen() { | 470 void WizardController::ShowSupervisedUserCreationScreen() { |
512 VLOG(1) << "Showing Locally managed user creation screen screen."; | 471 VLOG(1) << "Showing Locally managed user creation screen screen."; |
513 SetStatusAreaVisible(true); | 472 SetStatusAreaVisible(true); |
514 SetCurrentScreen(GetScreen(kSupervisedUserCreationScreenName)); | 473 SetCurrentScreen(GetScreen(kSupervisedUserCreationScreenName)); |
515 } | 474 } |
516 | 475 |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 ShowAutoEnrollmentCheckScreen(); | 719 ShowAutoEnrollmentCheckScreen(); |
761 } | 720 } |
762 | 721 |
763 void WizardController::OnHostPairingFinished() { | 722 void WizardController::OnHostPairingFinished() { |
764 ShowAutoEnrollmentCheckScreen(); | 723 ShowAutoEnrollmentCheckScreen(); |
765 } | 724 } |
766 | 725 |
767 void WizardController::InitiateOOBEUpdate() { | 726 void WizardController::InitiateOOBEUpdate() { |
768 PerformPostEulaActions(); | 727 PerformPostEulaActions(); |
769 SetCurrentScreenSmooth(GetScreen(kUpdateScreenName), true); | 728 SetCurrentScreenSmooth(GetScreen(kUpdateScreenName), true); |
770 GetUpdateScreen()->StartNetworkCheck(); | 729 UpdateScreen::Get(this)->StartNetworkCheck(); |
771 } | 730 } |
772 | 731 |
773 void WizardController::StartTimezoneResolve() { | 732 void WizardController::StartTimezoneResolve() { |
774 geolocation_provider_.reset(new SimpleGeolocationProvider( | 733 geolocation_provider_.reset(new SimpleGeolocationProvider( |
775 g_browser_process->system_request_context(), | 734 g_browser_process->system_request_context(), |
776 SimpleGeolocationProvider::DefaultGeolocationProviderURL())); | 735 SimpleGeolocationProvider::DefaultGeolocationProviderURL())); |
777 geolocation_provider_->RequestGeolocation( | 736 geolocation_provider_->RequestGeolocation( |
778 base::TimeDelta::FromSeconds(kResolveTimeZoneTimeoutSeconds), | 737 base::TimeDelta::FromSeconds(kResolveTimeZoneTimeoutSeconds), |
779 base::Bind(&WizardController::OnLocationResolved, | 738 base::Bind(&WizardController::OnLocationResolved, |
780 weak_factory_.GetWeakPtr())); | 739 weak_factory_.GetWeakPtr())); |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1251 if (ShouldAutoStartEnrollment() || ShouldRecoverEnrollment()) { | 1210 if (ShouldAutoStartEnrollment() || ShouldRecoverEnrollment()) { |
1252 StartupUtils::MarkEulaAccepted(); | 1211 StartupUtils::MarkEulaAccepted(); |
1253 auth_token_ = token; | 1212 auth_token_ = token; |
1254 InitiateOOBEUpdate(); | 1213 InitiateOOBEUpdate(); |
1255 } else { | 1214 } else { |
1256 LOG(WARNING) << "Not in device enrollment."; | 1215 LOG(WARNING) << "Not in device enrollment."; |
1257 } | 1216 } |
1258 } | 1217 } |
1259 | 1218 |
1260 } // namespace chromeos | 1219 } // namespace chromeos |
OLD | NEW |