| 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 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 | 286 |
| 287 WizardScreen* WizardController::CreateScreen(const std::string& screen_name) { | 287 WizardScreen* WizardController::CreateScreen(const std::string& screen_name) { |
| 288 if (screen_name == kNetworkScreenName) { | 288 if (screen_name == kNetworkScreenName) { |
| 289 return new chromeos::NetworkScreen(this, | 289 return new chromeos::NetworkScreen(this, |
| 290 oobe_display_->GetNetworkScreenActor()); | 290 oobe_display_->GetNetworkScreenActor()); |
| 291 } else if (screen_name == kErrorScreenName) { | 291 } else if (screen_name == kErrorScreenName) { |
| 292 return new chromeos::ErrorScreen(this, | 292 return new chromeos::ErrorScreen(this, |
| 293 oobe_display_->GetErrorScreenActor()); | 293 oobe_display_->GetErrorScreenActor()); |
| 294 } else if (screen_name == kUpdateScreenName) { | 294 } else if (screen_name == kUpdateScreenName) { |
| 295 chromeos::UpdateScreen* result = | 295 chromeos::UpdateScreen* result = |
| 296 new chromeos::UpdateScreen(this, oobe_display_->GetUpdateScreenActor()); | 296 new chromeos::UpdateScreen(this, |
| 297 oobe_display_->GetUpdateScreenActor(), |
| 298 remora_controller_.get()); |
| 297 result->SetRebootCheckDelay(kWaitForRebootTimeSec); | 299 result->SetRebootCheckDelay(kWaitForRebootTimeSec); |
| 298 return result; | 300 return result; |
| 299 } else if (screen_name == kUserImageScreenName) { | 301 } else if (screen_name == kUserImageScreenName) { |
| 300 return new chromeos::UserImageScreen( | 302 return new chromeos::UserImageScreen( |
| 301 this, oobe_display_->GetUserImageScreenActor()); | 303 this, oobe_display_->GetUserImageScreenActor()); |
| 302 } else if (screen_name == kEulaScreenName) { | 304 } else if (screen_name == kEulaScreenName) { |
| 303 return new chromeos::EulaScreen(this, oobe_display_->GetEulaScreenActor()); | 305 return new chromeos::EulaScreen(this, oobe_display_->GetEulaScreenActor()); |
| 304 } else if (screen_name == kEnrollmentScreenName) { | 306 } else if (screen_name == kEnrollmentScreenName) { |
| 305 return new chromeos::EnrollmentScreen( | 307 return new chromeos::EnrollmentScreen( |
| 306 this, oobe_display_->GetEnrollmentScreenActor()); | 308 this, oobe_display_->GetEnrollmentScreenActor()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 322 } else if (screen_name == kSupervisedUserCreationScreenName) { | 324 } else if (screen_name == kSupervisedUserCreationScreenName) { |
| 323 return new chromeos::SupervisedUserCreationScreen( | 325 return new chromeos::SupervisedUserCreationScreen( |
| 324 this, oobe_display_->GetSupervisedUserCreationScreenActor()); | 326 this, oobe_display_->GetSupervisedUserCreationScreenActor()); |
| 325 } else if (screen_name == kHIDDetectionScreenName) { | 327 } else if (screen_name == kHIDDetectionScreenName) { |
| 326 return new chromeos::HIDDetectionScreen( | 328 return new chromeos::HIDDetectionScreen( |
| 327 this, oobe_display_->GetHIDDetectionScreenActor()); | 329 this, oobe_display_->GetHIDDetectionScreenActor()); |
| 328 } else if (screen_name == kAutoEnrollmentCheckScreenName) { | 330 } else if (screen_name == kAutoEnrollmentCheckScreenName) { |
| 329 return new chromeos::AutoEnrollmentCheckScreen( | 331 return new chromeos::AutoEnrollmentCheckScreen( |
| 330 this, oobe_display_->GetAutoEnrollmentCheckScreenActor()); | 332 this, oobe_display_->GetAutoEnrollmentCheckScreenActor()); |
| 331 } else if (screen_name == kControllerPairingScreenName) { | 333 } else if (screen_name == kControllerPairingScreenName) { |
| 332 if (!controller_pairing_controller_) { | 334 if (!shark_controller_) { |
| 333 controller_pairing_controller_.reset( | 335 shark_controller_.reset( |
| 334 new pairing_chromeos::BluetoothControllerPairingController()); | 336 new pairing_chromeos::BluetoothControllerPairingController()); |
| 335 } | 337 } |
| 336 return new ControllerPairingScreen( | 338 return new ControllerPairingScreen( |
| 337 this, oobe_display_->GetControllerPairingScreenActor(), | 339 this, oobe_display_->GetControllerPairingScreenActor(), |
| 338 controller_pairing_controller_.get()); | 340 shark_controller_.get()); |
| 339 } else if (screen_name == kHostPairingScreenName) { | 341 } else if (screen_name == kHostPairingScreenName) { |
| 340 if (!host_pairing_controller_) { | 342 if (!remora_controller_) { |
| 341 host_pairing_controller_.reset( | 343 remora_controller_.reset( |
| 342 new pairing_chromeos::BluetoothHostPairingController()); | 344 new pairing_chromeos::BluetoothHostPairingController()); |
| 343 host_pairing_controller_->StartPairing(); | 345 remora_controller_->StartPairing(); |
| 344 } | 346 } |
| 345 return new HostPairingScreen(this, | 347 return new HostPairingScreen(this, |
| 346 oobe_display_->GetHostPairingScreenActor(), | 348 oobe_display_->GetHostPairingScreenActor(), |
| 347 host_pairing_controller_.get()); | 349 remora_controller_.get()); |
| 348 } | 350 } |
| 349 return NULL; | 351 return NULL; |
| 350 } | 352 } |
| 351 | 353 |
| 352 void WizardController::ShowNetworkScreen() { | 354 void WizardController::ShowNetworkScreen() { |
| 353 VLOG(1) << "Showing network screen."; | 355 VLOG(1) << "Showing network screen."; |
| 354 // Hide the status area initially; it only appears after OOBE first animates | 356 // Hide the status area initially; it only appears after OOBE first animates |
| 355 // in. Keep it visible if the user goes back to the existing network screen. | 357 // in. Keep it visible if the user goes back to the existing network screen. |
| 356 SetStatusAreaVisible(HasScreen(kNetworkScreenName)); | 358 SetStatusAreaVisible(HasScreen(kNetworkScreenName)); |
| 357 SetCurrentScreen(GetScreen(kNetworkScreenName)); | 359 SetCurrentScreen(GetScreen(kNetworkScreenName)); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 std::string enrollment_domain = GetForcedEnrollmentDomain(); | 431 std::string enrollment_domain = GetForcedEnrollmentDomain(); |
| 430 if (is_auto_enrollment) { | 432 if (is_auto_enrollment) { |
| 431 mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO; | 433 mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO; |
| 432 } else if (enrollment_recovery_) { | 434 } else if (enrollment_recovery_) { |
| 433 mode = EnrollmentScreenActor::ENROLLMENT_MODE_RECOVERY; | 435 mode = EnrollmentScreenActor::ENROLLMENT_MODE_RECOVERY; |
| 434 enrollment_domain = GetEnrollmentRecoveryDomain(); | 436 enrollment_domain = GetEnrollmentRecoveryDomain(); |
| 435 } else if (ShouldAutoStartEnrollment() && !CanExitEnrollment()) { | 437 } else if (ShouldAutoStartEnrollment() && !CanExitEnrollment()) { |
| 436 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED; | 438 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED; |
| 437 } | 439 } |
| 438 | 440 |
| 439 screen->SetParameters(mode, enrollment_domain, user, auth_token_, | 441 screen->SetParameters(mode, enrollment_domain, user, |
| 440 controller_pairing_controller_.get(), | 442 shark_controller_.get(), |
| 441 host_pairing_controller_.get()); | 443 remora_controller_.get()); |
| 442 SetCurrentScreen(screen); | 444 SetCurrentScreen(screen); |
| 443 } | 445 } |
| 444 | 446 |
| 445 void WizardController::ShowResetScreen() { | 447 void WizardController::ShowResetScreen() { |
| 446 VLOG(1) << "Showing reset screen."; | 448 VLOG(1) << "Showing reset screen."; |
| 447 SetStatusAreaVisible(false); | 449 SetStatusAreaVisible(false); |
| 448 SetCurrentScreen(GetScreen(kResetScreenName)); | 450 SetCurrentScreen(GetScreen(kResetScreenName)); |
| 449 } | 451 } |
| 450 | 452 |
| 451 void WizardController::ShowKioskEnableScreen() { | 453 void WizardController::ShowKioskEnableScreen() { |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 ShowLoginScreen(LoginScreenContext()); | 576 ShowLoginScreen(LoginScreenContext()); |
| 575 } | 577 } |
| 576 | 578 |
| 577 void WizardController::OnUpdateCompleted() { | 579 void WizardController::OnUpdateCompleted() { |
| 578 const bool is_shark = g_browser_process->platform_part() | 580 const bool is_shark = g_browser_process->platform_part() |
| 579 ->browser_policy_connector_chromeos() | 581 ->browser_policy_connector_chromeos() |
| 580 ->GetDeviceCloudPolicyManager() | 582 ->GetDeviceCloudPolicyManager() |
| 581 ->IsSharkRequisition(); | 583 ->IsSharkRequisition(); |
| 582 if (is_shark) { | 584 if (is_shark) { |
| 583 ShowControllerPairingScreen(); | 585 ShowControllerPairingScreen(); |
| 584 } else if (!auth_token_.empty()) { | |
| 585 // TODO(achuith): There is an issue with the auto enrollment check and | |
| 586 // remote enrollment. crbug.com/403147. | |
| 587 ShowEnrollmentScreen(); | |
| 588 } else { | 586 } else { |
| 589 ShowAutoEnrollmentCheckScreen(); | 587 ShowAutoEnrollmentCheckScreen(); |
| 590 } | 588 } |
| 591 } | 589 } |
| 592 | 590 |
| 593 void WizardController::OnEulaAccepted() { | 591 void WizardController::OnEulaAccepted() { |
| 594 time_eula_accepted_ = base::Time::Now(); | 592 time_eula_accepted_ = base::Time::Now(); |
| 595 StartupUtils::MarkEulaAccepted(); | 593 StartupUtils::MarkEulaAccepted(); |
| 596 InitiateMetricsReportingChange( | 594 InitiateMetricsReportingChange( |
| 597 usage_statistics_reporting_, | 595 usage_statistics_reporting_, |
| (...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1246 | 1244 |
| 1247 if (!shark_connection_listener_) { | 1245 if (!shark_connection_listener_) { |
| 1248 shark_connection_listener_.reset( | 1246 shark_connection_listener_.reset( |
| 1249 new pairing_chromeos::SharkConnectionListener( | 1247 new pairing_chromeos::SharkConnectionListener( |
| 1250 base::Bind(&WizardController::OnSharkConnected, | 1248 base::Bind(&WizardController::OnSharkConnected, |
| 1251 weak_factory_.GetWeakPtr()))); | 1249 weak_factory_.GetWeakPtr()))); |
| 1252 } | 1250 } |
| 1253 } | 1251 } |
| 1254 | 1252 |
| 1255 void WizardController::OnSharkConnected( | 1253 void WizardController::OnSharkConnected( |
| 1256 scoped_ptr<pairing_chromeos::HostPairingController> pairing_controller) { | 1254 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { |
| 1257 VLOG(1) << "OnSharkConnected"; | 1255 VLOG(1) << "OnSharkConnected"; |
| 1258 host_pairing_controller_ = pairing_controller.Pass(); | 1256 remora_controller_ = remora_controller.Pass(); |
| 1259 base::MessageLoop::current()->DeleteSoon( | 1257 base::MessageLoop::current()->DeleteSoon( |
| 1260 FROM_HERE, shark_connection_listener_.release()); | 1258 FROM_HERE, shark_connection_listener_.release()); |
| 1261 shark_controller_detected_ = true; | 1259 shark_controller_detected_ = true; |
| 1262 ShowHostPairingScreen(); | 1260 ShowHostPairingScreen(); |
| 1263 } | 1261 } |
| 1264 | 1262 |
| 1265 } // namespace chromeos | 1263 } // namespace chromeos |
| OLD | NEW |