| Index: content/browser/renderer_host/native_web_keyboard_event_aura.cc
|
| diff --git a/content/browser/renderer_host/native_web_keyboard_event_aura.cc b/content/browser/renderer_host/native_web_keyboard_event_aura.cc
|
| index fa3d0d6d569a0712a536bce910ebe5a7993ac93b..8ec4f0a4a090de9534f22e0cd3c67863ea450676 100644
|
| --- a/content/browser/renderer_host/native_web_keyboard_event_aura.cc
|
| +++ b/content/browser/renderer_host/native_web_keyboard_event_aura.cc
|
| @@ -4,10 +4,24 @@
|
|
|
| #include "content/public/browser/native_web_keyboard_event.h"
|
|
|
| +#include "base/logging.h"
|
| #include "content/browser/renderer_host/web_input_event_aura.h"
|
| +#include "ui/base/events.h"
|
|
|
| using WebKit::WebKeyboardEvent;
|
|
|
| +namespace {
|
| +
|
| +int EventFlagsToWebInputEventModifiers(int flags) {
|
| + return
|
| + (flags & ui::EF_SHIFT_DOWN ? WebKit::WebInputEvent::ShiftKey : 0) |
|
| + (flags & ui::EF_CONTROL_DOWN ? WebKit::WebInputEvent::ControlKey : 0) |
|
| + (flags & ui::EF_CAPS_LOCK_DOWN ? WebKit::WebInputEvent::CapsLockOn : 0) |
|
| + (flags & ui::EF_ALT_DOWN ? WebKit::WebInputEvent::AltKey : 0);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| NativeWebKeyboardEvent::NativeWebKeyboardEvent()
|
| : os_event(NULL),
|
| skip_in_browser(false) {
|
| @@ -27,6 +41,36 @@ NativeWebKeyboardEvent::NativeWebKeyboardEvent(
|
| skip_in_browser(other.skip_in_browser) {
|
| }
|
|
|
| +// From chrome/src/chrome/common/native_web_keyboard_event_views.cc.
|
| +NativeWebKeyboardEvent::NativeWebKeyboardEvent(
|
| + ui::EventType key_event_type,
|
| + bool is_char,
|
| + wchar_t character,
|
| + int state,
|
| + double time_stamp_seconds)
|
| + : os_event(NULL),
|
| + skip_in_browser(true /* already handled by the input method */) {
|
| + switch (key_event_type) {
|
| + case ui::ET_KEY_PRESSED:
|
| + type = is_char ? WebKit::WebInputEvent::Char :
|
| + WebKit::WebInputEvent::RawKeyDown;
|
| + break;
|
| + case ui::ET_KEY_RELEASED:
|
| + type = WebKit::WebInputEvent::KeyUp;
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + }
|
| +
|
| + modifiers = EventFlagsToWebInputEventModifiers(state);
|
| + timeStampSeconds = time_stamp_seconds;
|
| + windowsKeyCode = character;
|
| + nativeKeyCode = character;
|
| + text[0] = character;
|
| + unmodifiedText[0] = character;
|
| + isSystemKey = (state & ui::EF_ALT_DOWN) != 0;
|
| +}
|
| +
|
| NativeWebKeyboardEvent& NativeWebKeyboardEvent::operator=(
|
| const NativeWebKeyboardEvent& other) {
|
| WebKeyboardEvent::operator=(other);
|
|
|