| 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 "ash/accelerators/accelerator_controller.h" | 5 #include "ash/accelerators/accelerator_controller.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "ash/accelerators/accelerator_commands.h" | 9 #include "ash/accelerators/accelerator_commands.h" |
| 10 #include "ash/accelerators/accelerator_controller_delegate.h" | 10 #include "ash/accelerators/accelerator_controller_delegate.h" |
| 11 #include "ash/accelerators/debug_commands.h" | 11 #include "ash/accelerators/debug_commands.h" |
| 12 #include "ash/accessibility_delegate.h" | 12 #include "ash/accessibility_delegate.h" |
| 13 #include "ash/accessibility_types.h" | 13 #include "ash/accessibility_types.h" |
| 14 #include "ash/focus_cycler.h" | 14 #include "ash/focus_cycler.h" |
| 15 #include "ash/ime/ime_switch_type.h" | 15 #include "ash/ime_control_delegate.h" |
| 16 #include "ash/media_controller.h" | 16 #include "ash/media_controller.h" |
| 17 #include "ash/multi_profile_uma.h" | 17 #include "ash/multi_profile_uma.h" |
| 18 #include "ash/new_window_controller.h" | 18 #include "ash/new_window_controller.h" |
| 19 #include "ash/resources/vector_icons/vector_icons.h" | 19 #include "ash/resources/vector_icons/vector_icons.h" |
| 20 #include "ash/root_window_controller.h" | 20 #include "ash/root_window_controller.h" |
| 21 #include "ash/rotator/window_rotation.h" | 21 #include "ash/rotator/window_rotation.h" |
| 22 #include "ash/session/session_controller.h" | 22 #include "ash/session/session_controller.h" |
| 23 #include "ash/shelf/shelf_widget.h" | 23 #include "ash/shelf/shelf_widget.h" |
| 24 #include "ash/shelf/wm_shelf.h" | 24 #include "ash/shelf/wm_shelf.h" |
| 25 #include "ash/shell.h" | 25 #include "ash/shell.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 #include "ui/compositor/layer_animation_sequence.h" | 61 #include "ui/compositor/layer_animation_sequence.h" |
| 62 #include "ui/compositor/layer_animator.h" | 62 #include "ui/compositor/layer_animator.h" |
| 63 #include "ui/gfx/paint_vector_icon.h" | 63 #include "ui/gfx/paint_vector_icon.h" |
| 64 #include "ui/keyboard/keyboard_controller.h" | 64 #include "ui/keyboard/keyboard_controller.h" |
| 65 #include "ui/message_center/message_center.h" | 65 #include "ui/message_center/message_center.h" |
| 66 | 66 |
| 67 namespace ash { | 67 namespace ash { |
| 68 namespace { | 68 namespace { |
| 69 | 69 |
| 70 using base::UserMetricsAction; | 70 using base::UserMetricsAction; |
| 71 using chromeos::input_method::InputMethodManager; | |
| 72 using message_center::Notification; | 71 using message_center::Notification; |
| 73 | 72 |
| 74 // Identifier for the high contrast toggle accelerator notification. | 73 // Identifier for the high contrast toggle accelerator notification. |
| 75 const char kHighContrastToggleAccelNotificationId[] = | 74 const char kHighContrastToggleAccelNotificationId[] = |
| 76 "chrome://settings/accessibility/highcontrast"; | 75 "chrome://settings/accessibility/highcontrast"; |
| 77 | 76 |
| 78 // The notification delegate that will be used to open the keyboard shortcut | 77 // The notification delegate that will be used to open the keyboard shortcut |
| 79 // help page when the notification is clicked. | 78 // help page when the notification is clicked. |
| 80 class DeprecatedAcceleratorNotificationDelegate | 79 class DeprecatedAcceleratorNotificationDelegate |
| 81 : public message_center::NotificationDelegate { | 80 : public message_center::NotificationDelegate { |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 } | 164 } |
| 166 | 165 |
| 167 void RecordUmaHistogram(const char* histogram_name, | 166 void RecordUmaHistogram(const char* histogram_name, |
| 168 DeprecatedAcceleratorUsage sample) { | 167 DeprecatedAcceleratorUsage sample) { |
| 169 auto* histogram = base::LinearHistogram::FactoryGet( | 168 auto* histogram = base::LinearHistogram::FactoryGet( |
| 170 histogram_name, 1, DEPRECATED_USAGE_COUNT, DEPRECATED_USAGE_COUNT + 1, | 169 histogram_name, 1, DEPRECATED_USAGE_COUNT, DEPRECATED_USAGE_COUNT + 1, |
| 171 base::HistogramBase::kUmaTargetedHistogramFlag); | 170 base::HistogramBase::kUmaTargetedHistogramFlag); |
| 172 histogram->Add(sample); | 171 histogram->Add(sample); |
| 173 } | 172 } |
| 174 | 173 |
| 175 void RecordImeSwitchByAccelerator() { | |
| 176 UMA_HISTOGRAM_ENUMERATION("InputMethod.ImeSwitch", | |
| 177 ImeSwitchType::kAccelerator, ImeSwitchType::kCount); | |
| 178 } | |
| 179 | |
| 180 void HandleCycleBackwardMRU(const ui::Accelerator& accelerator) { | 174 void HandleCycleBackwardMRU(const ui::Accelerator& accelerator) { |
| 181 if (accelerator.key_code() == ui::VKEY_TAB) | 175 if (accelerator.key_code() == ui::VKEY_TAB) |
| 182 base::RecordAction(base::UserMetricsAction("Accel_PrevWindow_Tab")); | 176 base::RecordAction(base::UserMetricsAction("Accel_PrevWindow_Tab")); |
| 183 | 177 |
| 184 Shell::Get()->window_cycle_controller()->HandleCycleWindow( | 178 Shell::Get()->window_cycle_controller()->HandleCycleWindow( |
| 185 WindowCycleController::BACKWARD); | 179 WindowCycleController::BACKWARD); |
| 186 } | 180 } |
| 187 | 181 |
| 188 void HandleCycleForwardMRU(const ui::Accelerator& accelerator) { | 182 void HandleCycleForwardMRU(const ui::Accelerator& accelerator) { |
| 189 if (accelerator.key_code() == ui::VKEY_TAB) | 183 if (accelerator.key_code() == ui::VKEY_TAB) |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 if (accelerator.key_code() == ui::VKEY_T) | 244 if (accelerator.key_code() == ui::VKEY_T) |
| 251 base::RecordAction(UserMetricsAction("Accel_NewTab_T")); | 245 base::RecordAction(UserMetricsAction("Accel_NewTab_T")); |
| 252 Shell::Get()->new_window_controller()->NewTab(); | 246 Shell::Get()->new_window_controller()->NewTab(); |
| 253 } | 247 } |
| 254 | 248 |
| 255 void HandleNewWindow() { | 249 void HandleNewWindow() { |
| 256 base::RecordAction(UserMetricsAction("Accel_New_Window")); | 250 base::RecordAction(UserMetricsAction("Accel_New_Window")); |
| 257 Shell::Get()->new_window_controller()->NewWindow(false /* is_incognito */); | 251 Shell::Get()->new_window_controller()->NewWindow(false /* is_incognito */); |
| 258 } | 252 } |
| 259 | 253 |
| 260 bool CanCycleInputMethod() { | 254 bool CanHandleNextIme(ImeControlDelegate* ime_control_delegate) { |
| 261 InputMethodManager* manager = InputMethodManager::Get(); | 255 return ime_control_delegate && ime_control_delegate->CanCycleIme(); |
| 262 DCHECK(manager); | |
| 263 if (!manager->GetActiveIMEState()) { | |
| 264 LOG(WARNING) << "Cannot cycle through input methods as they are not " | |
| 265 "initialized yet."; | |
| 266 return false; | |
| 267 } | |
| 268 return manager->GetActiveIMEState()->CanCycleInputMethod(); | |
| 269 } | 256 } |
| 270 | 257 |
| 271 bool CanHandleCycleMru(const ui::Accelerator& accelerator) { | 258 bool CanHandleCycleMru(const ui::Accelerator& accelerator) { |
| 272 // Don't do anything when Alt+Tab is hit while a virtual keyboard is showing. | 259 // Don't do anything when Alt+Tab is hit while a virtual keyboard is showing. |
| 273 // Touchscreen users have better window switching options. It would be | 260 // Touchscreen users have better window switching options. It would be |
| 274 // preferable if we could tell whether this event actually came from a virtual | 261 // preferable if we could tell whether this event actually came from a virtual |
| 275 // keyboard, but there's no easy way to do so, thus we block Alt+Tab when the | 262 // keyboard, but there's no easy way to do so, thus we block Alt+Tab when the |
| 276 // virtual keyboard is showing, even if it came from a real keyboard. See | 263 // virtual keyboard is showing, even if it came from a real keyboard. See |
| 277 // http://crbug.com/638269 | 264 // http://crbug.com/638269 |
| 278 keyboard::KeyboardController* keyboard_controller = | 265 keyboard::KeyboardController* keyboard_controller = |
| 279 keyboard::KeyboardController::GetInstance(); | 266 keyboard::KeyboardController::GetInstance(); |
| 280 return !(keyboard_controller && keyboard_controller->keyboard_visible()); | 267 return !(keyboard_controller && keyboard_controller->keyboard_visible()); |
| 281 } | 268 } |
| 282 | 269 |
| 283 void HandleNextIme() { | 270 void HandleNextIme(ImeControlDelegate* ime_control_delegate) { |
| 284 base::RecordAction(UserMetricsAction("Accel_Next_Ime")); | 271 base::RecordAction(UserMetricsAction("Accel_Next_Ime")); |
| 285 RecordImeSwitchByAccelerator(); | 272 ime_control_delegate->HandleNextIme(); |
| 286 InputMethodManager::Get()->GetActiveIMEState()->SwitchToNextInputMethod(); | |
| 287 } | 273 } |
| 288 | 274 |
| 289 void HandleOpenFeedbackPage() { | 275 void HandleOpenFeedbackPage() { |
| 290 base::RecordAction(UserMetricsAction("Accel_Open_Feedback_Page")); | 276 base::RecordAction(UserMetricsAction("Accel_Open_Feedback_Page")); |
| 291 Shell::Get()->new_window_controller()->OpenFeedbackPage(); | 277 Shell::Get()->new_window_controller()->OpenFeedbackPage(); |
| 292 } | 278 } |
| 293 | 279 |
| 294 void HandlePreviousIme(const ui::Accelerator& accelerator) { | 280 bool CanHandlePreviousIme(ImeControlDelegate* ime_control_delegate) { |
| 281 return ime_control_delegate && ime_control_delegate->CanCycleIme(); |
| 282 } |
| 283 |
| 284 void HandlePreviousIme(ImeControlDelegate* ime_control_delegate, |
| 285 const ui::Accelerator& accelerator) { |
| 295 base::RecordAction(UserMetricsAction("Accel_Previous_Ime")); | 286 base::RecordAction(UserMetricsAction("Accel_Previous_Ime")); |
| 296 if (accelerator.key_state() == ui::Accelerator::KeyState::PRESSED) { | 287 if (accelerator.key_state() == ui::Accelerator::KeyState::PRESSED) |
| 297 RecordImeSwitchByAccelerator(); | 288 ime_control_delegate->HandlePreviousIme(); |
| 298 InputMethodManager::Get() | |
| 299 ->GetActiveIMEState() | |
| 300 ->SwitchToPreviousInputMethod(); | |
| 301 } | |
| 302 // Else: consume the Ctrl+Space ET_KEY_RELEASED event but do not do anything. | 289 // Else: consume the Ctrl+Space ET_KEY_RELEASED event but do not do anything. |
| 303 } | 290 } |
| 304 | 291 |
| 305 void HandleRestoreTab() { | 292 void HandleRestoreTab() { |
| 306 base::RecordAction(UserMetricsAction("Accel_Restore_Tab")); | 293 base::RecordAction(UserMetricsAction("Accel_Restore_Tab")); |
| 307 Shell::Get()->new_window_controller()->RestoreTab(); | 294 Shell::Get()->new_window_controller()->RestoreTab(); |
| 308 } | 295 } |
| 309 | 296 |
| 310 // Rotate the active window. | 297 // Rotate the active window. |
| 311 void HandleRotateActiveWindow() { | 298 void HandleRotateActiveWindow() { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 tray->ShowDefaultView(BUBBLE_CREATE_NEW); | 345 tray->ShowDefaultView(BUBBLE_CREATE_NEW); |
| 359 tray->ActivateBubble(); | 346 tray->ActivateBubble(); |
| 360 } | 347 } |
| 361 } | 348 } |
| 362 | 349 |
| 363 void HandleShowTaskManager() { | 350 void HandleShowTaskManager() { |
| 364 base::RecordAction(UserMetricsAction("Accel_Show_Task_Manager")); | 351 base::RecordAction(UserMetricsAction("Accel_Show_Task_Manager")); |
| 365 Shell::Get()->new_window_controller()->ShowTaskManager(); | 352 Shell::Get()->new_window_controller()->ShowTaskManager(); |
| 366 } | 353 } |
| 367 | 354 |
| 368 bool CanHandleSwitchIme(const ui::Accelerator& accelerator) { | 355 bool CanHandleSwitchIme(ImeControlDelegate* ime_control_delegate, |
| 369 InputMethodManager* manager = InputMethodManager::Get(); | 356 const ui::Accelerator& accelerator) { |
| 370 DCHECK(manager); | 357 return ime_control_delegate && |
| 371 if (!manager->GetActiveIMEState()) { | 358 ime_control_delegate->CanSwitchIme(accelerator); |
| 372 LOG(WARNING) << "Cannot switch input methods as they are not " | |
| 373 "initialized yet."; | |
| 374 return false; | |
| 375 } | |
| 376 return manager->GetActiveIMEState()->CanSwitchInputMethod(accelerator); | |
| 377 } | 359 } |
| 378 | 360 |
| 379 void HandleSwitchIme(const ui::Accelerator& accelerator) { | 361 void HandleSwitchIme(ImeControlDelegate* ime_control_delegate, |
| 362 const ui::Accelerator& accelerator) { |
| 380 base::RecordAction(UserMetricsAction("Accel_Switch_Ime")); | 363 base::RecordAction(UserMetricsAction("Accel_Switch_Ime")); |
| 381 RecordImeSwitchByAccelerator(); | 364 ime_control_delegate->HandleSwitchIme(accelerator); |
| 382 InputMethodManager::Get()->GetActiveIMEState()->SwitchInputMethod( | |
| 383 accelerator); | |
| 384 } | 365 } |
| 385 | 366 |
| 386 bool CanHandleToggleAppList(const ui::Accelerator& accelerator, | 367 bool CanHandleToggleAppList(const ui::Accelerator& accelerator, |
| 387 const ui::Accelerator& previous_accelerator) { | 368 const ui::Accelerator& previous_accelerator) { |
| 388 if (accelerator.key_code() == ui::VKEY_LWIN) { | 369 if (accelerator.key_code() == ui::VKEY_LWIN) { |
| 389 // If something else was pressed between the Search key (LWIN) | 370 // If something else was pressed between the Search key (LWIN) |
| 390 // being pressed and released, then ignore the release of the | 371 // being pressed and released, then ignore the release of the |
| 391 // Search key. | 372 // Search key. |
| 392 if (previous_accelerator.key_state() != | 373 if (previous_accelerator.key_state() != |
| 393 ui::Accelerator::KeyState::PRESSED || | 374 ui::Accelerator::KeyState::PRESSED || |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 return true; | 728 return true; |
| 748 } | 729 } |
| 749 return false; | 730 return false; |
| 750 } | 731 } |
| 751 | 732 |
| 752 AcceleratorController::AcceleratorProcessingRestriction | 733 AcceleratorController::AcceleratorProcessingRestriction |
| 753 AcceleratorController::GetCurrentAcceleratorRestriction() { | 734 AcceleratorController::GetCurrentAcceleratorRestriction() { |
| 754 return GetAcceleratorProcessingRestriction(-1); | 735 return GetAcceleratorProcessingRestriction(-1); |
| 755 } | 736 } |
| 756 | 737 |
| 738 void AcceleratorController::SetImeControlDelegate( |
| 739 std::unique_ptr<ImeControlDelegate> ime_control_delegate) { |
| 740 ime_control_delegate_ = std::move(ime_control_delegate); |
| 741 } |
| 742 |
| 757 bool AcceleratorController::ShouldCloseMenuAndRepostAccelerator( | 743 bool AcceleratorController::ShouldCloseMenuAndRepostAccelerator( |
| 758 const ui::Accelerator& accelerator) const { | 744 const ui::Accelerator& accelerator) const { |
| 759 auto itr = accelerators_.find(accelerator); | 745 auto itr = accelerators_.find(accelerator); |
| 760 if (itr == accelerators_.end()) | 746 if (itr == accelerators_.end()) |
| 761 return false; // Menu shouldn't be closed for an invalid accelerator. | 747 return false; // Menu shouldn't be closed for an invalid accelerator. |
| 762 | 748 |
| 763 AcceleratorAction action = itr->second; | 749 AcceleratorAction action = itr->second; |
| 764 return actions_keeping_menu_open_.count(action) == 0; | 750 return actions_keeping_menu_open_.count(action) == 0; |
| 765 } | 751 } |
| 766 | 752 |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 919 case DEBUG_TOGGLE_WALLPAPER_MODE: | 905 case DEBUG_TOGGLE_WALLPAPER_MODE: |
| 920 case DEBUG_TRIGGER_CRASH: | 906 case DEBUG_TRIGGER_CRASH: |
| 921 return debug::DebugAcceleratorsEnabled(); | 907 return debug::DebugAcceleratorsEnabled(); |
| 922 case DISABLE_CAPS_LOCK: | 908 case DISABLE_CAPS_LOCK: |
| 923 return CanHandleDisableCapsLock(previous_accelerator); | 909 return CanHandleDisableCapsLock(previous_accelerator); |
| 924 case LOCK_SCREEN: | 910 case LOCK_SCREEN: |
| 925 return CanHandleLock(); | 911 return CanHandleLock(); |
| 926 case NEW_INCOGNITO_WINDOW: | 912 case NEW_INCOGNITO_WINDOW: |
| 927 return CanHandleNewIncognitoWindow(); | 913 return CanHandleNewIncognitoWindow(); |
| 928 case NEXT_IME: | 914 case NEXT_IME: |
| 929 return CanCycleInputMethod(); | 915 return CanHandleNextIme(ime_control_delegate_.get()); |
| 930 case PREVIOUS_IME: | 916 case PREVIOUS_IME: |
| 931 return CanCycleInputMethod(); | 917 return CanHandlePreviousIme(ime_control_delegate_.get()); |
| 932 case SHOW_MESSAGE_CENTER_BUBBLE: | 918 case SHOW_MESSAGE_CENTER_BUBBLE: |
| 933 return CanHandleShowMessageCenterBubble(); | 919 return CanHandleShowMessageCenterBubble(); |
| 934 case SHOW_STYLUS_TOOLS: | 920 case SHOW_STYLUS_TOOLS: |
| 935 return CanHandleShowStylusTools(); | 921 return CanHandleShowStylusTools(); |
| 936 case SWITCH_IME: | 922 case SWITCH_IME: |
| 937 return CanHandleSwitchIme(accelerator); | 923 return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator); |
| 938 case SWITCH_TO_PREVIOUS_USER: | 924 case SWITCH_TO_PREVIOUS_USER: |
| 939 case SWITCH_TO_NEXT_USER: | 925 case SWITCH_TO_NEXT_USER: |
| 940 return CanHandleCycleUser(); | 926 return CanHandleCycleUser(); |
| 941 case TOGGLE_APP_LIST: | 927 case TOGGLE_APP_LIST: |
| 942 return CanHandleToggleAppList(accelerator, previous_accelerator); | 928 return CanHandleToggleAppList(accelerator, previous_accelerator); |
| 943 case TOGGLE_CAPS_LOCK: | 929 case TOGGLE_CAPS_LOCK: |
| 944 return CanHandleToggleCapsLock(accelerator, previous_accelerator); | 930 return CanHandleToggleCapsLock(accelerator, previous_accelerator); |
| 945 case WINDOW_CYCLE_SNAP_LEFT: | 931 case WINDOW_CYCLE_SNAP_LEFT: |
| 946 case WINDOW_CYCLE_SNAP_RIGHT: | 932 case WINDOW_CYCLE_SNAP_RIGHT: |
| 947 return CanHandleWindowSnap(); | 933 return CanHandleWindowSnap(); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1118 case NEW_INCOGNITO_WINDOW: | 1104 case NEW_INCOGNITO_WINDOW: |
| 1119 HandleNewIncognitoWindow(); | 1105 HandleNewIncognitoWindow(); |
| 1120 break; | 1106 break; |
| 1121 case NEW_TAB: | 1107 case NEW_TAB: |
| 1122 HandleNewTab(accelerator); | 1108 HandleNewTab(accelerator); |
| 1123 break; | 1109 break; |
| 1124 case NEW_WINDOW: | 1110 case NEW_WINDOW: |
| 1125 HandleNewWindow(); | 1111 HandleNewWindow(); |
| 1126 break; | 1112 break; |
| 1127 case NEXT_IME: | 1113 case NEXT_IME: |
| 1128 HandleNextIme(); | 1114 HandleNextIme(ime_control_delegate_.get()); |
| 1129 break; | 1115 break; |
| 1130 case OPEN_CROSH: | 1116 case OPEN_CROSH: |
| 1131 HandleCrosh(); | 1117 HandleCrosh(); |
| 1132 break; | 1118 break; |
| 1133 case OPEN_FEEDBACK_PAGE: | 1119 case OPEN_FEEDBACK_PAGE: |
| 1134 HandleOpenFeedbackPage(); | 1120 HandleOpenFeedbackPage(); |
| 1135 break; | 1121 break; |
| 1136 case OPEN_FILE_MANAGER: | 1122 case OPEN_FILE_MANAGER: |
| 1137 HandleFileManager(); | 1123 HandleFileManager(); |
| 1138 break; | 1124 break; |
| 1139 case OPEN_GET_HELP: | 1125 case OPEN_GET_HELP: |
| 1140 HandleGetHelp(); | 1126 HandleGetHelp(); |
| 1141 break; | 1127 break; |
| 1142 case PREVIOUS_IME: | 1128 case PREVIOUS_IME: |
| 1143 HandlePreviousIme(accelerator); | 1129 HandlePreviousIme(ime_control_delegate_.get(), accelerator); |
| 1144 break; | 1130 break; |
| 1145 case PRINT_UI_HIERARCHIES: | 1131 case PRINT_UI_HIERARCHIES: |
| 1146 debug::PrintUIHierarchies(); | 1132 debug::PrintUIHierarchies(); |
| 1147 break; | 1133 break; |
| 1148 case RESTORE_TAB: | 1134 case RESTORE_TAB: |
| 1149 HandleRestoreTab(); | 1135 HandleRestoreTab(); |
| 1150 break; | 1136 break; |
| 1151 case ROTATE_WINDOW: | 1137 case ROTATE_WINDOW: |
| 1152 HandleRotateActiveWindow(); | 1138 HandleRotateActiveWindow(); |
| 1153 break; | 1139 break; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1166 case SHOW_SYSTEM_TRAY_BUBBLE: | 1152 case SHOW_SYSTEM_TRAY_BUBBLE: |
| 1167 HandleShowSystemTrayBubble(); | 1153 HandleShowSystemTrayBubble(); |
| 1168 break; | 1154 break; |
| 1169 case SHOW_TASK_MANAGER: | 1155 case SHOW_TASK_MANAGER: |
| 1170 HandleShowTaskManager(); | 1156 HandleShowTaskManager(); |
| 1171 break; | 1157 break; |
| 1172 case SUSPEND: | 1158 case SUSPEND: |
| 1173 HandleSuspend(); | 1159 HandleSuspend(); |
| 1174 break; | 1160 break; |
| 1175 case SWITCH_IME: | 1161 case SWITCH_IME: |
| 1176 HandleSwitchIme(accelerator); | 1162 HandleSwitchIme(ime_control_delegate_.get(), accelerator); |
| 1177 break; | 1163 break; |
| 1178 case SWITCH_TO_NEXT_USER: | 1164 case SWITCH_TO_NEXT_USER: |
| 1179 HandleCycleUser(CycleUserDirection::NEXT); | 1165 HandleCycleUser(CycleUserDirection::NEXT); |
| 1180 break; | 1166 break; |
| 1181 case SWITCH_TO_PREVIOUS_USER: | 1167 case SWITCH_TO_PREVIOUS_USER: |
| 1182 HandleCycleUser(CycleUserDirection::PREVIOUS); | 1168 HandleCycleUser(CycleUserDirection::PREVIOUS); |
| 1183 break; | 1169 break; |
| 1184 case TOGGLE_APP_LIST: | 1170 case TOGGLE_APP_LIST: |
| 1185 HandleToggleAppList(accelerator); | 1171 HandleToggleAppList(accelerator); |
| 1186 break; | 1172 break; |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1311 data->uma_histogram_name, data->notification_message_id, | 1297 data->uma_histogram_name, data->notification_message_id, |
| 1312 data->old_shortcut_id, data->new_shortcut_id); | 1298 data->old_shortcut_id, data->new_shortcut_id); |
| 1313 | 1299 |
| 1314 if (!data->deprecated_enabled) | 1300 if (!data->deprecated_enabled) |
| 1315 return AcceleratorProcessingStatus::STOP; | 1301 return AcceleratorProcessingStatus::STOP; |
| 1316 | 1302 |
| 1317 return AcceleratorProcessingStatus::PROCEED; | 1303 return AcceleratorProcessingStatus::PROCEED; |
| 1318 } | 1304 } |
| 1319 | 1305 |
| 1320 } // namespace ash | 1306 } // namespace ash |
| OLD | NEW |