#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
-#include "ash/ash_switches.h"
#include "base/command_line.h"
#include "base/logging.h"
-#include "base/memory/ref_counted_memory.h"
#include "base/values.h"
-#include "chrome/browser/browser_about_handler.h"
-#include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
#include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen_actor.h"
#include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h"
-#include "chrome/browser/chromeos/login/lock/screen_locker.h"
-#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-#include "chrome/browser/chromeos/login/wizard_controller.h"
+#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
+#include "chrome/browser/chromeos/policy/consumer_management_service.h"
#include "chrome/browser/chromeos/system/input_device_settings.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/about_ui.h"
#include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/auto_enrollment_check_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/controller_pairing_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h"
-#include "chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h"
#include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h"
#include "chrome/browser/ui/webui/theme_source.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/url_constants.h"
-#include "chromeos/chromeos_constants.h"
#include "chromeos/chromeos_switches.h"
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_data_source.h"
// static
const char OobeUI::kScreenOobeHIDDetection[] = "hid-detection";
-const char OobeUI::kScreenOobeNetwork[] = "connect";
-const char OobeUI::kScreenOobeEula[] = "eula";
-const char OobeUI::kScreenOobeUpdate[] = "update";
-const char OobeUI::kScreenOobeEnrollment[] = "oauth-enrollment";
-const char OobeUI::kScreenOobeReset[] = "reset";
-const char OobeUI::kScreenGaiaSignin[] = "gaia-signin";
-const char OobeUI::kScreenAccountPicker[] = "account-picker";
-const char OobeUI::kScreenKioskAutolaunch[] = "autolaunch";
-const char OobeUI::kScreenKioskEnable[] = "kiosk-enable";
-const char OobeUI::kScreenErrorMessage[] = "error-message";
-const char OobeUI::kScreenUserImagePicker[] = "user-image";
-const char OobeUI::kScreenTpmError[] = "tpm-error-message";
-const char OobeUI::kScreenPasswordChanged[] = "password-changed";
-const char OobeUI::kScreenManagedUserCreationFlow[]
- = "managed-user-creation";
-const char OobeUI::kScreenTermsOfService[] = "terms-of-service";
-const char OobeUI::kScreenWrongHWID[] = "wrong-hwid";
-const char OobeUI::kScreenAutoEnrollmentCheck[]
- = "auto-enrollment-check";
-const char OobeUI::kScreenHIDDetection[] = "hid-detection";
-const char OobeUI::kScreenAppLaunchSplash[] = "app-launch-splash";
-const char OobeUI::kScreenConfirmPassword[] = "confirm-password";
-const char OobeUI::kScreenFatalError[] = "fatal-error";
+const char OobeUI::kScreenOobeNetwork[] = "connect";
+const char OobeUI::kScreenOobeEula[] = "eula";
+const char OobeUI::kScreenOobeUpdate[] = "update";
+const char OobeUI::kScreenOobeEnrollment[] = "oauth-enrollment";
+const char OobeUI::kScreenOobeReset[] = "reset";
+const char OobeUI::kScreenGaiaSignin[] = "gaia-signin";
+const char OobeUI::kScreenAccountPicker[] = "account-picker";
+const char OobeUI::kScreenKioskAutolaunch[] = "autolaunch";
+const char OobeUI::kScreenKioskEnable[] = "kiosk-enable";
+const char OobeUI::kScreenErrorMessage[] = "error-message";
+const char OobeUI::kScreenUserImagePicker[] = "user-image";
+const char OobeUI::kScreenTpmError[] = "tpm-error-message";
+const char OobeUI::kScreenPasswordChanged[] = "password-changed";
+const char OobeUI::kScreenSupervisedUserCreationFlow[] =
+ "supervised-user-creation";
+const char OobeUI::kScreenTermsOfService[] = "terms-of-service";
+const char OobeUI::kScreenWrongHWID[] = "wrong-hwid";
+const char OobeUI::kScreenAutoEnrollmentCheck[] = "auto-enrollment-check";
+const char OobeUI::kScreenHIDDetection[] = "hid-detection";
+const char OobeUI::kScreenAppLaunchSplash[] = "app-launch-splash";
+const char OobeUI::kScreenConfirmPassword[] = "confirm-password";
+const char OobeUI::kScreenFatalError[] = "fatal-error";
+const char OobeUI::kScreenControllerPairing[] = "controller-pairing";
+const char OobeUI::kScreenHostPairing[] = "host-pairing";
OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
: WebUIController(web_ui),
kiosk_enable_screen_actor_(NULL),
wrong_hwid_screen_actor_(NULL),
auto_enrollment_check_screen_actor_(NULL),
- locally_managed_user_creation_screen_actor_(NULL),
+ supervised_user_creation_screen_actor_(NULL),
error_screen_handler_(NULL),
signin_screen_handler_(NULL),
terms_of_service_screen_actor_(NULL),
kiosk_enable_screen_actor_ = kiosk_enable_screen_handler;
AddScreenHandler(kiosk_enable_screen_handler);
- LocallyManagedUserCreationScreenHandler*
- locally_managed_user_creation_screen_handler =
- new LocallyManagedUserCreationScreenHandler();
- locally_managed_user_creation_screen_actor_ =
- locally_managed_user_creation_screen_handler;
- AddScreenHandler(locally_managed_user_creation_screen_handler);
+ SupervisedUserCreationScreenHandler* supervised_user_creation_screen_handler =
+ new SupervisedUserCreationScreenHandler();
+ supervised_user_creation_screen_actor_ =
+ supervised_user_creation_screen_handler;
+ AddScreenHandler(supervised_user_creation_screen_handler);
WrongHWIDScreenHandler* wrong_hwid_screen_handler =
new WrongHWIDScreenHandler();
hid_detection_screen_actor_ = hid_detection_screen_handler;
AddScreenHandler(hid_detection_screen_handler);
+ error_screen_handler_ = new ErrorScreenHandler(network_state_informer_);
+ AddScreenHandler(error_screen_handler_);
+
EnrollmentScreenHandler* enrollment_screen_handler =
- new EnrollmentScreenHandler();
+ new EnrollmentScreenHandler(network_state_informer_,
+ error_screen_handler_);
enrollment_screen_actor_ = enrollment_screen_handler;
AddScreenHandler(enrollment_screen_handler);
TermsOfServiceScreenHandler* terms_of_service_screen_handler =
- new TermsOfServiceScreenHandler;
+ new TermsOfServiceScreenHandler(core_handler_);
terms_of_service_screen_actor_ = terms_of_service_screen_handler;
AddScreenHandler(terms_of_service_screen_handler);
user_image_screen_actor_ = user_image_screen_handler;
AddScreenHandler(user_image_screen_handler);
- error_screen_handler_ = new ErrorScreenHandler(network_state_informer_);
- AddScreenHandler(error_screen_handler_);
-
- gaia_screen_handler_ = new GaiaScreenHandler(network_state_informer_);
+ policy::ConsumerManagementService* consumer_management =
+ g_browser_process->platform_part()->browser_policy_connector_chromeos()->
+ GetConsumerManagementService();
+ gaia_screen_handler_ =
+ new GaiaScreenHandler(network_state_informer_, consumer_management);
AddScreenHandler(gaia_screen_handler_);
signin_screen_handler_ = new SigninScreenHandler(network_state_informer_,
AddScreenHandler(app_launch_splash_screen_handler);
app_launch_splash_screen_actor_ = app_launch_splash_screen_handler;
+ if (display_type_ == kOobeDisplay) {
+ ControllerPairingScreenHandler* handler =
+ new ControllerPairingScreenHandler();
+ controller_pairing_screen_actor_ = handler;
+ AddScreenHandler(handler);
+ }
+
+ if (display_type_ == kOobeDisplay) {
+ HostPairingScreenHandler* handler = new HostPairingScreenHandler();
+ host_pairing_screen_actor_ = handler;
+ AddScreenHandler(handler);
+ }
+
// Initialize KioskAppMenuHandler. Note that it is NOT a screen handler.
kiosk_app_menu_handler_ = new KioskAppMenuHandler(network_state_informer_);
web_ui->AddMessageHandler(kiosk_app_menu_handler_);
network_dropdown_handler_->RemoveObserver(update_screen_handler_);
}
-void OobeUI::ShowScreen(WizardScreen* screen) {
- screen->Show();
-}
-
-void OobeUI::HideScreen(WizardScreen* screen) {
- screen->Hide();
-}
-
CoreOobeActor* OobeUI::GetCoreOobeActor() {
return core_handler_;
}
return hid_detection_screen_actor_;
}
+ControllerPairingScreenActor* OobeUI::GetControllerPairingScreenActor() {
+ return controller_pairing_screen_actor_;
+}
+
+HostPairingScreenActor* OobeUI::GetHostPairingScreenActor() {
+ return host_pairing_screen_actor_;
+}
+
UserImageScreenActor* OobeUI::GetUserImageScreenActor() {
return user_image_screen_actor_;
}
return error_screen_handler_;
}
-LocallyManagedUserCreationScreenHandler*
- OobeUI::GetLocallyManagedUserCreationScreenActor() {
- return locally_managed_user_creation_screen_actor_;
+SupervisedUserCreationScreenHandler*
+ OobeUI::GetSupervisedUserCreationScreenActor() {
+ return supervised_user_creation_screen_actor_;
}
AppLaunchSplashScreenActor*
screen_names_[SCREEN_USER_IMAGE_PICKER] = kScreenUserImagePicker;
screen_names_[SCREEN_TPM_ERROR] = kScreenTpmError;
screen_names_[SCREEN_PASSWORD_CHANGED] = kScreenPasswordChanged;
- screen_names_[SCREEN_CREATE_MANAGED_USER_FLOW] =
- kScreenManagedUserCreationFlow;
+ screen_names_[SCREEN_CREATE_SUPERVISED_USER_FLOW] =
+ kScreenSupervisedUserCreationFlow;
screen_names_[SCREEN_TERMS_OF_SERVICE] = kScreenTermsOfService;
screen_names_[SCREEN_WRONG_HWID] = kScreenWrongHWID;
screen_names_[SCREEN_AUTO_ENROLLMENT_CHECK] = kScreenAutoEnrollmentCheck;
screen_names_[SCREEN_APP_LAUNCH_SPLASH] = kScreenAppLaunchSplash;
screen_names_[SCREEN_CONFIRM_PASSWORD] = kScreenConfirmPassword;
screen_names_[SCREEN_FATAL_ERROR] = kScreenFatalError;
+ screen_names_[SCREEN_OOBE_CONTROLLER_PAIRING] = kScreenControllerPairing;
+ screen_names_[SCREEN_OOBE_HOST_PAIRING] = kScreenHostPairing;
screen_ids_.clear();
for (size_t i = 0; i < screen_names_.size(); ++i)
void OobeUI::OnCurrentScreenChanged(const std::string& screen) {
previous_screen_ = current_screen_;
- if (screen_ids_.count(screen)) {
- Screen new_screen = screen_ids_[screen];
- FOR_EACH_OBSERVER(Observer,
- observer_list_,
- OnCurrentScreenChanged(current_screen_, new_screen));
- current_screen_ = new_screen;
- } else {
- NOTREACHED() << "Screen should be registered in InitializeScreenMaps()";
- current_screen_ = SCREEN_UNKNOWN;
- }
+ DCHECK(screen_ids_.count(screen))
+ << "Screen should be registered in InitializeScreenMaps()";
+ Screen new_screen = screen_ids_[screen];
+ FOR_EACH_OBSERVER(Observer,
+ observer_list_,
+ OnCurrentScreenChanged(current_screen_, new_screen));
+ current_screen_ = new_screen;
}
} // namespace chromeos