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

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

Issue 2713513009: cros: Break BaseScreenHandler into two classes. (Closed)
Patch Set: Add comments, fix compile Created 3 years, 9 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 display_type_ = GetDisplayType(url); 211 display_type_ = GetDisplayType(url);
212 212
213 network_state_informer_ = new NetworkStateInformer(); 213 network_state_informer_ = new NetworkStateInformer();
214 network_state_informer_->Init(); 214 network_state_informer_->Init();
215 215
216 js_calls_container = base::MakeUnique<JSCallsContainer>(); 216 js_calls_container = base::MakeUnique<JSCallsContainer>();
217 217
218 auto core_handler = 218 auto core_handler =
219 base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get()); 219 base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get());
220 core_handler_ = core_handler.get(); 220 core_handler_ = core_handler.get();
221 AddScreenHandler(std::move(core_handler)); 221 AddWebUIHandler(std::move(core_handler));
222 core_handler_->SetDelegate(this); 222 core_handler_->SetDelegate(this);
223 223
224 auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>(); 224 auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>();
225 network_dropdown_handler_ = network_dropdown_handler.get(); 225 network_dropdown_handler_ = network_dropdown_handler.get();
226 AddScreenHandler(std::move(network_dropdown_handler)); 226 AddWebUIHandler(std::move(network_dropdown_handler));
227 227
228 auto update_screen_handler = base::MakeUnique<UpdateScreenHandler>(); 228 AddScreenHandler(base::MakeUnique<UpdateScreenHandler>());
229 update_view_ = update_screen_handler.get();
230 AddScreenHandler(std::move(update_screen_handler));
231 229
232 if (display_type_ == kOobeDisplay) { 230 if (display_type_ == kOobeDisplay)
233 auto network_screen_handler = 231 AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(core_handler_));
234 base::MakeUnique<NetworkScreenHandler>(core_handler_);
235 network_view_ = network_screen_handler.get();
236 AddScreenHandler(std::move(network_screen_handler));
237 }
238 232
239 auto debugging_screen_handler = 233 AddScreenHandler(base::MakeUnique<EnableDebuggingScreenHandler>());
240 base::MakeUnique<EnableDebuggingScreenHandler>();
241 debugging_screen_view_ = debugging_screen_handler.get();
242 AddScreenHandler(std::move(debugging_screen_handler));
243 234
244 auto eula_screen_handler = base::MakeUnique<EulaScreenHandler>(core_handler_); 235 AddScreenHandler(base::MakeUnique<EulaScreenHandler>(core_handler_));
245 eula_view_ = eula_screen_handler.get();
246 AddScreenHandler(std::move(eula_screen_handler));
247 236
248 auto reset_screen_handler = base::MakeUnique<ResetScreenHandler>(); 237 AddScreenHandler(base::MakeUnique<ResetScreenHandler>());
249 reset_view_ = reset_screen_handler.get();
250 AddScreenHandler(std::move(reset_screen_handler));
251 238
252 auto autolaunch_screen_handler = 239 AddScreenHandler(base::MakeUnique<KioskAutolaunchScreenHandler>());
253 base::MakeUnique<KioskAutolaunchScreenHandler>();
254 autolaunch_screen_view_ = autolaunch_screen_handler.get();
255 AddScreenHandler(std::move(autolaunch_screen_handler));
256 240
257 auto kiosk_enable_screen_handler = 241 AddScreenHandler(base::MakeUnique<KioskEnableScreenHandler>());
258 base::MakeUnique<KioskEnableScreenHandler>();
259 kiosk_enable_screen_view_ = kiosk_enable_screen_handler.get();
260 AddScreenHandler(std::move(kiosk_enable_screen_handler));
261 242
262 auto supervised_user_creation_screen_handler = 243 auto supervised_user_creation_screen_handler =
263 base::MakeUnique<SupervisedUserCreationScreenHandler>(); 244 base::MakeUnique<SupervisedUserCreationScreenHandler>();
264 supervised_user_creation_screen_view_ = 245 supervised_user_creation_screen_view_ =
265 supervised_user_creation_screen_handler.get(); 246 supervised_user_creation_screen_handler.get();
266 AddScreenHandler(std::move(supervised_user_creation_screen_handler)); 247 AddScreenHandler(std::move(supervised_user_creation_screen_handler));
267 248
268 auto wrong_hwid_screen_handler = base::MakeUnique<WrongHWIDScreenHandler>(); 249 AddScreenHandler(base::MakeUnique<WrongHWIDScreenHandler>());
269 wrong_hwid_screen_view_ = wrong_hwid_screen_handler.get();
270 AddScreenHandler(std::move(wrong_hwid_screen_handler));
271 250
272 auto auto_enrollment_check_screen_handler = 251 AddScreenHandler(base::MakeUnique<AutoEnrollmentCheckScreenHandler>());
273 base::MakeUnique<AutoEnrollmentCheckScreenHandler>();
274 auto_enrollment_check_screen_view_ =
275 auto_enrollment_check_screen_handler.get();
276 AddScreenHandler(std::move(auto_enrollment_check_screen_handler));
277 252
278 auto hid_detection_screen_handler = 253 AddScreenHandler(base::MakeUnique<HIDDetectionScreenHandler>(core_handler_));
279 base::MakeUnique<HIDDetectionScreenHandler>(core_handler_);
280 hid_detection_view_ = hid_detection_screen_handler.get();
281 AddScreenHandler(std::move(hid_detection_screen_handler));
282 254
283 auto error_screen_handler = base::MakeUnique<ErrorScreenHandler>(); 255 AddScreenHandler(base::MakeUnique<ErrorScreenHandler>());
284 error_screen_handler_ = error_screen_handler.get(); 256 network_dropdown_handler_->AddObserver(GetView<ErrorScreenHandler>());
285 AddScreenHandler(std::move(error_screen_handler));
286 network_dropdown_handler_->AddObserver(error_screen_handler_);
287 257
288 error_screen_.reset(new ErrorScreen(nullptr, error_screen_handler_)); 258 error_screen_.reset(new ErrorScreen(nullptr, GetView<ErrorScreenHandler>()));
289 ErrorScreen* error_screen = error_screen_.get(); 259 ErrorScreen* error_screen = error_screen_.get();
290 260
291 auto enrollment_screen_handler = base::MakeUnique<EnrollmentScreenHandler>( 261 AddScreenHandler(base::MakeUnique<EnrollmentScreenHandler>(
292 network_state_informer_, error_screen); 262 network_state_informer_, error_screen));
293 enrollment_screen_view_ = enrollment_screen_handler.get();
294 AddScreenHandler(std::move(enrollment_screen_handler));
295 263
296 auto terms_of_service_screen_handler = 264 AddScreenHandler(
297 base::MakeUnique<TermsOfServiceScreenHandler>(core_handler_); 265 base::MakeUnique<TermsOfServiceScreenHandler>(core_handler_));
298 terms_of_service_screen_view_ = terms_of_service_screen_handler.get();
299 AddScreenHandler(std::move(terms_of_service_screen_handler));
300 266
301 auto arc_terms_of_service_screen_handler = 267 AddScreenHandler(base::MakeUnique<ArcTermsOfServiceScreenHandler>());
302 base::MakeUnique<ArcTermsOfServiceScreenHandler>();
303 arc_terms_of_service_screen_view_ = arc_terms_of_service_screen_handler.get();
304 AddScreenHandler(std::move(arc_terms_of_service_screen_handler));
305 268
306 auto user_image_screen_handler = base::MakeUnique<UserImageScreenHandler>(); 269 AddScreenHandler(base::MakeUnique<UserImageScreenHandler>());
307 user_image_view_ = user_image_screen_handler.get();
308 AddScreenHandler(std::move(user_image_screen_handler));
309 270
310 auto user_board_screen_handler = base::MakeUnique<UserBoardScreenHandler>(); 271 AddScreenHandler(base::MakeUnique<UserBoardScreenHandler>());
311 user_board_screen_handler_ = user_board_screen_handler.get();
312 AddScreenHandler(std::move(user_board_screen_handler));
313 272
314 auto gaia_screen_handler = base::MakeUnique<GaiaScreenHandler>( 273 AddScreenHandler(base::MakeUnique<GaiaScreenHandler>(
315 core_handler_, network_state_informer_); 274 core_handler_, network_state_informer_));
316 gaia_screen_handler_ = gaia_screen_handler.get();
317 AddScreenHandler(std::move(gaia_screen_handler));
318 275
319 auto signin_screen_handler = base::MakeUnique<SigninScreenHandler>( 276 auto signin_screen_handler = base::MakeUnique<SigninScreenHandler>(
320 network_state_informer_, error_screen, core_handler_, 277 network_state_informer_, error_screen, core_handler_,
321 gaia_screen_handler_, js_calls_container.get()); 278 GetView<GaiaScreenHandler>(), js_calls_container.get());
322 signin_screen_handler_ = signin_screen_handler.get(); 279 signin_screen_handler_ = signin_screen_handler.get();
323 AddScreenHandler(std::move(signin_screen_handler)); 280 AddWebUIHandler(std::move(signin_screen_handler));
324 281
325 auto app_launch_splash_screen_handler = 282 AddScreenHandler(base::MakeUnique<AppLaunchSplashScreenHandler>(
326 base::MakeUnique<AppLaunchSplashScreenHandler>(network_state_informer_, 283 network_state_informer_, error_screen));
327 error_screen);
328 app_launch_splash_screen_view_ = app_launch_splash_screen_handler.get();
329 AddScreenHandler(std::move(app_launch_splash_screen_handler));
330 284
331 auto arc_kiosk_splash_screen_handler = 285 AddScreenHandler(base::MakeUnique<ArcKioskSplashScreenHandler>());
332 base::MakeUnique<ArcKioskSplashScreenHandler>();
333 arc_kiosk_splash_screen_view_ = arc_kiosk_splash_screen_handler.get();
334 AddScreenHandler(std::move(arc_kiosk_splash_screen_handler));
335 286
336 if (display_type_ == kOobeDisplay) { 287 if (display_type_ == kOobeDisplay) {
337 auto controller_pairing_handler = 288 AddScreenHandler(base::MakeUnique<ControllerPairingScreenHandler>());
338 base::MakeUnique<ControllerPairingScreenHandler>();
339 controller_pairing_screen_view_ = controller_pairing_handler.get();
340 AddScreenHandler(std::move(controller_pairing_handler));
341 289
342 auto host_pairing_handler = base::MakeUnique<HostPairingScreenHandler>(); 290 AddScreenHandler(base::MakeUnique<HostPairingScreenHandler>());
343 host_pairing_screen_view_ = host_pairing_handler.get();
344 AddScreenHandler(std::move(host_pairing_handler));
345 } 291 }
346 292
347 auto device_disabled_screen_handler = 293 AddScreenHandler(base::MakeUnique<DeviceDisabledScreenHandler>());
348 base::MakeUnique<DeviceDisabledScreenHandler>();
349 device_disabled_screen_view_ = device_disabled_screen_handler.get();
350 AddScreenHandler(std::move(device_disabled_screen_handler));
351 294
352 // Initialize KioskAppMenuHandler. Note that it is NOT a screen handler. 295 // Initialize KioskAppMenuHandler. Note that it is NOT a screen handler.
353 auto kiosk_app_menu_handler = 296 auto kiosk_app_menu_handler =
354 base::MakeUnique<KioskAppMenuHandler>(network_state_informer_); 297 base::MakeUnique<KioskAppMenuHandler>(network_state_informer_);
355 kiosk_app_menu_handler_ = kiosk_app_menu_handler.get(); 298 kiosk_app_menu_handler_ = kiosk_app_menu_handler.get();
356 web_ui->AddMessageHandler(std::move(kiosk_app_menu_handler)); 299 web_ui->AddMessageHandler(std::move(kiosk_app_menu_handler));
357 300
358 base::DictionaryValue localized_strings; 301 base::DictionaryValue localized_strings;
359 GetLocalizedStrings(&localized_strings); 302 GetLocalizedStrings(&localized_strings);
360 303
(...skipping 18 matching lines...) Expand all
379 new options::UserImageSource(); 322 new options::UserImageSource();
380 content::URLDataSource::Add(profile, user_image_source); 323 content::URLDataSource::Add(profile, user_image_source);
381 324
382 // TabHelper is required for OOBE webui to make webview working on it. 325 // TabHelper is required for OOBE webui to make webview working on it.
383 content::WebContents* contents = web_ui->GetWebContents(); 326 content::WebContents* contents = web_ui->GetWebContents();
384 extensions::TabHelper::CreateForWebContents(contents); 327 extensions::TabHelper::CreateForWebContents(contents);
385 } 328 }
386 329
387 OobeUI::~OobeUI() { 330 OobeUI::~OobeUI() {
388 core_handler_->SetDelegate(nullptr); 331 core_handler_->SetDelegate(nullptr);
389 network_dropdown_handler_->RemoveObserver(error_screen_handler_); 332 network_dropdown_handler_->RemoveObserver(GetView<ErrorScreenHandler>());
390 if (ash_util::IsRunningInMash()) { 333 if (ash_util::IsRunningInMash()) {
391 // TODO: Ash needs to expose screen dimming api. See 334 // TODO: Ash needs to expose screen dimming api. See
392 // http://crbug.com/646034. 335 // http://crbug.com/646034.
393 NOTIMPLEMENTED(); 336 NOTIMPLEMENTED();
394 } 337 }
395 } 338 }
396 339
397 CoreOobeView* OobeUI::GetCoreOobeView() { 340 CoreOobeView* OobeUI::GetCoreOobeView() {
398 return core_handler_; 341 return core_handler_;
399 } 342 }
400 343
401 NetworkView* OobeUI::GetNetworkView() { 344 NetworkView* OobeUI::GetNetworkView() {
402 return network_view_; 345 return GetView<NetworkScreenHandler>();
403 } 346 }
404 347
405 EulaView* OobeUI::GetEulaView() { 348 EulaView* OobeUI::GetEulaView() {
406 return eula_view_; 349 return GetView<EulaScreenHandler>();
407 } 350 }
408 351
409 UpdateView* OobeUI::GetUpdateView() { 352 UpdateView* OobeUI::GetUpdateView() {
410 return update_view_; 353 return GetView<UpdateScreenHandler>();
411 } 354 }
412 355
413 EnableDebuggingScreenView* OobeUI::GetEnableDebuggingScreenView() { 356 EnableDebuggingScreenView* OobeUI::GetEnableDebuggingScreenView() {
414 return debugging_screen_view_; 357 return GetView<EnableDebuggingScreenHandler>();
415 } 358 }
416 359
417 EnrollmentScreenView* OobeUI::GetEnrollmentScreenView() { 360 EnrollmentScreenView* OobeUI::GetEnrollmentScreenView() {
418 return enrollment_screen_view_; 361 return GetView<EnrollmentScreenHandler>();
419 } 362 }
420 363
421 ResetView* OobeUI::GetResetView() { 364 ResetView* OobeUI::GetResetView() {
422 return reset_view_; 365 return GetView<ResetScreenHandler>();
423 } 366 }
424 367
425 KioskAutolaunchScreenView* OobeUI::GetKioskAutolaunchScreenView() { 368 KioskAutolaunchScreenView* OobeUI::GetKioskAutolaunchScreenView() {
426 return autolaunch_screen_view_; 369 return GetView<KioskAutolaunchScreenHandler>();
427 } 370 }
428 371
429 KioskEnableScreenView* OobeUI::GetKioskEnableScreenView() { 372 KioskEnableScreenView* OobeUI::GetKioskEnableScreenView() {
430 return kiosk_enable_screen_view_; 373 return GetView<KioskEnableScreenHandler>();
431 } 374 }
432 375
433 TermsOfServiceScreenView* OobeUI::GetTermsOfServiceScreenView() { 376 TermsOfServiceScreenView* OobeUI::GetTermsOfServiceScreenView() {
434 return terms_of_service_screen_view_; 377 return GetView<TermsOfServiceScreenHandler>();
435 } 378 }
436 379
437 ArcTermsOfServiceScreenView* OobeUI::GetArcTermsOfServiceScreenView() { 380 ArcTermsOfServiceScreenView* OobeUI::GetArcTermsOfServiceScreenView() {
438 return arc_terms_of_service_screen_view_; 381 return GetView<ArcTermsOfServiceScreenHandler>();
439 } 382 }
440 383
441 WrongHWIDScreenView* OobeUI::GetWrongHWIDScreenView() { 384 WrongHWIDScreenView* OobeUI::GetWrongHWIDScreenView() {
442 return wrong_hwid_screen_view_; 385 return GetView<WrongHWIDScreenHandler>();
443 } 386 }
444 387
445 AutoEnrollmentCheckScreenView* OobeUI::GetAutoEnrollmentCheckScreenView() { 388 AutoEnrollmentCheckScreenView* OobeUI::GetAutoEnrollmentCheckScreenView() {
446 return auto_enrollment_check_screen_view_; 389 return GetView<AutoEnrollmentCheckScreenHandler>();
447 } 390 }
448 391
449 HIDDetectionView* OobeUI::GetHIDDetectionView() { 392 HIDDetectionView* OobeUI::GetHIDDetectionView() {
450 return hid_detection_view_; 393 return GetView<HIDDetectionScreenHandler>();
451 } 394 }
452 395
453 ControllerPairingScreenView* OobeUI::GetControllerPairingScreenView() { 396 ControllerPairingScreenView* OobeUI::GetControllerPairingScreenView() {
454 return controller_pairing_screen_view_; 397 return GetView<ControllerPairingScreenHandler>();
455 } 398 }
456 399
457 HostPairingScreenView* OobeUI::GetHostPairingScreenView() { 400 HostPairingScreenView* OobeUI::GetHostPairingScreenView() {
458 return host_pairing_screen_view_; 401 return GetView<HostPairingScreenHandler>();
459 } 402 }
460 403
461 DeviceDisabledScreenView* OobeUI::GetDeviceDisabledScreenView() { 404 DeviceDisabledScreenView* OobeUI::GetDeviceDisabledScreenView() {
462 return device_disabled_screen_view_; 405 return GetView<DeviceDisabledScreenHandler>();
463 } 406 }
464 407
465 UserImageView* OobeUI::GetUserImageView() { 408 UserImageView* OobeUI::GetUserImageView() {
466 return user_image_view_; 409 return GetView<UserImageScreenHandler>();
467 } 410 }
468 411
469 ErrorScreen* OobeUI::GetErrorScreen() { 412 ErrorScreen* OobeUI::GetErrorScreen() {
470 return error_screen_.get(); 413 return error_screen_.get();
471 } 414 }
472 415
473 SupervisedUserCreationScreenHandler* 416 SupervisedUserCreationScreenHandler*
474 OobeUI::GetSupervisedUserCreationScreenView() { 417 OobeUI::GetSupervisedUserCreationScreenView() {
475 return supervised_user_creation_screen_view_; 418 return supervised_user_creation_screen_view_;
476 } 419 }
477 420
478 GaiaView* OobeUI::GetGaiaScreenView() { 421 GaiaView* OobeUI::GetGaiaScreenView() {
479 return gaia_screen_handler_; 422 return GetView<GaiaScreenHandler>();
480 } 423 }
481 424
482 UserBoardView* OobeUI::GetUserBoardView() { 425 UserBoardView* OobeUI::GetUserBoardView() {
483 return user_board_screen_handler_; 426 return GetView<UserBoardScreenHandler>();
484 } 427 }
485 428
486 void OobeUI::OnShutdownPolicyChanged(bool reboot_on_shutdown) { 429 void OobeUI::OnShutdownPolicyChanged(bool reboot_on_shutdown) {
487 core_handler_->UpdateShutdownAndRebootVisibility(reboot_on_shutdown); 430 core_handler_->UpdateShutdownAndRebootVisibility(reboot_on_shutdown);
488 } 431 }
489 432
490 AppLaunchSplashScreenView* OobeUI::GetAppLaunchSplashScreenView() { 433 AppLaunchSplashScreenView* OobeUI::GetAppLaunchSplashScreenView() {
491 return app_launch_splash_screen_view_; 434 return GetView<AppLaunchSplashScreenHandler>();
492 } 435 }
493 436
494 ArcKioskSplashScreenView* OobeUI::GetArcKioskSplashScreenView() { 437 ArcKioskSplashScreenView* OobeUI::GetArcKioskSplashScreenView() {
495 return arc_kiosk_splash_screen_view_; 438 return GetView<ArcKioskSplashScreenHandler>();
496 } 439 }
497 440
498 void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) { 441 void OobeUI::GetLocalizedStrings(base::DictionaryValue* localized_strings) {
499 // Note, handlers_[0] is a GenericHandler used by the WebUI. 442 for (BaseWebUIHandler* handler : webui_handlers_)
500 for (size_t i = 0; i < handlers_.size(); ++i) { 443 handler->GetLocalizedStrings(localized_strings);
501 handlers_[i]->GetLocalizedStrings(localized_strings);
502 }
503 const std::string& app_locale = g_browser_process->GetApplicationLocale(); 444 const std::string& app_locale = g_browser_process->GetApplicationLocale();
504 webui::SetLoadTimeDataDefaults(app_locale, localized_strings); 445 webui::SetLoadTimeDataDefaults(app_locale, localized_strings);
505 kiosk_app_menu_handler_->GetLocalizedStrings(localized_strings); 446 kiosk_app_menu_handler_->GetLocalizedStrings(localized_strings);
506 447
507 #if defined(GOOGLE_CHROME_BUILD) 448 #if defined(GOOGLE_CHROME_BUILD)
508 localized_strings->SetString("buildType", "chrome"); 449 localized_strings->SetString("buildType", "chrome");
509 #else 450 #else
510 localized_strings->SetString("buildType", "chromium"); 451 localized_strings->SetString("buildType", "chromium");
511 #endif 452 #endif
512 453
(...skipping 11 matching lines...) Expand all
524 localized_strings->SetString("highlightStrength", 465 localized_strings->SetString("highlightStrength",
525 keyboard_driven_oobe ? "strong" : "normal"); 466 keyboard_driven_oobe ? "strong" : "normal");
526 467
527 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI(); 468 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI();
528 localized_strings->SetString("newKioskUI", new_kiosk_ui ? "on" : "off"); 469 localized_strings->SetString("newKioskUI", new_kiosk_ui ? "on" : "off");
529 oobe_ui_md_mode_ = 470 oobe_ui_md_mode_ =
530 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode); 471 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode);
531 localized_strings->SetString("newOobeUI", oobe_ui_md_mode_ ? "on" : "off"); 472 localized_strings->SetString("newOobeUI", oobe_ui_md_mode_ ? "on" : "off");
532 } 473 }
533 474
534 void OobeUI::AddScreenHandler(std::unique_ptr<BaseScreenHandler> handler) { 475 void OobeUI::AddWebUIHandler(std::unique_ptr<BaseWebUIHandler> handler) {
535 handlers_.push_back(handler.get()); 476 webui_handlers_.push_back(handler.get());
536 web_ui()->AddMessageHandler(std::move(handler)); 477 web_ui()->AddMessageHandler(std::move(handler));
537 } 478 }
538 479
480 void OobeUI::AddScreenHandler(std::unique_ptr<BaseScreenHandler> handler) {
481 webui_handlers_.push_back(handler.get());
482 screen_handlers_.push_back(handler.get());
483 web_ui()->AddMessageHandler(std::move(handler));
484 }
485
539 void OobeUI::InitializeHandlers() { 486 void OobeUI::InitializeHandlers() {
540 ready_ = true; 487 ready_ = true;
541 for (size_t i = 0; i < ready_callbacks_.size(); ++i) 488 for (size_t i = 0; i < ready_callbacks_.size(); ++i)
542 ready_callbacks_[i].Run(); 489 ready_callbacks_[i].Run();
543 ready_callbacks_.clear(); 490 ready_callbacks_.clear();
544 491
545 // Notify 'initialize' for synchronously loaded screens. 492 // Notify 'initialize' for synchronously loaded screens.
546 for (size_t i = 0; i < handlers_.size(); ++i) { 493 for (BaseWebUIHandler* handler : webui_handlers_) {
547 if (handlers_[i]->async_assets_load_id().empty()) 494 if (handler->async_assets_load_id().empty())
548 handlers_[i]->InitializeBase(); 495 handler->InitializeBase();
549 } 496 }
550 497
551 // Instantiate the ShutdownPolicyHandler. 498 // Instantiate the ShutdownPolicyHandler.
552 shutdown_policy_handler_.reset( 499 shutdown_policy_handler_.reset(
553 new ShutdownPolicyHandler(CrosSettings::Get(), this)); 500 new ShutdownPolicyHandler(CrosSettings::Get(), this));
554 501
555 // Trigger an initial update. 502 // Trigger an initial update.
556 shutdown_policy_handler_->NotifyDelegateWithShutdownPolicy(); 503 shutdown_policy_handler_->NotifyDelegateWithShutdownPolicy();
557 } 504 }
558 505
559 void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { 506 void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) {
560 DCHECK(!async_assets_load_id.empty()); 507 DCHECK(!async_assets_load_id.empty());
561 508
562 for (size_t i = 0; i < handlers_.size(); ++i) { 509 for (BaseWebUIHandler* handler : webui_handlers_) {
563 if (handlers_[i]->async_assets_load_id() == async_assets_load_id) 510 if (handler->async_assets_load_id() == async_assets_load_id)
564 handlers_[i]->InitializeBase(); 511 handler->InitializeBase();
565 } 512 }
566 } 513 }
567 514
568 bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) { 515 bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) {
569 if (!ready_) 516 if (!ready_)
570 ready_callbacks_.push_back(display_is_ready_callback); 517 ready_callbacks_.push_back(display_is_ready_callback);
571 return ready_; 518 return ready_;
572 } 519 }
573 520
574 void OobeUI::ShowOobeUI(bool show) { 521 void OobeUI::ShowOobeUI(bool show) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { 587 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) {
641 return; 588 return;
642 } 589 }
643 590
644 base::DictionaryValue localized_strings; 591 base::DictionaryValue localized_strings;
645 GetLocalizedStrings(&localized_strings); 592 GetLocalizedStrings(&localized_strings);
646 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings); 593 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings);
647 } 594 }
648 595
649 } // namespace chromeos 596 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/oobe_ui.h ('k') | chrome/browser/ui/webui/chromeos/login/reset_screen_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698