| 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 <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdlib.h> | 9 #include <stdlib.h> |
| 10 #include <sys/types.h> | 10 #include <sys/types.h> |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 #include "base/threading/sequenced_worker_pool.h" | 25 #include "base/threading/sequenced_worker_pool.h" |
| 26 #include "base/threading/thread_task_runner_handle.h" | 26 #include "base/threading/thread_task_runner_handle.h" |
| 27 #include "chrome/browser/browser_process.h" | 27 #include "chrome/browser/browser_process.h" |
| 28 #include "chrome/browser/browser_process_platform_part.h" | 28 #include "chrome/browser/browser_process_platform_part.h" |
| 29 #include "chrome/browser/chrome_notification_types.h" | 29 #include "chrome/browser/chrome_notification_types.h" |
| 30 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 30 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
| 31 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 31 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 32 #include "chrome/browser/chromeos/arc/arc_util.h" | 32 #include "chrome/browser/chromeos/arc/arc_util.h" |
| 33 #include "chrome/browser/chromeos/customization/customization_document.h" | 33 #include "chrome/browser/chromeos/customization/customization_document.h" |
| 34 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" | 34 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" |
| 35 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h" |
| 35 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 36 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 36 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 37 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 37 #include "chrome/browser/chromeos/login/helper.h" | 38 #include "chrome/browser/chromeos/login/helper.h" |
| 38 #include "chrome/browser/chromeos/login/hwid_checker.h" | 39 #include "chrome/browser/chromeos/login/hwid_checker.h" |
| 39 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.h" | 40 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.h" |
| 40 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" | 41 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" |
| 41 #include "chrome/browser/chromeos/login/screens/enable_debugging_screen.h" | 42 #include "chrome/browser/chromeos/login/screens/enable_debugging_screen.h" |
| 42 #include "chrome/browser/chromeos/login/screens/encryption_migration_screen.h" | 43 #include "chrome/browser/chromeos/login/screens/encryption_migration_screen.h" |
| 43 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 44 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
| 44 #include "chrome/browser/chromeos/login/screens/eula_screen.h" | 45 #include "chrome/browser/chromeos/login/screens/eula_screen.h" |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_WRONG_HWID)); | 580 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_WRONG_HWID)); |
| 580 } | 581 } |
| 581 | 582 |
| 582 void WizardController::ShowAutoEnrollmentCheckScreen() { | 583 void WizardController::ShowAutoEnrollmentCheckScreen() { |
| 583 VLOG(1) << "Showing Auto-enrollment check screen."; | 584 VLOG(1) << "Showing Auto-enrollment check screen."; |
| 584 UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); | 585 UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); |
| 585 AutoEnrollmentCheckScreen* screen = | 586 AutoEnrollmentCheckScreen* screen = |
| 586 AutoEnrollmentCheckScreen::Get(screen_manager()); | 587 AutoEnrollmentCheckScreen::Get(screen_manager()); |
| 587 if (retry_auto_enrollment_check_) | 588 if (retry_auto_enrollment_check_) |
| 588 screen->ClearState(); | 589 screen->ClearState(); |
| 589 screen->set_auto_enrollment_controller(host_->GetAutoEnrollmentController()); | 590 screen->set_auto_enrollment_controller(GetAutoEnrollmentController()); |
| 590 SetCurrentScreen(screen); | 591 SetCurrentScreen(screen); |
| 591 } | 592 } |
| 592 | 593 |
| 593 void WizardController::ShowSupervisedUserCreationScreen() { | 594 void WizardController::ShowSupervisedUserCreationScreen() { |
| 594 VLOG(1) << "Showing Locally managed user creation screen screen."; | 595 VLOG(1) << "Showing Locally managed user creation screen screen."; |
| 595 UpdateStatusAreaVisibilityForScreen( | 596 UpdateStatusAreaVisibilityForScreen( |
| 596 OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW); | 597 OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW); |
| 597 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW)); | 598 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW)); |
| 598 } | 599 } |
| 599 | 600 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 657 | 658 |
| 658 /////////////////////////////////////////////////////////////////////////////// | 659 /////////////////////////////////////////////////////////////////////////////// |
| 659 // WizardController, ExitHandlers: | 660 // WizardController, ExitHandlers: |
| 660 void WizardController::OnHIDDetectionCompleted() { | 661 void WizardController::OnHIDDetectionCompleted() { |
| 661 // Check for tests configuration. | 662 // Check for tests configuration. |
| 662 if (!StartupUtils::IsOobeCompleted()) | 663 if (!StartupUtils::IsOobeCompleted()) |
| 663 ShowNetworkScreen(); | 664 ShowNetworkScreen(); |
| 664 } | 665 } |
| 665 | 666 |
| 666 void WizardController::OnNetworkConnected() { | 667 void WizardController::OnNetworkConnected() { |
| 667 if (!StartupUtils::IsEulaAccepted()) { | 668 if (is_official_build_) { |
| 668 if (is_official_build_) { | 669 if (!StartupUtils::IsEulaAccepted()) { |
| 669 ShowEulaScreen(); | 670 ShowEulaScreen(); |
| 670 } else { | 671 } else { |
| 671 // Follow the same flow as if EULA had been accepted. | 672 // Possible cases: |
| 672 OnEulaAccepted(); | 673 // 1. EULA was accepted, forced shutdown/reboot during update. |
| 674 // 2. EULA was accepted, planned reboot after update. |
| 675 // Make sure that device is up to date. |
| 676 InitiateOOBEUpdate(); |
| 673 } | 677 } |
| 674 } else { | 678 } else { |
| 675 // Possible cases: | |
| 676 // 1. EULA was accepted, forced shutdown/reboot during update. | |
| 677 // 2. EULA was accepted, planned reboot after update. | |
| 678 // Make sure that device is up to date. | |
| 679 InitiateOOBEUpdate(); | 679 InitiateOOBEUpdate(); |
| 680 } | 680 } |
| 681 } | 681 } |
| 682 | 682 |
| 683 void WizardController::OnNetworkOffline() { | 683 void WizardController::OnNetworkOffline() { |
| 684 // TODO(dpolukhin): if(is_out_of_box_) we cannot work offline and | 684 // TODO(dpolukhin): if(is_out_of_box_) we cannot work offline and |
| 685 // should report some error message here and stay on the same screen. | 685 // should report some error message here and stay on the same screen. |
| 686 ShowLoginScreen(LoginScreenContext()); | 686 ShowLoginScreen(LoginScreenContext()); |
| 687 } | 687 } |
| 688 | 688 |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 924 weak_factory_.GetWeakPtr())); | 924 weak_factory_.GetWeakPtr())); |
| 925 DelayNetworkCall( | 925 DelayNetworkCall( |
| 926 base::TimeDelta::FromMilliseconds(kDefaultNetworkRetryDelayMS), | 926 base::TimeDelta::FromMilliseconds(kDefaultNetworkRetryDelayMS), |
| 927 ServicesCustomizationDocument::GetInstance() | 927 ServicesCustomizationDocument::GetInstance() |
| 928 ->EnsureCustomizationAppliedClosure()); | 928 ->EnsureCustomizationAppliedClosure()); |
| 929 | 929 |
| 930 // Now that EULA has been accepted (for official builds), enable portal check. | 930 // Now that EULA has been accepted (for official builds), enable portal check. |
| 931 // ChromiumOS builds would go though this code path too. | 931 // ChromiumOS builds would go though this code path too. |
| 932 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList( | 932 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList( |
| 933 NetworkStateHandler::kDefaultCheckPortalList); | 933 NetworkStateHandler::kDefaultCheckPortalList); |
| 934 host_->GetAutoEnrollmentController()->Start(); | 934 GetAutoEnrollmentController()->Start(); |
| 935 host_->PrewarmAuthentication(); | 935 host_->PrewarmAuthentication(); |
| 936 network_portal_detector::GetInstance()->Enable(true); | 936 network_portal_detector::GetInstance()->Enable(true); |
| 937 } | 937 } |
| 938 | 938 |
| 939 void WizardController::PerformOOBECompletedActions() { | 939 void WizardController::PerformOOBECompletedActions() { |
| 940 // Avoid marking OOBE as completed multiple times if going from login screen | 940 // Avoid marking OOBE as completed multiple times if going from login screen |
| 941 // to enrollment screen (and back). | 941 // to enrollment screen (and back). |
| 942 if (oobe_marked_completed_) { | 942 if (oobe_marked_completed_) { |
| 943 return; | 943 return; |
| 944 } | 944 } |
| (...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1533 ? policy::EnrollmentConfig::MODE_MANUAL | 1533 ? policy::EnrollmentConfig::MODE_MANUAL |
| 1534 : policy::EnrollmentConfig::MODE_MANUAL_REENROLLMENT; | 1534 : policy::EnrollmentConfig::MODE_MANUAL_REENROLLMENT; |
| 1535 } | 1535 } |
| 1536 | 1536 |
| 1537 EnrollmentScreen* screen = EnrollmentScreen::Get(screen_manager()); | 1537 EnrollmentScreen* screen = EnrollmentScreen::Get(screen_manager()); |
| 1538 screen->SetParameters(effective_config, shark_controller_.get()); | 1538 screen->SetParameters(effective_config, shark_controller_.get()); |
| 1539 UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); | 1539 UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); |
| 1540 SetCurrentScreen(screen); | 1540 SetCurrentScreen(screen); |
| 1541 } | 1541 } |
| 1542 | 1542 |
| 1543 AutoEnrollmentController* WizardController::GetAutoEnrollmentController() { |
| 1544 if (!auto_enrollment_controller_) |
| 1545 auto_enrollment_controller_ = base::MakeUnique<AutoEnrollmentController>(); |
| 1546 return auto_enrollment_controller_.get(); |
| 1547 } |
| 1548 |
| 1543 } // namespace chromeos | 1549 } // namespace chromeos |
| OLD | NEW |