summaryrefslogtreecommitdiffstats
path: root/webkit/tools
diff options
context:
space:
mode:
authoravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-26 15:36:37 +0000
committeravi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-26 15:36:37 +0000
commit6d850f189679e9e60e8ef3135c037915f10cd6a9 (patch)
tree3b0c8ba2c5672c15880ff774b6d368877e4d8b3f /webkit/tools
parentb8e1f95cf888bba24fe3ef1d357474f23091235d (diff)
downloadchromium_src-6d850f189679e9e60e8ef3135c037915f10cd6a9.zip
chromium_src-6d850f189679e9e60e8ef3135c037915f10cd6a9.tar.gz
chromium_src-6d850f189679e9e60e8ef3135c037915f10cd6a9.tar.bz2
Reverting key change (again); this breaks every keyboard layout test there is. Will fix and recommit.
Review URL: http://codereview.chromium.org/28186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10469 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools')
-rw-r--r--webkit/tools/test_shell/event_sending_controller.cc10
-rw-r--r--webkit/tools/test_shell/keyboard_unittest.cc9
-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, 29 insertions, 10 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 4943341..673edd1 100644
--- a/webkit/tools/test_shell/keyboard_unittest.cc
+++ b/webkit/tools/test_shell/keyboard_unittest.cc
@@ -46,10 +46,15 @@ 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;
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
}
// Like InterpretKeyEvent, but with pressing down OSModifier+|key_code|.
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;
}