Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(855)

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc

Issue 2731103002: cros: Remove CoreOobeHandler::Delegate. (Closed)
Patch Set: Initial upload Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698