Chromium Code Reviews| 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/login/enrollment/enterprise_enrollment_screen. h" | 26 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen. h" |
| 27 #include "chrome/browser/chromeos/login/eula_screen.h" | 27 #include "chrome/browser/chromeos/login/eula_screen.h" |
| 28 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 28 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 29 #include "chrome/browser/chromeos/login/helper.h" | 29 #include "chrome/browser/chromeos/login/helper.h" |
| 30 #include "chrome/browser/chromeos/login/html_page_screen.h" | 30 #include "chrome/browser/chromeos/login/html_page_screen.h" |
| 31 #include "chrome/browser/chromeos/login/login_display_host.h" | 31 #include "chrome/browser/chromeos/login/login_display_host.h" |
| 32 #include "chrome/browser/chromeos/login/login_utils.h" | 32 #include "chrome/browser/chromeos/login/login_utils.h" |
| 33 #include "chrome/browser/chromeos/login/network_screen.h" | 33 #include "chrome/browser/chromeos/login/network_screen.h" |
| 34 #include "chrome/browser/chromeos/login/oobe_display.h" | 34 #include "chrome/browser/chromeos/login/oobe_display.h" |
| 35 #include "chrome/browser/chromeos/login/registration_screen.h" | 35 #include "chrome/browser/chromeos/login/registration_screen.h" |
| 36 #include "chrome/browser/chromeos/login/reset_screen.h" | |
| 36 #include "chrome/browser/chromeos/login/update_screen.h" | 37 #include "chrome/browser/chromeos/login/update_screen.h" |
| 37 #include "chrome/browser/chromeos/login/user_image_screen.h" | 38 #include "chrome/browser/chromeos/login/user_image_screen.h" |
| 38 #include "chrome/browser/chromeos/login/user_manager.h" | 39 #include "chrome/browser/chromeos/login/user_manager.h" |
| 39 #include "chrome/browser/chromeos/settings/cros_settings.h" | 40 #include "chrome/browser/chromeos/settings/cros_settings.h" |
| 40 #include "chrome/browser/chromeos/settings/cros_settings_names.h" | 41 #include "chrome/browser/chromeos/settings/cros_settings_names.h" |
| 41 #include "chrome/browser/prefs/pref_service.h" | 42 #include "chrome/browser/prefs/pref_service.h" |
| 42 #include "chrome/browser/profiles/profile_manager.h" | 43 #include "chrome/browser/profiles/profile_manager.h" |
| 43 #include "chrome/browser/ui/options/options_util.h" | 44 #include "chrome/browser/ui/options/options_util.h" |
| 44 #include "chrome/common/chrome_notification_types.h" | 45 #include "chrome/common/chrome_notification_types.h" |
| 45 #include "chrome/common/pref_names.h" | 46 #include "chrome/common/pref_names.h" |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 103 namespace chromeos { | 104 namespace chromeos { |
| 104 | 105 |
| 105 const char WizardController::kNetworkScreenName[] = "network"; | 106 const char WizardController::kNetworkScreenName[] = "network"; |
| 106 const char WizardController::kLoginScreenName[] = "login"; | 107 const char WizardController::kLoginScreenName[] = "login"; |
| 107 const char WizardController::kUpdateScreenName[] = "update"; | 108 const char WizardController::kUpdateScreenName[] = "update"; |
| 108 const char WizardController::kUserImageScreenName[] = "image"; | 109 const char WizardController::kUserImageScreenName[] = "image"; |
| 109 const char WizardController::kEulaScreenName[] = "eula"; | 110 const char WizardController::kEulaScreenName[] = "eula"; |
| 110 const char WizardController::kRegistrationScreenName[] = "register"; | 111 const char WizardController::kRegistrationScreenName[] = "register"; |
| 111 const char WizardController::kHTMLPageScreenName[] = "html"; | 112 const char WizardController::kHTMLPageScreenName[] = "html"; |
| 112 const char WizardController::kEnterpriseEnrollmentScreenName[] = "enroll"; | 113 const char WizardController::kEnterpriseEnrollmentScreenName[] = "enroll"; |
| 114 const char WizardController::kResetScreenName[] = "reset"; | |
| 113 | 115 |
| 114 // Passing this parameter as a "first screen" initiates full OOBE flow. | 116 // Passing this parameter as a "first screen" initiates full OOBE flow. |
| 115 const char WizardController::kOutOfBoxScreenName[] = "oobe"; | 117 const char WizardController::kOutOfBoxScreenName[] = "oobe"; |
| 116 | 118 |
| 117 // Special test value that commands not to create any window yet. | 119 // Special test value that commands not to create any window yet. |
| 118 const char WizardController::kTestNoScreenName[] = "test:nowindow"; | 120 const char WizardController::kTestNoScreenName[] = "test:nowindow"; |
| 119 | 121 |
| 120 // Initialize default controller. | 122 // Initialize default controller. |
| 121 // static | 123 // static |
| 122 WizardController* WizardController::default_controller_ = NULL; | 124 WizardController* WizardController::default_controller_ = NULL; |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 237 chromeos::EnterpriseEnrollmentScreen* | 239 chromeos::EnterpriseEnrollmentScreen* |
| 238 WizardController::GetEnterpriseEnrollmentScreen() { | 240 WizardController::GetEnterpriseEnrollmentScreen() { |
| 239 if (!enterprise_enrollment_screen_.get()) { | 241 if (!enterprise_enrollment_screen_.get()) { |
| 240 enterprise_enrollment_screen_.reset( | 242 enterprise_enrollment_screen_.reset( |
| 241 new chromeos::EnterpriseEnrollmentScreen( | 243 new chromeos::EnterpriseEnrollmentScreen( |
| 242 this, oobe_display_->GetEnterpriseEnrollmentScreenActor())); | 244 this, oobe_display_->GetEnterpriseEnrollmentScreenActor())); |
| 243 } | 245 } |
| 244 return enterprise_enrollment_screen_.get(); | 246 return enterprise_enrollment_screen_.get(); |
| 245 } | 247 } |
| 246 | 248 |
| 249 chromeos::ResetScreen* WizardController::GetResetScreen() { | |
| 250 if (!reset_screen_.get()) { | |
| 251 reset_screen_.reset( | |
| 252 new chromeos::ResetScreen(this, oobe_display_->GetResetScreenActor())); | |
| 253 } | |
| 254 return reset_screen_.get(); | |
| 255 } | |
| 256 | |
| 247 void WizardController::ShowNetworkScreen() { | 257 void WizardController::ShowNetworkScreen() { |
| 248 VLOG(1) << "Showing network screen."; | 258 VLOG(1) << "Showing network screen."; |
| 249 SetStatusAreaVisible(false); | 259 SetStatusAreaVisible(false); |
| 250 SetCurrentScreen(GetNetworkScreen()); | 260 SetCurrentScreen(GetNetworkScreen()); |
| 251 } | 261 } |
| 252 | 262 |
| 253 void WizardController::ShowLoginScreen() { | 263 void WizardController::ShowLoginScreen() { |
| 254 if (!time_eula_accepted_.is_null()) { | 264 if (!time_eula_accepted_.is_null()) { |
| 255 base::TimeDelta delta = base::Time::Now() - time_eula_accepted_; | 265 base::TimeDelta delta = base::Time::Now() - time_eula_accepted_; |
| 256 UMA_HISTOGRAM_MEDIUM_TIMES("OOBE.EULAToSignInTime", delta); | 266 UMA_HISTOGRAM_MEDIUM_TIMES("OOBE.EULAToSignInTime", delta); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 325 if (screen_parameters_.get()) { | 335 if (screen_parameters_.get()) { |
| 326 screen_parameters_->GetBoolean("is_auto_enrollment", &is_auto_enrollment); | 336 screen_parameters_->GetBoolean("is_auto_enrollment", &is_auto_enrollment); |
| 327 screen_parameters_->GetString("user", &user); | 337 screen_parameters_->GetString("user", &user); |
| 328 } | 338 } |
| 329 | 339 |
| 330 EnterpriseEnrollmentScreen* screen = GetEnterpriseEnrollmentScreen(); | 340 EnterpriseEnrollmentScreen* screen = GetEnterpriseEnrollmentScreen(); |
| 331 screen->SetParameters(is_auto_enrollment, user); | 341 screen->SetParameters(is_auto_enrollment, user); |
| 332 SetCurrentScreen(screen); | 342 SetCurrentScreen(screen); |
| 333 } | 343 } |
| 334 | 344 |
| 345 void WizardController::ShowResetScreen() { | |
| 346 VLOG(1) << "Showing reset screen."; | |
| 347 SetStatusAreaVisible(false); | |
| 348 SetCurrentScreen(GetResetScreen()); | |
| 349 } | |
| 350 | |
| 335 void WizardController::SkipToLoginForTesting() { | 351 void WizardController::SkipToLoginForTesting() { |
| 336 MarkEulaAccepted(); | 352 MarkEulaAccepted(); |
| 337 PerformPostEulaActions(); | 353 PerformPostEulaActions(); |
| 338 PerformPostUpdateActions(); | 354 PerformPostUpdateActions(); |
| 339 ShowLoginScreen(); | 355 ShowLoginScreen(); |
| 340 } | 356 } |
| 341 | 357 |
| 342 void WizardController::SkipImageSelectionForTesting() { | 358 void WizardController::SkipImageSelectionForTesting() { |
| 343 skip_user_image_selection_ = true; | 359 skip_user_image_selection_ = true; |
| 344 } | 360 } |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 604 ShowUserImageScreen(); | 620 ShowUserImageScreen(); |
| 605 } else if (screen_name == kEulaScreenName) { | 621 } else if (screen_name == kEulaScreenName) { |
| 606 ShowEulaScreen(); | 622 ShowEulaScreen(); |
| 607 } else if (screen_name == kRegistrationScreenName) { | 623 } else if (screen_name == kRegistrationScreenName) { |
| 608 if (is_official_build_) { | 624 if (is_official_build_) { |
| 609 ShowRegistrationScreen(); | 625 ShowRegistrationScreen(); |
| 610 } else { | 626 } else { |
| 611 // Just proceed to image screen. | 627 // Just proceed to image screen. |
| 612 OnRegistrationSuccess(); | 628 OnRegistrationSuccess(); |
| 613 } | 629 } |
| 630 } else if (screen_name == kResetScreenName) { | |
| 631 ShowResetScreen(); | |
| 614 } else if (screen_name == kHTMLPageScreenName) { | 632 } else if (screen_name == kHTMLPageScreenName) { |
| 615 ShowHTMLPageScreen(); | 633 ShowHTMLPageScreen(); |
| 616 } else if (screen_name == kEnterpriseEnrollmentScreenName) { | 634 } else if (screen_name == kEnterpriseEnrollmentScreenName) { |
| 617 ShowEnterpriseEnrollmentScreen(); | 635 ShowEnterpriseEnrollmentScreen(); |
| 618 } else if (screen_name != kTestNoScreenName) { | 636 } else if (screen_name != kTestNoScreenName) { |
| 619 if (is_out_of_box_) { | 637 if (is_out_of_box_) { |
| 620 ShowNetworkScreen(); | 638 ShowNetworkScreen(); |
| 621 } else { | 639 } else { |
| 622 ShowLoginScreen(); | 640 ShowLoginScreen(); |
| 623 } | 641 } |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 762 case EULA_BACK: | 780 case EULA_BACK: |
| 763 ShowNetworkScreen(); | 781 ShowNetworkScreen(); |
| 764 break; | 782 break; |
| 765 case REGISTRATION_SUCCESS: | 783 case REGISTRATION_SUCCESS: |
| 766 OnRegistrationSuccess(); | 784 OnRegistrationSuccess(); |
| 767 break; | 785 break; |
| 768 case REGISTRATION_SKIPPED: | 786 case REGISTRATION_SKIPPED: |
| 769 OnRegistrationSkipped(); | 787 OnRegistrationSkipped(); |
| 770 break; | 788 break; |
| 771 case ENTERPRISE_ENROLLMENT_COMPLETED: | 789 case ENTERPRISE_ENROLLMENT_COMPLETED: |
| 790 case RESET_CANCELED: | |
| 772 OnEnterpriseEnrollmentDone(); | 791 OnEnterpriseEnrollmentDone(); |
|
Nikita (slow)
2012/09/12 13:22:21
You should not rely on OnEnterpriseEnrollmentDone(
glotov
2012/09/12 22:40:25
But we are not supposed to run from other screen e
Nikita (slow)
2012/09/13 07:35:59
That may change in future so your new code should
glotov
2012/09/14 16:37:02
Done.
| |
| 773 break; | 792 break; |
| 774 case ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED: | 793 case ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED: |
| 775 OnEnterpriseAutoEnrollmentDone(); | 794 OnEnterpriseAutoEnrollmentDone(); |
| 776 break; | 795 break; |
| 777 default: | 796 default: |
| 778 NOTREACHED(); | 797 NOTREACHED(); |
| 779 } | 798 } |
| 780 } | 799 } |
| 781 | 800 |
| 782 void WizardController::OnSetUserNamePassword(const std::string& username, | 801 void WizardController::OnSetUserNamePassword(const std::string& username, |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 798 return zero_delay_enabled_; | 817 return zero_delay_enabled_; |
| 799 } | 818 } |
| 800 | 819 |
| 801 // static | 820 // static |
| 802 void WizardController::SetZeroDelays() { | 821 void WizardController::SetZeroDelays() { |
| 803 kShowDelayMs = 0; | 822 kShowDelayMs = 0; |
| 804 zero_delay_enabled_ = true; | 823 zero_delay_enabled_ = true; |
| 805 } | 824 } |
| 806 | 825 |
| 807 } // namespace chromeos | 826 } // namespace chromeos |
| OLD | NEW |