| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/public/browser/native_web_keyboard_event.h" |
| |
| #include "base/android/jni_android.h" |
| #include "content/browser/renderer_host/input/web_input_event_builders_android.h" |
| #include "ui/events/base_event_utils.h" |
| #include "ui/gfx/native_widget_types.h" |
| |
| namespace content { |
| |
| NativeWebKeyboardEvent::NativeWebKeyboardEvent(blink::WebInputEvent::Type type, |
| int modifiers, |
| base::TimeTicks timestamp) |
| : WebKeyboardEvent(type, modifiers, timestamp), |
| os_event(nullptr), |
| skip_in_browser(false) {} |
| |
| NativeWebKeyboardEvent::NativeWebKeyboardEvent( |
| const blink::WebKeyboardEvent& web_event, |
| gfx::NativeView native_view) |
| : WebKeyboardEvent(web_event), os_event(nullptr), skip_in_browser(false) {} |
| |
| NativeWebKeyboardEvent::NativeWebKeyboardEvent( |
| JNIEnv* env, |
| const base::android::JavaRef<jobject>& android_key_event, |
| blink::WebInputEvent::Type type, |
| int modifiers, |
| base::TimeTicks timestamp, |
| int keycode, |
| int scancode, |
| int unicode_character, |
| bool is_system_key) |
| : WebKeyboardEvent(WebKeyboardEventBuilder::Build(env, |
| android_key_event, |
| type, |
| modifiers, |
| timestamp, |
| keycode, |
| scancode, |
| unicode_character, |
| is_system_key)), |
| os_event(nullptr), |
| skip_in_browser(false) { |
| if (!android_key_event.is_null()) |
| os_event.Reset(android_key_event); |
| } |
| |
| NativeWebKeyboardEvent::NativeWebKeyboardEvent( |
| const NativeWebKeyboardEvent& other) |
| : WebKeyboardEvent(other), |
| os_event(other.os_event), |
| skip_in_browser(other.skip_in_browser) {} |
| |
| NativeWebKeyboardEvent& NativeWebKeyboardEvent::operator=( |
| const NativeWebKeyboardEvent& other) { |
| WebKeyboardEvent::operator=(other); |
| |
| os_event = other.os_event; |
| skip_in_browser = other.skip_in_browser; |
| |
| return *this; |
| } |
| |
| NativeWebKeyboardEvent::~NativeWebKeyboardEvent() {} |
| |
| } // namespace content |