summaryrefslogtreecommitdiffstats
path: root/webkit/tools/test_shell/event_sending_controller.cc
diff options
context:
space:
mode:
authordarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-27 23:30:22 +0000
committerdarin@chromium.org <darin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-27 23:30:22 +0000
commit62cb33cae4bad68a085b50832c8a7f1e1c2e917c (patch)
tree4eddbf29c7ae1c41fd1300ae4ce95b817404bbaf /webkit/tools/test_shell/event_sending_controller.cc
parent57346c5659ada3c2a06095afac6e53bedf41ab94 (diff)
downloadchromium_src-62cb33cae4bad68a085b50832c8a7f1e1c2e917c.zip
chromium_src-62cb33cae4bad68a085b50832c8a7f1e1c2e917c.tar.gz
chromium_src-62cb33cae4bad68a085b50832c8a7f1e1c2e917c.tar.bz2
Use Webkit::WebInputEvent and remove webkit/glue/webinputevent.
This change adds a temporary dependency on src/KeyIdentifier.{h,cpp} which I am going to remove after this CL. I didn't want to grow this CL any larger. R=dglazkov Review URL: http://codereview.chromium.org/53099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12728 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools/test_shell/event_sending_controller.cc')
-rw-r--r--webkit/tools/test_shell/event_sending_controller.cc110
1 files changed, 62 insertions, 48 deletions
diff --git a/webkit/tools/test_shell/event_sending_controller.cc b/webkit/tools/test_shell/event_sending_controller.cc
index 6fadaa3..cded2e6 100644
--- a/webkit/tools/test_shell/event_sending_controller.cc
+++ b/webkit/tools/test_shell/event_sending_controller.cc
@@ -28,20 +28,34 @@
#include "base/message_loop.h"
#include "base/string_util.h"
#include "base/time.h"
-#include "webkit/glue/webinputevent_util.h"
+#include "webkit/glue/webdropdata.h"
#include "webkit/glue/webview.h"
#include "webkit/tools/test_shell/test_shell.h"
+// TODO(darin): This is a temporary hack. The better solution is to defer
+// generation of the keyIdentifier to the point where a PlatformKeyboardEvent
+// is created from our WebKeyboardEvent.
+#include "third_party/WebKit/WebKit/chromium/src/KeyIdentifier.h"
+
+#if defined(OS_WIN)
+#include "third_party/WebKit/WebKit/chromium/public/win/WebInputEventFactory.h"
+using WebKit::WebInputEventFactory;
+#endif
+
// TODO(mpcomplete): layout before each event?
// TODO(mpcomplete): do we need modifiers for mouse events?
using base::Time;
using base::TimeTicks;
+using WebKit::WebInputEvent;
+using WebKit::WebKeyboardEvent;
+using WebKit::WebMouseEvent;
+
TestShell* EventSendingController::shell_ = NULL;
gfx::Point EventSendingController::last_mouse_pos_;
WebMouseEvent::Button EventSendingController::pressed_button_ =
- WebMouseEvent::BUTTON_NONE;
+ WebMouseEvent::ButtonNone;
int EventSendingController::last_button_number_ = -1;
@@ -88,25 +102,25 @@ void InitMouseEvent(WebInputEvent::Type t, WebMouseEvent::Button b,
e->modifiers = 0;
e->x = pos.x();
e->y = pos.y();
- e->global_x = pos.x();
- e->global_y = pos.y();
- e->timestamp_sec = GetCurrentEventTimeSec();
- e->layout_test_click_count = click_count;
+ e->globalX = pos.x();
+ e->globalY = pos.y();
+ e->timeStampSeconds = GetCurrentEventTimeSec();
+ e->layoutTestClickCount = click_count;
}
void ApplyKeyModifier(const std::wstring& arg, WebKeyboardEvent* event) {
const wchar_t* arg_string = arg.c_str();
if (!wcscmp(arg_string, L"ctrlKey")) {
- event->modifiers |= WebInputEvent::CTRL_KEY;
+ event->modifiers |= WebInputEvent::ControlKey;
} else if (!wcscmp(arg_string, L"shiftKey")) {
- event->modifiers |= WebInputEvent::SHIFT_KEY;
+ event->modifiers |= WebInputEvent::ShiftKey;
} else if (!wcscmp(arg_string, L"altKey")) {
- event->modifiers |= WebInputEvent::ALT_KEY;
+ event->modifiers |= WebInputEvent::AltKey;
#if defined(OS_WIN)
- event->system_key = true;
+ event->isSystemKey = true;
#endif
} else if (!wcscmp(arg_string, L"metaKey")) {
- event->modifiers |= WebInputEvent::META_KEY;
+ event->modifiers |= WebInputEvent::MetaKey;
}
}
@@ -172,7 +186,7 @@ void EventSendingController::Reset() {
// The test should have finished a drag and the mouse button state.
DCHECK(!drag_data_object.get());
drag_data_object.reset();
- pressed_button_ = WebMouseEvent::BUTTON_NONE;
+ pressed_button_ = WebMouseEvent::ButtonNone;
dragMode.Set(true);
#if defined(OS_WIN)
wmKeyDown.Set(WM_KEYDOWN);
@@ -207,11 +221,11 @@ void EventSendingController::Reset() {
WebMouseEvent::Button EventSendingController::GetButtonTypeFromButtonNumber(
int button_code) {
if (button_code == 0)
- return WebMouseEvent::BUTTON_LEFT;
+ return WebMouseEvent::ButtonLeft;
else if (button_code == 2)
- return WebMouseEvent::BUTTON_RIGHT;
+ return WebMouseEvent::ButtonRight;
- return WebMouseEvent::BUTTON_MIDDLE;
+ return WebMouseEvent::ButtonMiddle;
}
// static
@@ -254,7 +268,7 @@ void EventSendingController::mouseDown(
WebMouseEvent event;
pressed_button_ = button_type;
- InitMouseEvent(WebInputEvent::MOUSE_DOWN, button_type,
+ InitMouseEvent(WebInputEvent::MouseDown, button_type,
last_mouse_pos_, &event);
webview()->HandleInputEvent(&event);
}
@@ -275,7 +289,7 @@ void EventSendingController::mouseUp(
last_button_number_ = button_number;
WebMouseEvent event;
- InitMouseEvent(WebInputEvent::MOUSE_UP, button_type,
+ InitMouseEvent(WebInputEvent::MouseUp, button_type,
last_mouse_pos_, &event);
if (drag_mode() && !replaying_saved_events) {
mouse_event_queue.push(event);
@@ -284,23 +298,23 @@ void EventSendingController::mouseUp(
DoMouseUp(event);
}
- last_click_time_sec = event.timestamp_sec;
+ last_click_time_sec = event.timeStampSeconds;
last_click_pos = gfx::Point(event.x, event.y);
}
/* static */ void EventSendingController::DoMouseUp(const WebMouseEvent& e) {
webview()->HandleInputEvent(&e);
- pressed_button_ = WebMouseEvent::BUTTON_NONE;
+ pressed_button_ = WebMouseEvent::ButtonNone;
// If we're in a drag operation, complete it.
if (drag_data_object.get()) {
- bool valid = webview()->DragTargetDragOver(e.x, e.y, e.global_x,
- e.global_y);
+ bool valid = webview()->DragTargetDragOver(e.x, e.y, e.globalX,
+ e.globalY);
if (valid) {
- webview()->DragSourceEndedAt(e.x, e.y, e.global_x, e.global_y);
- webview()->DragTargetDrop(e.x, e.y, e.global_x, e.global_y);
+ webview()->DragSourceEndedAt(e.x, e.y, e.globalX, e.globalY);
+ webview()->DragTargetDrop(e.x, e.y, e.globalX, e.globalY);
} else {
- webview()->DragSourceEndedAt(e.x, e.y, e.global_x, e.global_y);
+ webview()->DragSourceEndedAt(e.x, e.y, e.globalX, e.globalY);
webview()->DragTargetDragLeave();
}
drag_data_object.reset();
@@ -316,10 +330,10 @@ void EventSendingController::mouseMoveTo(
WebMouseEvent event;
last_mouse_pos_.SetPoint(args[0].ToInt32(), args[1].ToInt32());
- InitMouseEvent(WebInputEvent::MOUSE_MOVE, pressed_button_,
+ InitMouseEvent(WebInputEvent::MouseMove, pressed_button_,
last_mouse_pos_, &event);
- if (drag_mode() && pressed_button_ != WebMouseEvent::BUTTON_NONE &&
+ if (drag_mode() && pressed_button_ != WebMouseEvent::ButtonNone &&
!replaying_saved_events) {
mouse_event_queue.push(event);
} else {
@@ -331,9 +345,9 @@ void EventSendingController::mouseMoveTo(
/* static */ void EventSendingController::DoMouseMove(const WebMouseEvent& e) {
webview()->HandleInputEvent(&e);
- if (pressed_button_ != WebMouseEvent::BUTTON_NONE && drag_data_object.get()) {
- webview()->DragSourceMovedTo(e.x, e.y, e.global_x, e.global_y);
- webview()->DragTargetDragOver(e.x, e.y, e.global_x, e.global_y);
+ if (pressed_button_ != WebMouseEvent::ButtonNone && drag_data_object.get()) {
+ webview()->DragSourceMovedTo(e.x, e.y, e.globalX, e.globalY);
+ webview()->DragTargetDragOver(e.x, e.y, e.globalX, e.globalY);
}
}
@@ -384,30 +398,29 @@ void EventSendingController::keyDown(
// the event flow that that platform provides.
WebKeyboardEvent event_down, event_up;
#if defined(OS_WIN)
- event_down.type = WebInputEvent::RAW_KEY_DOWN;
+ event_down.type = WebInputEvent::RawKeyDown;
#else
- event_down.type = WebInputEvent::KEY_DOWN;
+ event_down.type = WebInputEvent::KeyDown;
#endif
event_down.modifiers = 0;
- event_down.windows_key_code = code;
+ event_down.windowsKeyCode = code;
if (generate_char) {
event_down.text[0] = code;
- event_down.unmodified_text[0] = code;
+ event_down.unmodifiedText[0] = code;
}
- std::string key_identifier_str =
- webkit_glue::GetKeyIdentifierForWindowsKeyCode(code);
- base::strlcpy(event_down.key_identifier, key_identifier_str.c_str(),
- kIdentifierLengthCap);
+ // TODO(darin): remove this temporary hack.
+ WebKit::keyIdentifierForWindowsKeyCode(
+ code, event_down.keyIdentifier, sizeof(event_down.keyIdentifier));
if (args.size() >= 2 && (args[1].isObject() || args[1].isString()))
ApplyKeyModifiers(&(args[1]), &event_down);
if (needs_shift_key_modifier)
- event_down.modifiers |= WebInputEvent::SHIFT_KEY;
+ event_down.modifiers |= WebInputEvent::ShiftKey;
event_up = event_down;
- event_up.type = WebInputEvent::KEY_UP;
+ event_up.type = WebInputEvent::KeyUp;
// EventSendingController.m forces a layout here, with at least one
// test (fast\forms\focus-control-to-page.html) relying on this.
webview()->Layout();
@@ -417,8 +430,8 @@ void EventSendingController::keyDown(
#if defined(OS_WIN)
if (generate_char) {
WebKeyboardEvent event_char = event_down;
- event_char.type = WebInputEvent::CHAR;
- event_char.key_identifier[0] = '\0';
+ event_char.type = WebInputEvent::Char;
+ event_char.keyIdentifier[0] = '\0';
webview()->HandleInputEvent(&event_char);
}
#endif
@@ -445,7 +458,8 @@ void EventSendingController::dispatchMessage(
webview()->Layout();
unsigned long lparam = static_cast<unsigned long>(args[2].ToDouble());
- WebKeyboardEvent key_event(0, msg, args[1].ToInt32(), lparam);
+ const WebKeyboardEvent& key_event = WebInputEventFactory::keyboardEvent(
+ NULL, msg, args[1].ToInt32(), lparam);
webview()->HandleInputEvent(&key_event);
} else {
NOTREACHED() << L"Wrong number of arguments";
@@ -494,10 +508,10 @@ void EventSendingController::ReplaySavedEvents() {
mouse_event_queue.pop();
switch (event.type) {
- case WebInputEvent::MOUSE_UP:
+ case WebInputEvent::MouseUp:
DoMouseUp(event);
break;
- case WebInputEvent::MOUSE_MOVE:
+ case WebInputEvent::MouseMove:
DoMouseMove(event);
break;
default:
@@ -523,16 +537,16 @@ void EventSendingController::contextClick(
// Generate right mouse down and up.
WebMouseEvent event;
- pressed_button_ = WebMouseEvent::BUTTON_RIGHT;
- InitMouseEvent(WebInputEvent::MOUSE_DOWN, WebMouseEvent::BUTTON_RIGHT,
+ pressed_button_ = WebMouseEvent::ButtonRight;
+ InitMouseEvent(WebInputEvent::MouseDown, WebMouseEvent::ButtonRight,
last_mouse_pos_, &event);
webview()->HandleInputEvent(&event);
- InitMouseEvent(WebInputEvent::MOUSE_UP, WebMouseEvent::BUTTON_RIGHT,
+ InitMouseEvent(WebInputEvent::MouseUp, WebMouseEvent::ButtonRight,
last_mouse_pos_, &event);
webview()->HandleInputEvent(&event);
- pressed_button_ = WebMouseEvent::BUTTON_NONE;
+ pressed_button_ = WebMouseEvent::ButtonNone;
}
void EventSendingController::scheduleAsynchronousClick(