| 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 15 matching lines...) Expand all Loading... |
| 26 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 26 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 27 #include "chrome/browser/chromeos/customization_document.h" | 27 #include "chrome/browser/chromeos/customization_document.h" |
| 28 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" | 28 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" |
| 29 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" | 29 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" |
| 30 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 30 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 31 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 31 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 32 #include "chrome/browser/chromeos/login/helper.h" | 32 #include "chrome/browser/chromeos/login/helper.h" |
| 33 #include "chrome/browser/chromeos/login/hwid_checker.h" | 33 #include "chrome/browser/chromeos/login/hwid_checker.h" |
| 34 #include "chrome/browser/chromeos/login/login_utils.h" | 34 #include "chrome/browser/chromeos/login/login_utils.h" |
| 35 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" | 35 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" |
| 36 #include "chrome/browser/chromeos/login/screens/enable_debugging_screen.h" |
| 36 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 37 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
| 37 #include "chrome/browser/chromeos/login/screens/eula_screen.h" | 38 #include "chrome/browser/chromeos/login/screens/eula_screen.h" |
| 38 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" | 39 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" |
| 39 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" | 40 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" |
| 40 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" | 41 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" |
| 41 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 42 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
| 42 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 43 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
| 43 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" | 44 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" |
| 44 #include "chrome/browser/chromeos/login/screens/update_screen.h" | 45 #include "chrome/browser/chromeos/login/screens/update_screen.h" |
| 45 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" | 46 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 | 142 |
| 142 } // namespace | 143 } // namespace |
| 143 | 144 |
| 144 namespace chromeos { | 145 namespace chromeos { |
| 145 | 146 |
| 146 const char WizardController::kNetworkScreenName[] = "network"; | 147 const char WizardController::kNetworkScreenName[] = "network"; |
| 147 const char WizardController::kLoginScreenName[] = "login"; | 148 const char WizardController::kLoginScreenName[] = "login"; |
| 148 const char WizardController::kUpdateScreenName[] = "update"; | 149 const char WizardController::kUpdateScreenName[] = "update"; |
| 149 const char WizardController::kUserImageScreenName[] = "image"; | 150 const char WizardController::kUserImageScreenName[] = "image"; |
| 150 const char WizardController::kEulaScreenName[] = "eula"; | 151 const char WizardController::kEulaScreenName[] = "eula"; |
| 152 const char WizardController::kEnableDebuggingScreenName[] = "debugging"; |
| 151 const char WizardController::kEnrollmentScreenName[] = "enroll"; | 153 const char WizardController::kEnrollmentScreenName[] = "enroll"; |
| 152 const char WizardController::kResetScreenName[] = "reset"; | 154 const char WizardController::kResetScreenName[] = "reset"; |
| 153 const char WizardController::kKioskEnableScreenName[] = "kiosk-enable"; | 155 const char WizardController::kKioskEnableScreenName[] = "kiosk-enable"; |
| 154 const char WizardController::kKioskAutolaunchScreenName[] = "autolaunch"; | 156 const char WizardController::kKioskAutolaunchScreenName[] = "autolaunch"; |
| 155 const char WizardController::kErrorScreenName[] = "error-message"; | 157 const char WizardController::kErrorScreenName[] = "error-message"; |
| 156 const char WizardController::kTermsOfServiceScreenName[] = "tos"; | 158 const char WizardController::kTermsOfServiceScreenName[] = "tos"; |
| 157 const char WizardController::kAutoEnrollmentCheckScreenName[] = | 159 const char WizardController::kAutoEnrollmentCheckScreenName[] = |
| 158 "auto-enrollment-check"; | 160 "auto-enrollment-check"; |
| 159 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; | 161 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; |
| 160 const char WizardController::kSupervisedUserCreationScreenName[] = | 162 const char WizardController::kSupervisedUserCreationScreenName[] = |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 scoped_ptr<chromeos::EulaScreen> screen( | 307 scoped_ptr<chromeos::EulaScreen> screen( |
| 306 new chromeos::EulaScreen(this, oobe_display_->GetEulaScreenActor())); | 308 new chromeos::EulaScreen(this, oobe_display_->GetEulaScreenActor())); |
| 307 screen->SetDelegate(this); | 309 screen->SetDelegate(this); |
| 308 return screen.release(); | 310 return screen.release(); |
| 309 } else if (screen_name == kEnrollmentScreenName) { | 311 } else if (screen_name == kEnrollmentScreenName) { |
| 310 return new chromeos::EnrollmentScreen( | 312 return new chromeos::EnrollmentScreen( |
| 311 this, oobe_display_->GetEnrollmentScreenActor()); | 313 this, oobe_display_->GetEnrollmentScreenActor()); |
| 312 } else if (screen_name == kResetScreenName) { | 314 } else if (screen_name == kResetScreenName) { |
| 313 return new chromeos::ResetScreen(this, | 315 return new chromeos::ResetScreen(this, |
| 314 oobe_display_->GetResetScreenActor()); | 316 oobe_display_->GetResetScreenActor()); |
| 317 } else if (screen_name == kEnableDebuggingScreenName) { |
| 318 return new chromeos::EnableDebuggingScreen( |
| 319 this, |
| 320 oobe_display_->GetEnableDebuggingScreenActor()); |
| 315 } else if (screen_name == kKioskEnableScreenName) { | 321 } else if (screen_name == kKioskEnableScreenName) { |
| 316 return new chromeos::KioskEnableScreen( | 322 return new chromeos::KioskEnableScreen( |
| 317 this, oobe_display_->GetKioskEnableScreenActor()); | 323 this, oobe_display_->GetKioskEnableScreenActor()); |
| 318 } else if (screen_name == kKioskAutolaunchScreenName) { | 324 } else if (screen_name == kKioskAutolaunchScreenName) { |
| 319 return new chromeos::KioskAutolaunchScreen( | 325 return new chromeos::KioskAutolaunchScreen( |
| 320 this, oobe_display_->GetKioskAutolaunchScreenActor()); | 326 this, oobe_display_->GetKioskAutolaunchScreenActor()); |
| 321 } else if (screen_name == kTermsOfServiceScreenName) { | 327 } else if (screen_name == kTermsOfServiceScreenName) { |
| 322 return new chromeos::TermsOfServiceScreen( | 328 return new chromeos::TermsOfServiceScreen( |
| 323 this, oobe_display_->GetTermsOfServiceScreenActor()); | 329 this, oobe_display_->GetTermsOfServiceScreenActor()); |
| 324 } else if (screen_name == kWrongHWIDScreenName) { | 330 } else if (screen_name == kWrongHWIDScreenName) { |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 SetStatusAreaVisible(false); | 475 SetStatusAreaVisible(false); |
| 470 SetCurrentScreen(GetScreen(kKioskEnableScreenName)); | 476 SetCurrentScreen(GetScreen(kKioskEnableScreenName)); |
| 471 } | 477 } |
| 472 | 478 |
| 473 void WizardController::ShowKioskAutolaunchScreen() { | 479 void WizardController::ShowKioskAutolaunchScreen() { |
| 474 VLOG(1) << "Showing kiosk autolaunch screen."; | 480 VLOG(1) << "Showing kiosk autolaunch screen."; |
| 475 SetStatusAreaVisible(false); | 481 SetStatusAreaVisible(false); |
| 476 SetCurrentScreen(GetScreen(kKioskAutolaunchScreenName)); | 482 SetCurrentScreen(GetScreen(kKioskAutolaunchScreenName)); |
| 477 } | 483 } |
| 478 | 484 |
| 485 void WizardController::ShowEnableDebuggingScreen() { |
| 486 VLOG(1) << "Showing enable developer features screen."; |
| 487 SetStatusAreaVisible(false); |
| 488 SetCurrentScreen(GetScreen(kEnableDebuggingScreenName)); |
| 489 } |
| 490 |
| 479 void WizardController::ShowTermsOfServiceScreen() { | 491 void WizardController::ShowTermsOfServiceScreen() { |
| 480 // Only show the Terms of Service when logging into a public account and Terms | 492 // Only show the Terms of Service when logging into a public account and Terms |
| 481 // of Service have been specified through policy. In all other cases, advance | 493 // of Service have been specified through policy. In all other cases, advance |
| 482 // to the user image screen immediately. | 494 // to the user image screen immediately. |
| 483 if (!user_manager::UserManager::Get()->IsLoggedInAsPublicAccount() || | 495 if (!user_manager::UserManager::Get()->IsLoggedInAsPublicAccount() || |
| 484 !ProfileManager::GetActiveUserProfile()->GetPrefs()->IsManagedPreference( | 496 !ProfileManager::GetActiveUserProfile()->GetPrefs()->IsManagedPreference( |
| 485 prefs::kTermsOfServiceURL)) { | 497 prefs::kTermsOfServiceURL)) { |
| 486 ShowUserImageScreen(); | 498 ShowUserImageScreen(); |
| 487 return; | 499 return; |
| 488 } | 500 } |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 699 PerformOOBECompletedActions(); | 711 PerformOOBECompletedActions(); |
| 700 | 712 |
| 701 // TODO(mnissler): Unify the logic for auto-login for Public Sessions and | 713 // TODO(mnissler): Unify the logic for auto-login for Public Sessions and |
| 702 // Kiosk Apps and make this code cover both cases: http://crbug.com/234694. | 714 // Kiosk Apps and make this code cover both cases: http://crbug.com/234694. |
| 703 if (KioskAppManager::Get()->IsAutoLaunchEnabled()) | 715 if (KioskAppManager::Get()->IsAutoLaunchEnabled()) |
| 704 AutoLaunchKioskApp(); | 716 AutoLaunchKioskApp(); |
| 705 else | 717 else |
| 706 ShowLoginScreen(LoginScreenContext()); | 718 ShowLoginScreen(LoginScreenContext()); |
| 707 } | 719 } |
| 708 | 720 |
| 709 void WizardController::OnResetCanceled() { | 721 void WizardController::OnDeviceModificationCanceled() { |
| 710 if (previous_screen_) { | 722 if (previous_screen_) { |
| 711 SetCurrentScreen(previous_screen_); | 723 SetCurrentScreen(previous_screen_); |
| 712 } else { | 724 } else { |
| 713 ShowLoginScreen(LoginScreenContext()); | 725 ShowLoginScreen(LoginScreenContext()); |
| 714 } | 726 } |
| 715 } | 727 } |
| 716 | 728 |
| 717 void WizardController::OnKioskAutolaunchCanceled() { | 729 void WizardController::OnKioskAutolaunchCanceled() { |
| 718 ShowLoginScreen(LoginScreenContext()); | 730 ShowLoginScreen(LoginScreenContext()); |
| 719 } | 731 } |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 } else if (screen_name == kUserImageScreenName) { | 903 } else if (screen_name == kUserImageScreenName) { |
| 892 ShowUserImageScreen(); | 904 ShowUserImageScreen(); |
| 893 } else if (screen_name == kEulaScreenName) { | 905 } else if (screen_name == kEulaScreenName) { |
| 894 ShowEulaScreen(); | 906 ShowEulaScreen(); |
| 895 } else if (screen_name == kResetScreenName) { | 907 } else if (screen_name == kResetScreenName) { |
| 896 ShowResetScreen(); | 908 ShowResetScreen(); |
| 897 } else if (screen_name == kKioskEnableScreenName) { | 909 } else if (screen_name == kKioskEnableScreenName) { |
| 898 ShowKioskEnableScreen(); | 910 ShowKioskEnableScreen(); |
| 899 } else if (screen_name == kKioskAutolaunchScreenName) { | 911 } else if (screen_name == kKioskAutolaunchScreenName) { |
| 900 ShowKioskAutolaunchScreen(); | 912 ShowKioskAutolaunchScreen(); |
| 913 } else if (screen_name == kEnableDebuggingScreenName) { |
| 914 ShowEnableDebuggingScreen(); |
| 901 } else if (screen_name == kEnrollmentScreenName) { | 915 } else if (screen_name == kEnrollmentScreenName) { |
| 902 ShowEnrollmentScreen(); | 916 ShowEnrollmentScreen(); |
| 903 } else if (screen_name == kTermsOfServiceScreenName) { | 917 } else if (screen_name == kTermsOfServiceScreenName) { |
| 904 ShowTermsOfServiceScreen(); | 918 ShowTermsOfServiceScreen(); |
| 905 } else if (screen_name == kWrongHWIDScreenName) { | 919 } else if (screen_name == kWrongHWIDScreenName) { |
| 906 ShowWrongHWIDScreen(); | 920 ShowWrongHWIDScreen(); |
| 907 } else if (screen_name == kAutoEnrollmentCheckScreenName) { | 921 } else if (screen_name == kAutoEnrollmentCheckScreenName) { |
| 908 ShowAutoEnrollmentCheckScreen(); | 922 ShowAutoEnrollmentCheckScreen(); |
| 909 } else if (screen_name == kSupervisedUserCreationScreenName) { | 923 } else if (screen_name == kSupervisedUserCreationScreenName) { |
| 910 ShowSupervisedUserCreationScreen(); | 924 ShowSupervisedUserCreationScreen(); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 970 break; | 984 break; |
| 971 case USER_IMAGE_SELECTED: | 985 case USER_IMAGE_SELECTED: |
| 972 OnUserImageSelected(); | 986 OnUserImageSelected(); |
| 973 break; | 987 break; |
| 974 case EULA_ACCEPTED: | 988 case EULA_ACCEPTED: |
| 975 OnEulaAccepted(); | 989 OnEulaAccepted(); |
| 976 break; | 990 break; |
| 977 case EULA_BACK: | 991 case EULA_BACK: |
| 978 ShowNetworkScreen(); | 992 ShowNetworkScreen(); |
| 979 break; | 993 break; |
| 994 case ENABLE_DEBUGGING_CANCELED: |
| 995 OnDeviceModificationCanceled(); |
| 996 break; |
| 997 case ENABLE_DEBUGGING_FINISHED: |
| 998 OnDeviceModificationCanceled(); |
| 999 break; |
| 980 case ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: | 1000 case ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED: |
| 981 ShowDeviceDisabledScreen(); | 1001 ShowDeviceDisabledScreen(); |
| 982 break; | 1002 break; |
| 983 case ENTERPRISE_ENROLLMENT_COMPLETED: | 1003 case ENTERPRISE_ENROLLMENT_COMPLETED: |
| 984 OnEnrollmentDone(); | 1004 OnEnrollmentDone(); |
| 985 break; | 1005 break; |
| 986 case ENTERPRISE_ENROLLMENT_BACK: | 1006 case ENTERPRISE_ENROLLMENT_BACK: |
| 987 ShowNetworkScreen(); | 1007 ShowNetworkScreen(); |
| 988 break; | 1008 break; |
| 989 case RESET_CANCELED: | 1009 case RESET_CANCELED: |
| 990 OnResetCanceled(); | 1010 OnDeviceModificationCanceled(); |
| 991 break; | 1011 break; |
| 992 case KIOSK_AUTOLAUNCH_CANCELED: | 1012 case KIOSK_AUTOLAUNCH_CANCELED: |
| 993 OnKioskAutolaunchCanceled(); | 1013 OnKioskAutolaunchCanceled(); |
| 994 break; | 1014 break; |
| 995 case KIOSK_AUTOLAUNCH_CONFIRMED: | 1015 case KIOSK_AUTOLAUNCH_CONFIRMED: |
| 996 OnKioskAutolaunchConfirmed(); | 1016 OnKioskAutolaunchConfirmed(); |
| 997 break; | 1017 break; |
| 998 case KIOSK_ENABLE_COMPLETED: | 1018 case KIOSK_ENABLE_COMPLETED: |
| 999 OnKioskEnableCompleted(); | 1019 OnKioskEnableCompleted(); |
| 1000 break; | 1020 break; |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1300 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { | 1320 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { |
| 1301 VLOG(1) << "OnSharkConnected"; | 1321 VLOG(1) << "OnSharkConnected"; |
| 1302 remora_controller_ = remora_controller.Pass(); | 1322 remora_controller_ = remora_controller.Pass(); |
| 1303 base::MessageLoop::current()->DeleteSoon( | 1323 base::MessageLoop::current()->DeleteSoon( |
| 1304 FROM_HERE, shark_connection_listener_.release()); | 1324 FROM_HERE, shark_connection_listener_.release()); |
| 1305 shark_controller_detected_ = true; | 1325 shark_controller_detected_ = true; |
| 1306 ShowHostPairingScreen(); | 1326 ShowHostPairingScreen(); |
| 1307 } | 1327 } |
| 1308 | 1328 |
| 1309 } // namespace chromeos | 1329 } // namespace chromeos |
| OLD | NEW |