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

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

Issue 22914008: Refactor kiosk app launch to be part of login screen UI flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor style fixes Created 7 years, 4 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
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" 7 #include "ash/ash_switches.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ref_counted_memory.h" 10 #include "base/memory/ref_counted_memory.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/browser_about_handler.h" 12 #include "chrome/browser/browser_about_handler.h"
13 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" 13 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
14 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h" 14 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h"
15 #include "chrome/browser/chromeos/login/login_display_host_impl.h" 15 #include "chrome/browser/chromeos/login/login_display_host_impl.h"
16 #include "chrome/browser/chromeos/login/screen_locker.h" 16 #include "chrome/browser/chromeos/login/screen_locker.h"
17 #include "chrome/browser/chromeos/login/user_manager.h" 17 #include "chrome/browser/chromeos/login/user_manager.h"
18 #include "chrome/browser/chromeos/login/wizard_controller.h" 18 #include "chrome/browser/chromeos/login/wizard_controller.h"
19 #include "chrome/browser/chromeos/system/input_device_settings.h" 19 #include "chrome/browser/chromeos/system/input_device_settings.h"
20 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/browser/ui/webui/about_ui.h" 21 #include "chrome/browser/ui/webui/about_ui.h"
22 #include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handle r.h"
22 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h" 23 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
23 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h" 24 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h"
24 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h" 25 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h"
25 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" 26 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h"
26 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h" 27 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h"
27 #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler .h" 28 #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler .h"
28 #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h" 29 #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h"
29 #include "chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_s creen_handler.h" 30 #include "chrome/browser/ui/webui/chromeos/login/locally_managed_user_creation_s creen_handler.h"
30 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h" 31 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h"
31 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" 32 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 const char OobeUI::kScreenKioskAutolaunch[] = "autolaunch"; 152 const char OobeUI::kScreenKioskAutolaunch[] = "autolaunch";
152 const char OobeUI::kScreenKioskEnable[] = "kiosk-enable"; 153 const char OobeUI::kScreenKioskEnable[] = "kiosk-enable";
153 const char OobeUI::kScreenErrorMessage[] = "error-message"; 154 const char OobeUI::kScreenErrorMessage[] = "error-message";
154 const char OobeUI::kScreenUserImagePicker[] = "user-image"; 155 const char OobeUI::kScreenUserImagePicker[] = "user-image";
155 const char OobeUI::kScreenTpmError[] = "tpm-error-message"; 156 const char OobeUI::kScreenTpmError[] = "tpm-error-message";
156 const char OobeUI::kScreenPasswordChanged[] = "password-changed"; 157 const char OobeUI::kScreenPasswordChanged[] = "password-changed";
157 const char OobeUI::kScreenManagedUserCreationFlow[] 158 const char OobeUI::kScreenManagedUserCreationFlow[]
158 = "managed-user-creation"; 159 = "managed-user-creation";
159 const char OobeUI::kScreenTermsOfService[] = "terms-of-service"; 160 const char OobeUI::kScreenTermsOfService[] = "terms-of-service";
160 const char OobeUI::kScreenWrongHWID[] = "wrong-hwid"; 161 const char OobeUI::kScreenWrongHWID[] = "wrong-hwid";
162 const char OobeUI::kScreenAppLaunchSplash[] = "app-launch-splash";
161 163
162 OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url) 164 OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
163 : WebUIController(web_ui), 165 : WebUIController(web_ui),
164 core_handler_(NULL), 166 core_handler_(NULL),
165 network_dropdown_handler_(NULL), 167 network_dropdown_handler_(NULL),
166 update_screen_handler_(NULL), 168 update_screen_handler_(NULL),
167 network_screen_actor_(NULL), 169 network_screen_actor_(NULL),
168 eula_screen_actor_(NULL), 170 eula_screen_actor_(NULL),
169 reset_screen_actor_(NULL), 171 reset_screen_actor_(NULL),
170 autolaunch_screen_actor_(NULL), 172 autolaunch_screen_actor_(NULL),
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 AddScreenHandler(user_image_screen_handler); 250 AddScreenHandler(user_image_screen_handler);
249 251
250 error_screen_handler_ = new ErrorScreenHandler(network_state_informer_); 252 error_screen_handler_ = new ErrorScreenHandler(network_state_informer_);
251 AddScreenHandler(error_screen_handler_); 253 AddScreenHandler(error_screen_handler_);
252 254
253 signin_screen_handler_ = new SigninScreenHandler(network_state_informer_, 255 signin_screen_handler_ = new SigninScreenHandler(network_state_informer_,
254 error_screen_handler_, 256 error_screen_handler_,
255 core_handler_); 257 core_handler_);
256 AddScreenHandler(signin_screen_handler_); 258 AddScreenHandler(signin_screen_handler_);
257 259
260 AppLaunchSplashScreenHandler* app_launch_splash_screen_handler =
261 new AppLaunchSplashScreenHandler();
262 AddScreenHandler(app_launch_splash_screen_handler);
263 app_launch_splash_screen_actor_ = app_launch_splash_screen_handler;
264
258 // Initialize KioskAppMenuHandler. Note that it is NOT a screen handler. 265 // Initialize KioskAppMenuHandler. Note that it is NOT a screen handler.
259 kiosk_app_menu_handler_ = new KioskAppMenuHandler; 266 kiosk_app_menu_handler_ = new KioskAppMenuHandler;
260 web_ui->AddMessageHandler(kiosk_app_menu_handler_); 267 web_ui->AddMessageHandler(kiosk_app_menu_handler_);
261 268
262 base::DictionaryValue localized_strings; 269 base::DictionaryValue localized_strings;
263 GetLocalizedStrings(&localized_strings); 270 GetLocalizedStrings(&localized_strings);
264 271
265 Profile* profile = Profile::FromWebUI(web_ui); 272 Profile* profile = Profile::FromWebUI(web_ui);
266 // Set up the chrome://theme/ source, for Chrome logo. 273 // Set up the chrome://theme/ source, for Chrome logo.
267 ThemeSource* theme = new ThemeSource(profile); 274 ThemeSource* theme = new ThemeSource(profile);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 345
339 ErrorScreenActor* OobeUI::GetErrorScreenActor() { 346 ErrorScreenActor* OobeUI::GetErrorScreenActor() {
340 return error_screen_handler_; 347 return error_screen_handler_;
341 } 348 }
342 349
343 LocallyManagedUserCreationScreenHandler* 350 LocallyManagedUserCreationScreenHandler*
344 OobeUI::GetLocallyManagedUserCreationScreenActor() { 351 OobeUI::GetLocallyManagedUserCreationScreenActor() {
345 return locally_managed_user_creation_screen_actor_; 352 return locally_managed_user_creation_screen_actor_;
346 } 353 }
347 354
355 AppLaunchSplashScreenActor*
356 OobeUI::GetAppLaunchSplashScreenActor() {
357 return app_launch_splash_screen_actor_;
358 }
359
348 void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) { 360 void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) {
349 // Note, handlers_[0] is a GenericHandler used by the WebUI. 361 // Note, handlers_[0] is a GenericHandler used by the WebUI.
350 for (size_t i = 0; i < handlers_.size(); ++i) 362 for (size_t i = 0; i < handlers_.size(); ++i)
351 handlers_[i]->GetLocalizedStrings(localized_strings); 363 handlers_[i]->GetLocalizedStrings(localized_strings);
352 webui::SetFontAndTextDirection(localized_strings); 364 webui::SetFontAndTextDirection(localized_strings);
353 kiosk_app_menu_handler_->GetLocalizedStrings(localized_strings); 365 kiosk_app_menu_handler_->GetLocalizedStrings(localized_strings);
354 366
355 #if defined(GOOGLE_CHROME_BUILD) 367 #if defined(GOOGLE_CHROME_BUILD)
356 localized_strings->SetString("buildType", "chrome"); 368 localized_strings->SetString("buildType", "chrome");
357 #else 369 #else
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 screen_names_[SCREEN_KIOSK_AUTOLAUNCH] = kScreenKioskAutolaunch; 402 screen_names_[SCREEN_KIOSK_AUTOLAUNCH] = kScreenKioskAutolaunch;
391 screen_names_[SCREEN_KIOSK_ENABLE] = kScreenKioskEnable; 403 screen_names_[SCREEN_KIOSK_ENABLE] = kScreenKioskEnable;
392 screen_names_[SCREEN_ERROR_MESSAGE] = kScreenErrorMessage; 404 screen_names_[SCREEN_ERROR_MESSAGE] = kScreenErrorMessage;
393 screen_names_[SCREEN_USER_IMAGE_PICKER] = kScreenUserImagePicker; 405 screen_names_[SCREEN_USER_IMAGE_PICKER] = kScreenUserImagePicker;
394 screen_names_[SCREEN_TPM_ERROR] = kScreenTpmError; 406 screen_names_[SCREEN_TPM_ERROR] = kScreenTpmError;
395 screen_names_[SCREEN_PASSWORD_CHANGED] = kScreenPasswordChanged; 407 screen_names_[SCREEN_PASSWORD_CHANGED] = kScreenPasswordChanged;
396 screen_names_[SCREEN_CREATE_MANAGED_USER_FLOW] = 408 screen_names_[SCREEN_CREATE_MANAGED_USER_FLOW] =
397 kScreenManagedUserCreationFlow; 409 kScreenManagedUserCreationFlow;
398 screen_names_[SCREEN_TERMS_OF_SERVICE] = kScreenTermsOfService; 410 screen_names_[SCREEN_TERMS_OF_SERVICE] = kScreenTermsOfService;
399 screen_names_[SCREEN_WRONG_HWID] = kScreenWrongHWID; 411 screen_names_[SCREEN_WRONG_HWID] = kScreenWrongHWID;
412 screen_names_[SCREEN_APP_LAUNCH_SPLASH] = kScreenAppLaunchSplash;
400 413
401 screen_ids_.clear(); 414 screen_ids_.clear();
402 for (size_t i = 0; i < screen_names_.size(); ++i) 415 for (size_t i = 0; i < screen_names_.size(); ++i)
403 screen_ids_[screen_names_[i]] = static_cast<Screen>(i); 416 screen_ids_[screen_names_[i]] = static_cast<Screen>(i);
404 } 417 }
405 418
406 void OobeUI::AddScreenHandler(BaseScreenHandler* handler) { 419 void OobeUI::AddScreenHandler(BaseScreenHandler* handler) {
407 web_ui()->AddMessageHandler(handler); 420 web_ui()->AddMessageHandler(handler);
408 handlers_.push_back(handler); 421 handlers_.push_back(handler);
409 } 422 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 void OobeUI::OnCurrentScreenChanged(const std::string& screen) { 465 void OobeUI::OnCurrentScreenChanged(const std::string& screen) {
453 if (screen_ids_.count(screen)) { 466 if (screen_ids_.count(screen)) {
454 current_screen_ = screen_ids_[screen]; 467 current_screen_ = screen_ids_[screen];
455 } else { 468 } else {
456 NOTREACHED() << "Screen should be registered in InitializeScreenMaps()"; 469 NOTREACHED() << "Screen should be registered in InitializeScreenMaps()";
457 current_screen_ = SCREEN_UNKNOWN; 470 current_screen_ = SCREEN_UNKNOWN;
458 } 471 }
459 } 472 }
460 473
461 } // namespace chromeos 474 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698