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

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

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

Powered by Google App Engine
This is Rietveld 408576698