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 a4cf12b0e51041a305be9a491011f1d83cef90e9..69c8960fcd541a58f3376b0cc660bb8ce92b1566 100644 |
--- a/content/browser/renderer_host/web_input_event_aura.cc |
+++ b/content/browser/renderer_host/web_input_event_aura.cc |
@@ -24,20 +24,16 @@ blink::WebKeyboardEvent MakeWebKeyboardEventFromNativeEvent( |
const base::NativeEvent& native_event); |
blink::WebGestureEvent MakeWebGestureEventFromNativeEvent( |
const base::NativeEvent& native_event); |
-#elif defined(USE_X11) |
-blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( |
- ui::KeyEvent* event); |
-#elif defined(USE_OZONE) |
+#endif |
+#if defined(USE_X11) || defined(USE_OZONE) |
blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( |
ui::KeyEvent* event) { |
- const base::NativeEvent& native_event = event->native_event(); |
- ui::EventType type = ui::EventTypeFromNative(native_event); |
blink::WebKeyboardEvent webkit_event; |
webkit_event.timeStampSeconds = event->time_stamp().InSecondsF(); |
webkit_event.modifiers = EventFlagsToWebEventModifiers(event->flags()); |
- switch (type) { |
+ switch (event->type()) { |
case ui::ET_KEY_PRESSED: |
webkit_event.type = event->is_char() ? blink::WebInputEvent::Char : |
blink::WebInputEvent::RawKeyDown; |
@@ -52,31 +48,16 @@ blink::WebKeyboardEvent MakeWebKeyboardEventFromAuraEvent( |
if (webkit_event.modifiers & blink::WebInputEvent::AltKey) |
webkit_event.isSystemKey = true; |
- wchar_t character = ui::KeyboardCodeFromNative(native_event); |
- webkit_event.windowsKeyCode = character; |
- webkit_event.nativeKeyCode = character; |
- |
- if (webkit_event.windowsKeyCode == ui::VKEY_RETURN) |
- webkit_event.unmodifiedText[0] = '\r'; |
- else |
- webkit_event.unmodifiedText[0] = ui::GetCharacterFromKeyCode( |
- ui::KeyboardCodeFromNative(native_event), |
- ui::EventFlagsFromNative(native_event)); |
- |
- if (webkit_event.modifiers & blink::WebInputEvent::ControlKey) { |
- webkit_event.text[0] = ui::GetControlCharacterForKeycode( |
- webkit_event.windowsKeyCode, |
- webkit_event.modifiers & blink::WebInputEvent::ShiftKey); |
- } else { |
- webkit_event.text[0] = webkit_event.unmodifiedText[0]; |
- } |
+ webkit_event.windowsKeyCode = event->GetLocatedWindowsKeyboardCode(); |
+ webkit_event.nativeKeyCode = event->platform_keycode(); |
+ webkit_event.unmodifiedText[0] = event->GetUnmodifiedText(); |
+ webkit_event.text[0] = event->GetText(); |
webkit_event.setKeyIdentifierFromWindowsKeyCode(); |
return webkit_event; |
} |
-#endif |
-#if defined(USE_X11) || defined(USE_OZONE) |
+ |
blink::WebMouseWheelEvent MakeWebMouseWheelEventFromAuraEvent( |
ui::ScrollEvent* event) { |
blink::WebMouseWheelEvent webkit_event; |
@@ -240,9 +221,6 @@ blink::WebMouseWheelEvent MakeWebMouseWheelEvent(ui::ScrollEvent* event) { |
} |
blink::WebKeyboardEvent MakeWebKeyboardEvent(ui::KeyEvent* event) { |
- if (!event->HasNativeEvent()) |
- return blink::WebKeyboardEvent(); |
- |
// Windows can figure out whether or not to construct a RawKeyDown or a Char |
// WebInputEvent based on the type of message carried in |
// event->native_event(). X11 is not so fortunate, there is no separate |
@@ -250,6 +228,9 @@ blink::WebKeyboardEvent MakeWebKeyboardEvent(ui::KeyEvent* event) { |
// is_char() == true. We need to pass the ui::KeyEvent to the X11 function |
// to detect this case so the right event type can be constructed. |
#if defined(OS_WIN) |
+ if (!event->HasNativeEvent()) |
+ return blink::WebKeyboardEvent(); |
+ |
// Key events require no translation by the aura system. |
return MakeWebKeyboardEventFromNativeEvent(event->native_event()); |
#else |