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 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 | 589 |
590 | 590 |
591 void OobeUI::AddObserver(Observer* observer) { | 591 void OobeUI::AddObserver(Observer* observer) { |
592 observer_list_.AddObserver(observer); | 592 observer_list_.AddObserver(observer); |
593 } | 593 } |
594 | 594 |
595 void OobeUI::RemoveObserver(Observer* observer) { | 595 void OobeUI::RemoveObserver(Observer* observer) { |
596 observer_list_.RemoveObserver(observer); | 596 observer_list_.RemoveObserver(observer); |
597 } | 597 } |
598 | 598 |
599 void OobeUI::OnCurrentScreenChanged(const std::string& screen) { | 599 void OobeUI::OnCurrentScreenChanged(OobeScreen new_screen) { |
600 previous_screen_ = current_screen_; | 600 previous_screen_ = current_screen_; |
601 OobeScreen new_screen = GetOobeScreenFromName(screen); | |
602 | 601 |
603 const bool should_dim = | 602 const bool should_dim = |
604 std::find(std::begin(kDimOverlayScreenIds), | 603 std::find(std::begin(kDimOverlayScreenIds), |
605 std::end(kDimOverlayScreenIds), | 604 std::end(kDimOverlayScreenIds), |
606 new_screen) != std::end(kDimOverlayScreenIds); | 605 new_screen) != std::end(kDimOverlayScreenIds); |
607 if (!chrome::IsRunningInMash()) { | 606 if (!chrome::IsRunningInMash()) { |
608 if (!screen_dimmer_) { | 607 if (!screen_dimmer_) { |
609 screen_dimmer_ = base::MakeUnique<ash::ScreenDimmer>( | 608 screen_dimmer_ = base::MakeUnique<ash::ScreenDimmer>( |
610 ash::ScreenDimmer::Container::LOCK_SCREEN); | 609 ash::ScreenDimmer::Container::LOCK_SCREEN); |
611 } | 610 } |
612 screen_dimmer_->set_at_bottom(true); | 611 screen_dimmer_->set_at_bottom(true); |
613 screen_dimmer_->SetDimming(should_dim); | 612 screen_dimmer_->SetDimming(should_dim); |
614 } else { | 613 } else { |
615 // TODO: Ash needs to expose screen dimming api. See | 614 // TODO: Ash needs to expose screen dimming api. See |
616 // http://crbug.com/646034. | 615 // http://crbug.com/646034. |
617 NOTIMPLEMENTED(); | 616 NOTIMPLEMENTED(); |
618 } | 617 } |
619 | 618 |
620 current_screen_ = new_screen; | 619 current_screen_ = new_screen; |
621 for (Observer& observer : observer_list_) | 620 for (Observer& observer : observer_list_) |
622 observer.OnCurrentScreenChanged(current_screen_, new_screen); | 621 observer.OnCurrentScreenChanged(current_screen_, new_screen); |
623 } | 622 } |
624 | 623 |
625 } // namespace chromeos | 624 } // namespace chromeos |
OLD | NEW |