| Index: ash/mus/accelerators/accelerator_controller_delegate_mus.cc
|
| diff --git a/ash/mus/accelerators/accelerator_controller_delegate_mus.cc b/ash/mus/accelerators/accelerator_controller_delegate_mus.cc
|
| index f1664b5869f03f0ee977717b3e9518d5784684f5..b92ada3b63be9a46b32cf5129d2321e94f6adebd 100644
|
| --- a/ash/mus/accelerators/accelerator_controller_delegate_mus.cc
|
| +++ b/ash/mus/accelerators/accelerator_controller_delegate_mus.cc
|
| @@ -11,6 +11,7 @@
|
| #include "services/ui/public/interfaces/constants.mojom.h"
|
| #include "services/ui/public/interfaces/display/display_controller.mojom.h"
|
| #include "services/ui/public/interfaces/display/test_display_controller.mojom.h"
|
| +#include "ui/display/screen.h"
|
|
|
| namespace ash {
|
| namespace mus {
|
| @@ -28,12 +29,18 @@ AcceleratorControllerDelegateMus::AcceleratorControllerDelegateMus(
|
| AcceleratorControllerDelegateMus::~AcceleratorControllerDelegateMus() {}
|
|
|
| bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) {
|
| - // This is the list of actions that are not ported from aura. The actions are
|
| - // replicated here to make sure we don't forget any. This list should
|
| - // eventually be empty. If there are any actions that don't make sense for
|
| - // mus, then they should be removed from AcceleratorAction.
|
| + // Accelerators that return true need to work differently in mash. These
|
| + // should have implementations in CanPerformAction() and PerformAction().
|
| + // Accelerators that return false have not been ported to work with mash yet.
|
| + // If the behavior between cash and mash can be unified then the accelerator
|
| + // should be moved to accelerator_controller.cc/h. See
|
| // http://crbug.com/612331.
|
| switch (action) {
|
| + case SCALE_UI_DOWN:
|
| + case SCALE_UI_RESET:
|
| + case SCALE_UI_UP:
|
| + case ROTATE_SCREEN:
|
| + return true;
|
| case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR:
|
| case DEV_TOGGLE_ROOT_WINDOW_FULL_SCREEN:
|
| case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS:
|
| @@ -41,11 +48,7 @@ bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) {
|
| case DEBUG_TOGGLE_SHOW_PAINT_RECTS:
|
| case MAGNIFY_SCREEN_ZOOM_IN:
|
| case MAGNIFY_SCREEN_ZOOM_OUT:
|
| - case ROTATE_SCREEN:
|
| case ROTATE_WINDOW:
|
| - case SCALE_UI_DOWN:
|
| - case SCALE_UI_RESET:
|
| - case SCALE_UI_UP:
|
| case SHOW_SYSTEM_TRAY_BUBBLE:
|
| case TAKE_PARTIAL_SCREENSHOT:
|
| case TAKE_SCREENSHOT:
|
| @@ -58,13 +61,13 @@ bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) {
|
| case DEV_ADD_REMOVE_DISPLAY:
|
| case DEV_TOGGLE_UNIFIED_DESKTOP:
|
| case SWAP_PRIMARY_DISPLAY:
|
| + case TOGGLE_MIRROR_MODE:
|
| case TOUCH_HUD_PROJECTION_TOGGLE:
|
| return true;
|
| case LOCK_PRESSED:
|
| case LOCK_RELEASED:
|
| case POWER_PRESSED:
|
| case POWER_RELEASED:
|
| - case TOGGLE_MIRROR_MODE:
|
| case TOUCH_HUD_CLEAR:
|
| case TOUCH_HUD_MODE_CHANGE:
|
| NOTIMPLEMENTED();
|
| @@ -81,25 +84,49 @@ bool AcceleratorControllerDelegateMus::CanPerformAction(
|
| AcceleratorAction action,
|
| const ui::Accelerator& accelerator,
|
| const ui::Accelerator& previous_accelerator) {
|
| -#if defined(OS_CHROMEOS)
|
| switch (action) {
|
| + case ROTATE_SCREEN:
|
| + case SCALE_UI_DOWN:
|
| + case SCALE_UI_RESET:
|
| + case SCALE_UI_UP:
|
| + return true;
|
| +#if defined(OS_CHROMEOS)
|
| case DEV_ADD_REMOVE_DISPLAY:
|
| case DEV_TOGGLE_UNIFIED_DESKTOP:
|
| + return true;
|
| case SWAP_PRIMARY_DISPLAY:
|
| + return display::Screen::GetScreen()->GetNumDisplays() > 1;
|
| + case TOGGLE_MIRROR_MODE:
|
| case TOUCH_HUD_PROJECTION_TOGGLE:
|
| return true;
|
| +#endif
|
| default:
|
| break;
|
| }
|
| -#endif
|
| return false;
|
| }
|
|
|
| void AcceleratorControllerDelegateMus::PerformAction(
|
| AcceleratorAction action,
|
| const ui::Accelerator& accelerator) {
|
| -#if defined(OS_CHROMEOS)
|
| switch (action) {
|
| + case ROTATE_SCREEN: {
|
| + window_manager_->GetDisplayController()->RotateCurrentDisplayCW();
|
| + break;
|
| + }
|
| + case SCALE_UI_DOWN: {
|
| + window_manager_->GetDisplayController()->DecreaseInternalDisplayZoom();
|
| + break;
|
| + }
|
| + case SCALE_UI_RESET: {
|
| + window_manager_->GetDisplayController()->ResetInternalDisplayZoom();
|
| + break;
|
| + }
|
| + case SCALE_UI_UP: {
|
| + window_manager_->GetDisplayController()->IncreaseInternalDisplayZoom();
|
| + break;
|
| + }
|
| +#if defined(OS_CHROMEOS)
|
| case DEV_ADD_REMOVE_DISPLAY: {
|
| display::mojom::TestDisplayControllerPtr test_display_controller;
|
| window_manager_->connector()->ConnectToInterface(
|
| @@ -120,6 +147,10 @@ void AcceleratorControllerDelegateMus::PerformAction(
|
| window_manager_->GetDisplayController()->SwapPrimaryDisplay();
|
| break;
|
| }
|
| + case TOGGLE_MIRROR_MODE: {
|
| + window_manager_->GetDisplayController()->ToggleMirrorMode();
|
| + break;
|
| + }
|
| case TOUCH_HUD_PROJECTION_TOGGLE: {
|
| mash::mojom::LaunchablePtr launchable;
|
| window_manager_->connector()->ConnectToInterface("touch_hud",
|
| @@ -128,12 +159,10 @@ void AcceleratorControllerDelegateMus::PerformAction(
|
| mash::mojom::LaunchMode::DEFAULT);
|
| break;
|
| }
|
| +#endif
|
| default:
|
| NOTREACHED();
|
| }
|
| -#else
|
| - NOTREACHED();
|
| -#endif
|
| }
|
|
|
| void AcceleratorControllerDelegateMus::ShowDeprecatedAcceleratorNotification(
|
|
|