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

Unified Diff: ash/common/accelerators/accelerator_controller.cc

Issue 2763483002: Fix Caps Lock bug (Closed)
Patch Set: Applying the fix Created 3 years, 8 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/common/accelerators/accelerator_controller.cc
diff --git a/ash/common/accelerators/accelerator_controller.cc b/ash/common/accelerators/accelerator_controller.cc
index 7fecc5446228c3e3a34f0f9fa4faa3e505136fe0..f00332a273ea0280e09990dc72b86179082b5bf2 100644
--- a/ash/common/accelerators/accelerator_controller.cc
+++ b/ash/common/accelerators/accelerator_controller.cc
@@ -551,6 +551,8 @@ bool CanHandleToggleCapsLock(const ui::Accelerator& accelerator,
const ui::Accelerator& previous_accelerator) {
chromeos::input_method::InputMethodManager* ime =
chromeos::input_method::InputMethodManager::Get();
+ if (!ime)
+ return false;
oshima 2017/04/11 19:04:47 when ime is null?
weidongg 2017/04/11 22:55:43 |ime| is checked below at |return| multiple times.
// This shortcust is set to be trigger on release. Either the current
// accelerator is a Search release or Alt release.
@@ -563,7 +565,7 @@ bool CanHandleToggleCapsLock(const ui::Accelerator& accelerator,
ui::Accelerator::KeyState::PRESSED &&
(previous_accelerator.key_code() == ui::VKEY_LWIN ||
previous_accelerator.key_code() == ui::VKEY_MENU)) {
- return ime && ime->GetImeKeyboard();
+ return ime->GetImeKeyboard();
}
}
@@ -577,10 +579,16 @@ bool CanHandleToggleCapsLock(const ui::Accelerator& accelerator,
ui::Accelerator::KeyState::PRESSED &&
(previous_accelerator.key_code() == ui::VKEY_LWIN ||
previous_accelerator.key_code() == ui::VKEY_MENU)) {
- return ime && ime->GetImeKeyboard();
+ return ime->GetImeKeyboard();
}
}
+ // Caps Lock release
+ if (accelerator.key_code() == ui::VKEY_CAPITAL &&
+ accelerator.key_state() == ui::Accelerator::KeyState::RELEASED) {
+ return ime->GetImeKeyboard();
+ }
+
return false;
}

Powered by Google App Engine
This is Rietveld 408576698