| 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/common/accelerators/accelerator_controller.h" | 5 #include "ash/common/accelerators/accelerator_controller.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "ash/common/accelerators/accelerator_commands.h" | 9 #include "ash/common/accelerators/accelerator_commands.h" |
| 10 #include "ash/common/accelerators/accelerator_controller_delegate.h" | 10 #include "ash/common/accelerators/accelerator_controller_delegate.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 #include "ui/base/ime/chromeos/input_method_manager.h" | 52 #include "ui/base/ime/chromeos/input_method_manager.h" |
| 53 #include "ui/base/l10n/l10n_util.h" | 53 #include "ui/base/l10n/l10n_util.h" |
| 54 #include "ui/gfx/paint_vector_icon.h" | 54 #include "ui/gfx/paint_vector_icon.h" |
| 55 #include "ui/keyboard/keyboard_controller.h" | 55 #include "ui/keyboard/keyboard_controller.h" |
| 56 #include "ui/message_center/message_center.h" | 56 #include "ui/message_center/message_center.h" |
| 57 | 57 |
| 58 namespace ash { | 58 namespace ash { |
| 59 namespace { | 59 namespace { |
| 60 | 60 |
| 61 using base::UserMetricsAction; | 61 using base::UserMetricsAction; |
| 62 using message_center::Notification; |
| 63 |
| 64 // Identifier for the high contrast toggle accelerator notification. |
| 65 const char kHighContrastToggleAccelNotificationId[] = |
| 66 "chrome://settings/accessibility/highcontrast"; |
| 62 | 67 |
| 63 ui::Accelerator CreateAccelerator(ui::KeyboardCode keycode, | 68 ui::Accelerator CreateAccelerator(ui::KeyboardCode keycode, |
| 64 int modifiers, | 69 int modifiers, |
| 65 bool trigger_on_press) { | 70 bool trigger_on_press) { |
| 66 ui::Accelerator accelerator(keycode, modifiers); | 71 ui::Accelerator accelerator(keycode, modifiers); |
| 67 accelerator.set_type(trigger_on_press ? ui::ET_KEY_PRESSED | 72 accelerator.set_type(trigger_on_press ? ui::ET_KEY_PRESSED |
| 68 : ui::ET_KEY_RELEASED); | 73 : ui::ET_KEY_RELEASED); |
| 69 return accelerator; | 74 return accelerator; |
| 70 } | 75 } |
| 71 | 76 |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 // Docked windows do not support centering. | 319 // Docked windows do not support centering. |
| 315 WmWindow* active_window = WmShell::Get()->GetActiveWindow(); | 320 WmWindow* active_window = WmShell::Get()->GetActiveWindow(); |
| 316 return (active_window && !active_window->GetWindowState()->IsDocked()); | 321 return (active_window && !active_window->GetWindowState()->IsDocked()); |
| 317 } | 322 } |
| 318 | 323 |
| 319 void HandlePositionCenter() { | 324 void HandlePositionCenter() { |
| 320 base::RecordAction(UserMetricsAction("Accel_Window_Position_Center")); | 325 base::RecordAction(UserMetricsAction("Accel_Window_Position_Center")); |
| 321 wm::CenterWindow(WmShell::Get()->GetActiveWindow()); | 326 wm::CenterWindow(WmShell::Get()->GetActiveWindow()); |
| 322 } | 327 } |
| 323 | 328 |
| 324 #if defined(OS_CHROMEOS) | |
| 325 | |
| 326 using message_center::Notification; | |
| 327 | |
| 328 // Identifier for the high contrast toggle accelerator notification. | |
| 329 const char kHighContrastToggleAccelNotificationId[] = | |
| 330 "chrome://settings/accessibility/highcontrast"; | |
| 331 | |
| 332 void HandleShowImeMenuBubble() { | 329 void HandleShowImeMenuBubble() { |
| 333 base::RecordAction(UserMetricsAction("Accel_Show_Ime_Menu_Bubble")); | 330 base::RecordAction(UserMetricsAction("Accel_Show_Ime_Menu_Bubble")); |
| 334 | 331 |
| 335 StatusAreaWidget* status_area_widget = | 332 StatusAreaWidget* status_area_widget = |
| 336 WmShelf::ForWindow(WmShell::Get()->GetPrimaryRootWindow()) | 333 WmShelf::ForWindow(WmShell::Get()->GetPrimaryRootWindow()) |
| 337 ->GetStatusAreaWidget(); | 334 ->GetStatusAreaWidget(); |
| 338 if (status_area_widget) { | 335 if (status_area_widget) { |
| 339 ImeMenuTray* ime_menu_tray = status_area_widget->ime_menu_tray(); | 336 ImeMenuTray* ime_menu_tray = status_area_widget->ime_menu_tray(); |
| 340 if (ime_menu_tray && ime_menu_tray->visible() && | 337 if (ime_menu_tray && ime_menu_tray->visible() && |
| 341 !ime_menu_tray->IsImeMenuBubbleShown()) { | 338 !ime_menu_tray->IsImeMenuBubbleShown()) { |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 523 | 520 |
| 524 void HandleVolumeUp(mojom::VolumeController* volume_controller, | 521 void HandleVolumeUp(mojom::VolumeController* volume_controller, |
| 525 const ui::Accelerator& accelerator) { | 522 const ui::Accelerator& accelerator) { |
| 526 if (accelerator.key_code() == ui::VKEY_VOLUME_UP) | 523 if (accelerator.key_code() == ui::VKEY_VOLUME_UP) |
| 527 base::RecordAction(UserMetricsAction("Accel_VolumeUp_F10")); | 524 base::RecordAction(UserMetricsAction("Accel_VolumeUp_F10")); |
| 528 | 525 |
| 529 if (volume_controller) | 526 if (volume_controller) |
| 530 volume_controller->VolumeUp(); | 527 volume_controller->VolumeUp(); |
| 531 } | 528 } |
| 532 | 529 |
| 533 #endif // defined(OS_CHROMEOS) | |
| 534 | |
| 535 } // namespace | 530 } // namespace |
| 536 | 531 |
| 537 //////////////////////////////////////////////////////////////////////////////// | 532 //////////////////////////////////////////////////////////////////////////////// |
| 538 // AcceleratorController, public: | 533 // AcceleratorController, public: |
| 539 | 534 |
| 540 AcceleratorController::AcceleratorController( | 535 AcceleratorController::AcceleratorController( |
| 541 AcceleratorControllerDelegate* delegate, | 536 AcceleratorControllerDelegate* delegate, |
| 542 ui::AcceleratorManagerDelegate* manager_delegate) | 537 ui::AcceleratorManagerDelegate* manager_delegate) |
| 543 : delegate_(delegate), | 538 : delegate_(delegate), |
| 544 accelerator_manager_(new ui::AcceleratorManager(manager_delegate)), | 539 accelerator_manager_(new ui::AcceleratorManager(manager_delegate)), |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 724 ui::Accelerator accelerator = | 719 ui::Accelerator accelerator = |
| 725 CreateAccelerator(accelerators[i].keycode, accelerators[i].modifiers, | 720 CreateAccelerator(accelerators[i].keycode, accelerators[i].modifiers, |
| 726 accelerators[i].trigger_on_press); | 721 accelerators[i].trigger_on_press); |
| 727 ui_accelerators.push_back(accelerator); | 722 ui_accelerators.push_back(accelerator); |
| 728 accelerators_.insert(std::make_pair(accelerator, accelerators[i].action)); | 723 accelerators_.insert(std::make_pair(accelerator, accelerators[i].action)); |
| 729 } | 724 } |
| 730 Register(ui_accelerators, this); | 725 Register(ui_accelerators, this); |
| 731 } | 726 } |
| 732 | 727 |
| 733 void AcceleratorController::RegisterDeprecatedAccelerators() { | 728 void AcceleratorController::RegisterDeprecatedAccelerators() { |
| 734 #if defined(OS_CHROMEOS) | |
| 735 for (size_t i = 0; i < kDeprecatedAcceleratorsDataLength; ++i) { | 729 for (size_t i = 0; i < kDeprecatedAcceleratorsDataLength; ++i) { |
| 736 const DeprecatedAcceleratorData* data = &kDeprecatedAcceleratorsData[i]; | 730 const DeprecatedAcceleratorData* data = &kDeprecatedAcceleratorsData[i]; |
| 737 actions_with_deprecations_[data->action] = data; | 731 actions_with_deprecations_[data->action] = data; |
| 738 } | 732 } |
| 739 | 733 |
| 740 std::vector<ui::Accelerator> ui_accelerators; | 734 std::vector<ui::Accelerator> ui_accelerators; |
| 741 for (size_t i = 0; i < kDeprecatedAcceleratorsLength; ++i) { | 735 for (size_t i = 0; i < kDeprecatedAcceleratorsLength; ++i) { |
| 742 const AcceleratorData& accelerator_data = kDeprecatedAccelerators[i]; | 736 const AcceleratorData& accelerator_data = kDeprecatedAccelerators[i]; |
| 743 const ui::Accelerator deprecated_accelerator = | 737 const ui::Accelerator deprecated_accelerator = |
| 744 CreateAccelerator(accelerator_data.keycode, accelerator_data.modifiers, | 738 CreateAccelerator(accelerator_data.keycode, accelerator_data.modifiers, |
| 745 accelerator_data.trigger_on_press); | 739 accelerator_data.trigger_on_press); |
| 746 | 740 |
| 747 ui_accelerators.push_back(deprecated_accelerator); | 741 ui_accelerators.push_back(deprecated_accelerator); |
| 748 accelerators_[deprecated_accelerator] = accelerator_data.action; | 742 accelerators_[deprecated_accelerator] = accelerator_data.action; |
| 749 deprecated_accelerators_.insert(deprecated_accelerator); | 743 deprecated_accelerators_.insert(deprecated_accelerator); |
| 750 } | 744 } |
| 751 Register(ui_accelerators, this); | 745 Register(ui_accelerators, this); |
| 752 #endif // defined(OS_CHROMEOS) | |
| 753 } | 746 } |
| 754 | 747 |
| 755 bool AcceleratorController::CanPerformAction( | 748 bool AcceleratorController::CanPerformAction( |
| 756 AcceleratorAction action, | 749 AcceleratorAction action, |
| 757 const ui::Accelerator& accelerator) { | 750 const ui::Accelerator& accelerator) { |
| 758 if (accelerator.IsRepeat() && !repeatable_actions_.count(action)) | 751 if (accelerator.IsRepeat() && !repeatable_actions_.count(action)) |
| 759 return false; | 752 return false; |
| 760 | 753 |
| 761 AcceleratorProcessingRestriction restriction = | 754 AcceleratorProcessingRestriction restriction = |
| 762 GetAcceleratorProcessingRestriction(action); | 755 GetAcceleratorProcessingRestriction(action); |
| 763 if (restriction != RESTRICTION_NONE) | 756 if (restriction != RESTRICTION_NONE) |
| 764 return restriction == RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION; | 757 return restriction == RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION; |
| 765 | 758 |
| 766 const ui::Accelerator& previous_accelerator = | 759 const ui::Accelerator& previous_accelerator = |
| 767 accelerator_history_->previous_accelerator(); | 760 accelerator_history_->previous_accelerator(); |
| 768 | 761 |
| 769 // True should be returned if running |action| does something. Otherwise, | 762 // True should be returned if running |action| does something. Otherwise, |
| 770 // false should be returned to give the web contents a chance at handling the | 763 // false should be returned to give the web contents a chance at handling the |
| 771 // accelerator. | 764 // accelerator. |
| 772 switch (action) { | 765 switch (action) { |
| 773 case CYCLE_BACKWARD_MRU: | 766 case CYCLE_BACKWARD_MRU: |
| 774 case CYCLE_FORWARD_MRU: | 767 case CYCLE_FORWARD_MRU: |
| 775 return CanHandleCycleMru(accelerator); | 768 return CanHandleCycleMru(accelerator); |
| 776 case DEBUG_PRINT_LAYER_HIERARCHY: | 769 case DEBUG_PRINT_LAYER_HIERARCHY: |
| 777 case DEBUG_PRINT_VIEW_HIERARCHY: | 770 case DEBUG_PRINT_VIEW_HIERARCHY: |
| 778 case DEBUG_PRINT_WINDOW_HIERARCHY: | 771 case DEBUG_PRINT_WINDOW_HIERARCHY: |
| 772 case DEBUG_SHOW_TOAST: |
| 773 case DEBUG_TOGGLE_TOUCH_PAD: |
| 774 case DEBUG_TOGGLE_TOUCH_SCREEN: |
| 775 case DEBUG_TOGGLE_TOUCH_VIEW: |
| 779 case DEBUG_TOGGLE_WALLPAPER_MODE: | 776 case DEBUG_TOGGLE_WALLPAPER_MODE: |
| 780 case DEBUG_TRIGGER_CRASH: | 777 case DEBUG_TRIGGER_CRASH: |
| 781 return debug::DebugAcceleratorsEnabled(); | 778 return debug::DebugAcceleratorsEnabled(); |
| 779 case DISABLE_CAPS_LOCK: |
| 780 return CanHandleDisableCapsLock(previous_accelerator); |
| 781 case LOCK_SCREEN: |
| 782 return CanHandleLock(); |
| 782 case NEW_INCOGNITO_WINDOW: | 783 case NEW_INCOGNITO_WINDOW: |
| 783 return CanHandleNewIncognitoWindow(); | 784 return CanHandleNewIncognitoWindow(); |
| 784 case NEXT_IME: | 785 case NEXT_IME: |
| 785 return CanHandleNextIme(ime_control_delegate_.get()); | 786 return CanHandleNextIme(ime_control_delegate_.get()); |
| 786 case PREVIOUS_IME: | 787 case PREVIOUS_IME: |
| 787 return CanHandlePreviousIme(ime_control_delegate_.get()); | 788 return CanHandlePreviousIme(ime_control_delegate_.get()); |
| 788 case SHOW_MESSAGE_CENTER_BUBBLE: | 789 case SHOW_MESSAGE_CENTER_BUBBLE: |
| 789 return CanHandleShowMessageCenterBubble(); | 790 return CanHandleShowMessageCenterBubble(); |
| 791 case SHOW_STYLUS_TOOLS: |
| 792 return CanHandleShowStylusTools(); |
| 790 case SWITCH_IME: | 793 case SWITCH_IME: |
| 791 return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator); | 794 return CanHandleSwitchIme(ime_control_delegate_.get(), accelerator); |
| 795 case SWITCH_TO_PREVIOUS_USER: |
| 796 case SWITCH_TO_NEXT_USER: |
| 797 return CanHandleCycleUser(); |
| 792 case TOGGLE_APP_LIST: | 798 case TOGGLE_APP_LIST: |
| 793 return CanHandleToggleAppList(accelerator, previous_accelerator); | 799 return CanHandleToggleAppList(accelerator, previous_accelerator); |
| 800 case TOGGLE_CAPS_LOCK: |
| 801 return CanHandleToggleCapsLock(accelerator, previous_accelerator); |
| 794 case WINDOW_CYCLE_SNAP_DOCK_LEFT: | 802 case WINDOW_CYCLE_SNAP_DOCK_LEFT: |
| 795 case WINDOW_CYCLE_SNAP_DOCK_RIGHT: | 803 case WINDOW_CYCLE_SNAP_DOCK_RIGHT: |
| 796 return CanHandleWindowSnapOrDock(); | 804 return CanHandleWindowSnapOrDock(); |
| 797 case WINDOW_POSITION_CENTER: | 805 case WINDOW_POSITION_CENTER: |
| 798 return CanHandlePositionCenter(); | 806 return CanHandlePositionCenter(); |
| 799 #if defined(OS_CHROMEOS) | 807 |
| 800 case DEBUG_SHOW_TOAST: | 808 // The following are always enabled. |
| 801 case DEBUG_TOGGLE_TOUCH_PAD: | 809 case BRIGHTNESS_DOWN: |
| 802 case DEBUG_TOGGLE_TOUCH_SCREEN: | 810 case BRIGHTNESS_UP: |
| 803 case DEBUG_TOGGLE_TOUCH_VIEW: | |
| 804 return debug::DebugAcceleratorsEnabled(); | |
| 805 case DISABLE_CAPS_LOCK: | |
| 806 return CanHandleDisableCapsLock(previous_accelerator); | |
| 807 case LOCK_SCREEN: | |
| 808 return CanHandleLock(); | |
| 809 case SHOW_STYLUS_TOOLS: | |
| 810 return CanHandleShowStylusTools(); | |
| 811 case SWITCH_TO_PREVIOUS_USER: | |
| 812 case SWITCH_TO_NEXT_USER: | |
| 813 return CanHandleCycleUser(); | |
| 814 case TOGGLE_CAPS_LOCK: | |
| 815 return CanHandleToggleCapsLock(accelerator, previous_accelerator); | |
| 816 #endif | |
| 817 case EXIT: | 811 case EXIT: |
| 818 case FOCUS_NEXT_PANE: | 812 case FOCUS_NEXT_PANE: |
| 819 case FOCUS_PREVIOUS_PANE: | 813 case FOCUS_PREVIOUS_PANE: |
| 820 case FOCUS_SHELF: | 814 case FOCUS_SHELF: |
| 815 case KEYBOARD_BRIGHTNESS_DOWN: |
| 816 case KEYBOARD_BRIGHTNESS_UP: |
| 821 case LAUNCH_APP_0: | 817 case LAUNCH_APP_0: |
| 822 case LAUNCH_APP_1: | 818 case LAUNCH_APP_1: |
| 823 case LAUNCH_APP_2: | 819 case LAUNCH_APP_2: |
| 824 case LAUNCH_APP_3: | 820 case LAUNCH_APP_3: |
| 825 case LAUNCH_APP_4: | 821 case LAUNCH_APP_4: |
| 826 case LAUNCH_APP_5: | 822 case LAUNCH_APP_5: |
| 827 case LAUNCH_APP_6: | 823 case LAUNCH_APP_6: |
| 828 case LAUNCH_APP_7: | 824 case LAUNCH_APP_7: |
| 829 case LAUNCH_LAST_APP: | 825 case LAUNCH_LAST_APP: |
| 830 case MEDIA_NEXT_TRACK: | 826 case MEDIA_NEXT_TRACK: |
| 831 case MEDIA_PLAY_PAUSE: | 827 case MEDIA_PLAY_PAUSE: |
| 832 case MEDIA_PREV_TRACK: | 828 case MEDIA_PREV_TRACK: |
| 833 case NEW_TAB: | 829 case NEW_TAB: |
| 834 case NEW_WINDOW: | 830 case NEW_WINDOW: |
| 831 case OPEN_CROSH: |
| 835 case OPEN_FEEDBACK_PAGE: | 832 case OPEN_FEEDBACK_PAGE: |
| 833 case OPEN_FILE_MANAGER: |
| 834 case OPEN_GET_HELP: |
| 836 case PRINT_UI_HIERARCHIES: | 835 case PRINT_UI_HIERARCHIES: |
| 837 case RESTORE_TAB: | 836 case RESTORE_TAB: |
| 837 case SHOW_IME_MENU_BUBBLE: |
| 838 case SHOW_KEYBOARD_OVERLAY: | 838 case SHOW_KEYBOARD_OVERLAY: |
| 839 case SHOW_TASK_MANAGER: | 839 case SHOW_TASK_MANAGER: |
| 840 case SUSPEND: |
| 840 case TOGGLE_FULLSCREEN: | 841 case TOGGLE_FULLSCREEN: |
| 842 case TOGGLE_HIGH_CONTRAST: |
| 841 case TOGGLE_MAXIMIZED: | 843 case TOGGLE_MAXIMIZED: |
| 842 case TOGGLE_OVERVIEW: | 844 case TOGGLE_OVERVIEW: |
| 843 case WINDOW_MINIMIZE: | |
| 844 #if defined(OS_CHROMEOS) | |
| 845 case BRIGHTNESS_DOWN: | |
| 846 case BRIGHTNESS_UP: | |
| 847 case KEYBOARD_BRIGHTNESS_DOWN: | |
| 848 case KEYBOARD_BRIGHTNESS_UP: | |
| 849 case OPEN_CROSH: | |
| 850 case OPEN_FILE_MANAGER: | |
| 851 case OPEN_GET_HELP: | |
| 852 case SHOW_IME_MENU_BUBBLE: | |
| 853 case SUSPEND: | |
| 854 case TOGGLE_HIGH_CONTRAST: | |
| 855 case TOGGLE_SPOKEN_FEEDBACK: | 845 case TOGGLE_SPOKEN_FEEDBACK: |
| 856 case TOGGLE_WIFI: | 846 case TOGGLE_WIFI: |
| 857 case VOLUME_DOWN: | 847 case VOLUME_DOWN: |
| 858 case VOLUME_MUTE: | 848 case VOLUME_MUTE: |
| 859 case VOLUME_UP: | 849 case VOLUME_UP: |
| 860 #else | 850 case WINDOW_MINIMIZE: |
| 861 case DUMMY_FOR_RESERVED: | |
| 862 #endif | |
| 863 return true; | 851 return true; |
| 864 | 852 |
| 865 default: | 853 default: |
| 866 // Default switch is temporary until mash transition complete. Needed as | 854 // Default switch is temporary until mash transition complete. Needed as |
| 867 // some actions don't yet work with mash. | 855 // some actions don't yet work with mash. |
| 868 break; | 856 break; |
| 869 } | 857 } |
| 870 return delegate_ && delegate_->HandlesAction(action) && | 858 return delegate_ && delegate_->HandlesAction(action) && |
| 871 delegate_->CanPerformAction(action, accelerator, previous_accelerator); | 859 delegate_->CanPerformAction(action, accelerator, previous_accelerator); |
| 872 } | 860 } |
| 873 | 861 |
| 874 void AcceleratorController::PerformAction(AcceleratorAction action, | 862 void AcceleratorController::PerformAction(AcceleratorAction action, |
| 875 const ui::Accelerator& accelerator) { | 863 const ui::Accelerator& accelerator) { |
| 876 AcceleratorProcessingRestriction restriction = | 864 AcceleratorProcessingRestriction restriction = |
| 877 GetAcceleratorProcessingRestriction(action); | 865 GetAcceleratorProcessingRestriction(action); |
| 878 if (restriction != RESTRICTION_NONE) | 866 if (restriction != RESTRICTION_NONE) |
| 879 return; | 867 return; |
| 880 | 868 |
| 881 // If your accelerator invokes more than one line of code, please either | 869 // If your accelerator invokes more than one line of code, please either |
| 882 // implement it in your module's controller code or pull it into a HandleFoo() | 870 // implement it in your module's controller code or pull it into a HandleFoo() |
| 883 // function above. | 871 // function above. |
| 884 switch (action) { | 872 switch (action) { |
| 873 case BRIGHTNESS_DOWN: { |
| 874 BrightnessControlDelegate* delegate = |
| 875 WmShell::Get()->brightness_control_delegate(); |
| 876 if (delegate) |
| 877 delegate->HandleBrightnessDown(accelerator); |
| 878 break; |
| 879 } |
| 880 case BRIGHTNESS_UP: { |
| 881 BrightnessControlDelegate* delegate = |
| 882 WmShell::Get()->brightness_control_delegate(); |
| 883 if (delegate) |
| 884 delegate->HandleBrightnessUp(accelerator); |
| 885 break; |
| 886 } |
| 885 case CYCLE_BACKWARD_MRU: | 887 case CYCLE_BACKWARD_MRU: |
| 886 HandleCycleBackwardMRU(accelerator); | 888 HandleCycleBackwardMRU(accelerator); |
| 887 break; | 889 break; |
| 888 case CYCLE_FORWARD_MRU: | 890 case CYCLE_FORWARD_MRU: |
| 889 HandleCycleForwardMRU(accelerator); | 891 HandleCycleForwardMRU(accelerator); |
| 890 break; | 892 break; |
| 891 case DEBUG_PRINT_LAYER_HIERARCHY: | 893 case DEBUG_PRINT_LAYER_HIERARCHY: |
| 892 case DEBUG_PRINT_VIEW_HIERARCHY: | 894 case DEBUG_PRINT_VIEW_HIERARCHY: |
| 893 case DEBUG_PRINT_WINDOW_HIERARCHY: | 895 case DEBUG_PRINT_WINDOW_HIERARCHY: |
| 896 case DEBUG_SHOW_TOAST: |
| 897 case DEBUG_TOGGLE_TOUCH_PAD: |
| 898 case DEBUG_TOGGLE_TOUCH_SCREEN: |
| 899 case DEBUG_TOGGLE_TOUCH_VIEW: |
| 894 case DEBUG_TOGGLE_WALLPAPER_MODE: | 900 case DEBUG_TOGGLE_WALLPAPER_MODE: |
| 895 case DEBUG_TRIGGER_CRASH: | 901 case DEBUG_TRIGGER_CRASH: |
| 896 debug::PerformDebugActionIfEnabled(action); | 902 debug::PerformDebugActionIfEnabled(action); |
| 897 break; | 903 break; |
| 904 case DISABLE_CAPS_LOCK: |
| 905 HandleDisableCapsLock(); |
| 906 break; |
| 898 case EXIT: | 907 case EXIT: |
| 899 // UMA metrics are recorded in the handler. | 908 // UMA metrics are recorded in the handler. |
| 900 exit_warning_handler_.HandleAccelerator(); | 909 exit_warning_handler_.HandleAccelerator(); |
| 901 break; | 910 break; |
| 902 case FOCUS_NEXT_PANE: | 911 case FOCUS_NEXT_PANE: |
| 903 HandleRotatePaneFocus(FocusCycler::FORWARD); | 912 HandleRotatePaneFocus(FocusCycler::FORWARD); |
| 904 break; | 913 break; |
| 905 case FOCUS_PREVIOUS_PANE: | 914 case FOCUS_PREVIOUS_PANE: |
| 906 HandleRotatePaneFocus(FocusCycler::BACKWARD); | 915 HandleRotatePaneFocus(FocusCycler::BACKWARD); |
| 907 break; | 916 break; |
| 908 case FOCUS_SHELF: | 917 case FOCUS_SHELF: |
| 909 HandleFocusShelf(); | 918 HandleFocusShelf(); |
| 910 break; | 919 break; |
| 920 case KEYBOARD_BRIGHTNESS_DOWN: { |
| 921 KeyboardBrightnessControlDelegate* delegate = |
| 922 WmShell::Get()->keyboard_brightness_control_delegate(); |
| 923 if (delegate) |
| 924 delegate->HandleKeyboardBrightnessDown(accelerator); |
| 925 break; |
| 926 } |
| 927 case KEYBOARD_BRIGHTNESS_UP: { |
| 928 KeyboardBrightnessControlDelegate* delegate = |
| 929 WmShell::Get()->keyboard_brightness_control_delegate(); |
| 930 if (delegate) |
| 931 delegate->HandleKeyboardBrightnessUp(accelerator); |
| 932 break; |
| 933 } |
| 911 case LAUNCH_APP_0: | 934 case LAUNCH_APP_0: |
| 912 HandleLaunchAppN(0); | 935 HandleLaunchAppN(0); |
| 913 break; | 936 break; |
| 914 case LAUNCH_APP_1: | 937 case LAUNCH_APP_1: |
| 915 HandleLaunchAppN(1); | 938 HandleLaunchAppN(1); |
| 916 break; | 939 break; |
| 917 case LAUNCH_APP_2: | 940 case LAUNCH_APP_2: |
| 918 HandleLaunchAppN(2); | 941 HandleLaunchAppN(2); |
| 919 break; | 942 break; |
| 920 case LAUNCH_APP_3: | 943 case LAUNCH_APP_3: |
| 921 HandleLaunchAppN(3); | 944 HandleLaunchAppN(3); |
| 922 break; | 945 break; |
| 923 case LAUNCH_APP_4: | 946 case LAUNCH_APP_4: |
| 924 HandleLaunchAppN(4); | 947 HandleLaunchAppN(4); |
| 925 break; | 948 break; |
| 926 case LAUNCH_APP_5: | 949 case LAUNCH_APP_5: |
| 927 HandleLaunchAppN(5); | 950 HandleLaunchAppN(5); |
| 928 break; | 951 break; |
| 929 case LAUNCH_APP_6: | 952 case LAUNCH_APP_6: |
| 930 HandleLaunchAppN(6); | 953 HandleLaunchAppN(6); |
| 931 break; | 954 break; |
| 932 case LAUNCH_APP_7: | 955 case LAUNCH_APP_7: |
| 933 HandleLaunchAppN(7); | 956 HandleLaunchAppN(7); |
| 934 break; | 957 break; |
| 935 case LAUNCH_LAST_APP: | 958 case LAUNCH_LAST_APP: |
| 936 HandleLaunchLastApp(); | 959 HandleLaunchLastApp(); |
| 937 break; | 960 break; |
| 961 case LOCK_SCREEN: |
| 962 HandleLock(); |
| 963 break; |
| 938 case MEDIA_NEXT_TRACK: | 964 case MEDIA_NEXT_TRACK: |
| 939 HandleMediaNextTrack(); | 965 HandleMediaNextTrack(); |
| 940 break; | 966 break; |
| 941 case MEDIA_PLAY_PAUSE: | 967 case MEDIA_PLAY_PAUSE: |
| 942 HandleMediaPlayPause(); | 968 HandleMediaPlayPause(); |
| 943 break; | 969 break; |
| 944 case MEDIA_PREV_TRACK: | 970 case MEDIA_PREV_TRACK: |
| 945 HandleMediaPrevTrack(); | 971 HandleMediaPrevTrack(); |
| 946 break; | 972 break; |
| 947 case NEW_INCOGNITO_WINDOW: | 973 case NEW_INCOGNITO_WINDOW: |
| 948 HandleNewIncognitoWindow(); | 974 HandleNewIncognitoWindow(); |
| 949 break; | 975 break; |
| 950 case NEW_TAB: | 976 case NEW_TAB: |
| 951 HandleNewTab(accelerator); | 977 HandleNewTab(accelerator); |
| 952 break; | 978 break; |
| 953 case NEW_WINDOW: | 979 case NEW_WINDOW: |
| 954 HandleNewWindow(); | 980 HandleNewWindow(); |
| 955 break; | 981 break; |
| 956 case NEXT_IME: | 982 case NEXT_IME: |
| 957 HandleNextIme(ime_control_delegate_.get()); | 983 HandleNextIme(ime_control_delegate_.get()); |
| 958 break; | 984 break; |
| 985 case OPEN_CROSH: |
| 986 HandleCrosh(); |
| 987 break; |
| 959 case OPEN_FEEDBACK_PAGE: | 988 case OPEN_FEEDBACK_PAGE: |
| 960 HandleOpenFeedbackPage(); | 989 HandleOpenFeedbackPage(); |
| 961 break; | 990 break; |
| 991 case OPEN_FILE_MANAGER: |
| 992 HandleFileManager(); |
| 993 break; |
| 994 case OPEN_GET_HELP: |
| 995 HandleGetHelp(); |
| 996 break; |
| 962 case PREVIOUS_IME: | 997 case PREVIOUS_IME: |
| 963 HandlePreviousIme(ime_control_delegate_.get(), accelerator); | 998 HandlePreviousIme(ime_control_delegate_.get(), accelerator); |
| 964 break; | 999 break; |
| 965 case PRINT_UI_HIERARCHIES: | 1000 case PRINT_UI_HIERARCHIES: |
| 966 debug::PrintUIHierarchies(); | 1001 debug::PrintUIHierarchies(); |
| 967 break; | 1002 break; |
| 968 case RESTORE_TAB: | 1003 case RESTORE_TAB: |
| 969 HandleRestoreTab(); | 1004 HandleRestoreTab(); |
| 970 break; | 1005 break; |
| 1006 case SHOW_IME_MENU_BUBBLE: |
| 1007 HandleShowImeMenuBubble(); |
| 1008 break; |
| 971 case SHOW_KEYBOARD_OVERLAY: | 1009 case SHOW_KEYBOARD_OVERLAY: |
| 972 HandleShowKeyboardOverlay(); | 1010 HandleShowKeyboardOverlay(); |
| 973 break; | 1011 break; |
| 974 case SHOW_MESSAGE_CENTER_BUBBLE: | 1012 case SHOW_MESSAGE_CENTER_BUBBLE: |
| 975 HandleShowMessageCenterBubble(); | 1013 HandleShowMessageCenterBubble(); |
| 976 break; | 1014 break; |
| 1015 case SHOW_STYLUS_TOOLS: |
| 1016 HandleShowStylusTools(); |
| 1017 break; |
| 977 case SHOW_TASK_MANAGER: | 1018 case SHOW_TASK_MANAGER: |
| 978 HandleShowTaskManager(); | 1019 HandleShowTaskManager(); |
| 979 break; | 1020 break; |
| 1021 case SUSPEND: |
| 1022 HandleSuspend(); |
| 1023 break; |
| 980 case SWITCH_IME: | 1024 case SWITCH_IME: |
| 981 HandleSwitchIme(ime_control_delegate_.get(), accelerator); | 1025 HandleSwitchIme(ime_control_delegate_.get(), accelerator); |
| 982 break; | 1026 break; |
| 1027 case SWITCH_TO_NEXT_USER: |
| 1028 HandleCycleUser(SessionStateDelegate::CYCLE_TO_NEXT_USER); |
| 1029 break; |
| 1030 case SWITCH_TO_PREVIOUS_USER: |
| 1031 HandleCycleUser(SessionStateDelegate::CYCLE_TO_PREVIOUS_USER); |
| 1032 break; |
| 983 case TOGGLE_APP_LIST: | 1033 case TOGGLE_APP_LIST: |
| 984 HandleToggleAppList(accelerator); | 1034 HandleToggleAppList(accelerator); |
| 985 break; | 1035 break; |
| 1036 case TOGGLE_CAPS_LOCK: |
| 1037 HandleToggleCapsLock(); |
| 1038 break; |
| 986 case TOGGLE_FULLSCREEN: | 1039 case TOGGLE_FULLSCREEN: |
| 987 HandleToggleFullscreen(accelerator); | 1040 HandleToggleFullscreen(accelerator); |
| 988 break; | 1041 break; |
| 1042 case TOGGLE_HIGH_CONTRAST: |
| 1043 HandleToggleHighContrast(); |
| 1044 break; |
| 989 case TOGGLE_MAXIMIZED: | 1045 case TOGGLE_MAXIMIZED: |
| 990 accelerators::ToggleMaximized(); | 1046 accelerators::ToggleMaximized(); |
| 991 break; | 1047 break; |
| 992 case TOGGLE_OVERVIEW: | 1048 case TOGGLE_OVERVIEW: |
| 993 HandleToggleOverview(); | 1049 HandleToggleOverview(); |
| 994 break; | 1050 break; |
| 995 case WINDOW_CYCLE_SNAP_DOCK_LEFT: | |
| 996 case WINDOW_CYCLE_SNAP_DOCK_RIGHT: | |
| 997 HandleWindowSnapOrDock(action); | |
| 998 break; | |
| 999 case WINDOW_MINIMIZE: | |
| 1000 HandleWindowMinimize(); | |
| 1001 break; | |
| 1002 case WINDOW_POSITION_CENTER: | |
| 1003 HandlePositionCenter(); | |
| 1004 break; | |
| 1005 #if defined(OS_CHROMEOS) | |
| 1006 case BRIGHTNESS_DOWN: { | |
| 1007 BrightnessControlDelegate* delegate = | |
| 1008 WmShell::Get()->brightness_control_delegate(); | |
| 1009 if (delegate) | |
| 1010 delegate->HandleBrightnessDown(accelerator); | |
| 1011 break; | |
| 1012 } | |
| 1013 case BRIGHTNESS_UP: { | |
| 1014 BrightnessControlDelegate* delegate = | |
| 1015 WmShell::Get()->brightness_control_delegate(); | |
| 1016 if (delegate) | |
| 1017 delegate->HandleBrightnessUp(accelerator); | |
| 1018 break; | |
| 1019 } | |
| 1020 case DEBUG_SHOW_TOAST: | |
| 1021 case DEBUG_TOGGLE_TOUCH_PAD: | |
| 1022 case DEBUG_TOGGLE_TOUCH_SCREEN: | |
| 1023 case DEBUG_TOGGLE_TOUCH_VIEW: | |
| 1024 debug::PerformDebugActionIfEnabled(action); | |
| 1025 break; | |
| 1026 case DISABLE_CAPS_LOCK: | |
| 1027 HandleDisableCapsLock(); | |
| 1028 break; | |
| 1029 case KEYBOARD_BRIGHTNESS_DOWN: { | |
| 1030 KeyboardBrightnessControlDelegate* delegate = | |
| 1031 WmShell::Get()->keyboard_brightness_control_delegate(); | |
| 1032 if (delegate) | |
| 1033 delegate->HandleKeyboardBrightnessDown(accelerator); | |
| 1034 break; | |
| 1035 } | |
| 1036 case KEYBOARD_BRIGHTNESS_UP: { | |
| 1037 KeyboardBrightnessControlDelegate* delegate = | |
| 1038 WmShell::Get()->keyboard_brightness_control_delegate(); | |
| 1039 if (delegate) | |
| 1040 delegate->HandleKeyboardBrightnessUp(accelerator); | |
| 1041 break; | |
| 1042 } | |
| 1043 case LOCK_SCREEN: | |
| 1044 HandleLock(); | |
| 1045 break; | |
| 1046 case SHOW_IME_MENU_BUBBLE: | |
| 1047 HandleShowImeMenuBubble(); | |
| 1048 break; | |
| 1049 case OPEN_CROSH: | |
| 1050 HandleCrosh(); | |
| 1051 break; | |
| 1052 case OPEN_FILE_MANAGER: | |
| 1053 HandleFileManager(); | |
| 1054 break; | |
| 1055 case OPEN_GET_HELP: | |
| 1056 HandleGetHelp(); | |
| 1057 break; | |
| 1058 case SHOW_STYLUS_TOOLS: | |
| 1059 HandleShowStylusTools(); | |
| 1060 break; | |
| 1061 case SUSPEND: | |
| 1062 HandleSuspend(); | |
| 1063 break; | |
| 1064 case SWITCH_TO_NEXT_USER: | |
| 1065 HandleCycleUser(SessionStateDelegate::CYCLE_TO_NEXT_USER); | |
| 1066 break; | |
| 1067 case SWITCH_TO_PREVIOUS_USER: | |
| 1068 HandleCycleUser(SessionStateDelegate::CYCLE_TO_PREVIOUS_USER); | |
| 1069 break; | |
| 1070 case TOGGLE_CAPS_LOCK: | |
| 1071 HandleToggleCapsLock(); | |
| 1072 break; | |
| 1073 case TOGGLE_HIGH_CONTRAST: | |
| 1074 HandleToggleHighContrast(); | |
| 1075 break; | |
| 1076 case TOGGLE_SPOKEN_FEEDBACK: | 1051 case TOGGLE_SPOKEN_FEEDBACK: |
| 1077 HandleToggleSpokenFeedback(); | 1052 HandleToggleSpokenFeedback(); |
| 1078 break; | 1053 break; |
| 1079 case TOGGLE_WIFI: | 1054 case TOGGLE_WIFI: |
| 1080 WmShell::Get()->system_tray_notifier()->NotifyRequestToggleWifi(); | 1055 WmShell::Get()->system_tray_notifier()->NotifyRequestToggleWifi(); |
| 1081 break; | 1056 break; |
| 1082 case VOLUME_DOWN: | 1057 case VOLUME_DOWN: |
| 1083 HandleVolumeDown(volume_controller_.get(), accelerator); | 1058 HandleVolumeDown(volume_controller_.get(), accelerator); |
| 1084 break; | 1059 break; |
| 1085 case VOLUME_MUTE: | 1060 case VOLUME_MUTE: |
| 1086 HandleVolumeMute(volume_controller_.get(), accelerator); | 1061 HandleVolumeMute(volume_controller_.get(), accelerator); |
| 1087 break; | 1062 break; |
| 1088 case VOLUME_UP: | 1063 case VOLUME_UP: |
| 1089 HandleVolumeUp(volume_controller_.get(), accelerator); | 1064 HandleVolumeUp(volume_controller_.get(), accelerator); |
| 1090 break; | 1065 break; |
| 1091 #else | 1066 case WINDOW_CYCLE_SNAP_DOCK_LEFT: |
| 1092 case DUMMY_FOR_RESERVED: | 1067 case WINDOW_CYCLE_SNAP_DOCK_RIGHT: |
| 1093 NOTREACHED(); | 1068 HandleWindowSnapOrDock(action); |
| 1094 break; | 1069 break; |
| 1095 #endif | 1070 case WINDOW_MINIMIZE: |
| 1071 HandleWindowMinimize(); |
| 1072 break; |
| 1073 case WINDOW_POSITION_CENTER: |
| 1074 HandlePositionCenter(); |
| 1075 break; |
| 1096 default: | 1076 default: |
| 1097 // Temporary until mash transition complete. Needed as some actions | 1077 // Temporary until mash transition complete. Needed as some actions |
| 1098 // don't yet work with mash. | 1078 // don't yet work with mash. |
| 1099 DCHECK(delegate_ && delegate_->HandlesAction(action)); | 1079 DCHECK(delegate_ && delegate_->HandlesAction(action)); |
| 1100 delegate_->PerformAction(action, accelerator); | 1080 delegate_->PerformAction(action, accelerator); |
| 1101 break; | 1081 break; |
| 1102 } | 1082 } |
| 1103 } | 1083 } |
| 1104 | 1084 |
| 1105 bool AcceleratorController::ShouldActionConsumeKeyEvent( | 1085 bool AcceleratorController::ShouldActionConsumeKeyEvent( |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1184 data->old_shortcut_id, data->new_shortcut_id); | 1164 data->old_shortcut_id, data->new_shortcut_id); |
| 1185 } | 1165 } |
| 1186 | 1166 |
| 1187 if (!data->deprecated_enabled) | 1167 if (!data->deprecated_enabled) |
| 1188 return AcceleratorProcessingStatus::STOP; | 1168 return AcceleratorProcessingStatus::STOP; |
| 1189 | 1169 |
| 1190 return AcceleratorProcessingStatus::PROCEED; | 1170 return AcceleratorProcessingStatus::PROCEED; |
| 1191 } | 1171 } |
| 1192 | 1172 |
| 1193 } // namespace ash | 1173 } // namespace ash |
| OLD | NEW |