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

Side by Side Diff: ash/mus/accelerators/accelerator_controller_delegate_mus.cc

Issue 2689143002: ash: Remove OS_CHROMEOS ifdefs from accelerator files (Closed)
Patch Set: rebase Created 3 years, 10 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ash/mus/accelerators/accelerator_controller_delegate_mus.h" 5 #include "ash/mus/accelerators/accelerator_controller_delegate_mus.h"
6 6
7 #include "ash/mus/window_manager.h" 7 #include "ash/mus/window_manager.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "mash/public/interfaces/launchable.mojom.h" 9 #include "mash/public/interfaces/launchable.mojom.h"
10 #include "services/service_manager/public/cpp/connector.h" 10 #include "services/service_manager/public/cpp/connector.h"
11 #include "services/ui/public/interfaces/constants.mojom.h" 11 #include "services/ui/public/interfaces/constants.mojom.h"
12 #include "services/ui/public/interfaces/display/display_controller.mojom.h" 12 #include "services/ui/public/interfaces/display/display_controller.mojom.h"
13 #include "services/ui/public/interfaces/display/test_display_controller.mojom.h" 13 #include "services/ui/public/interfaces/display/test_display_controller.mojom.h"
14 #include "ui/display/screen.h" 14 #include "ui/display/screen.h"
15 15
16 namespace ash { 16 namespace ash {
17 namespace mus { 17 namespace mus {
18 18
19 AcceleratorControllerDelegateMus::AcceleratorControllerDelegateMus( 19 AcceleratorControllerDelegateMus::AcceleratorControllerDelegateMus(
20 WindowManager* window_manager) 20 WindowManager* window_manager)
21 : window_manager_(window_manager) { 21 : window_manager_(window_manager) {}
22 #if !defined(OS_CHROMEOS)
23 // To avoid trybot complaining that |window_manager_| is not being used in
24 // non-ChromeOS.
25 window_manager_ = nullptr;
26 #endif
27 }
28 22
29 AcceleratorControllerDelegateMus::~AcceleratorControllerDelegateMus() {} 23 AcceleratorControllerDelegateMus::~AcceleratorControllerDelegateMus() {}
30 24
31 bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) { 25 bool AcceleratorControllerDelegateMus::HandlesAction(AcceleratorAction action) {
32 // Accelerators that return true need to work differently in mash. These 26 // Accelerators that return true need to work differently in mash. These
33 // should have implementations in CanPerformAction() and PerformAction(). 27 // should have implementations in CanPerformAction() and PerformAction().
34 // Accelerators that return false have not been ported to work with mash yet. 28 // Accelerators that return false have not been ported to work with mash yet.
35 // If the behavior between cash and mash can be unified then the accelerator 29 // If the behavior between cash and mash can be unified then the accelerator
36 // should be moved to accelerator_controller.cc/h. See 30 // should be moved to accelerator_controller.cc/h. See
37 // http://crbug.com/612331. 31 // http://crbug.com/612331.
38 switch (action) { 32 switch (action) {
33 case DEV_ADD_REMOVE_DISPLAY:
34 case DEV_TOGGLE_UNIFIED_DESKTOP:
35 case ROTATE_SCREEN:
39 case SCALE_UI_DOWN: 36 case SCALE_UI_DOWN:
40 case SCALE_UI_RESET: 37 case SCALE_UI_RESET:
41 case SCALE_UI_UP: 38 case SCALE_UI_UP:
42 case ROTATE_SCREEN: 39 case SWAP_PRIMARY_DISPLAY:
40 case TOGGLE_MIRROR_MODE:
41 case TOUCH_HUD_PROJECTION_TOGGLE:
43 return true; 42 return true;
44 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR: 43 case DEBUG_TOGGLE_DEVICE_SCALE_FACTOR:
45 case DEV_TOGGLE_ROOT_WINDOW_FULL_SCREEN:
46 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS: 44 case DEBUG_TOGGLE_SHOW_DEBUG_BORDERS:
47 case DEBUG_TOGGLE_SHOW_FPS_COUNTER: 45 case DEBUG_TOGGLE_SHOW_FPS_COUNTER:
48 case DEBUG_TOGGLE_SHOW_PAINT_RECTS: 46 case DEBUG_TOGGLE_SHOW_PAINT_RECTS:
47 case DEV_TOGGLE_ROOT_WINDOW_FULL_SCREEN:
48 case LOCK_PRESSED:
49 case LOCK_RELEASED:
49 case MAGNIFY_SCREEN_ZOOM_IN: 50 case MAGNIFY_SCREEN_ZOOM_IN:
50 case MAGNIFY_SCREEN_ZOOM_OUT: 51 case MAGNIFY_SCREEN_ZOOM_OUT:
52 case POWER_PRESSED:
53 case POWER_RELEASED:
51 case ROTATE_WINDOW: 54 case ROTATE_WINDOW:
52 case SHOW_SYSTEM_TRAY_BUBBLE: 55 case SHOW_SYSTEM_TRAY_BUBBLE:
53 case TAKE_PARTIAL_SCREENSHOT: 56 case TAKE_PARTIAL_SCREENSHOT:
54 case TAKE_SCREENSHOT: 57 case TAKE_SCREENSHOT:
55 case TAKE_WINDOW_SCREENSHOT: 58 case TAKE_WINDOW_SCREENSHOT:
59 case TOUCH_HUD_CLEAR:
60 case TOUCH_HUD_MODE_CHANGE:
56 case UNPIN: 61 case UNPIN:
57 NOTIMPLEMENTED(); 62 NOTIMPLEMENTED();
58 return false; 63 return false;
59
60 #if defined(OS_CHROMEOS)
61 case DEV_ADD_REMOVE_DISPLAY:
62 case DEV_TOGGLE_UNIFIED_DESKTOP:
63 case SWAP_PRIMARY_DISPLAY:
64 case TOGGLE_MIRROR_MODE:
65 case TOUCH_HUD_PROJECTION_TOGGLE:
66 return true;
67 case LOCK_PRESSED:
68 case LOCK_RELEASED:
69 case POWER_PRESSED:
70 case POWER_RELEASED:
71 case TOUCH_HUD_CLEAR:
72 case TOUCH_HUD_MODE_CHANGE:
73 NOTIMPLEMENTED();
74 return false;
75 #endif
76
77 default: 64 default:
78 break; 65 break;
79 } 66 }
80 return false; 67 return false;
81 } 68 }
82 69
83 bool AcceleratorControllerDelegateMus::CanPerformAction( 70 bool AcceleratorControllerDelegateMus::CanPerformAction(
84 AcceleratorAction action, 71 AcceleratorAction action,
85 const ui::Accelerator& accelerator, 72 const ui::Accelerator& accelerator,
86 const ui::Accelerator& previous_accelerator) { 73 const ui::Accelerator& previous_accelerator) {
87 switch (action) { 74 switch (action) {
75 case DEV_ADD_REMOVE_DISPLAY:
76 case DEV_TOGGLE_UNIFIED_DESKTOP:
88 case ROTATE_SCREEN: 77 case ROTATE_SCREEN:
89 case SCALE_UI_DOWN: 78 case SCALE_UI_DOWN:
90 case SCALE_UI_RESET: 79 case SCALE_UI_RESET:
91 case SCALE_UI_UP: 80 case SCALE_UI_UP:
92 return true; 81 return true;
93 #if defined(OS_CHROMEOS)
94 case DEV_ADD_REMOVE_DISPLAY:
95 case DEV_TOGGLE_UNIFIED_DESKTOP:
96 return true;
97 case SWAP_PRIMARY_DISPLAY: 82 case SWAP_PRIMARY_DISPLAY:
98 return display::Screen::GetScreen()->GetNumDisplays() > 1; 83 return display::Screen::GetScreen()->GetNumDisplays() > 1;
99 case TOGGLE_MIRROR_MODE: 84 case TOGGLE_MIRROR_MODE:
100 case TOUCH_HUD_PROJECTION_TOGGLE: 85 case TOUCH_HUD_PROJECTION_TOGGLE:
101 return true; 86 return true;
102 #endif
103 default: 87 default:
104 break; 88 break;
105 } 89 }
106 return false; 90 return false;
107 } 91 }
108 92
109 void AcceleratorControllerDelegateMus::PerformAction( 93 void AcceleratorControllerDelegateMus::PerformAction(
110 AcceleratorAction action, 94 AcceleratorAction action,
111 const ui::Accelerator& accelerator) { 95 const ui::Accelerator& accelerator) {
112 switch (action) { 96 switch (action) {
113 case ROTATE_SCREEN: {
114 window_manager_->GetDisplayController()->RotateCurrentDisplayCW();
115 break;
116 }
117 case SCALE_UI_DOWN: {
118 window_manager_->GetDisplayController()->DecreaseInternalDisplayZoom();
119 break;
120 }
121 case SCALE_UI_RESET: {
122 window_manager_->GetDisplayController()->ResetInternalDisplayZoom();
123 break;
124 }
125 case SCALE_UI_UP: {
126 window_manager_->GetDisplayController()->IncreaseInternalDisplayZoom();
127 break;
128 }
129 #if defined(OS_CHROMEOS)
130 case DEV_ADD_REMOVE_DISPLAY: { 97 case DEV_ADD_REMOVE_DISPLAY: {
131 display::mojom::TestDisplayControllerPtr test_display_controller; 98 display::mojom::TestDisplayControllerPtr test_display_controller;
132 window_manager_->connector()->BindInterface(ui::mojom::kServiceName, 99 window_manager_->connector()->BindInterface(ui::mojom::kServiceName,
133 &test_display_controller); 100 &test_display_controller);
134 test_display_controller->ToggleAddRemoveDisplay(); 101 test_display_controller->ToggleAddRemoveDisplay();
135 break; 102 break;
136 } 103 }
137 case DEV_TOGGLE_UNIFIED_DESKTOP: { 104 case DEV_TOGGLE_UNIFIED_DESKTOP: {
138 // TODO(crbug.com/657816): This is hack. I'm just stealing the shortcut 105 // TODO(crbug.com/657816): This is hack. I'm just stealing the shortcut
139 // key to toggle display size in mus. This should be removed by launch. 106 // key to toggle display size in mus. This should be removed by launch.
140 display::mojom::TestDisplayControllerPtr test_display_controller; 107 display::mojom::TestDisplayControllerPtr test_display_controller;
141 window_manager_->connector()->BindInterface(ui::mojom::kServiceName, 108 window_manager_->connector()->BindInterface(ui::mojom::kServiceName,
142 &test_display_controller); 109 &test_display_controller);
143 test_display_controller->ToggleDisplayResolution(); 110 test_display_controller->ToggleDisplayResolution();
144 break; 111 break;
145 } 112 }
113 case ROTATE_SCREEN: {
114 window_manager_->GetDisplayController()->RotateCurrentDisplayCW();
115 break;
116 }
117 case SCALE_UI_DOWN: {
118 window_manager_->GetDisplayController()->DecreaseInternalDisplayZoom();
119 break;
120 }
121 case SCALE_UI_RESET: {
122 window_manager_->GetDisplayController()->ResetInternalDisplayZoom();
123 break;
124 }
125 case SCALE_UI_UP: {
126 window_manager_->GetDisplayController()->IncreaseInternalDisplayZoom();
127 break;
128 }
146 case SWAP_PRIMARY_DISPLAY: { 129 case SWAP_PRIMARY_DISPLAY: {
147 window_manager_->GetDisplayController()->SwapPrimaryDisplay(); 130 window_manager_->GetDisplayController()->SwapPrimaryDisplay();
148 break; 131 break;
149 } 132 }
150 case TOGGLE_MIRROR_MODE: { 133 case TOGGLE_MIRROR_MODE: {
151 window_manager_->GetDisplayController()->ToggleMirrorMode(); 134 window_manager_->GetDisplayController()->ToggleMirrorMode();
152 break; 135 break;
153 } 136 }
154 case TOUCH_HUD_PROJECTION_TOGGLE: { 137 case TOUCH_HUD_PROJECTION_TOGGLE: {
155 mash::mojom::LaunchablePtr launchable; 138 mash::mojom::LaunchablePtr launchable;
156 window_manager_->connector()->BindInterface("touch_hud", &launchable); 139 window_manager_->connector()->BindInterface("touch_hud", &launchable);
157 launchable->Launch(mash::mojom::kWindow, 140 launchable->Launch(mash::mojom::kWindow,
158 mash::mojom::LaunchMode::DEFAULT); 141 mash::mojom::LaunchMode::DEFAULT);
159 break; 142 break;
160 } 143 }
161 #endif
162 default: 144 default:
163 NOTREACHED(); 145 NOTREACHED();
164 } 146 }
165 } 147 }
166 148
167 void AcceleratorControllerDelegateMus::ShowDeprecatedAcceleratorNotification( 149 void AcceleratorControllerDelegateMus::ShowDeprecatedAcceleratorNotification(
168 const char* const notification_id, 150 const char* const notification_id,
169 int message_id, 151 int message_id,
170 int old_shortcut_id, 152 int old_shortcut_id,
171 int new_shortcut_id) { 153 int new_shortcut_id) {
172 // TODO: http://crbug.com/630316. 154 // TODO: http://crbug.com/630316.
173 NOTIMPLEMENTED(); 155 NOTIMPLEMENTED();
174 } 156 }
175 157
176 } // namespace mus 158 } // namespace mus
177 } // namespace ash 159 } // namespace ash
OLDNEW
« no previous file with comments | « ash/host/ash_window_tree_host_x11_unittest.cc ('k') | ash/mus/accelerators/accelerator_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698