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

Side by Side Diff: ash/common/accelerators/accelerator_controller.cc

Issue 2183993005: Moves handling of toggling applist back to common code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@new_window_delegate
Patch Set: merge Created 4 years, 4 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 (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/common/accelerators/accelerator_controller.h" 5 #include "ash/common/accelerators/accelerator_controller.h"
6 6
7 #include "ash/common/accelerators/accelerator_commands.h" 7 #include "ash/common/accelerators/accelerator_commands.h"
8 #include "ash/common/accelerators/accelerator_controller_delegate.h" 8 #include "ash/common/accelerators/accelerator_controller_delegate.h"
9 #include "ash/common/accelerators/debug_commands.h" 9 #include "ash/common/accelerators/debug_commands.h"
10 #include "ash/common/accessibility_delegate.h" 10 #include "ash/common/accessibility_delegate.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 return ime_control_delegate && 192 return ime_control_delegate &&
193 ime_control_delegate->CanSwitchIme(accelerator); 193 ime_control_delegate->CanSwitchIme(accelerator);
194 } 194 }
195 195
196 void HandleSwitchIme(ImeControlDelegate* ime_control_delegate, 196 void HandleSwitchIme(ImeControlDelegate* ime_control_delegate,
197 const ui::Accelerator& accelerator) { 197 const ui::Accelerator& accelerator) {
198 base::RecordAction(UserMetricsAction("Accel_Switch_Ime")); 198 base::RecordAction(UserMetricsAction("Accel_Switch_Ime"));
199 ime_control_delegate->HandleSwitchIme(accelerator); 199 ime_control_delegate->HandleSwitchIme(accelerator);
200 } 200 }
201 201
202 bool CanHandleToggleAppList(const ui::Accelerator& accelerator,
203 const ui::Accelerator& previous_accelerator) {
204 if (accelerator.key_code() == ui::VKEY_LWIN) {
205 // If something else was pressed between the Search key (LWIN)
206 // being pressed and released, then ignore the release of the
207 // Search key.
208 if (previous_accelerator.type() != ui::ET_KEY_PRESSED ||
209 previous_accelerator.key_code() != ui::VKEY_LWIN) {
210 return false;
211 }
212
213 // When spoken feedback is enabled, we should neither toggle the list nor
214 // consume the key since Search+Shift is one of the shortcuts the a11y
215 // feature uses. crbug.com/132296
216 if (WmShell::Get()->accessibility_delegate()->IsSpokenFeedbackEnabled())
217 return false;
218 }
219 return true;
220 }
221
222 void HandleToggleAppList(const ui::Accelerator& accelerator) {
223 if (accelerator.key_code() == ui::VKEY_LWIN)
224 base::RecordAction(UserMetricsAction("Accel_Search_LWin"));
225 WmShell::Get()->ToggleAppList();
226 }
227
202 void HandleToggleFullscreen(const ui::Accelerator& accelerator) { 228 void HandleToggleFullscreen(const ui::Accelerator& accelerator) {
203 if (accelerator.key_code() == ui::VKEY_MEDIA_LAUNCH_APP2) 229 if (accelerator.key_code() == ui::VKEY_MEDIA_LAUNCH_APP2)
204 base::RecordAction(UserMetricsAction("Accel_Fullscreen_F4")); 230 base::RecordAction(UserMetricsAction("Accel_Fullscreen_F4"));
205 accelerators::ToggleFullscreen(); 231 accelerators::ToggleFullscreen();
206 } 232 }
207 233
208 void HandleToggleOverview() { 234 void HandleToggleOverview() {
209 base::RecordAction(base::UserMetricsAction("Accel_Overview_F5")); 235 base::RecordAction(base::UserMetricsAction("Accel_Overview_F5"));
210 WmShell::Get()->window_selector_controller()->ToggleOverview(); 236 WmShell::Get()->window_selector_controller()->ToggleOverview();
211 } 237 }
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 case DEBUG_PRINT_WINDOW_HIERARCHY: 652 case DEBUG_PRINT_WINDOW_HIERARCHY:
627 return debug::DebugAcceleratorsEnabled(); 653 return debug::DebugAcceleratorsEnabled();
628 case NEW_INCOGNITO_WINDOW: 654 case NEW_INCOGNITO_WINDOW:
629 return CanHandleNewIncognitoWindow(); 655 return CanHandleNewIncognitoWindow();
630 case NEXT_IME: 656 case NEXT_IME:
631 return CanHandleNextIme(ime_control_delegate_.get()); 657 return CanHandleNextIme(ime_control_delegate_.get());
632 case PREVIOUS_IME: 658 case PREVIOUS_IME:
633 return CanHandlePreviousIme(ime_control_delegate_.get()); 659 return CanHandlePreviousIme(ime_control_delegate_.get());
634 case SWITCH_IME: 660 case SWITCH_IME:
635 return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator); 661 return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator);
662 case TOGGLE_APP_LIST:
663 return CanHandleToggleAppList(accelerator, previous_accelerator);
636 case WINDOW_CYCLE_SNAP_DOCK_LEFT: 664 case WINDOW_CYCLE_SNAP_DOCK_LEFT:
637 case WINDOW_CYCLE_SNAP_DOCK_RIGHT: 665 case WINDOW_CYCLE_SNAP_DOCK_RIGHT:
638 return CanHandleWindowSnapOrDock(); 666 return CanHandleWindowSnapOrDock();
639 case WINDOW_POSITION_CENTER: 667 case WINDOW_POSITION_CENTER:
640 return CanHandlePositionCenter(); 668 return CanHandlePositionCenter();
641 #if defined(OS_CHROMEOS) 669 #if defined(OS_CHROMEOS)
642 case DEBUG_SHOW_TOAST: 670 case DEBUG_SHOW_TOAST:
643 case DEBUG_TOGGLE_TOUCH_PAD: 671 case DEBUG_TOGGLE_TOUCH_PAD:
644 case DEBUG_TOGGLE_TOUCH_SCREEN: 672 case DEBUG_TOGGLE_TOUCH_SCREEN:
645 case DEBUG_TOGGLE_TOUCH_VIEW: 673 case DEBUG_TOGGLE_TOUCH_VIEW:
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 break; 796 break;
769 case SHOW_KEYBOARD_OVERLAY: 797 case SHOW_KEYBOARD_OVERLAY:
770 HandleShowKeyboardOverlay(); 798 HandleShowKeyboardOverlay();
771 break; 799 break;
772 case SHOW_TASK_MANAGER: 800 case SHOW_TASK_MANAGER:
773 HandleShowTaskManager(); 801 HandleShowTaskManager();
774 break; 802 break;
775 case SWITCH_IME: 803 case SWITCH_IME:
776 HandleSwitchIme(ime_control_delegate_.get(), accelerator); 804 HandleSwitchIme(ime_control_delegate_.get(), accelerator);
777 break; 805 break;
806 case TOGGLE_APP_LIST:
807 HandleToggleAppList(accelerator);
808 break;
778 case TOGGLE_FULLSCREEN: 809 case TOGGLE_FULLSCREEN:
779 HandleToggleFullscreen(accelerator); 810 HandleToggleFullscreen(accelerator);
780 break; 811 break;
781 case TOGGLE_MAXIMIZED: 812 case TOGGLE_MAXIMIZED:
782 accelerators::ToggleMaximized(); 813 accelerators::ToggleMaximized();
783 break; 814 break;
784 case TOGGLE_OVERVIEW: 815 case TOGGLE_OVERVIEW:
785 HandleToggleOverview(); 816 HandleToggleOverview();
786 break; 817 break;
787 case WINDOW_CYCLE_SNAP_DOCK_LEFT: 818 case WINDOW_CYCLE_SNAP_DOCK_LEFT:
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 if (wm_shell->mru_window_tracker()->BuildMruWindowList().empty() && 957 if (wm_shell->mru_window_tracker()->BuildMruWindowList().empty() &&
927 actions_needing_window_.find(action) != actions_needing_window_.end()) { 958 actions_needing_window_.find(action) != actions_needing_window_.end()) {
928 wm_shell->accessibility_delegate()->TriggerAccessibilityAlert( 959 wm_shell->accessibility_delegate()->TriggerAccessibilityAlert(
929 A11Y_ALERT_WINDOW_NEEDED); 960 A11Y_ALERT_WINDOW_NEEDED);
930 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION; 961 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION;
931 } 962 }
932 return RESTRICTION_NONE; 963 return RESTRICTION_NONE;
933 } 964 }
934 965
935 } // namespace ash 966 } // namespace ash
OLDNEW
« no previous file with comments | « ash/accelerators/accelerator_controller_delegate_aura.cc ('k') | ash/mus/accelerators/accelerator_controller_delegate_mus.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698