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

Unified Diff: ash/accelerators/accelerator_controller.cc

Issue 10977074: Toggling windows with (shift)-f5 and (shift)-alt-tab does not repeat on key repeat anymore. (Closed) Base URL: http://git.chromium.org/chromium/src.git@issue-135284-repeated-maximize
Patch Set: Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: ash/accelerators/accelerator_controller.cc
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index fc050a1b7392670193293d0a50f90bc3990a3bd9..7e49a5a0e9396edcbd7fd881b220609542f60f78 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -333,7 +333,9 @@ bool HandlePrintWindowHierarchy() {
AcceleratorController::AcceleratorController()
: accelerator_manager_(new ui::AcceleratorManager),
- toggle_maximized_suppressed_(false) {
+ toggle_maximized_suppressed_(false),
+ cycle_backward_linear_suppressed_(false),
+ cycle_forward_linear_suppressed_(false) {
Init();
}
@@ -441,16 +443,28 @@ bool AcceleratorController::PerformAction(int action,
shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB);
return HandleCycleWindowMRU(WindowCycleController::FORWARD,
accelerator.IsAltDown());
- case CYCLE_BACKWARD_LINEAR:
+ case CYCLE_BACKWARD_LINEAR_PRESSED:
+ if (cycle_backward_linear_suppressed_)
+ return true;
+ cycle_backward_linear_suppressed_ = true;
if (key_code == ui::VKEY_F5 && shell->delegate())
shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5);
HandleCycleWindowLinear(CYCLE_BACKWARD);
return true;
- case CYCLE_FORWARD_LINEAR:
+ case CYCLE_BACKWARD_LINEAR_RELEASED:
+ cycle_backward_linear_suppressed_ = false;
+ return true;
+ case CYCLE_FORWARD_LINEAR_PRESSED:
+ if (cycle_forward_linear_suppressed_)
+ return true;
+ cycle_forward_linear_suppressed_ = true;
if (key_code == ui::VKEY_F5 && shell->delegate())
shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5);
HandleCycleWindowLinear(CYCLE_FORWARD);
return true;
+ case CYCLE_FORWARD_LINEAR_RELEASED:
+ cycle_forward_linear_suppressed_ = false;
+ return true;
#if defined(OS_CHROMEOS)
case CYCLE_DISPLAY_MODE:
HandleCycleDisplayMode();

Powered by Google App Engine
This is Rietveld 408576698