[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:49:41 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 308ee2567205be4ed53b0f53203af0841b3aa69c
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Oct 21 18:55:50 2009 +0000
2009-10-21 Alejandro G. Castro <alex at igalia.com>
Reviewed by Xan Lopez.
[GTK] Initialize the events completly before emitting them.
https://bugs.webkit.org/show_bug.cgi?id=30633
* WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 77fdd5d..507efc0 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,12 @@
+2009-10-21 Alejandro G. Castro <alex at igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Initialize the events completly before emitting them.
+ https://bugs.webkit.org/show_bug.cgi?id=30633
+
+ * WebKitTools/DumpRenderTree/gtk/EventSender.cpp:
+
2009-10-21 Kevin Ollivier <kevino at theolliviers.com>
wx build fix. Fix for when linking using --as-needed with gcc.
diff --git a/WebKitTools/DumpRenderTree/gtk/EventSender.cpp b/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
index a36555e..9d56d96 100644
--- a/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
@@ -53,6 +53,7 @@ extern "C" {
}
static bool down = false;
+static bool currentEventButton = 1;
static bool dragMode = true;
static bool replayingSavedEvents = false;
static int lastMousePositionX;
@@ -145,9 +146,20 @@ static JSValueRef mouseDownCallback(JSContextRef context, JSObjectRef function,
event.button.button = (int)JSValueToNumber(context, arguments[0], exception) + 1;
g_return_val_if_fail((!exception || !*exception), JSValueMakeUndefined(context));
}
+
+ currentEventButton = event.button.button;
+
event.button.x = lastMousePositionX;
event.button.y = lastMousePositionY;
event.button.window = GTK_WIDGET(view)->window;
+ event.button.time = GDK_CURRENT_TIME;
+ event.button.device = gdk_device_get_core_pointer();
+
+ int x_root, y_root;
+ gdk_window_get_root_coords(GTK_WIDGET(view)->window, lastMousePositionX, lastMousePositionY, &x_root, &y_root);
+
+ event.button.x_root = x_root;
+ event.button.y_root = y_root;
updateClickCount(1);
@@ -187,9 +199,20 @@ static JSValueRef mouseUpCallback(JSContextRef context, JSObjectRef function, JS
event.button.button = (int)JSValueToNumber(context, arguments[0], exception) + 1;
g_return_val_if_fail((!exception || !*exception), JSValueMakeUndefined(context));
}
+
+ currentEventButton = event.button.button;
+
event.button.x = lastMousePositionX;
event.button.y = lastMousePositionY;
event.button.window = GTK_WIDGET(view)->window;
+ event.button.time = GDK_CURRENT_TIME;
+ event.button.device = gdk_device_get_core_pointer();
+
+ int x_root, y_root;
+ gdk_window_get_root_coords(GTK_WIDGET(view)->window, lastMousePositionX, lastMousePositionY, &x_root, &y_root);
+
+ event.button.x_root = x_root;
+ event.button.y_root = y_root;
if ((dragMode && !replayingSavedEvents) || msgQueue[endOfQueue].delay) {
msgQueue[endOfQueue].event = event;
@@ -223,11 +246,29 @@ static JSValueRef mouseMoveToCallback(JSContextRef context, JSObjectRef function
g_return_val_if_fail((!exception || !*exception), JSValueMakeUndefined(context));
GdkEvent event;
+ memset(&event, 0, sizeof(event));
event.type = GDK_MOTION_NOTIFY;
event.motion.x = lastMousePositionX;
event.motion.y = lastMousePositionY;
event.motion.time = GDK_CURRENT_TIME;
event.motion.window = GTK_WIDGET(view)->window;
+ event.motion.device = gdk_device_get_core_pointer();
+
+ int x_root, y_root;
+ gdk_window_get_root_coords(GTK_WIDGET(view)->window, lastMousePositionX, lastMousePositionY, &x_root, &y_root);
+
+ event.motion.x_root = x_root;
+ event.motion.y_root = y_root;
+
+ if (down) {
+ if (currentEventButton == 1)
+ event.motion.state = GDK_BUTTON1_MASK;
+ else if (currentEventButton == 2)
+ event.motion.state = GDK_BUTTON2_MASK;
+ else if (currentEventButton == 3)
+ event.motion.state = GDK_BUTTON3_MASK;
+ } else
+ event.motion.state = 0;
if (dragMode && down && !replayingSavedEvents) {
msgQueue[endOfQueue].event = event;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list