Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 669623006: Add a "device disabled" OOBE screen (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed nits. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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/controller_pairing_screen.h" 35 #include "chrome/browser/chromeos/login/screens/controller_pairing_screen.h"
36 #include "chrome/browser/chromeos/login/screens/device_disabled_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/host_pairing_screen.h" 40 #include "chrome/browser/chromeos/login/screens/host_pairing_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"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 "auto-enrollment-check"; 160 "auto-enrollment-check";
160 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; 161 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid";
161 const char WizardController::kSupervisedUserCreationScreenName[] = 162 const char WizardController::kSupervisedUserCreationScreenName[] =
162 "supervised-user-creation-flow"; 163 "supervised-user-creation-flow";
163 const char WizardController::kAppLaunchSplashScreenName[] = 164 const char WizardController::kAppLaunchSplashScreenName[] =
164 "app-launch-splash"; 165 "app-launch-splash";
165 const char WizardController::kHIDDetectionScreenName[] = "hid-detection"; 166 const char WizardController::kHIDDetectionScreenName[] = "hid-detection";
166 const char WizardController::kControllerPairingScreenName[] = 167 const char WizardController::kControllerPairingScreenName[] =
167 "controller-pairing"; 168 "controller-pairing";
168 const char WizardController::kHostPairingScreenName[] = "host-pairing"; 169 const char WizardController::kHostPairingScreenName[] = "host-pairing";
170 const char WizardController::kDeviceDisabledScreenName[] = "device-disabled";
169 171
170 // static 172 // static
171 const int WizardController::kMinAudibleOutputVolumePercent = 10; 173 const int WizardController::kMinAudibleOutputVolumePercent = 10;
172 174
173 // Passing this parameter as a "first screen" initiates full OOBE flow. 175 // Passing this parameter as a "first screen" initiates full OOBE flow.
174 const char WizardController::kOutOfBoxScreenName[] = "oobe"; 176 const char WizardController::kOutOfBoxScreenName[] = "oobe";
175 177
176 // Special test value that commands not to create any window yet. 178 // Special test value that commands not to create any window yet.
177 const char WizardController::kTestNoScreenName[] = "test:nowindow"; 179 const char WizardController::kTestNoScreenName[] = "test:nowindow";
178 180
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 shark_controller_.get()); 342 shark_controller_.get());
341 } else if (screen_name == kHostPairingScreenName) { 343 } else if (screen_name == kHostPairingScreenName) {
342 if (!remora_controller_) { 344 if (!remora_controller_) {
343 remora_controller_.reset( 345 remora_controller_.reset(
344 new pairing_chromeos::BluetoothHostPairingController()); 346 new pairing_chromeos::BluetoothHostPairingController());
345 remora_controller_->StartPairing(); 347 remora_controller_->StartPairing();
346 } 348 }
347 return new HostPairingScreen(this, 349 return new HostPairingScreen(this,
348 oobe_display_->GetHostPairingScreenActor(), 350 oobe_display_->GetHostPairingScreenActor(),
349 remora_controller_.get()); 351 remora_controller_.get());
352 } else if (screen_name == kDeviceDisabledScreenName) {
353 return new chromeos::DeviceDisabledScreen(
354 this, oobe_display_->GetDeviceDisabledScreenActor());
350 } 355 }
356
351 return NULL; 357 return NULL;
352 } 358 }
353 359
354 void WizardController::ShowNetworkScreen() { 360 void WizardController::ShowNetworkScreen() {
355 VLOG(1) << "Showing network screen."; 361 VLOG(1) << "Showing network screen.";
356 // Hide the status area initially; it only appears after OOBE first animates 362 // Hide the status area initially; it only appears after OOBE first animates
357 // in. Keep it visible if the user goes back to the existing network screen. 363 // in. Keep it visible if the user goes back to the existing network screen.
358 SetStatusAreaVisible(HasScreen(kNetworkScreenName)); 364 SetStatusAreaVisible(HasScreen(kNetworkScreenName));
359 SetCurrentScreen(GetScreen(kNetworkScreenName)); 365 SetCurrentScreen(GetScreen(kNetworkScreenName));
360 366
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 SetStatusAreaVisible(false); 516 SetStatusAreaVisible(false);
511 SetCurrentScreen(GetScreen(kControllerPairingScreenName)); 517 SetCurrentScreen(GetScreen(kControllerPairingScreenName));
512 } 518 }
513 519
514 void WizardController::ShowHostPairingScreen() { 520 void WizardController::ShowHostPairingScreen() {
515 VLOG(1) << "Showing host pairing screen."; 521 VLOG(1) << "Showing host pairing screen.";
516 SetStatusAreaVisible(false); 522 SetStatusAreaVisible(false);
517 SetCurrentScreen(GetScreen(kHostPairingScreenName)); 523 SetCurrentScreen(GetScreen(kHostPairingScreenName));
518 } 524 }
519 525
526 void WizardController::ShowDeviceDisabledScreen() {
527 VLOG(1) << "Showing device disabled screen.";
528 SetStatusAreaVisible(true);
529 SetCurrentScreen(GetScreen(kDeviceDisabledScreenName));
530 }
531
520 void WizardController::SkipToLoginForTesting( 532 void WizardController::SkipToLoginForTesting(
521 const LoginScreenContext& context) { 533 const LoginScreenContext& context) {
522 VLOG(1) << "SkipToLoginForTesting."; 534 VLOG(1) << "SkipToLoginForTesting.";
523 StartupUtils::MarkEulaAccepted(); 535 StartupUtils::MarkEulaAccepted();
524 PerformPostEulaActions(); 536 PerformPostEulaActions();
525 OnAutoEnrollmentCheckCompleted(); 537 OnAutoEnrollmentCheckCompleted();
526 } 538 }
527 539
528 void WizardController::AddObserver(Observer* observer) { 540 void WizardController::AddObserver(Observer* observer) {
529 observer_list_.AddObserver(observer); 541 observer_list_.AddObserver(observer);
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 } else if (screen_name == kSupervisedUserCreationScreenName) { 899 } else if (screen_name == kSupervisedUserCreationScreenName) {
888 ShowSupervisedUserCreationScreen(); 900 ShowSupervisedUserCreationScreen();
889 } else if (screen_name == kAppLaunchSplashScreenName) { 901 } else if (screen_name == kAppLaunchSplashScreenName) {
890 AutoLaunchKioskApp(); 902 AutoLaunchKioskApp();
891 } else if (screen_name == kHIDDetectionScreenName) { 903 } else if (screen_name == kHIDDetectionScreenName) {
892 ShowHIDDetectionScreen(); 904 ShowHIDDetectionScreen();
893 } else if (screen_name == kControllerPairingScreenName) { 905 } else if (screen_name == kControllerPairingScreenName) {
894 ShowControllerPairingScreen(); 906 ShowControllerPairingScreen();
895 } else if (screen_name == kHostPairingScreenName) { 907 } else if (screen_name == kHostPairingScreenName) {
896 ShowHostPairingScreen(); 908 ShowHostPairingScreen();
909 } else if (screen_name == kDeviceDisabledScreenName) {
910 ShowDeviceDisabledScreen();
897 } else if (screen_name != kTestNoScreenName) { 911 } else if (screen_name != kTestNoScreenName) {
898 if (is_out_of_box_) { 912 if (is_out_of_box_) {
899 time_oobe_started_ = base::Time::Now(); 913 time_oobe_started_ = base::Time::Now();
900 if (IsHostPairingOobe()) { 914 if (IsHostPairingOobe()) {
901 ShowHostPairingScreen(); 915 ShowHostPairingScreen();
902 } else if (CanShowHIDDetectionScreen()) { 916 } else if (CanShowHIDDetectionScreen()) {
903 base::Callback<void(bool)> on_check = base::Bind( 917 base::Callback<void(bool)> on_check = base::Bind(
904 &WizardController::OnHIDScreenNecessityCheck, 918 &WizardController::OnHIDScreenNecessityCheck,
905 weak_factory_.GetWeakPtr()); 919 weak_factory_.GetWeakPtr());
906 oobe_display_->GetHIDDetectionScreenActor()->CheckIsScreenRequired( 920 oobe_display_->GetHIDDetectionScreenActor()->CheckIsScreenRequired(
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { 1268 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) {
1255 VLOG(1) << "OnSharkConnected"; 1269 VLOG(1) << "OnSharkConnected";
1256 remora_controller_ = remora_controller.Pass(); 1270 remora_controller_ = remora_controller.Pass();
1257 base::MessageLoop::current()->DeleteSoon( 1271 base::MessageLoop::current()->DeleteSoon(
1258 FROM_HERE, shark_connection_listener_.release()); 1272 FROM_HERE, shark_connection_listener_.release());
1259 shark_controller_detected_ = true; 1273 shark_controller_detected_ = true;
1260 ShowHostPairingScreen(); 1274 ShowHostPairingScreen();
1261 } 1275 }
1262 1276
1263 } // namespace chromeos 1277 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.h ('k') | chrome/browser/resources/chromeos/login/login.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698