| 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 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 js_calls_container = base::MakeUnique<JSCallsContainer>(); | 216 js_calls_container = base::MakeUnique<JSCallsContainer>(); |
| 217 | 217 |
| 218 auto core_handler = | 218 auto core_handler = |
| 219 base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get()); | 219 base::MakeUnique<CoreOobeHandler>(this, js_calls_container.get()); |
| 220 core_handler_ = core_handler.get(); | 220 core_handler_ = core_handler.get(); |
| 221 AddWebUIHandler(std::move(core_handler)); | 221 AddWebUIHandler(std::move(core_handler)); |
| 222 core_handler_->SetDelegate(this); | |
| 223 | 222 |
| 224 auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>(); | 223 auto network_dropdown_handler = base::MakeUnique<NetworkDropdownHandler>(); |
| 225 network_dropdown_handler_ = network_dropdown_handler.get(); | 224 network_dropdown_handler_ = network_dropdown_handler.get(); |
| 226 AddWebUIHandler(std::move(network_dropdown_handler)); | 225 AddWebUIHandler(std::move(network_dropdown_handler)); |
| 227 | 226 |
| 228 AddScreenHandler(base::MakeUnique<UpdateScreenHandler>()); | 227 AddScreenHandler(base::MakeUnique<UpdateScreenHandler>()); |
| 229 | 228 |
| 230 if (display_type_ == kOobeDisplay) | 229 if (display_type_ == kOobeDisplay) |
| 231 AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(core_handler_)); | 230 AddScreenHandler(base::MakeUnique<NetworkScreenHandler>(core_handler_)); |
| 232 | 231 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 options::UserImageSource* user_image_source = | 320 options::UserImageSource* user_image_source = |
| 322 new options::UserImageSource(); | 321 new options::UserImageSource(); |
| 323 content::URLDataSource::Add(profile, user_image_source); | 322 content::URLDataSource::Add(profile, user_image_source); |
| 324 | 323 |
| 325 // TabHelper is required for OOBE webui to make webview working on it. | 324 // TabHelper is required for OOBE webui to make webview working on it. |
| 326 content::WebContents* contents = web_ui->GetWebContents(); | 325 content::WebContents* contents = web_ui->GetWebContents(); |
| 327 extensions::TabHelper::CreateForWebContents(contents); | 326 extensions::TabHelper::CreateForWebContents(contents); |
| 328 } | 327 } |
| 329 | 328 |
| 330 OobeUI::~OobeUI() { | 329 OobeUI::~OobeUI() { |
| 331 core_handler_->SetDelegate(nullptr); | |
| 332 network_dropdown_handler_->RemoveObserver(GetView<ErrorScreenHandler>()); | 330 network_dropdown_handler_->RemoveObserver(GetView<ErrorScreenHandler>()); |
| 333 if (ash_util::IsRunningInMash()) { | 331 if (ash_util::IsRunningInMash()) { |
| 334 // TODO: Ash needs to expose screen dimming api. See | 332 // TODO: Ash needs to expose screen dimming api. See |
| 335 // http://crbug.com/646034. | 333 // http://crbug.com/646034. |
| 336 NOTIMPLEMENTED(); | 334 NOTIMPLEMENTED(); |
| 337 } | 335 } |
| 338 } | 336 } |
| 339 | 337 |
| 340 CoreOobeView* OobeUI::GetCoreOobeView() { | 338 CoreOobeView* OobeUI::GetCoreOobeView() { |
| 341 return core_handler_; | 339 return core_handler_; |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 } | 494 } |
| 497 | 495 |
| 498 // Instantiate the ShutdownPolicyHandler. | 496 // Instantiate the ShutdownPolicyHandler. |
| 499 shutdown_policy_handler_.reset( | 497 shutdown_policy_handler_.reset( |
| 500 new ShutdownPolicyHandler(CrosSettings::Get(), this)); | 498 new ShutdownPolicyHandler(CrosSettings::Get(), this)); |
| 501 | 499 |
| 502 // Trigger an initial update. | 500 // Trigger an initial update. |
| 503 shutdown_policy_handler_->NotifyDelegateWithShutdownPolicy(); | 501 shutdown_policy_handler_->NotifyDelegateWithShutdownPolicy(); |
| 504 } | 502 } |
| 505 | 503 |
| 504 void OobeUI::CurrentScreenChanged(OobeScreen new_screen) { |
| 505 previous_screen_ = current_screen_; |
| 506 |
| 507 const bool should_dim = |
| 508 std::find(std::begin(kDimOverlayScreenIds), |
| 509 std::end(kDimOverlayScreenIds), |
| 510 new_screen) != std::end(kDimOverlayScreenIds); |
| 511 if (!ash_util::IsRunningInMash()) { |
| 512 if (!screen_dimmer_) { |
| 513 screen_dimmer_ = base::MakeUnique<ash::ScreenDimmer>( |
| 514 ash::ScreenDimmer::Container::LOCK_SCREEN); |
| 515 } |
| 516 screen_dimmer_->set_at_bottom(true); |
| 517 screen_dimmer_->SetDimming(should_dim); |
| 518 } else { |
| 519 // TODO: Ash needs to expose screen dimming api. See |
| 520 // http://crbug.com/646034. |
| 521 NOTIMPLEMENTED(); |
| 522 } |
| 523 |
| 524 current_screen_ = new_screen; |
| 525 for (Observer& observer : observer_list_) |
| 526 observer.OnCurrentScreenChanged(current_screen_, new_screen); |
| 527 } |
| 528 |
| 506 void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { | 529 void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { |
| 507 DCHECK(!async_assets_load_id.empty()); | 530 DCHECK(!async_assets_load_id.empty()); |
| 508 | 531 |
| 509 for (BaseWebUIHandler* handler : webui_handlers_) { | 532 for (BaseWebUIHandler* handler : webui_handlers_) { |
| 510 if (handler->async_assets_load_id() == async_assets_load_id) | 533 if (handler->async_assets_load_id() == async_assets_load_id) |
| 511 handler->InitializeBase(); | 534 handler->InitializeBase(); |
| 512 } | 535 } |
| 513 } | 536 } |
| 514 | 537 |
| 515 bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) { | 538 bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 550 | 573 |
| 551 | 574 |
| 552 void OobeUI::AddObserver(Observer* observer) { | 575 void OobeUI::AddObserver(Observer* observer) { |
| 553 observer_list_.AddObserver(observer); | 576 observer_list_.AddObserver(observer); |
| 554 } | 577 } |
| 555 | 578 |
| 556 void OobeUI::RemoveObserver(Observer* observer) { | 579 void OobeUI::RemoveObserver(Observer* observer) { |
| 557 observer_list_.RemoveObserver(observer); | 580 observer_list_.RemoveObserver(observer); |
| 558 } | 581 } |
| 559 | 582 |
| 560 void OobeUI::OnCurrentScreenChanged(OobeScreen new_screen) { | |
| 561 previous_screen_ = current_screen_; | |
| 562 | |
| 563 const bool should_dim = | |
| 564 std::find(std::begin(kDimOverlayScreenIds), | |
| 565 std::end(kDimOverlayScreenIds), | |
| 566 new_screen) != std::end(kDimOverlayScreenIds); | |
| 567 if (!ash_util::IsRunningInMash()) { | |
| 568 if (!screen_dimmer_) { | |
| 569 screen_dimmer_ = base::MakeUnique<ash::ScreenDimmer>( | |
| 570 ash::ScreenDimmer::Container::LOCK_SCREEN); | |
| 571 } | |
| 572 screen_dimmer_->set_at_bottom(true); | |
| 573 screen_dimmer_->SetDimming(should_dim); | |
| 574 } else { | |
| 575 // TODO: Ash needs to expose screen dimming api. See | |
| 576 // http://crbug.com/646034. | |
| 577 NOTIMPLEMENTED(); | |
| 578 } | |
| 579 | |
| 580 current_screen_ = new_screen; | |
| 581 for (Observer& observer : observer_list_) | |
| 582 observer.OnCurrentScreenChanged(current_screen_, new_screen); | |
| 583 } | |
| 584 | |
| 585 void OobeUI::UpdateLocalizedStringsIfNeeded() { | 583 void OobeUI::UpdateLocalizedStringsIfNeeded() { |
| 586 if (oobe_ui_md_mode_ == | 584 if (oobe_ui_md_mode_ == |
| 587 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { | 585 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { |
| 588 return; | 586 return; |
| 589 } | 587 } |
| 590 | 588 |
| 591 base::DictionaryValue localized_strings; | 589 base::DictionaryValue localized_strings; |
| 592 GetLocalizedStrings(&localized_strings); | 590 GetLocalizedStrings(&localized_strings); |
| 593 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings); | 591 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings); |
| 594 } | 592 } |
| 595 | 593 |
| 596 } // namespace chromeos | 594 } // namespace chromeos |
| OLD | NEW |