OLD | NEW |
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/chrome_notification_types.h" |
13 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" | 14 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" |
14 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h" | 15 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h" |
15 #include "chrome/browser/chromeos/login/login_display_host_impl.h" | 16 #include "chrome/browser/chromeos/login/login_display_host_impl.h" |
16 #include "chrome/browser/chromeos/login/screen_locker.h" | 17 #include "chrome/browser/chromeos/login/screen_locker.h" |
17 #include "chrome/browser/chromeos/login/user_manager.h" | 18 #include "chrome/browser/chromeos/login/user_manager.h" |
18 #include "chrome/browser/chromeos/login/wizard_controller.h" | 19 #include "chrome/browser/chromeos/login/wizard_controller.h" |
19 #include "chrome/browser/chromeos/system/input_device_settings.h" | 20 #include "chrome/browser/chromeos/system/input_device_settings.h" |
20 #include "chrome/browser/profiles/profile.h" | 21 #include "chrome/browser/profiles/profile.h" |
21 #include "chrome/browser/ui/webui/about_ui.h" | 22 #include "chrome/browser/ui/webui/about_ui.h" |
22 #include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handle
r.h" | 23 #include "chrome/browser/ui/webui/chromeos/login/app_launch_splash_screen_handle
r.h" |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 signin_screen_handler_->SetDelegate(delegate); | 453 signin_screen_handler_->SetDelegate(delegate); |
453 signin_screen_handler_->SetNativeWindowDelegate(native_window_delegate); | 454 signin_screen_handler_->SetNativeWindowDelegate(native_window_delegate); |
454 signin_screen_handler_->Show(core_handler_->show_oobe_ui()); | 455 signin_screen_handler_->Show(core_handler_->show_oobe_ui()); |
455 } | 456 } |
456 | 457 |
457 void OobeUI::ResetSigninScreenHandlerDelegate() { | 458 void OobeUI::ResetSigninScreenHandlerDelegate() { |
458 signin_screen_handler_->SetDelegate(NULL); | 459 signin_screen_handler_->SetDelegate(NULL); |
459 signin_screen_handler_->SetNativeWindowDelegate(NULL); | 460 signin_screen_handler_->SetNativeWindowDelegate(NULL); |
460 } | 461 } |
461 | 462 |
| 463 |
| 464 void OobeUI::AddObserver(Observer* observer) { |
| 465 observer_list_.AddObserver(observer); |
| 466 } |
| 467 |
| 468 void OobeUI::RemoveObserver(Observer* observer) { |
| 469 observer_list_.RemoveObserver(observer); |
| 470 } |
| 471 |
462 const std::string& OobeUI::GetScreenName(Screen screen) const { | 472 const std::string& OobeUI::GetScreenName(Screen screen) const { |
463 DCHECK(screen >= 0 && screen < SCREEN_UNKNOWN); | 473 DCHECK(screen >= 0 && screen < SCREEN_UNKNOWN); |
464 return screen_names_[static_cast<size_t>(screen)]; | 474 return screen_names_[static_cast<size_t>(screen)]; |
465 } | 475 } |
466 | 476 |
467 void OobeUI::OnCurrentScreenChanged(const std::string& screen) { | 477 void OobeUI::OnCurrentScreenChanged(const std::string& screen) { |
468 if (screen_ids_.count(screen)) { | 478 if (screen_ids_.count(screen)) { |
469 current_screen_ = screen_ids_[screen]; | 479 Screen new_screen = screen_ids_[screen]; |
| 480 FOR_EACH_OBSERVER(Observer, |
| 481 observer_list_, |
| 482 OnCurrentScreenChanged(current_screen_, new_screen)); |
| 483 current_screen_ = new_screen; |
470 } else { | 484 } else { |
471 NOTREACHED() << "Screen should be registered in InitializeScreenMaps()"; | 485 NOTREACHED() << "Screen should be registered in InitializeScreenMaps()"; |
472 current_screen_ = SCREEN_UNKNOWN; | 486 current_screen_ = SCREEN_UNKNOWN; |
473 } | 487 } |
474 } | 488 } |
475 | 489 |
476 } // namespace chromeos | 490 } // namespace chromeos |
OLD | NEW |