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

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

Issue 2731103002: cros: Remove CoreOobeHandler::Delegate. (Closed)
Patch Set: Address comments 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
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/oobe_ui.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/oobe_ui.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698