diff options
author | mazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-16 20:38:08 +0000 |
---|---|---|
committer | mazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-16 20:38:08 +0000 |
commit | ad62ab7111b00af427688f98cc9928ff0ce4c78f (patch) | |
tree | 74d12af047ab0f93a621826f71b395db4051c5dc /ash/accelerators | |
parent | 10c187e99a831fdfa7adfcb04c4e83822aaceb40 (diff) | |
download | chromium_src-ad62ab7111b00af427688f98cc9928ff0ce4c78f.zip chromium_src-ad62ab7111b00af427688f98cc9928ff0ce4c78f.tar.gz chromium_src-ad62ab7111b00af427688f98cc9928ff0ce4c78f.tar.bz2 |
Do not consume keys for DISABLE_CAPS_LOCK when caps lock is off.
DISABLE_CAPS_LOCK is invoked with Shift keyup and should not
be consumed. Otherwise the Shift keyup event is not sent to
the renderer for tabbed web pages.
BUG=155434
TEST=Manually check Shift keyup event is generated.
Review URL: https://chromiumcodereview.appspot.com/11113004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162236 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/accelerators')
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 6 | ||||
-rw-r--r-- | ash/accelerators/accelerator_controller_unittest.cc | 15 |
2 files changed, 19 insertions, 2 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 31b5e92..4817c59 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -556,9 +556,11 @@ bool AcceleratorController::PerformAction(int action, // We totally ignore this accelerator. return false; } - if (shell->caps_lock_delegate()->IsCapsLockEnabled()) + if (shell->caps_lock_delegate()->IsCapsLockEnabled()) { shell->caps_lock_delegate()->SetCapsLockEnabled(false); - return true; + return true; + } + return false; case TOGGLE_CAPS_LOCK: shell->caps_lock_delegate()->ToggleCapsLock(); return true; diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc index 4d8c8ff..5482d25 100644 --- a/ash/accelerators/accelerator_controller_unittest.cc +++ b/ash/accelerators/accelerator_controller_unittest.cc @@ -632,6 +632,21 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) { EXPECT_FALSE(GetController()->Process( ReleaseAccelerator(ui::VKEY_A, ui::EF_SHIFT_DOWN))); EXPECT_TRUE(delegate->IsCapsLockEnabled()); + + // Do not consume shift keyup when caps lock is off. + delegate->SetCapsLockEnabled(false); + EXPECT_FALSE(GetController()->Process( + ui::Accelerator(ui::VKEY_LSHIFT, ui::EF_NONE))); + EXPECT_FALSE(GetController()->Process( + ReleaseAccelerator(ui::VKEY_LSHIFT, ui::EF_NONE))); + EXPECT_FALSE(GetController()->Process( + ui::Accelerator(ui::VKEY_RSHIFT, ui::EF_NONE))); + EXPECT_FALSE(GetController()->Process( + ReleaseAccelerator(ui::VKEY_RSHIFT, ui::EF_NONE))); + EXPECT_FALSE(GetController()->Process( + ui::Accelerator(ui::VKEY_SHIFT, ui::EF_NONE))); + EXPECT_FALSE(GetController()->Process( + ReleaseAccelerator(ui::VKEY_SHIFT, ui::EF_NONE))); } // ToggleCapsLock { |