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

Side by Side 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, 2 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/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 <string> 9 #include <string>
10 10
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 326
327 #endif // !defined(NDEBUG) 327 #endif // !defined(NDEBUG)
328 328
329 } // namespace 329 } // namespace
330 330
331 //////////////////////////////////////////////////////////////////////////////// 331 ////////////////////////////////////////////////////////////////////////////////
332 // AcceleratorController, public: 332 // AcceleratorController, public:
333 333
334 AcceleratorController::AcceleratorController() 334 AcceleratorController::AcceleratorController()
335 : accelerator_manager_(new ui::AcceleratorManager), 335 : accelerator_manager_(new ui::AcceleratorManager),
336 toggle_maximized_suppressed_(false) { 336 toggle_maximized_suppressed_(false),
337 cycle_backward_linear_suppressed_(false),
338 cycle_forward_linear_suppressed_(false) {
337 Init(); 339 Init();
338 } 340 }
339 341
340 AcceleratorController::~AcceleratorController() { 342 AcceleratorController::~AcceleratorController() {
341 } 343 }
342 344
343 void AcceleratorController::Init() { 345 void AcceleratorController::Init() {
344 for (size_t i = 0; i < kActionsAllowedAtLoginOrLockScreenLength; ++i) { 346 for (size_t i = 0; i < kActionsAllowedAtLoginOrLockScreenLength; ++i) {
345 actions_allowed_at_login_screen_.insert( 347 actions_allowed_at_login_screen_.insert(
346 kActionsAllowedAtLoginOrLockScreen[i]); 348 kActionsAllowedAtLoginOrLockScreen[i]);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 case CYCLE_BACKWARD_MRU: 436 case CYCLE_BACKWARD_MRU:
435 if (key_code == ui::VKEY_TAB && shell->delegate()) 437 if (key_code == ui::VKEY_TAB && shell->delegate())
436 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_TAB); 438 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_TAB);
437 return HandleCycleWindowMRU(WindowCycleController::BACKWARD, 439 return HandleCycleWindowMRU(WindowCycleController::BACKWARD,
438 accelerator.IsAltDown()); 440 accelerator.IsAltDown());
439 case CYCLE_FORWARD_MRU: 441 case CYCLE_FORWARD_MRU:
440 if (key_code == ui::VKEY_TAB && shell->delegate()) 442 if (key_code == ui::VKEY_TAB && shell->delegate())
441 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB); 443 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_TAB);
442 return HandleCycleWindowMRU(WindowCycleController::FORWARD, 444 return HandleCycleWindowMRU(WindowCycleController::FORWARD,
443 accelerator.IsAltDown()); 445 accelerator.IsAltDown());
444 case CYCLE_BACKWARD_LINEAR: 446 case CYCLE_BACKWARD_LINEAR_PRESSED:
447 if (cycle_backward_linear_suppressed_)
448 return true;
449 cycle_backward_linear_suppressed_ = true;
445 if (key_code == ui::VKEY_F5 && shell->delegate()) 450 if (key_code == ui::VKEY_F5 && shell->delegate())
446 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5); 451 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_PREVWINDOW_F5);
447 HandleCycleWindowLinear(CYCLE_BACKWARD); 452 HandleCycleWindowLinear(CYCLE_BACKWARD);
448 return true; 453 return true;
449 case CYCLE_FORWARD_LINEAR: 454 case CYCLE_BACKWARD_LINEAR_RELEASED:
455 cycle_backward_linear_suppressed_ = false;
456 return true;
457 case CYCLE_FORWARD_LINEAR_PRESSED:
458 if (cycle_forward_linear_suppressed_)
459 return true;
460 cycle_forward_linear_suppressed_ = true;
450 if (key_code == ui::VKEY_F5 && shell->delegate()) 461 if (key_code == ui::VKEY_F5 && shell->delegate())
451 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5); 462 shell->delegate()->RecordUserMetricsAction(UMA_ACCEL_NEXTWINDOW_F5);
452 HandleCycleWindowLinear(CYCLE_FORWARD); 463 HandleCycleWindowLinear(CYCLE_FORWARD);
453 return true; 464 return true;
465 case CYCLE_FORWARD_LINEAR_RELEASED:
466 cycle_forward_linear_suppressed_ = false;
467 return true;
454 #if defined(OS_CHROMEOS) 468 #if defined(OS_CHROMEOS)
455 case CYCLE_DISPLAY_MODE: 469 case CYCLE_DISPLAY_MODE:
456 HandleCycleDisplayMode(); 470 HandleCycleDisplayMode();
457 return true; 471 return true;
458 case LOCK_SCREEN: 472 case LOCK_SCREEN:
459 return HandleLock(); 473 return HandleLock();
460 case OPEN_FILE_MANAGER_DIALOG: 474 case OPEN_FILE_MANAGER_DIALOG:
461 return HandleFileManager(true /* as_dialog */); 475 return HandleFileManager(true /* as_dialog */);
462 case OPEN_FILE_MANAGER_TAB: 476 case OPEN_FILE_MANAGER_TAB:
463 return HandleFileManager(false /* as_dialog */); 477 return HandleFileManager(false /* as_dialog */);
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
829 accelerators_.insert( 843 accelerators_.insert(
830 std::make_pair(accelerator, accelerators[i].action)); 844 std::make_pair(accelerator, accelerators[i].action));
831 } 845 }
832 } 846 }
833 847
834 bool AcceleratorController::CanHandleAccelerators() const { 848 bool AcceleratorController::CanHandleAccelerators() const {
835 return true; 849 return true;
836 } 850 }
837 851
838 } // namespace ash 852 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698