| Index: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
|
| index 6402e03fed7fe9755da3bcd53de3eb90db4da926..2ace02f00040615a1006b10403b70c18dfe12e1a 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
|
| @@ -47,6 +47,7 @@
|
| #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h"
|
| #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler.h"
|
| #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h"
|
| +#include "chrome/browser/ui/webui/chromeos/login/multicast_core_oobe_view.h"
|
| #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h"
|
| #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h"
|
| #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h"
|
| @@ -213,12 +214,14 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
|
| network_state_informer_ = new NetworkStateInformer();
|
| network_state_informer_->Init();
|
|
|
| + core_oobe_view_ = base::MakeUnique<MulticastCoreOobeView>();
|
| js_calls_container = base::MakeUnique<JSCallsContainer>();
|
|
|
| auto core_handler =
|
| base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get());
|
| core_handler_ = core_handler.get();
|
| AddWebUIHandler(std::move(core_handler));
|
| + core_oobe_view_->AddView(core_handler_);
|
|
|
| auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>();
|
| network_dropdown_handler_ = network_dropdown_handler.get();
|
| @@ -227,11 +230,13 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
|
| AddScreenHandler(base::MakeUnique<UpdateScreenHandler>());
|
|
|
| if (display_type_ == kOobeDisplay)
|
| - AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(core_handler_));
|
| + AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(GetCoreOobeView()));
|
|
|
| - AddScreenHandler(base::MakeUnique<EnableDebuggingScreenHandler>());
|
| + auto enable_debugging = base::MakeUnique<EnableDebuggingScreenHandler>();
|
| + core_oobe_view_->AddView(enable_debugging.get());
|
| + AddScreenHandler(std::move(enable_debugging));
|
|
|
| - AddScreenHandler(base::MakeUnique<EulaScreenHandler>(core_handler_));
|
| + AddScreenHandler(base::MakeUnique<EulaScreenHandler>(GetCoreOobeView()));
|
|
|
| AddScreenHandler(base::MakeUnique<ResetScreenHandler>());
|
|
|
| @@ -249,7 +254,8 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
|
|
|
| AddScreenHandler(base::MakeUnique<AutoEnrollmentCheckScreenHandler>());
|
|
|
| - AddScreenHandler(base::MakeUnique<HIDDetectionScreenHandler>(core_handler_));
|
| + AddScreenHandler(
|
| + base::MakeUnique<HIDDetectionScreenHandler>(GetCoreOobeView()));
|
|
|
| AddScreenHandler(base::MakeUnique<ErrorScreenHandler>());
|
| network_dropdown_handler_->AddObserver(GetView<ErrorScreenHandler>());
|
| @@ -261,7 +267,7 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
|
| network_state_informer_, error_screen));
|
|
|
| AddScreenHandler(
|
| - base::MakeUnique<TermsOfServiceScreenHandler>(core_handler_));
|
| + base::MakeUnique<TermsOfServiceScreenHandler>(GetCoreOobeView()));
|
|
|
| AddScreenHandler(base::MakeUnique<ArcTermsOfServiceScreenHandler>());
|
|
|
| @@ -270,10 +276,10 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
|
| AddScreenHandler(base::MakeUnique<UserBoardScreenHandler>());
|
|
|
| AddScreenHandler(base::MakeUnique<GaiaScreenHandler>(
|
| - core_handler_, network_state_informer_));
|
| + GetCoreOobeView(), network_state_informer_));
|
|
|
| auto signin_screen_handler = base::MakeUnique<SigninScreenHandler>(
|
| - network_state_informer_, error_screen, core_handler_,
|
| + network_state_informer_, error_screen, GetCoreOobeView(),
|
| GetView<GaiaScreenHandler>(), js_calls_container.get());
|
| signin_screen_handler_ = signin_screen_handler.get();
|
| AddWebUIHandler(std::move(signin_screen_handler));
|
| @@ -327,6 +333,7 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
|
| }
|
|
|
| OobeUI::~OobeUI() {
|
| + GetCoreOobeView()->SetDelegate(nullptr);
|
| network_dropdown_handler_->RemoveObserver(GetView<ErrorScreenHandler>());
|
| if (ash_util::IsRunningInMash()) {
|
| // TODO: Ash needs to expose screen dimming api. See
|
| @@ -336,7 +343,7 @@ OobeUI::~OobeUI() {
|
| }
|
|
|
| CoreOobeView* OobeUI::GetCoreOobeView() {
|
| - return core_handler_;
|
| + return core_oobe_view_.get();
|
| }
|
|
|
| NetworkView* OobeUI::GetNetworkView() {
|
| @@ -351,10 +358,6 @@ UpdateView* OobeUI::GetUpdateView() {
|
| return GetView<UpdateScreenHandler>();
|
| }
|
|
|
| -EnableDebuggingScreenView* OobeUI::GetEnableDebuggingScreenView() {
|
| - return GetView<EnableDebuggingScreenHandler>();
|
| -}
|
| -
|
| EnrollmentScreenView* OobeUI::GetEnrollmentScreenView() {
|
| return GetView<EnrollmentScreenHandler>();
|
| }
|
| @@ -588,7 +591,7 @@ void OobeUI::UpdateLocalizedStringsIfNeeded() {
|
|
|
| base::DictionaryValue localized_strings;
|
| GetLocalizedStrings(&localized_strings);
|
| - static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings);
|
| + GetCoreOobeView()->ReloadContent(localized_strings);
|
| }
|
|
|
| } // namespace chromeos
|
|
|