summaryrefslogtreecommitdiffstats
path: root/webkit/support
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 /webkit/support
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 'webkit/support')
-rw-r--r--webkit/support/webkit_support.cc11
-rw-r--r--webkit/support/webkit_support.h4
2 files changed, 15 insertions, 0 deletions
diff --git a/webkit/support/webkit_support.cc b/webkit/support/webkit_support.cc
index 8f8a514..d877325 100644
--- a/webkit/support/webkit_support.cc
+++ b/webkit/support/webkit_support.cc
@@ -37,6 +37,9 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginParams.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLError.h"
+#if defined(OS_LINUX)
+#include "ui/base/keycodes/keyboard_code_conversion_gtk.h"
+#endif
#include "ui/gfx/gl/gl_context.h"
#include "ui/gfx/gl/gl_implementation.h"
#include "ui/gfx/gl/gl_surface.h"
@@ -612,6 +615,14 @@ void OpenFileSystem(WebFrame* frame, WebFileSystem::Type type,
fileSystem->OpenFileSystem(frame, type, size, create, callbacks);
}
+// Keyboard code
+#if defined(OS_LINUX)
+int NativeKeyCodeForWindowsKeyCode(int keycode, bool shift) {
+ ui::KeyboardCode code = static_cast<ui::KeyboardCode>(keycode);
+ return ui::GdkNativeKeyCodeForWindowsKeyCode(code, shift);
+}
+#endif
+
// Timers
double GetForegroundTabTimerInterval() {
return webkit_glue::kForegroundTabTimerInterval;
diff --git a/webkit/support/webkit_support.h b/webkit/support/webkit_support.h
index d11f09b..2b27ab8 100644
--- a/webkit/support/webkit_support.h
+++ b/webkit/support/webkit_support.h
@@ -212,6 +212,10 @@ enum {
VKEY_F1 = ui::VKEY_F1,
};
+#if defined(OS_LINUX)
+int NativeKeyCodeForWindowsKeyCode(int keycode, bool shift);
+#endif
+
// - Timers
double GetForegroundTabTimerInterval();