| Index: ash/display/display_controller.cc
|
| diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc
|
| index d16af047e6e72e3caf2c0252a1e94b02622b2ff1..4349c513263fadd1eaa0b2983ba1be7fd2963b0b 100644
|
| --- a/ash/display/display_controller.cc
|
| +++ b/ash/display/display_controller.cc
|
| @@ -557,14 +557,18 @@ void DisplayController::CycleDisplayMode() {
|
| }
|
| #if defined(OS_CHROMEOS)
|
| Shell* shell = Shell::GetInstance();
|
| + internal::DisplayManager* display_manager = GetDisplayManager();
|
| if (!base::chromeos::IsRunningOnChromeOS()) {
|
| internal::DisplayManager::CycleDisplay();
|
| - } else if (shell->output_configurator()->connected_output_count() > 1) {
|
| + } else if (display_manager->num_connected_displays() > 1) {
|
| + chromeos::OutputState new_state = display_manager->IsMirrored() ?
|
| + chromeos::STATE_DUAL_EXTENDED : chromeos::STATE_DUAL_MIRROR;
|
| internal::OutputConfiguratorAnimation* animation =
|
| shell->output_configurator_animation();
|
| animation->StartFadeOutAnimation(base::Bind(
|
| - base::IgnoreResult(&chromeos::OutputConfigurator::CycleDisplayMode),
|
| - base::Unretained(shell->output_configurator())));
|
| + base::IgnoreResult(&chromeos::OutputConfigurator::SetDisplayMode),
|
| + base::Unretained(shell->output_configurator()),
|
| + new_state));
|
| }
|
| #endif
|
| }
|
|
|