Title: [163373] trunk/Tools
- Revision
- 163373
- Author
- [email protected]
- Date
- 2014-02-04 04:42:40 -0800 (Tue, 04 Feb 2014)
Log Message
[GTK] Ensure generated events have given modifiers GDK understands
https://bugs.webkit.org/show_bug.cgi?id=128171
Patch by Carlos Garnacho <[email protected]> on 2014-02-04
Reviewed by Carlos Garcia Campos.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::webkitModifiersToGDKModifiers): Move around
(WTR::EventSenderProxy::createMouseButtonEvent):
(WTR::EventSenderProxy::keyDown): Use webkitModifiersToGDKModifiers to
translate WKEventModifiers.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (163372 => 163373)
--- trunk/Tools/ChangeLog 2014-02-04 11:54:17 UTC (rev 163372)
+++ trunk/Tools/ChangeLog 2014-02-04 12:42:40 UTC (rev 163373)
@@ -1,3 +1,16 @@
+2014-02-04 Carlos Garnacho <[email protected]>
+
+ [GTK] Ensure generated events have given modifiers GDK understands
+ https://bugs.webkit.org/show_bug.cgi?id=128171
+
+ Reviewed by Carlos Garcia Campos.
+
+ * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
+ (WTR::webkitModifiersToGDKModifiers): Move around
+ (WTR::EventSenderProxy::createMouseButtonEvent):
+ (WTR::EventSenderProxy::keyDown): Use webkitModifiersToGDKModifiers to
+ translate WKEventModifiers.
+
2014-02-04 Gabor Rapcsanyi <[email protected]>
Fine tuning the ARM EFL bots
Modified: trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp (163372 => 163373)
--- trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp 2014-02-04 11:54:17 UTC (rev 163372)
+++ trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp 2014-02-04 12:42:40 UTC (rev 163373)
@@ -109,6 +109,22 @@
return mouseButton;
}
+static guint webkitModifiersToGDKModifiers(WKEventModifiers wkModifiers)
+{
+ guint modifiers = 0;
+
+ if (wkModifiers & kWKEventModifiersControlKey)
+ modifiers |= GDK_CONTROL_MASK;
+ if (wkModifiers & kWKEventModifiersShiftKey)
+ modifiers |= GDK_SHIFT_MASK;
+ if (wkModifiers & kWKEventModifiersAltKey)
+ modifiers |= GDK_MOD1_MASK;
+ if (wkModifiers & kWKEventModifiersMetaKey)
+ modifiers |= GDK_META_MASK;
+
+ return modifiers;
+}
+
GdkEvent* EventSenderProxy::createMouseButtonEvent(GdkEventType eventType, unsigned button, WKEventModifiers modifiers)
{
GdkEvent* mouseEvent = gdk_event_new(eventType);
@@ -119,7 +135,7 @@
mouseEvent->button.window = gtk_widget_get_window(GTK_WIDGET(m_testController->mainWebView()->platformView()));
g_object_ref(mouseEvent->button.window);
gdk_event_set_device(mouseEvent, gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(mouseEvent->button.window))));
- mouseEvent->button.state = modifiers | getMouseButtonModifiers(mouseEvent->button.button);
+ mouseEvent->button.state = webkitModifiersToGDKModifiers(modifiers) | getMouseButtonModifiers(mouseEvent->button.button);
mouseEvent->button.time = GDK_CURRENT_TIME;
mouseEvent->button.axes = 0;
@@ -173,22 +189,6 @@
replaySavedEvents();
}
-static guint webkitModifiersToGDKModifiers(WKEventModifiers wkModifiers)
-{
- guint modifiers = 0;
-
- if (wkModifiers & kWKEventModifiersControlKey)
- modifiers |= GDK_CONTROL_MASK;
- if (wkModifiers & kWKEventModifiersShiftKey)
- modifiers |= GDK_SHIFT_MASK;
- if (wkModifiers & kWKEventModifiersAltKey)
- modifiers |= GDK_MOD1_MASK;
- if (wkModifiers & kWKEventModifiersMetaKey)
- modifiers |= GDK_META_MASK;
-
- return modifiers;
-}
-
int getGDKKeySymForKeyRef(WKStringRef keyRef, unsigned location, guint* modifiers)
{
if (location == DOMKeyLocationNumpad) {
@@ -290,7 +290,7 @@
GdkEvent* pressEvent = gdk_event_new(GDK_KEY_PRESS);
pressEvent->key.keyval = gdkKeySym;
- pressEvent->key.state = modifiers;
+ pressEvent->key.state = webkitModifiersToGDKModifiers(modifiers);
pressEvent->key.window = gtk_widget_get_window(GTK_WIDGET(m_testController->mainWebView()->platformWindow()));
g_object_ref(pressEvent->key.window);
gdk_event_set_device(pressEvent, gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(pressEvent->key.window))));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes