summaryrefslogtreecommitdiffstats
path: root/webkit/tools/test_shell
diff options
context:
space:
mode:
authorkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-25 19:40:17 +0000
committerkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-25 19:40:17 +0000
commitb068e3357250547bee1fd3075d05e5f44f8bfafb (patch)
tree78008cf3d8882a3fdcfd652d55e485c54bae0bc4 /webkit/tools/test_shell
parent4c8e0e08a34050a8301856f00a65e4bc106e968e (diff)
downloadchromium_src-b068e3357250547bee1fd3075d05e5f44f8bfafb.zip
chromium_src-b068e3357250547bee1fd3075d05e5f44f8bfafb.tar.gz
chromium_src-b068e3357250547bee1fd3075d05e5f44f8bfafb.tar.bz2
Revert "Fixing WebKeyboardEvent."
Review URL: http://codereview.appspot.com/21071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10362 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools/test_shell')
-rw-r--r--webkit/tools/test_shell/event_sending_controller.cc10
-rw-r--r--webkit/tools/test_shell/keyboard_unittest.cc11
-rw-r--r--webkit/tools/test_shell/mac/webwidget_host.mm10
-rw-r--r--webkit/tools/test_shell/webwidget_host_gtk.cc10
4 files changed, 28 insertions, 13 deletions
diff --git a/webkit/tools/test_shell/event_sending_controller.cc b/webkit/tools/test_shell/event_sending_controller.cc
index 6409433..76e8a06 100644
--- a/webkit/tools/test_shell/event_sending_controller.cc
+++ b/webkit/tools/test_shell/event_sending_controller.cc
@@ -382,20 +382,16 @@ void EventSendingController::keyDown(
// WebKit/WebKitTools/DumpRenderTree/win. We may also need
// to generate a keyChar event in certain cases.
WebKeyboardEvent event_down, event_up;
-#if defined(OS_WIN)
- event_down.type = WebInputEvent::RAW_KEY_DOWN;
-#else
event_down.type = WebInputEvent::KEY_DOWN;
-#endif
event_down.modifiers = 0;
- event_down.windows_key_code = code;
-#if defined(OS_MAC) || defined(OS_LINUX)
+ event_down.key_code = code;
+#if defined(OS_LINUX)
// TODO(deanm): This code is a confusing mix of different platform key
// codes. Since we're not working with a GDK event, we can't use our
// GDK -> WebKit converter, which means the Linux specific extra |text|
// field goes uninitialized. I don't know how to correctly calculate this
// field, but for now we will at least initialize it, even if it's wrong.
- event_down.text[0] = code;
+ event_down.text = code;
#endif
if (args.size() >= 2 && (args[1].isObject() || args[1].isString()))
diff --git a/webkit/tools/test_shell/keyboard_unittest.cc b/webkit/tools/test_shell/keyboard_unittest.cc
index b23ccd1..673edd1 100644
--- a/webkit/tools/test_shell/keyboard_unittest.cc
+++ b/webkit/tools/test_shell/keyboard_unittest.cc
@@ -46,13 +46,14 @@ class KeyboardTest : public testing::Test {
void SetupKeyDownEvent(WebKeyboardEvent* keyboard_event,
char key_code,
int modifiers) {
- keyboard_event->windows_key_code = key_code;
+ keyboard_event->key_code = key_code;
keyboard_event->modifiers = modifiers;
-#if defined(OS_WIN)
- keyboard_event->type = WebInputEvent::RAW_KEY_DOWN;
-#else
keyboard_event->type = WebInputEvent::KEY_DOWN;
- keyboard_event->text[0] = key_code;
+#if defined(OS_LINUX)
+ keyboard_event->text = key_code;
+#elif defined(OS_MACOSX)
+ keyboard_event->text.clear();
+ keyboard_event->text.push_back(key_code);
#endif
}
diff --git a/webkit/tools/test_shell/mac/webwidget_host.mm b/webkit/tools/test_shell/mac/webwidget_host.mm
index b99aca7..dc1b6c6 100644
--- a/webkit/tools/test_shell/mac/webwidget_host.mm
+++ b/webkit/tools/test_shell/mac/webwidget_host.mm
@@ -221,7 +221,15 @@ void WebWidgetHost::MouseEvent(NSEvent *event) {
case WebInputEvent::MOUSE_LEAVE:
TrackMouseLeave(false);
break;
- default:
+ case WebInputEvent::MOUSE_DOWN:
+ break;
+ case WebInputEvent::MOUSE_UP:
+ break;
+ case WebInputEvent::MOUSE_DOUBLE_CLICK:
+ case WebInputEvent::MOUSE_WHEEL:
+ case WebInputEvent::KEY_DOWN:
+ case WebInputEvent::KEY_UP:
+ case WebInputEvent::CHAR:
break;
}
webwidget_->HandleInputEvent(&web_event);
diff --git a/webkit/tools/test_shell/webwidget_host_gtk.cc b/webkit/tools/test_shell/webwidget_host_gtk.cc
index 57d88d8..c3b5cb6 100644
--- a/webkit/tools/test_shell/webwidget_host_gtk.cc
+++ b/webkit/tools/test_shell/webwidget_host_gtk.cc
@@ -148,6 +148,16 @@ class WebWidgetHostGtkWidget {
WebKeyboardEvent wke(event);
host->webwidget()->HandleInputEvent(&wke);
+ // The WebKeyboardEvent model, when holding down a key, is:
+ // KEY_DOWN, CHAR, (repeated CHAR as key repeats,) KEY_UP
+ // The GDK model for the same sequence is just:
+ // KEY_PRESS, (repeated KEY_PRESS as key repeats,) KEY_RELEASE
+ // So we must simulate a CHAR event for every key press.
+ if (event->type == GDK_KEY_PRESS) {
+ wke.type = WebKeyboardEvent::CHAR;
+ host->webwidget()->HandleInputEvent(&wke);
+ }
+
return FALSE;
}