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

Unified Diff: chrome/browser/chromeos/input_method/input_method_engine.cc

Issue 346513003: Adds the legacy KeyboardEvent.keyCode attribute for extension IMEs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased. Created 6 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/input_method/input_method_engine.cc
diff --git a/chrome/browser/chromeos/input_method/input_method_engine.cc b/chrome/browser/chromeos/input_method/input_method_engine.cc
index 03d8ada3c5b683c5e7a8a891cf72035b1cd8f582..f8e6c87c2a7c62574540005b918cc4cc467b112f 100644
--- a/chrome/browser/chromeos/input_method/input_method_engine.cc
+++ b/chrome/browser/chromeos/input_method/input_method_engine.cc
@@ -92,6 +92,23 @@ std::string GetKeyFromEvent(const ui::KeyEvent& event) {
return base::UTF16ToUTF8(base::string16(1, ch));
}
+void GetExtensionKeyboardEventFromKeyEvent(
+ const ui::KeyEvent& event,
+ InputMethodEngine::KeyboardEvent* ext_event) {
+ DCHECK(event.type() == ui::ET_KEY_RELEASED ||
+ event.type() == ui::ET_KEY_PRESSED);
+ DCHECK(ext_event);
+ ext_event->type = (event.type() == ui::ET_KEY_RELEASED) ? "keyup" : "keydown";
+
+ ext_event->code = event.code();
+ ext_event->key_code = static_cast<int>(event.key_code());
+ ext_event->alt_key = event.IsAltDown();
+ ext_event->ctrl_key = event.IsControlDown();
+ ext_event->shift_key = event.IsShiftDown();
+ ext_event->caps_lock = event.IsCapsLockDown();
+ ext_event->key = GetKeyFromEvent(event);
+}
+
} // namespace
InputMethodEngine::InputMethodEngine()
@@ -287,6 +304,9 @@ bool InputMethodEngine::SendKeyEvents(
const KeyboardEvent& event = events[i];
const ui::EventType type =
(event.type == "keyup") ? ui::ET_KEY_RELEASED : ui::ET_KEY_PRESSED;
+ ui::KeyboardCode key_code = static_cast<ui::KeyboardCode>(event.key_code);
+ if (key_code == ui::VKEY_UNKNOWN)
+ key_code = ui::DomKeycodeToKeyboardCode(event.code);
int flags = ui::EF_NONE;
flags |= event.alt_key ? ui::EF_ALT_DOWN : ui::EF_NONE;
@@ -295,7 +315,7 @@ bool InputMethodEngine::SendKeyEvents(
flags |= event.caps_lock ? ui::EF_CAPS_LOCK_DOWN : ui::EF_NONE;
ui::KeyEvent ui_event(type,
- ui::DomKeycodeToKeyboardCode(event.code),
+ key_code,
event.code,
flags,
false /* is_char */);
@@ -581,26 +601,6 @@ void InputMethodEngine::Reset() {
observer_->OnReset(engine_id_);
}
-namespace {
-
-void GetExtensionKeyboardEventFromKeyEvent(
- const ui::KeyEvent& event,
- InputMethodEngine::KeyboardEvent* ext_event) {
- DCHECK(event.type() == ui::ET_KEY_RELEASED ||
- event.type() == ui::ET_KEY_PRESSED);
- DCHECK(ext_event);
- ext_event->type = (event.type() == ui::ET_KEY_RELEASED) ? "keyup" : "keydown";
-
- ext_event->code = event.code();
- ext_event->alt_key = event.IsAltDown();
- ext_event->ctrl_key = event.IsControlDown();
- ext_event->shift_key = event.IsShiftDown();
- ext_event->caps_lock = event.IsCapsLockDown();
- ext_event->key = GetKeyFromEvent(event);
-}
-
-} // namespace
-
void InputMethodEngine::ProcessKeyEvent(
const ui::KeyEvent& key_event,
const KeyEventDoneCallback& callback) {
« no previous file with comments | « no previous file | chrome/browser/chromeos/input_method/input_method_engine_browsertests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698