Chromium Code Reviews| Index: ash/accelerators/accelerator_controller.cc |
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc |
| index 25fde9c36bfe09aa2b58c0fb5bcdbf70dc8a99f6..ebfe1a80d7fd9a19d3a35f4b1a6ad26c437d66a0 100644 |
| --- a/ash/accelerators/accelerator_controller.cc |
| +++ b/ash/accelerators/accelerator_controller.cc |
| @@ -25,6 +25,7 @@ |
| #include "ash/root_window_controller.h" |
| #include "ash/rotator/screen_rotation_animator.h" |
| #include "ash/rotator/window_rotation.h" |
| +#include "ash/screen_util.h" |
| #include "ash/screenshot_delegate.h" |
| #include "ash/session/session_state_delegate.h" |
| #include "ash/shelf/shelf.h" |
| @@ -75,6 +76,7 @@ |
| #include "ui/views/controls/webview/webview.h" |
| #if defined(OS_CHROMEOS) |
| +#include "ash/display/display_configuration_controller.h" |
| #include "ash/system/chromeos/keyboard_brightness_controller.h" |
| #include "base/sys_info.h" |
| #include "ui/base/ime/chromeos/ime_keyboard.h" |
| @@ -635,7 +637,11 @@ void HandleSilenceSpokenFeedback() { |
| void HandleSwapPrimaryDisplay() { |
| base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display")); |
| - Shell::GetInstance()->window_tree_host_manager()->SwapPrimaryDisplay(); |
| + DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| + if (display_manager->GetNumDisplays() < 2) |
| + return; |
| + Shell::GetInstance()->display_configuration_controller()->SetPrimaryDisplayId( |
| + ScreenUtil::GetSecondaryDisplay().id(), true /* user_action */); |
| } |
| bool CanHandleCycleUser() { |
| @@ -684,7 +690,15 @@ void HandleToggleCapsLock() { |
| void HandleToggleMirrorMode() { |
| base::RecordAction(UserMetricsAction("Accel_Toggle_Mirror_Mode")); |
| + bool mirror = !Shell::GetInstance()->display_manager()->IsInMirrorMode(); |
| +#if defined(OS_CHROMEOS) |
|
oshima
2016/01/20 02:02:51
we can now remove this ifdef?
stevenjb
2016/01/20 02:13:12
Yeah, I cleaned that up in PS 6.
|
| + Shell::GetInstance()->display_configuration_controller()->SetMirrorMode( |
| + mirror, true /* user_action */); |
| +#else |
| + // On non Chrome OS platforms this toggle mirror mode immediately with |
| + // no animation or frequencey limiter. |
| Shell::GetInstance()->window_tree_host_manager()->ToggleMirrorMode(); |
| +#endif |
| } |
| void HandleToggleSpokenFeedback() { |