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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc

Issue 326933004: Example of usage of new features of context and screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/oobe_ui.h ('k') | chrome/chrome_browser_chromeos.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/ui/webui/chromeos/login/oobe_ui.h" 5 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
6 6
7 #include "ash/ash_switches.h"
8 #include "base/command_line.h" 7 #include "base/command_line.h"
9 #include "base/logging.h" 8 #include "base/logging.h"
10 #include "base/memory/ref_counted_memory.h"
11 #include "base/values.h" 9 #include "base/values.h"
12 #include "chrome/browser/browser_about_handler.h"
13 #include "chrome/browser/chrome_notification_types.h"
14 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" 10 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
15 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen_ actor.h" 11 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen_ actor.h"
16 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h" 12 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h"
17 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
18 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
19 #include "chrome/browser/chromeos/login/users/user_manager.h"
20 #include "chrome/browser/chromeos/login/wizard_controller.h"
21 #include "chrome/browser/chromeos/system/input_device_settings.h" 13 #include "chrome/browser/chromeos/system/input_device_settings.h"
22 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
23 #include "chrome/browser/ui/webui/about_ui.h" 15 #include "chrome/browser/ui/webui/about_ui.h"
24 #include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handle r.h" 16 #include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handle r.h"
25 #include "chrome/browser/ui/webui/chromeos/login/auto_enrollment_check_screen_ha ndler.h" 17 #include "chrome/browser/ui/webui/chromeos/login/auto_enrollment_check_screen_ha ndler.h"
26 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h" 18 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
19 #include "chrome/browser/ui/webui/chromeos/login/controller_pairing_screen_handl er.h"
27 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h" 20 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h"
28 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h" 21 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h"
29 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" 22 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h"
30 #include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h" 23 #include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h"
31 #include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h" 24 #include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h"
32 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h" 25 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h"
33 #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler .h" 26 #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler .h"
34 #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h" 27 #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h"
35 #include "chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_s creen_handler.h" 28 #include "chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_s creen_handler.h"
36 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h" 29 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h"
37 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" 30 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h"
38 #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h" 31 #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h"
39 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h" 32 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h"
40 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 33 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
41 #include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler .h" 34 #include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler .h"
42 #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h" 35 #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h"
43 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" 36 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h"
44 #include "chrome/browser/ui/webui/chromeos/login/wrong_hwid_screen_handler.h" 37 #include "chrome/browser/ui/webui/chromeos/login/wrong_hwid_screen_handler.h"
45 #include "chrome/browser/ui/webui/options/chromeos/user_image_source.h" 38 #include "chrome/browser/ui/webui/options/chromeos/user_image_source.h"
46 #include "chrome/browser/ui/webui/theme_source.h" 39 #include "chrome/browser/ui/webui/theme_source.h"
47 #include "chrome/common/chrome_constants.h" 40 #include "chrome/common/chrome_constants.h"
48 #include "chrome/common/url_constants.h" 41 #include "chrome/common/url_constants.h"
49 #include "chromeos/chromeos_constants.h"
50 #include "chromeos/chromeos_switches.h" 42 #include "chromeos/chromeos_switches.h"
51 #include "content/public/browser/web_ui.h" 43 #include "content/public/browser/web_ui.h"
52 #include "content/public/browser/web_ui_data_source.h" 44 #include "content/public/browser/web_ui_data_source.h"
53 #include "grit/browser_resources.h" 45 #include "grit/browser_resources.h"
54 #include "ui/base/resource/resource_bundle.h" 46 #include "ui/base/resource/resource_bundle.h"
55 #include "ui/base/webui/web_ui_util.h" 47 #include "ui/base/webui/web_ui_util.h"
56 48
57 namespace chromeos { 49 namespace chromeos {
58 50
59 namespace { 51 namespace {
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 119
128 // static 120 // static
129 const char OobeUI::kOobeDisplay[] = "oobe"; 121 const char OobeUI::kOobeDisplay[] = "oobe";
130 const char OobeUI::kLoginDisplay[] = "login"; 122 const char OobeUI::kLoginDisplay[] = "login";
131 const char OobeUI::kLockDisplay[] = "lock"; 123 const char OobeUI::kLockDisplay[] = "lock";
132 const char OobeUI::kUserAddingDisplay[] = "user-adding"; 124 const char OobeUI::kUserAddingDisplay[] = "user-adding";
133 const char OobeUI::kAppLaunchSplashDisplay[] = "app-launch-splash"; 125 const char OobeUI::kAppLaunchSplashDisplay[] = "app-launch-splash";
134 126
135 // static 127 // static
136 const char OobeUI::kScreenOobeHIDDetection[] = "hid-detection"; 128 const char OobeUI::kScreenOobeHIDDetection[] = "hid-detection";
137 const char OobeUI::kScreenOobeNetwork[] = "connect"; 129 const char OobeUI::kScreenOobeNetwork[] = "connect";
138 const char OobeUI::kScreenOobeEula[] = "eula"; 130 const char OobeUI::kScreenOobeEula[] = "eula";
139 const char OobeUI::kScreenOobeUpdate[] = "update"; 131 const char OobeUI::kScreenOobeUpdate[] = "update";
140 const char OobeUI::kScreenOobeEnrollment[] = "oauth-enrollment"; 132 const char OobeUI::kScreenOobeEnrollment[] = "oauth-enrollment";
141 const char OobeUI::kScreenOobeReset[] = "reset"; 133 const char OobeUI::kScreenOobeReset[] = "reset";
142 const char OobeUI::kScreenGaiaSignin[] = "gaia-signin"; 134 const char OobeUI::kScreenGaiaSignin[] = "gaia-signin";
143 const char OobeUI::kScreenAccountPicker[] = "account-picker"; 135 const char OobeUI::kScreenAccountPicker[] = "account-picker";
144 const char OobeUI::kScreenKioskAutolaunch[] = "autolaunch"; 136 const char OobeUI::kScreenKioskAutolaunch[] = "autolaunch";
145 const char OobeUI::kScreenKioskEnable[] = "kiosk-enable"; 137 const char OobeUI::kScreenKioskEnable[] = "kiosk-enable";
146 const char OobeUI::kScreenErrorMessage[] = "error-message"; 138 const char OobeUI::kScreenErrorMessage[] = "error-message";
147 const char OobeUI::kScreenUserImagePicker[] = "user-image"; 139 const char OobeUI::kScreenUserImagePicker[] = "user-image";
148 const char OobeUI::kScreenTpmError[] = "tpm-error-message"; 140 const char OobeUI::kScreenTpmError[] = "tpm-error-message";
149 const char OobeUI::kScreenPasswordChanged[] = "password-changed"; 141 const char OobeUI::kScreenPasswordChanged[] = "password-changed";
150 const char OobeUI::kScreenManagedUserCreationFlow[] 142 const char OobeUI::kScreenManagedUserCreationFlow[] = "managed-user-creation";
151 = "managed-user-creation"; 143 const char OobeUI::kScreenTermsOfService[] = "terms-of-service";
152 const char OobeUI::kScreenTermsOfService[] = "terms-of-service"; 144 const char OobeUI::kScreenWrongHWID[] = "wrong-hwid";
153 const char OobeUI::kScreenWrongHWID[] = "wrong-hwid"; 145 const char OobeUI::kScreenAutoEnrollmentCheck[] = "auto-enrollment-check";
154 const char OobeUI::kScreenAutoEnrollmentCheck[] 146 const char OobeUI::kScreenHIDDetection[] = "hid-detection";
155 = "auto-enrollment-check"; 147 const char OobeUI::kScreenAppLaunchSplash[] = "app-launch-splash";
156 const char OobeUI::kScreenHIDDetection[] = "hid-detection"; 148 const char OobeUI::kScreenConfirmPassword[] = "confirm-password";
157 const char OobeUI::kScreenAppLaunchSplash[] = "app-launch-splash"; 149 const char OobeUI::kScreenFatalError[] = "fatal-error";
158 const char OobeUI::kScreenConfirmPassword[] = "confirm-password"; 150 const char OobeUI::kScreenControllerPairing[] = "controller-pairing";
159 const char OobeUI::kScreenFatalError[] = "fatal-error";
160 151
161 OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url) 152 OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
162 : WebUIController(web_ui), 153 : WebUIController(web_ui),
163 core_handler_(NULL), 154 core_handler_(NULL),
164 network_dropdown_handler_(NULL), 155 network_dropdown_handler_(NULL),
165 update_screen_handler_(NULL), 156 update_screen_handler_(NULL),
166 network_screen_actor_(NULL), 157 network_screen_actor_(NULL),
167 eula_screen_actor_(NULL), 158 eula_screen_actor_(NULL),
168 hid_detection_screen_actor_(NULL), 159 hid_detection_screen_actor_(NULL),
169 reset_screen_actor_(NULL), 160 reset_screen_actor_(NULL),
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 core_handler_, 261 core_handler_,
271 gaia_screen_handler_); 262 gaia_screen_handler_);
272 AddScreenHandler(signin_screen_handler_); 263 AddScreenHandler(signin_screen_handler_);
273 264
274 AppLaunchSplashScreenHandler* app_launch_splash_screen_handler = 265 AppLaunchSplashScreenHandler* app_launch_splash_screen_handler =
275 new AppLaunchSplashScreenHandler(network_state_informer_, 266 new AppLaunchSplashScreenHandler(network_state_informer_,
276 error_screen_handler_); 267 error_screen_handler_);
277 AddScreenHandler(app_launch_splash_screen_handler); 268 AddScreenHandler(app_launch_splash_screen_handler);
278 app_launch_splash_screen_actor_ = app_launch_splash_screen_handler; 269 app_launch_splash_screen_actor_ = app_launch_splash_screen_handler;
279 270
271 if (display_type_ == kOobeDisplay) {
272 ControllerPairingScreenHandler* handler =
273 new ControllerPairingScreenHandler();
274 controller_pairing_screen_actor_ = handler;
275 AddScreenHandler(handler);
276 }
277
280 // Initialize KioskAppMenuHandler. Note that it is NOT a screen handler. 278 // Initialize KioskAppMenuHandler. Note that it is NOT a screen handler.
281 kiosk_app_menu_handler_ = new KioskAppMenuHandler; 279 kiosk_app_menu_handler_ = new KioskAppMenuHandler;
282 web_ui->AddMessageHandler(kiosk_app_menu_handler_); 280 web_ui->AddMessageHandler(kiosk_app_menu_handler_);
283 281
284 base::DictionaryValue localized_strings; 282 base::DictionaryValue localized_strings;
285 GetLocalizedStrings(&localized_strings); 283 GetLocalizedStrings(&localized_strings);
286 284
287 Profile* profile = Profile::FromWebUI(web_ui); 285 Profile* profile = Profile::FromWebUI(web_ui);
288 // Set up the chrome://theme/ source, for Chrome logo. 286 // Set up the chrome://theme/ source, for Chrome logo.
289 ThemeSource* theme = new ThemeSource(profile); 287 ThemeSource* theme = new ThemeSource(profile);
(...skipping 13 matching lines...) Expand all
303 options::UserImageSource* user_image_source = 301 options::UserImageSource* user_image_source =
304 new options::UserImageSource(); 302 new options::UserImageSource();
305 content::URLDataSource::Add(profile, user_image_source); 303 content::URLDataSource::Add(profile, user_image_source);
306 } 304 }
307 305
308 OobeUI::~OobeUI() { 306 OobeUI::~OobeUI() {
309 core_handler_->SetDelegate(NULL); 307 core_handler_->SetDelegate(NULL);
310 network_dropdown_handler_->RemoveObserver(update_screen_handler_); 308 network_dropdown_handler_->RemoveObserver(update_screen_handler_);
311 } 309 }
312 310
313 void OobeUI::ShowScreen(WizardScreen* screen) {
314 screen->Show();
315 }
316
317 void OobeUI::HideScreen(WizardScreen* screen) {
318 screen->Hide();
319 }
320
321 CoreOobeActor* OobeUI::GetCoreOobeActor() { 311 CoreOobeActor* OobeUI::GetCoreOobeActor() {
322 return core_handler_; 312 return core_handler_;
323 } 313 }
324 314
325 UpdateScreenActor* OobeUI::GetUpdateScreenActor() { 315 UpdateScreenActor* OobeUI::GetUpdateScreenActor() {
326 return update_screen_handler_; 316 return update_screen_handler_;
327 } 317 }
328 318
329 NetworkScreenActor* OobeUI::GetNetworkScreenActor() { 319 NetworkScreenActor* OobeUI::GetNetworkScreenActor() {
330 return network_screen_actor_; 320 return network_screen_actor_;
(...skipping 28 matching lines...) Expand all
359 } 349 }
360 350
361 AutoEnrollmentCheckScreenActor* OobeUI::GetAutoEnrollmentCheckScreenActor() { 351 AutoEnrollmentCheckScreenActor* OobeUI::GetAutoEnrollmentCheckScreenActor() {
362 return auto_enrollment_check_screen_actor_; 352 return auto_enrollment_check_screen_actor_;
363 } 353 }
364 354
365 HIDDetectionScreenActor* OobeUI::GetHIDDetectionScreenActor() { 355 HIDDetectionScreenActor* OobeUI::GetHIDDetectionScreenActor() {
366 return hid_detection_screen_actor_; 356 return hid_detection_screen_actor_;
367 } 357 }
368 358
359 ControllerPairingScreenActor* OobeUI::GetControllerPairingScreenActor() {
360 return controller_pairing_screen_actor_;
361 }
362
369 UserImageScreenActor* OobeUI::GetUserImageScreenActor() { 363 UserImageScreenActor* OobeUI::GetUserImageScreenActor() {
370 return user_image_screen_actor_; 364 return user_image_screen_actor_;
371 } 365 }
372 366
373 ErrorScreenActor* OobeUI::GetErrorScreenActor() { 367 ErrorScreenActor* OobeUI::GetErrorScreenActor() {
374 return error_screen_handler_; 368 return error_screen_handler_;
375 } 369 }
376 370
377 LocallyManagedUserCreationScreenHandler* 371 LocallyManagedUserCreationScreenHandler*
378 OobeUI::GetLocallyManagedUserCreationScreenActor() { 372 OobeUI::GetLocallyManagedUserCreationScreenActor() {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 screen_names_[SCREEN_TPM_ERROR] = kScreenTpmError; 426 screen_names_[SCREEN_TPM_ERROR] = kScreenTpmError;
433 screen_names_[SCREEN_PASSWORD_CHANGED] = kScreenPasswordChanged; 427 screen_names_[SCREEN_PASSWORD_CHANGED] = kScreenPasswordChanged;
434 screen_names_[SCREEN_CREATE_MANAGED_USER_FLOW] = 428 screen_names_[SCREEN_CREATE_MANAGED_USER_FLOW] =
435 kScreenManagedUserCreationFlow; 429 kScreenManagedUserCreationFlow;
436 screen_names_[SCREEN_TERMS_OF_SERVICE] = kScreenTermsOfService; 430 screen_names_[SCREEN_TERMS_OF_SERVICE] = kScreenTermsOfService;
437 screen_names_[SCREEN_WRONG_HWID] = kScreenWrongHWID; 431 screen_names_[SCREEN_WRONG_HWID] = kScreenWrongHWID;
438 screen_names_[SCREEN_AUTO_ENROLLMENT_CHECK] = kScreenAutoEnrollmentCheck; 432 screen_names_[SCREEN_AUTO_ENROLLMENT_CHECK] = kScreenAutoEnrollmentCheck;
439 screen_names_[SCREEN_APP_LAUNCH_SPLASH] = kScreenAppLaunchSplash; 433 screen_names_[SCREEN_APP_LAUNCH_SPLASH] = kScreenAppLaunchSplash;
440 screen_names_[SCREEN_CONFIRM_PASSWORD] = kScreenConfirmPassword; 434 screen_names_[SCREEN_CONFIRM_PASSWORD] = kScreenConfirmPassword;
441 screen_names_[SCREEN_FATAL_ERROR] = kScreenFatalError; 435 screen_names_[SCREEN_FATAL_ERROR] = kScreenFatalError;
436 screen_names_[SCREEN_OOBE_CONTROLLER_PAIRING] = kScreenControllerPairing;
442 437
443 screen_ids_.clear(); 438 screen_ids_.clear();
444 for (size_t i = 0; i < screen_names_.size(); ++i) 439 for (size_t i = 0; i < screen_names_.size(); ++i)
445 screen_ids_[screen_names_[i]] = static_cast<Screen>(i); 440 screen_ids_[screen_names_[i]] = static_cast<Screen>(i);
446 } 441 }
447 442
448 void OobeUI::AddScreenHandler(BaseScreenHandler* handler) { 443 void OobeUI::AddScreenHandler(BaseScreenHandler* handler) {
449 web_ui()->AddMessageHandler(handler); 444 web_ui()->AddMessageHandler(handler);
450 handlers_.push_back(handler); 445 handlers_.push_back(handler);
451 } 446 }
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 observer_list_, 519 observer_list_,
525 OnCurrentScreenChanged(current_screen_, new_screen)); 520 OnCurrentScreenChanged(current_screen_, new_screen));
526 current_screen_ = new_screen; 521 current_screen_ = new_screen;
527 } else { 522 } else {
528 NOTREACHED() << "Screen should be registered in InitializeScreenMaps()"; 523 NOTREACHED() << "Screen should be registered in InitializeScreenMaps()";
529 current_screen_ = SCREEN_UNKNOWN; 524 current_screen_ = SCREEN_UNKNOWN;
530 } 525 }
531 } 526 }
532 527
533 } // namespace chromeos 528 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/oobe_ui.h ('k') | chrome/chrome_browser_chromeos.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698