Index: content/browser/renderer_host/web_input_event_aura.cc |
diff --git a/content/browser/renderer_host/web_input_event_aura.cc b/content/browser/renderer_host/web_input_event_aura.cc |
index b09f67e680220fd00d9726e98172ef2b9a523e94..2bf63c6ad82261cd718638f432609814943d6ce3 100644 |
--- a/content/browser/renderer_host/web_input_event_aura.cc |
+++ b/content/browser/renderer_host/web_input_event_aura.cc |
@@ -11,6 +11,7 @@ |
#include "ui/events/blink/blink_event_util.h" |
#include "ui/events/event.h" |
#include "ui/events/event_utils.h" |
+#include "ui/events/keycodes/dom/dom_key.h" |
#include "ui/events/keycodes/dom/keycode_converter.h" |
namespace content { |
@@ -85,6 +86,13 @@ blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( |
webkit_event.nativeKeyCode = |
ui::KeycodeConverter::DomCodeToNativeKeycode(event.code()); |
webkit_event.domCode = static_cast<int>(event.code()); |
+ |
+ ui::DomKey dom_key = event.GetDomKey(); |
+ if (dom_key == ui::DomKey::CHARACTER) |
+ webkit_event.domKey = static_cast<int>(event.GetCharacter()); |
+ else |
+ webkit_event.domKey = DOM_KEY_PRINT_NON_DIFF + static_cast<int>(dom_key); |
+ |
webkit_event.unmodifiedText[0] = event.GetUnmodifiedText(); |
webkit_event.text[0] = event.GetText(); |
@@ -276,6 +284,15 @@ blink::WebKeyboardEvent MakeWebKeyboardEvent(const ui::KeyEvent& event) { |
blink::WebKeyboardEvent webkit_event( |
MakeWebKeyboardEventFromNativeEvent(event.native_event())); |
webkit_event.domCode = static_cast<int>(event.code()); |
+ |
+ ui::DomKey dom_key = event.GetDomKey(); |
+ if (dom_key == ui::DomKey::CHARACTER) |
+ webkit_event.domKey = static_cast<int>(event.GetCharacter()); |
Wez
2015/06/25 10:40:21
As discussed elsewhere, this won't work since GetC
Habib Virji
2015/06/26 17:35:38
As I understand based on your previous comments th
|
+ else |
+ webkit_event.domKey = DOM_KEY_PRINT_NON_DIFF + static_cast<int>(dom_key); |
+ |
+ if (webkit_event.domKey == DomKey::None) |
+ webkit_event.domKey = static_cast<int>(event.GetCharacter()); |
return webkit_event; |
} |
#endif |