summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authornoel@chromium.org <noel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-29 06:36:03 +0000
committernoel@chromium.org <noel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-29 06:36:03 +0000
commit80afbdbf6432bae199da3ef53dc02de7160585cc (patch)
treec0094d5527d94198ceec9c8543851e62e5075e64 /ui
parentafc941e853d6ed876255ee1af2d9597887bc202e (diff)
downloadchromium_src-80afbdbf6432bae199da3ef53dc02de7160585cc.zip
chromium_src-80afbdbf6432bae199da3ef53dc02de7160585cc.tar.gz
chromium_src-80afbdbf6432bae199da3ef53dc02de7160585cc.tar.bz2
Add a GTK support routine that returns a simulated nativeKeyCode for a given
windowKeyCode. Simulated since there's no keyboard attached when testing in webkit DRT, so DRT::eventSender.keyDown() must simulate keyboard events. https://bugs.webkit.org/show_bug.cgi?id=66679 BUG=94211 TEST=webkit LayoutTests/plugins/keyboard-events.html Review URL: http://codereview.chromium.org/7740048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98599 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/base/keycodes/keyboard_code_conversion_gtk.cc9
-rw-r--r--ui/base/keycodes/keyboard_code_conversion_gtk.h5
2 files changed, 14 insertions, 0 deletions
diff --git a/ui/base/keycodes/keyboard_code_conversion_gtk.cc b/ui/base/keycodes/keyboard_code_conversion_gtk.cc
index 4425b88..c55476a 100644
--- a/ui/base/keycodes/keyboard_code_conversion_gtk.cc
+++ b/ui/base/keycodes/keyboard_code_conversion_gtk.cc
@@ -621,6 +621,15 @@ int GdkKeyCodeForWindowsKeyCode(KeyboardCode keycode, bool shift) {
}
}
+int GdkNativeKeyCodeForWindowsKeyCode(KeyboardCode keycode, bool shift) {
+ int keyval = GdkKeyCodeForWindowsKeyCode(keycode, shift);
+ GdkKeymapKey* keys;
+ gint n_keys;
+ if (keyval && gdk_keymap_get_entries_for_keyval(0, keyval, &keys, &n_keys))
+ return keys[0].keycode;
+ return 0;
+}
+
KeyboardCode KeyboardCodeFromGdkEventKey(GdkEventKey* event) {
KeyboardCode keycode = WindowsKeyCodeForGdkKeyCode(event->keyval);
#ifdef USE_X11
diff --git a/ui/base/keycodes/keyboard_code_conversion_gtk.h b/ui/base/keycodes/keyboard_code_conversion_gtk.h
index 6a9d293..7a4e167 100644
--- a/ui/base/keycodes/keyboard_code_conversion_gtk.h
+++ b/ui/base/keycodes/keyboard_code_conversion_gtk.h
@@ -48,6 +48,11 @@ UI_EXPORT KeyboardCode WindowsKeyCodeForGdkKeyCode(int keycode);
UI_EXPORT int GdkKeyCodeForWindowsKeyCode(KeyboardCode keycode, bool shift);
+// For WebKit DRT testing: simulate the native keycode for the given
+// input |keycode|. Return the native keycode.
+UI_EXPORT int GdkNativeKeyCodeForWindowsKeyCode(KeyboardCode keycode,
+ bool shift);
+
UI_EXPORT KeyboardCode KeyboardCodeFromGdkEventKey(GdkEventKey* event);
} // namespace ui