summaryrefslogtreecommitdiffstats
path: root/ash/accelerators
diff options
context:
space:
mode:
authormazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-16 20:38:08 +0000
committermazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-16 20:38:08 +0000
commitad62ab7111b00af427688f98cc9928ff0ce4c78f (patch)
tree74d12af047ab0f93a621826f71b395db4051c5dc /ash/accelerators
parent10c187e99a831fdfa7adfcb04c4e83822aaceb40 (diff)
downloadchromium_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.cc6
-rw-r--r--ash/accelerators/accelerator_controller_unittest.cc15
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
{