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 |