| 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 |