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 |