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 <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 #include <iostream> | 9 #include <iostream> |
10 #include <string> | 10 #include <string> |
(...skipping 27 matching lines...) Expand all Loading... |
38 #include "ash/system/tray/system_tray.h" | 38 #include "ash/system/tray/system_tray.h" |
39 #include "ash/system/tray/system_tray_delegate.h" | 39 #include "ash/system/tray/system_tray_delegate.h" |
40 #include "ash/system/tray/system_tray_notifier.h" | 40 #include "ash/system/tray/system_tray_notifier.h" |
41 #include "ash/system/web_notification/web_notification_tray.h" | 41 #include "ash/system/web_notification/web_notification_tray.h" |
42 #include "ash/touch/touch_hud_debug.h" | 42 #include "ash/touch/touch_hud_debug.h" |
43 #include "ash/volume_control_delegate.h" | 43 #include "ash/volume_control_delegate.h" |
44 #include "ash/wm/partial_screenshot_view.h" | 44 #include "ash/wm/partial_screenshot_view.h" |
45 #include "ash/wm/power_button_controller.h" | 45 #include "ash/wm/power_button_controller.h" |
46 #include "ash/wm/property_util.h" | 46 #include "ash/wm/property_util.h" |
47 #include "ash/wm/window_cycle_controller.h" | 47 #include "ash/wm/window_cycle_controller.h" |
| 48 #include "ash/wm/window_selector_controller.h" |
48 #include "ash/wm/window_util.h" | 49 #include "ash/wm/window_util.h" |
49 #include "ash/wm/workspace/snap_sizer.h" | 50 #include "ash/wm/workspace/snap_sizer.h" |
50 #include "base/bind.h" | 51 #include "base/bind.h" |
51 #include "base/command_line.h" | 52 #include "base/command_line.h" |
52 #include "content/public/browser/gpu_data_manager.h" | 53 #include "content/public/browser/gpu_data_manager.h" |
53 #include "ui/aura/env.h" | 54 #include "ui/aura/env.h" |
54 #include "ui/aura/root_window.h" | 55 #include "ui/aura/root_window.h" |
55 #include "ui/base/accelerators/accelerator.h" | 56 #include "ui/base/accelerators/accelerator.h" |
56 #include "ui/base/accelerators/accelerator_manager.h" | 57 #include "ui/base/accelerators/accelerator_manager.h" |
57 #include "ui/base/events/event.h" | 58 #include "ui/base/events/event.h" |
(...skipping 30 matching lines...) Expand all Loading... |
88 bool HandleCycleWindowMRU(WindowCycleController::Direction direction, | 89 bool HandleCycleWindowMRU(WindowCycleController::Direction direction, |
89 bool is_alt_down) { | 90 bool is_alt_down) { |
90 Shell::GetInstance()-> | 91 Shell::GetInstance()-> |
91 window_cycle_controller()->HandleCycleWindow(direction, is_alt_down); | 92 window_cycle_controller()->HandleCycleWindow(direction, is_alt_down); |
92 // Always report we handled the key, even if the window didn't change. | 93 // Always report we handled the key, even if the window didn't change. |
93 return true; | 94 return true; |
94 } | 95 } |
95 | 96 |
96 void HandleCycleWindowLinear(CycleDirection direction) { | 97 void HandleCycleWindowLinear(CycleDirection direction) { |
97 Shell::GetInstance()-> | 98 Shell::GetInstance()-> |
98 window_cycle_controller()->HandleLinearCycleWindow(); | 99 window_cycle_controller()->HandleLinearCycleWindow(); |
| 100 } |
| 101 |
| 102 void ToggleOverviewMode() { |
| 103 Shell::GetInstance()->window_selector_controller()->ToggleOverview(); |
99 } | 104 } |
100 | 105 |
101 bool HandleAccessibleFocusCycle(bool reverse) { | 106 bool HandleAccessibleFocusCycle(bool reverse) { |
102 if (!Shell::GetInstance()->delegate()->IsSpokenFeedbackEnabled()) | 107 if (!Shell::GetInstance()->delegate()->IsSpokenFeedbackEnabled()) |
103 return false; | 108 return false; |
104 aura::Window* active_window = ash::wm::GetActiveWindow(); | 109 aura::Window* active_window = ash::wm::GetActiveWindow(); |
105 if (!active_window) | 110 if (!active_window) |
106 return false; | 111 return false; |
107 views::Widget* widget = | 112 views::Widget* widget = |
108 views::Widget::GetWidgetForNativeWindow(active_window); | 113 views::Widget::GetWidgetForNativeWindow(active_window); |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 if (key_code == ui::VKEY_TAB) | 519 if (key_code == ui::VKEY_TAB) |
515 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_TAB); | 520 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_TAB); |
516 return HandleCycleWindowMRU(WindowCycleController::BACKWARD, | 521 return HandleCycleWindowMRU(WindowCycleController::BACKWARD, |
517 accelerator.IsAltDown()); | 522 accelerator.IsAltDown()); |
518 case CYCLE_FORWARD_MRU: | 523 case CYCLE_FORWARD_MRU: |
519 if (key_code == ui::VKEY_TAB) | 524 if (key_code == ui::VKEY_TAB) |
520 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB); | 525 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB); |
521 return HandleCycleWindowMRU(WindowCycleController::FORWARD, | 526 return HandleCycleWindowMRU(WindowCycleController::FORWARD, |
522 accelerator.IsAltDown()); | 527 accelerator.IsAltDown()); |
523 case CYCLE_BACKWARD_LINEAR: | 528 case CYCLE_BACKWARD_LINEAR: |
| 529 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 530 switches::kAshEnableOverviewMode)) { |
| 531 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_OVERVIEW_F5); |
| 532 ToggleOverviewMode(); |
| 533 return true; |
| 534 } |
524 if (key_code == ui::VKEY_MEDIA_LAUNCH_APP1) | 535 if (key_code == ui::VKEY_MEDIA_LAUNCH_APP1) |
525 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5); | 536 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5); |
526 HandleCycleWindowLinear(CYCLE_BACKWARD); | 537 HandleCycleWindowLinear(CYCLE_BACKWARD); |
527 return true; | 538 return true; |
528 case CYCLE_FORWARD_LINEAR: | 539 case CYCLE_FORWARD_LINEAR: |
| 540 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 541 switches::kAshEnableOverviewMode)) { |
| 542 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_OVERVIEW_F5); |
| 543 ToggleOverviewMode(); |
| 544 return true; |
| 545 } |
529 if (key_code == ui::VKEY_MEDIA_LAUNCH_APP1) | 546 if (key_code == ui::VKEY_MEDIA_LAUNCH_APP1) |
530 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5); | 547 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5); |
531 HandleCycleWindowLinear(CYCLE_FORWARD); | 548 HandleCycleWindowLinear(CYCLE_FORWARD); |
532 return true; | 549 return true; |
533 #if defined(OS_CHROMEOS) | 550 #if defined(OS_CHROMEOS) |
534 case ADD_REMOVE_DISPLAY: | 551 case ADD_REMOVE_DISPLAY: |
535 Shell::GetInstance()->display_manager()->AddRemoveDisplay(); | 552 Shell::GetInstance()->display_manager()->AddRemoveDisplay(); |
536 return true; | 553 return true; |
537 case TOGGLE_MIRROR_MODE: | 554 case TOGGLE_MIRROR_MODE: |
538 Shell::GetInstance()->display_controller()->ToggleMirrorMode(); | 555 Shell::GetInstance()->display_controller()->ToggleMirrorMode(); |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 keyboard_brightness_control_delegate) { | 985 keyboard_brightness_control_delegate) { |
969 keyboard_brightness_control_delegate_ = | 986 keyboard_brightness_control_delegate_ = |
970 keyboard_brightness_control_delegate.Pass(); | 987 keyboard_brightness_control_delegate.Pass(); |
971 } | 988 } |
972 | 989 |
973 bool AcceleratorController::CanHandleAccelerators() const { | 990 bool AcceleratorController::CanHandleAccelerators() const { |
974 return true; | 991 return true; |
975 } | 992 } |
976 | 993 |
977 } // namespace ash | 994 } // namespace ash |
OLD | NEW |