diff options
author | noel@chromium.org <noel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-29 06:36:03 +0000 |
---|---|---|
committer | noel@chromium.org <noel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-29 06:36:03 +0000 |
commit | 80afbdbf6432bae199da3ef53dc02de7160585cc (patch) | |
tree | c0094d5527d94198ceec9c8543851e62e5075e64 /ui | |
parent | afc941e853d6ed876255ee1af2d9597887bc202e (diff) | |
download | chromium_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.cc | 9 | ||||
-rw-r--r-- | ui/base/keycodes/keyboard_code_conversion_gtk.h | 5 |
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 |