Chromium Code Reviews| 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 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 500 } | 498 } |
| 501 | 499 |
| 502 // Instantiate the ShutdownPolicyHandler. | 500 // Instantiate the ShutdownPolicyHandler. |
| 503 shutdown_policy_handler_.reset( | 501 shutdown_policy_handler_.reset( |
| 504 new ShutdownPolicyHandler(CrosSettings::Get(), this)); | 502 new ShutdownPolicyHandler(CrosSettings::Get(), this)); |
| 505 | 503 |
| 506 // Trigger an initial update. | 504 // Trigger an initial update. |
| 507 shutdown_policy_handler_->NotifyDelegateWithShutdownPolicy(); | 505 shutdown_policy_handler_->NotifyDelegateWithShutdownPolicy(); |
| 508 } | 506 } |
| 509 | 507 |
| 508 void OobeUI::OnCurrentScreenChanged(OobeScreen new_screen) { | |
|
achuithb
2017/03/08 11:32:52
I assume nothing has changed in this implementatio
jdufault
2017/03/09 19:24:14
Yep, no changes.
| |
| 509 previous_screen_ = current_screen_; | |
| 510 | |
| 511 const bool should_dim = | |
| 512 std::find(std::begin(kDimOverlayScreenIds), | |
| 513 std::end(kDimOverlayScreenIds), | |
| 514 new_screen) != std::end(kDimOverlayScreenIds); | |
| 515 if (!ash_util::IsRunningInMash()) { | |
| 516 if (!screen_dimmer_) { | |
| 517 screen_dimmer_ = base::MakeUnique<ash::ScreenDimmer>( | |
| 518 ash::ScreenDimmer::Container::LOCK_SCREEN); | |
| 519 } | |
| 520 screen_dimmer_->set_at_bottom(true); | |
| 521 screen_dimmer_->SetDimming(should_dim); | |
| 522 } else { | |
| 523 // TODO: Ash needs to expose screen dimming api. See | |
| 524 // http://crbug.com/646034. | |
| 525 NOTIMPLEMENTED(); | |
| 526 } | |
| 527 | |
| 528 current_screen_ = new_screen; | |
| 529 for (Observer& observer : observer_list_) | |
| 530 observer.OnCurrentScreenChanged(current_screen_, new_screen); | |
| 531 } | |
| 532 | |
| 510 void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { | 533 void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { |
| 511 DCHECK(!async_assets_load_id.empty()); | 534 DCHECK(!async_assets_load_id.empty()); |
| 512 | 535 |
| 513 for (BaseWebUIHandler* handler : webui_handlers_) { | 536 for (BaseWebUIHandler* handler : webui_handlers_) { |
| 514 if (handler->async_assets_load_id() == async_assets_load_id) | 537 if (handler->async_assets_load_id() == async_assets_load_id) |
| 515 handler->InitializeBase(); | 538 handler->InitializeBase(); |
| 516 } | 539 } |
| 517 } | 540 } |
| 518 | 541 |
| 519 bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) { | 542 bool OobeUI::IsJSReady(const base::Closure& display_is_ready_callback) { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 554 | 577 |
| 555 | 578 |
| 556 void OobeUI::AddObserver(Observer* observer) { | 579 void OobeUI::AddObserver(Observer* observer) { |
| 557 observer_list_.AddObserver(observer); | 580 observer_list_.AddObserver(observer); |
| 558 } | 581 } |
| 559 | 582 |
| 560 void OobeUI::RemoveObserver(Observer* observer) { | 583 void OobeUI::RemoveObserver(Observer* observer) { |
| 561 observer_list_.RemoveObserver(observer); | 584 observer_list_.RemoveObserver(observer); |
| 562 } | 585 } |
| 563 | 586 |
| 564 void OobeUI::OnCurrentScreenChanged(OobeScreen new_screen) { | |
| 565 previous_screen_ = current_screen_; | |
| 566 | |
| 567 const bool should_dim = | |
| 568 std::find(std::begin(kDimOverlayScreenIds), | |
| 569 std::end(kDimOverlayScreenIds), | |
| 570 new_screen) != std::end(kDimOverlayScreenIds); | |
| 571 if (!ash_util::IsRunningInMash()) { | |
| 572 if (!screen_dimmer_) { | |
| 573 screen_dimmer_ = base::MakeUnique<ash::ScreenDimmer>( | |
| 574 ash::ScreenDimmer::Container::LOCK_SCREEN); | |
| 575 } | |
| 576 screen_dimmer_->set_at_bottom(true); | |
| 577 screen_dimmer_->SetDimming(should_dim); | |
| 578 } else { | |
| 579 // TODO: Ash needs to expose screen dimming api. See | |
| 580 // http://crbug.com/646034. | |
| 581 NOTIMPLEMENTED(); | |
| 582 } | |
| 583 | |
| 584 current_screen_ = new_screen; | |
| 585 for (Observer& observer : observer_list_) | |
| 586 observer.OnCurrentScreenChanged(current_screen_, new_screen); | |
| 587 } | |
| 588 | |
| 589 void OobeUI::UpdateLocalizedStringsIfNeeded() { | 587 void OobeUI::UpdateLocalizedStringsIfNeeded() { |
| 590 if (oobe_ui_md_mode_ == | 588 if (oobe_ui_md_mode_ == |
| 591 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { | 589 g_browser_process->local_state()->GetBoolean(prefs::kOobeMdMode)) { |
| 592 return; | 590 return; |
| 593 } | 591 } |
| 594 | 592 |
| 595 base::DictionaryValue localized_strings; | 593 base::DictionaryValue localized_strings; |
| 596 GetLocalizedStrings(&localized_strings); | 594 GetLocalizedStrings(&localized_strings); |
| 597 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings); | 595 static_cast<CoreOobeView*>(core_handler_)->ReloadContent(localized_strings); |
| 598 } | 596 } |
| 599 | 597 |
| 600 } // namespace chromeos | 598 } // namespace chromeos |
| OLD | NEW |