Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(638)

Unified Diff: content/browser/renderer_host/input/web_input_event_builders_android_unittest.cc

Issue 1811553002: [Android] Synthetic composition event should have DomKey 'Unidentified' (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Filter synthetic key event by checking |android_key_event| not null Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/input/web_input_event_builders_android_unittest.cc
diff --git a/content/browser/renderer_host/input/web_input_event_builders_android_unittest.cc b/content/browser/renderer_host/input/web_input_event_builders_android_unittest.cc
index 586ea75589dd546770ce0bcba0879538280e5c13..3e047d850ef2f2bf3bcb25efc2c18312ab59d9d6 100644
--- a/content/browser/renderer_host/input/web_input_event_builders_android_unittest.cc
+++ b/content/browser/renderer_host/input/web_input_event_builders_android_unittest.cc
@@ -12,8 +12,10 @@
#include "third_party/WebKit/public/web/WebInputEvent.h"
#include "ui/events/android/key_event_utils.h"
#include "ui/events/gesture_detection/motion_event.h"
+#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/dom/dom_key.h"
#include "ui/events/keycodes/dom/keycode_converter.h"
+#include "ui/events/keycodes/keyboard_codes_posix.h"
using base::android::AttachCurrentThread;
using base::android::ScopedJavaLocalRef;
@@ -23,6 +25,7 @@ namespace {
const int kCombiningAccent = 0x80000000;
const int kCombiningAccentMask = 0x7fffffff;
+const int kCompositionKeyCode = 229;
WebKeyboardEvent CreateFakeWebKeyboardEvent(JNIEnv* env,
int key_code,
@@ -139,3 +142,28 @@ TEST(WebInputEventBuilderAndroidTest, DomKeyCtrlAlt) {
<< ui::KeycodeConverter::DomKeyToKeyString(web_event.domKey);
}
}
+
+// Testing AKEYCODE_LAST_CHANNEL because it's overlapping with
+// COMPOSITION_KEY_CODE (both 229).
+TEST(WebInputEventBuilderAndroidTest, LastChannelKey) {
+ JNIEnv* env = AttachCurrentThread();
+
+ // AKEYCODE_LAST_CHANNEL (229) is not defined in minimum NDK.
+ WebKeyboardEvent web_event =
+ CreateFakeWebKeyboardEvent(env, 229, 0, 0);
+ EXPECT_EQ(229, web_event.nativeKeyCode);
+ EXPECT_EQ(ui::KeyboardCode::VKEY_UNKNOWN, web_event.windowsKeyCode);
+ EXPECT_EQ(static_cast<int>(ui::DomCode::NONE), web_event.domCode);
+ EXPECT_EQ(ui::DomKey::MEDIA_LAST, web_event.domKey);
+}
+
+// Synthetic key event should produce DomKey::UNIDENTIFIED.
+TEST(WebInputEventBuilderAndroidTest, DomKeySyntheticEvent) {
+ WebKeyboardEvent web_event = content::WebKeyboardEventBuilder::Build(
+ nullptr, nullptr, WebKeyboardEvent::KeyDown, 0, 0, kCompositionKeyCode, 0,
+ 0, false);
+ EXPECT_EQ(kCompositionKeyCode, web_event.nativeKeyCode);
+ EXPECT_EQ(ui::KeyboardCode::VKEY_UNKNOWN, web_event.windowsKeyCode);
+ EXPECT_EQ(static_cast<int>(ui::DomCode::NONE), web_event.domCode);
+ EXPECT_EQ(ui::DomKey::UNIDENTIFIED, web_event.domKey);
+}

Powered by Google App Engine
This is Rietveld 408576698