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 43ab99efb1cd2a40d89f407e0f5811aed170d059..2d6a7ca8df2719506b085f67a3a2d23b594a433e 100644 |
--- a/chrome/browser/chromeos/input_method/input_method_engine.cc |
+++ b/chrome/browser/chromeos/input_method/input_method_engine.cc |
@@ -29,6 +29,7 @@ |
#include "ui/base/ime/chromeos/ime_keymap.h" |
#include "ui/events/event.h" |
#include "ui/events/event_processor.h" |
+#include "ui/events/keycodes/dom4/keycode_converter.h" |
#include "ui/keyboard/keyboard_controller.h" |
#include "ui/keyboard/keyboard_util.h" |
@@ -99,7 +100,11 @@ void GetExtensionKeyboardEventFromKeyEvent( |
DCHECK(ext_event); |
ext_event->type = (event.type() == ui::ET_KEY_RELEASED) ? "keyup" : "keydown"; |
- ext_event->code = event.code(); |
+ std::string dom_code = event.code(); |
+ if (dom_code == |
+ ui::KeycodeConverter::GetInstance()->InvalidKeyboardEventCode()) |
+ dom_code = ui::KeyboardCodeToDomKeycode(event.key_code()); |
+ ext_event->code = dom_code; |
ext_event->key_code = static_cast<int>(event.key_code()); |
ext_event->alt_key = event.IsAltDown(); |
ext_event->ctrl_key = event.IsControlDown(); |