| 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 16 matching lines...) Expand all Loading... |
| 27 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 27 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 28 #include "chrome/browser/chromeos/customization_document.h" | 28 #include "chrome/browser/chromeos/customization_document.h" |
| 29 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" | 29 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" |
| 30 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" | 30 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" |
| 31 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 31 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 32 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 32 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 33 #include "chrome/browser/chromeos/login/helper.h" | 33 #include "chrome/browser/chromeos/login/helper.h" |
| 34 #include "chrome/browser/chromeos/login/hwid_checker.h" | 34 #include "chrome/browser/chromeos/login/hwid_checker.h" |
| 35 #include "chrome/browser/chromeos/login/login_utils.h" | 35 #include "chrome/browser/chromeos/login/login_utils.h" |
| 36 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" | 36 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" |
| 37 #include "chrome/browser/chromeos/login/screens/enable_debugging_screen.h" |
| 37 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 38 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
| 38 #include "chrome/browser/chromeos/login/screens/eula_screen.h" | 39 #include "chrome/browser/chromeos/login/screens/eula_screen.h" |
| 39 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" | 40 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" |
| 40 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" | 41 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" |
| 41 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" | 42 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" |
| 42 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 43 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
| 43 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 44 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
| 44 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" | 45 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" |
| 45 #include "chrome/browser/chromeos/login/screens/update_screen.h" | 46 #include "chrome/browser/chromeos/login/screens/update_screen.h" |
| 46 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" | 47 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 | 145 |
| 145 } // namespace | 146 } // namespace |
| 146 | 147 |
| 147 namespace chromeos { | 148 namespace chromeos { |
| 148 | 149 |
| 149 const char WizardController::kNetworkScreenName[] = "network"; | 150 const char WizardController::kNetworkScreenName[] = "network"; |
| 150 const char WizardController::kLoginScreenName[] = "login"; | 151 const char WizardController::kLoginScreenName[] = "login"; |
| 151 const char WizardController::kUpdateScreenName[] = "update"; | 152 const char WizardController::kUpdateScreenName[] = "update"; |
| 152 const char WizardController::kUserImageScreenName[] = "image"; | 153 const char WizardController::kUserImageScreenName[] = "image"; |
| 153 const char WizardController::kEulaScreenName[] = "eula"; | 154 const char WizardController::kEulaScreenName[] = "eula"; |
| 155 const char WizardController::kEnableDebuggingScreenName[] = "debugging"; |
| 154 const char WizardController::kEnrollmentScreenName[] = "enroll"; | 156 const char WizardController::kEnrollmentScreenName[] = "enroll"; |
| 155 const char WizardController::kResetScreenName[] = "reset"; | 157 const char WizardController::kResetScreenName[] = "reset"; |
| 156 const char WizardController::kKioskEnableScreenName[] = "kiosk-enable"; | 158 const char WizardController::kKioskEnableScreenName[] = "kiosk-enable"; |
| 157 const char WizardController::kKioskAutolaunchScreenName[] = "autolaunch"; | 159 const char WizardController::kKioskAutolaunchScreenName[] = "autolaunch"; |
| 158 const char WizardController::kErrorScreenName[] = "error-message"; | 160 const char WizardController::kErrorScreenName[] = "error-message"; |
| 159 const char WizardController::kTermsOfServiceScreenName[] = "tos"; | 161 const char WizardController::kTermsOfServiceScreenName[] = "tos"; |
| 160 const char WizardController::kAutoEnrollmentCheckScreenName[] = | 162 const char WizardController::kAutoEnrollmentCheckScreenName[] = |
| 161 "auto-enrollment-check"; | 163 "auto-enrollment-check"; |
| 162 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; | 164 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; |
| 163 const char WizardController::kSupervisedUserCreationScreenName[] = | 165 const char WizardController::kSupervisedUserCreationScreenName[] = |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 this, oobe_display_->GetUserImageScreenActor()); | 308 this, oobe_display_->GetUserImageScreenActor()); |
| 307 } else if (screen_name == kEulaScreenName) { | 309 } else if (screen_name == kEulaScreenName) { |
| 308 return new chromeos::EulaScreen( | 310 return new chromeos::EulaScreen( |
| 309 this, this, oobe_display_->GetEulaScreenActor()); | 311 this, this, oobe_display_->GetEulaScreenActor()); |
| 310 } else if (screen_name == kEnrollmentScreenName) { | 312 } else if (screen_name == kEnrollmentScreenName) { |
| 311 return new chromeos::EnrollmentScreen( | 313 return new chromeos::EnrollmentScreen( |
| 312 this, oobe_display_->GetEnrollmentScreenActor()); | 314 this, oobe_display_->GetEnrollmentScreenActor()); |
| 313 } else if (screen_name == kResetScreenName) { | 315 } else if (screen_name == kResetScreenName) { |
| 314 return new chromeos::ResetScreen(this, | 316 return new chromeos::ResetScreen(this, |
| 315 oobe_display_->GetResetScreenActor()); | 317 oobe_display_->GetResetScreenActor()); |
| 318 } else if (screen_name == kEnableDebuggingScreenName) { |
| 319 return new chromeos::EnableDebuggingScreen( |
| 320 this, |
| 321 oobe_display_->GetEnableDebuggingScreenActor()); |
| 316 } else if (screen_name == kKioskEnableScreenName) { | 322 } else if (screen_name == kKioskEnableScreenName) { |
| 317 return new chromeos::KioskEnableScreen( | 323 return new chromeos::KioskEnableScreen( |
| 318 this, oobe_display_->GetKioskEnableScreenActor()); | 324 this, oobe_display_->GetKioskEnableScreenActor()); |
| 319 } else if (screen_name == kKioskAutolaunchScreenName) { | 325 } else if (screen_name == kKioskAutolaunchScreenName) { |
| 320 return new chromeos::KioskAutolaunchScreen( | 326 return new chromeos::KioskAutolaunchScreen( |
| 321 this, oobe_display_->GetKioskAutolaunchScreenActor()); | 327 this, oobe_display_->GetKioskAutolaunchScreenActor()); |
| 322 } else if (screen_name == kTermsOfServiceScreenName) { | 328 } else if (screen_name == kTermsOfServiceScreenName) { |
| 323 return new chromeos::TermsOfServiceScreen( | 329 return new chromeos::TermsOfServiceScreen( |
| 324 this, oobe_display_->GetTermsOfServiceScreenActor()); | 330 this, oobe_display_->GetTermsOfServiceScreenActor()); |
| 325 } else if (screen_name == kWrongHWIDScreenName) { | 331 } else if (screen_name == kWrongHWIDScreenName) { |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 SetStatusAreaVisible(false); | 472 SetStatusAreaVisible(false); |
| 467 SetCurrentScreen(GetScreen(kKioskEnableScreenName)); | 473 SetCurrentScreen(GetScreen(kKioskEnableScreenName)); |
| 468 } | 474 } |
| 469 | 475 |
| 470 void WizardController::ShowKioskAutolaunchScreen() { | 476 void WizardController::ShowKioskAutolaunchScreen() { |
| 471 VLOG(1) << "Showing kiosk autolaunch screen."; | 477 VLOG(1) << "Showing kiosk autolaunch screen."; |
| 472 SetStatusAreaVisible(false); | 478 SetStatusAreaVisible(false); |
| 473 SetCurrentScreen(GetScreen(kKioskAutolaunchScreenName)); | 479 SetCurrentScreen(GetScreen(kKioskAutolaunchScreenName)); |
| 474 } | 480 } |
| 475 | 481 |
| 482 void WizardController::ShowEnableDebuggingScreen() { |
| 483 VLOG(1) << "Showing enable developer features screen."; |
| 484 SetStatusAreaVisible(false); |
| 485 SetCurrentScreen(GetScreen(kEnableDebuggingScreenName)); |
| 486 } |
| 487 |
| 476 void WizardController::ShowTermsOfServiceScreen() { | 488 void WizardController::ShowTermsOfServiceScreen() { |
| 477 // Only show the Terms of Service when logging into a public account and Terms | 489 // Only show the Terms of Service when logging into a public account and Terms |
| 478 // of Service have been specified through policy. In all other cases, advance | 490 // of Service have been specified through policy. In all other cases, advance |
| 479 // to the user image screen immediately. | 491 // to the user image screen immediately. |
| 480 if (!user_manager::UserManager::Get()->IsLoggedInAsPublicAccount() || | 492 if (!user_manager::UserManager::Get()->IsLoggedInAsPublicAccount() || |
| 481 !ProfileManager::GetActiveUserProfile()->GetPrefs()->IsManagedPreference( | 493 !ProfileManager::GetActiveUserProfile()->GetPrefs()->IsManagedPreference( |
| 482 prefs::kTermsOfServiceURL)) { | 494 prefs::kTermsOfServiceURL)) { |
| 483 ShowUserImageScreen(); | 495 ShowUserImageScreen(); |
| 484 return; | 496 return; |
| 485 } | 497 } |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 PerformOOBECompletedActions(); | 710 PerformOOBECompletedActions(); |
| 699 | 711 |
| 700 // TODO(mnissler): Unify the logic for auto-login for Public Sessions and | 712 // TODO(mnissler): Unify the logic for auto-login for Public Sessions and |
| 701 // Kiosk Apps and make this code cover both cases: http://crbug.com/234694. | 713 // Kiosk Apps and make this code cover both cases: http://crbug.com/234694. |
| 702 if (KioskAppManager::Get()->IsAutoLaunchEnabled()) | 714 if (KioskAppManager::Get()->IsAutoLaunchEnabled()) |
| 703 AutoLaunchKioskApp(); | 715 AutoLaunchKioskApp(); |
| 704 else | 716 else |
| 705 ShowLoginScreen(LoginScreenContext()); | 717 ShowLoginScreen(LoginScreenContext()); |
| 706 } | 718 } |
| 707 | 719 |
| 708 void WizardController::OnResetCanceled() { | 720 void WizardController::OnDeviceModificationCanceled() { |
| 709 if (previous_screen_) { | 721 if (previous_screen_) { |
| 710 SetCurrentScreen(previous_screen_); | 722 SetCurrentScreen(previous_screen_); |
| 711 } else { | 723 } else { |
| 712 ShowLoginScreen(LoginScreenContext()); | 724 ShowLoginScreen(LoginScreenContext()); |
| 713 } | 725 } |
| 714 } | 726 } |
| 715 | 727 |
| 716 void WizardController::OnKioskAutolaunchCanceled() { | 728 void WizardController::OnKioskAutolaunchCanceled() { |
| 717 ShowLoginScreen(LoginScreenContext()); | 729 ShowLoginScreen(LoginScreenContext()); |
| 718 } | 730 } |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 } else if (screen_name == kUserImageScreenName) { | 914 } else if (screen_name == kUserImageScreenName) { |
| 903 ShowUserImageScreen(); | 915 ShowUserImageScreen(); |
| 904 } else if (screen_name == kEulaScreenName) { | 916 } else if (screen_name == kEulaScreenName) { |
| 905 ShowEulaScreen(); | 917 ShowEulaScreen(); |
| 906 } else if (screen_name == kResetScreenName) { | 918 } else if (screen_name == kResetScreenName) { |
| 907 ShowResetScreen(); | 919 ShowResetScreen(); |
| 908 } else if (screen_name == kKioskEnableScreenName) { | 920 } else if (screen_name == kKioskEnableScreenName) { |
| 909 ShowKioskEnableScreen(); | 921 ShowKioskEnableScreen(); |
| 910 } else if (screen_name == kKioskAutolaunchScreenName) { | 922 } else if (screen_name == kKioskAutolaunchScreenName) { |
| 911 ShowKioskAutolaunchScreen(); | 923 ShowKioskAutolaunchScreen(); |
| 924 } else if (screen_name == kEnableDebuggingScreenName) { |
| 925 ShowEnableDebuggingScreen(); |
| 912 } else if (screen_name == kEnrollmentScreenName) { | 926 } else if (screen_name == kEnrollmentScreenName) { |
| 913 ShowEnrollmentScreen(); | 927 ShowEnrollmentScreen(); |
| 914 } else if (screen_name == kTermsOfServiceScreenName) { | 928 } else if (screen_name == kTermsOfServiceScreenName) { |
| 915 ShowTermsOfServiceScreen(); | 929 ShowTermsOfServiceScreen(); |
| 916 } else if (screen_name == kWrongHWIDScreenName) { | 930 } else if (screen_name == kWrongHWIDScreenName) { |
| 917 ShowWrongHWIDScreen(); | 931 ShowWrongHWIDScreen(); |
| 918 } else if (screen_name == kAutoEnrollmentCheckScreenName) { | 932 } else if (screen_name == kAutoEnrollmentCheckScreenName) { |
| 919 ShowAutoEnrollmentCheckScreen(); | 933 ShowAutoEnrollmentCheckScreen(); |
| 920 } else if (screen_name == kSupervisedUserCreationScreenName) { | 934 } else if (screen_name == kSupervisedUserCreationScreenName) { |
| 921 ShowSupervisedUserCreationScreen(); | 935 ShowSupervisedUserCreationScreen(); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 983 break; | 997 break; |
| 984 case USER_IMAGE_SELECTED: | 998 case USER_IMAGE_SELECTED: |
| 985 OnUserImageSelected(); | 999 OnUserImageSelected(); |
| 986 break; | 1000 break; |
| 987 case EULA_ACCEPTED: | 1001 case EULA_ACCEPTED: |
| 988 OnEulaAccepted(); | 1002 OnEulaAccepted(); |
| 989 break; | 1003 break; |
| 990 case EULA_BACK: | 1004 case EULA_BACK: |
| 991 ShowNetworkScreen(); | 1005 ShowNetworkScreen(); |
| 992 break; | 1006 break; |
| 1007 case ENABLE_DEBUGGING_CANCELED: |
| 1008 OnDeviceModificationCanceled(); |
| 1009 break; |
| 1010 case ENABLE_DEBUGGING_FINISHED: |
| 1011 OnDeviceModificationCanceled(); |
| 1012 break; |
| 993 case ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: | 1013 case ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: |
| 994 OnAutoEnrollmentCheckCompleted(); | 1014 OnAutoEnrollmentCheckCompleted(); |
| 995 break; | 1015 break; |
| 996 case ENTERPRISE_ENROLLMENT_COMPLETED: | 1016 case ENTERPRISE_ENROLLMENT_COMPLETED: |
| 997 OnEnrollmentDone(); | 1017 OnEnrollmentDone(); |
| 998 break; | 1018 break; |
| 999 case ENTERPRISE_ENROLLMENT_BACK: | 1019 case ENTERPRISE_ENROLLMENT_BACK: |
| 1000 retry_auto_enrollment_check_ = true; | 1020 retry_auto_enrollment_check_ = true; |
| 1001 ShowAutoEnrollmentCheckScreen(); | 1021 ShowAutoEnrollmentCheckScreen(); |
| 1002 break; | 1022 break; |
| 1003 case RESET_CANCELED: | 1023 case RESET_CANCELED: |
| 1004 OnResetCanceled(); | 1024 OnDeviceModificationCanceled(); |
| 1005 break; | 1025 break; |
| 1006 case KIOSK_AUTOLAUNCH_CANCELED: | 1026 case KIOSK_AUTOLAUNCH_CANCELED: |
| 1007 OnKioskAutolaunchCanceled(); | 1027 OnKioskAutolaunchCanceled(); |
| 1008 break; | 1028 break; |
| 1009 case KIOSK_AUTOLAUNCH_CONFIRMED: | 1029 case KIOSK_AUTOLAUNCH_CONFIRMED: |
| 1010 OnKioskAutolaunchConfirmed(); | 1030 OnKioskAutolaunchConfirmed(); |
| 1011 break; | 1031 break; |
| 1012 case KIOSK_ENABLE_COMPLETED: | 1032 case KIOSK_ENABLE_COMPLETED: |
| 1013 OnKioskEnableCompleted(); | 1033 OnKioskEnableCompleted(); |
| 1014 break; | 1034 break; |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1338 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { | 1358 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { |
| 1339 VLOG(1) << "OnSharkConnected"; | 1359 VLOG(1) << "OnSharkConnected"; |
| 1340 remora_controller_ = remora_controller.Pass(); | 1360 remora_controller_ = remora_controller.Pass(); |
| 1341 base::MessageLoop::current()->DeleteSoon( | 1361 base::MessageLoop::current()->DeleteSoon( |
| 1342 FROM_HERE, shark_connection_listener_.release()); | 1362 FROM_HERE, shark_connection_listener_.release()); |
| 1343 shark_controller_detected_ = true; | 1363 shark_controller_detected_ = true; |
| 1344 ShowHostPairingScreen(); | 1364 ShowHostPairingScreen(); |
| 1345 } | 1365 } |
| 1346 | 1366 |
| 1347 } // namespace chromeos | 1367 } // namespace chromeos |
| OLD | NEW |