| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 #include "chrome/browser/ui/webui/chromeos/login/enable_debugging_screen_handler
.h" | 40 #include "chrome/browser/ui/webui/chromeos/login/enable_debugging_screen_handler
.h" |
| 41 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h" | 41 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h" |
| 42 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h" | 42 #include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h" |
| 43 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" | 43 #include "chrome/browser/ui/webui/chromeos/login/eula_screen_handler.h" |
| 44 #include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h" | 44 #include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h" |
| 45 #include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h" | 45 #include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h" |
| 46 #include "chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.h" | 46 #include "chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.h" |
| 47 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h" | 47 #include "chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h" |
| 48 #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler
.h" | 48 #include "chrome/browser/ui/webui/chromeos/login/kiosk_autolaunch_screen_handler
.h" |
| 49 #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h" | 49 #include "chrome/browser/ui/webui/chromeos/login/kiosk_enable_screen_handler.h" |
| 50 #include "chrome/browser/ui/webui/chromeos/login/multicast_core_oobe_view.h" |
| 50 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h" | 51 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h" |
| 51 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" | 52 #include "chrome/browser/ui/webui/chromeos/login/network_screen_handler.h" |
| 52 #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h" | 53 #include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h" |
| 53 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h" | 54 #include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h" |
| 54 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" | 55 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" |
| 55 #include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen
_handler.h" | 56 #include "chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen
_handler.h" |
| 56 #include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler
.h" | 57 #include "chrome/browser/ui/webui/chromeos/login/terms_of_service_screen_handler
.h" |
| 57 #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h" | 58 #include "chrome/browser/ui/webui/chromeos/login/update_screen_handler.h" |
| 58 #include "chrome/browser/ui/webui/chromeos/login/user_board_screen_handler.h" | 59 #include "chrome/browser/ui/webui/chromeos/login/user_board_screen_handler.h" |
| 59 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" | 60 #include "chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.h" |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 const char OobeUI::kAppLaunchSplashDisplay[] = "app-launch-splash"; | 207 const char OobeUI::kAppLaunchSplashDisplay[] = "app-launch-splash"; |
| 207 const char OobeUI::kArcKioskSplashDisplay[] = "arc-kiosk-splash"; | 208 const char OobeUI::kArcKioskSplashDisplay[] = "arc-kiosk-splash"; |
| 208 | 209 |
| 209 OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url) | 210 OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url) |
| 210 : WebUIController(web_ui) { | 211 : WebUIController(web_ui) { |
| 211 display_type_ = GetDisplayType(url); | 212 display_type_ = GetDisplayType(url); |
| 212 | 213 |
| 213 network_state_informer_ = new NetworkStateInformer(); | 214 network_state_informer_ = new NetworkStateInformer(); |
| 214 network_state_informer_->Init(); | 215 network_state_informer_->Init(); |
| 215 | 216 |
| 217 core_oobe_view_ = base::MakeUnique<MulticastCoreOobeView>(); |
| 216 js_calls_container = base::MakeUnique<JSCallsContainer>(); | 218 js_calls_container = base::MakeUnique<JSCallsContainer>(); |
| 217 | 219 |
| 218 auto core_handler = | 220 auto core_handler = |
| 219 base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get()); | 221 base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get()); |
| 220 core_handler_ = core_handler.get(); | 222 core_handler_ = core_handler.get(); |
| 221 AddWebUIHandler(std::move(core_handler)); | 223 AddWebUIHandler(std::move(core_handler)); |
| 224 core_oobe_view_->AddView(core_handler_); |
| 222 | 225 |
| 223 auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>(); | 226 auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>(); |
| 224 network_dropdown_handler_ = network_dropdown_handler.get(); | 227 network_dropdown_handler_ = network_dropdown_handler.get(); |
| 225 AddWebUIHandler(std::move(network_dropdown_handler)); | 228 AddWebUIHandler(std::move(network_dropdown_handler)); |
| 226 | 229 |
| 227 AddScreenHandler(base::MakeUnique<UpdateScreenHandler>()); | 230 AddScreenHandler(base::MakeUnique<UpdateScreenHandler>()); |
| 228 | 231 |
| 229 if (display_type_ == kOobeDisplay) | 232 if (display_type_ == kOobeDisplay) |
| 230 AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(core_handler_)); | 233 AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(GetCoreOobeView())); |
| 231 | 234 |
| 232 AddScreenHandler(base::MakeUnique<EnableDebuggingScreenHandler>()); | 235 auto enable_debugging = base::MakeUnique<EnableDebuggingScreenHandler>(); |
| 236 core_oobe_view_->AddView(enable_debugging.get()); |
| 237 AddScreenHandler(std::move(enable_debugging)); |
| 233 | 238 |
| 234 AddScreenHandler(base::MakeUnique<EulaScreenHandler>(core_handler_)); | 239 AddScreenHandler(base::MakeUnique<EulaScreenHandler>(GetCoreOobeView())); |
| 235 | 240 |
| 236 AddScreenHandler(base::MakeUnique<ResetScreenHandler>()); | 241 AddScreenHandler(base::MakeUnique<ResetScreenHandler>()); |
| 237 | 242 |
| 238 AddScreenHandler(base::MakeUnique<KioskAutolaunchScreenHandler>()); | 243 AddScreenHandler(base::MakeUnique<KioskAutolaunchScreenHandler>()); |
| 239 | 244 |
| 240 AddScreenHandler(base::MakeUnique<KioskEnableScreenHandler>()); | 245 AddScreenHandler(base::MakeUnique<KioskEnableScreenHandler>()); |
| 241 | 246 |
| 242 auto supervised_user_creation_screen_handler = | 247 auto supervised_user_creation_screen_handler = |
| 243 base::MakeUnique<SupervisedUserCreationScreenHandler>(); | 248 base::MakeUnique<SupervisedUserCreationScreenHandler>(); |
| 244 supervised_user_creation_screen_view_ = | 249 supervised_user_creation_screen_view_ = |
| 245 supervised_user_creation_screen_handler.get(); | 250 supervised_user_creation_screen_handler.get(); |
| 246 AddScreenHandler(std::move(supervised_user_creation_screen_handler)); | 251 AddScreenHandler(std::move(supervised_user_creation_screen_handler)); |
| 247 | 252 |
| 248 AddScreenHandler(base::MakeUnique<WrongHWIDScreenHandler>()); | 253 AddScreenHandler(base::MakeUnique<WrongHWIDScreenHandler>()); |
| 249 | 254 |
| 250 AddScreenHandler(base::MakeUnique<AutoEnrollmentCheckScreenHandler>()); | 255 AddScreenHandler(base::MakeUnique<AutoEnrollmentCheckScreenHandler>()); |
| 251 | 256 |
| 252 AddScreenHandler(base::MakeUnique<HIDDetectionScreenHandler>(core_handler_)); | 257 AddScreenHandler( |
| 258 base::MakeUnique<HIDDetectionScreenHandler>(GetCoreOobeView())); |
| 253 | 259 |
| 254 AddScreenHandler(base::MakeUnique<ErrorScreenHandler>()); | 260 AddScreenHandler(base::MakeUnique<ErrorScreenHandler>()); |
| 255 network_dropdown_handler_->AddObserver(GetView<ErrorScreenHandler>()); | 261 network_dropdown_handler_->AddObserver(GetView<ErrorScreenHandler>()); |
| 256 | 262 |
| 257 error_screen_.reset(new ErrorScreen(nullptr, GetView<ErrorScreenHandler>())); | 263 error_screen_.reset(new ErrorScreen(nullptr, GetView<ErrorScreenHandler>())); |
| 258 ErrorScreen* error_screen = error_screen_.get(); | 264 ErrorScreen* error_screen = error_screen_.get(); |
| 259 | 265 |
| 260 AddScreenHandler(base::MakeUnique<EnrollmentScreenHandler>( | 266 AddScreenHandler(base::MakeUnique<EnrollmentScreenHandler>( |
| 261 network_state_informer_, error_screen)); | 267 network_state_informer_, error_screen)); |
| 262 | 268 |
| 263 AddScreenHandler( | 269 AddScreenHandler( |
| 264 base::MakeUnique<TermsOfServiceScreenHandler>(core_handler_)); | 270 base::MakeUnique<TermsOfServiceScreenHandler>(GetCoreOobeView())); |
| 265 | 271 |
| 266 AddScreenHandler(base::MakeUnique<ArcTermsOfServiceScreenHandler>()); | 272 AddScreenHandler(base::MakeUnique<ArcTermsOfServiceScreenHandler>()); |
| 267 | 273 |
| 268 AddScreenHandler(base::MakeUnique<UserImageScreenHandler>()); | 274 AddScreenHandler(base::MakeUnique<UserImageScreenHandler>()); |
| 269 | 275 |
| 270 AddScreenHandler(base::MakeUnique<UserBoardScreenHandler>()); | 276 AddScreenHandler(base::MakeUnique<UserBoardScreenHandler>()); |
| 271 | 277 |
| 272 AddScreenHandler(base::MakeUnique<GaiaScreenHandler>( | 278 AddScreenHandler(base::MakeUnique<GaiaScreenHandler>( |
| 273 core_handler_, network_state_informer_)); | 279 GetCoreOobeView(), network_state_informer_)); |
| 274 | 280 |
| 275 auto signin_screen_handler = base::MakeUnique<SigninScreenHandler>( | 281 auto signin_screen_handler = base::MakeUnique<SigninScreenHandler>( |
| 276 network_state_informer_, error_screen, core_handler_, | 282 network_state_informer_, error_screen, GetCoreOobeView(), |
| 277 GetView<GaiaScreenHandler>(), js_calls_container.get()); | 283 GetView<GaiaScreenHandler>(), js_calls_container.get()); |
| 278 signin_screen_handler_ = signin_screen_handler.get(); | 284 signin_screen_handler_ = signin_screen_handler.get(); |
| 279 AddWebUIHandler(std::move(signin_screen_handler)); | 285 AddWebUIHandler(std::move(signin_screen_handler)); |
| 280 | 286 |
| 281 AddScreenHandler(base::MakeUnique<AppLaunchSplashScreenHandler>( | 287 AddScreenHandler(base::MakeUnique<AppLaunchSplashScreenHandler>( |
| 282 network_state_informer_, error_screen)); | 288 network_state_informer_, error_screen)); |
| 283 | 289 |
| 284 AddScreenHandler(base::MakeUnique<ArcKioskSplashScreenHandler>()); | 290 AddScreenHandler(base::MakeUnique<ArcKioskSplashScreenHandler>()); |
| 285 | 291 |
| 286 if (display_type_ == kOobeDisplay) { | 292 if (display_type_ == kOobeDisplay) { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 options::UserImageSource* user_image_source = | 326 options::UserImageSource* user_image_source = |
| 321 new options::UserImageSource(); | 327 new options::UserImageSource(); |
| 322 content::URLDataSource::Add(profile, user_image_source); | 328 content::URLDataSource::Add(profile, user_image_source); |
| 323 | 329 |
| 324 // TabHelper is required for OOBE webui to make webview working on it. | 330 // TabHelper is required for OOBE webui to make webview working on it. |
| 325 content::WebContents* contents = web_ui->GetWebContents(); | 331 content::WebContents* contents = web_ui->GetWebContents(); |
| 326 extensions::TabHelper::CreateForWebContents(contents); | 332 extensions::TabHelper::CreateForWebContents(contents); |
| 327 } | 333 } |
| 328 | 334 |
| 329 OobeUI::~OobeUI() { | 335 OobeUI::~OobeUI() { |
| 336 GetCoreOobeView()->SetDelegate(nullptr); |
| 330 network_dropdown_handler_->RemoveObserver(GetView<ErrorScreenHandler>()); | 337 network_dropdown_handler_->RemoveObserver(GetView<ErrorScreenHandler>()); |
| 331 if (ash_util::IsRunningInMash()) { | 338 if (ash_util::IsRunningInMash()) { |
| 332 // TODO: Ash needs to expose screen dimming api. See | 339 // TODO: Ash needs to expose screen dimming api. See |
| 333 // http://crbug.com/646034. | 340 // http://crbug.com/646034. |
| 334 NOTIMPLEMENTED(); | 341 NOTIMPLEMENTED(); |
| 335 } | 342 } |
| 336 } | 343 } |
| 337 | 344 |
| 338 CoreOobeView* OobeUI::GetCoreOobeView() { | 345 CoreOobeView* OobeUI::GetCoreOobeView() { |
| 339 return core_handler_; | 346 return core_oobe_view_.get(); |
| 340 } | 347 } |
| 341 | 348 |
| 342 NetworkView* OobeUI::GetNetworkView() { | 349 NetworkView* OobeUI::GetNetworkView() { |
| 343 return GetView<NetworkScreenHandler>(); | 350 return GetView<NetworkScreenHandler>(); |
| 344 } | 351 } |
| 345 | 352 |
| 346 EulaView* OobeUI::GetEulaView() { | 353 EulaView* OobeUI::GetEulaView() { |
| 347 return GetView<EulaScreenHandler>(); | 354 return GetView<EulaScreenHandler>(); |
| 348 } | 355 } |
| 349 | 356 |
| 350 UpdateView* OobeUI::GetUpdateView() { | 357 UpdateView* OobeUI::GetUpdateView() { |
| 351 return GetView<UpdateScreenHandler>(); | 358 return GetView<UpdateScreenHandler>(); |
| 352 } | 359 } |
| 353 | 360 |
| 354 EnableDebuggingScreenView* OobeUI::GetEnableDebuggingScreenView() { | |
| 355 return GetView<EnableDebuggingScreenHandler>(); | |
| 356 } | |
| 357 | |
| 358 EnrollmentScreenView* OobeUI::GetEnrollmentScreenView() { | 361 EnrollmentScreenView* OobeUI::GetEnrollmentScreenView() { |
| 359 return GetView<EnrollmentScreenHandler>(); | 362 return GetView<EnrollmentScreenHandler>(); |
| 360 } | 363 } |
| 361 | 364 |
| 362 ResetView* OobeUI::GetResetView() { | 365 ResetView* OobeUI::GetResetView() { |
| 363 return GetView<ResetScreenHandler>(); | 366 return GetView<ResetScreenHandler>(); |
| 364 } | 367 } |
| 365 | 368 |
| 366 KioskAutolaunchScreenView* OobeUI::GetKioskAutolaunchScreenView() { | 369 KioskAutolaunchScreenView* OobeUI::GetKioskAutolaunchScreenView() { |
| 367 return GetView<KioskAutolaunchScreenHandler>(); | 370 return GetView<KioskAutolaunchScreenHandler>(); |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 } | 584 } |
| 582 | 585 |
| 583 void OobeUI::UpdateLocalizedStringsIfNeeded() { | 586 void OobeUI::UpdateLocalizedStringsIfNeeded() { |
| 584 if (oobe_ui_md_mode_ == | 587 if (oobe_ui_md_mode_ == |
| 585 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { | 588 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { |
| 586 return; | 589 return; |
| 587 } | 590 } |
| 588 | 591 |
| 589 base::DictionaryValue localized_strings; | 592 base::DictionaryValue localized_strings; |
| 590 GetLocalizedStrings(&localized_strings); | 593 GetLocalizedStrings(&localized_strings); |
| 591 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings); | 594 GetCoreOobeView()->ReloadContent(localized_strings); |
| 592 } | 595 } |
| 593 | 596 |
| 594 } // namespace chromeos | 597 } // namespace chromeos |
| OLD | NEW |