Skip to content

Commit

Permalink
Merge r163373 - [GTK] Ensure generated events have given modifiers GD…
Browse files Browse the repository at this point in the history
…K understands

https://bugs.webkit.org/show_bug.cgi?id=128171

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-04
Reviewed by Carlos Garcia Campos.

* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::webkitModifiersToGDKModifiers): Move around
(WTR::EventSenderProxy::createMouseButtonEvent):
  • Loading branch information
garnacho authored and carlosgcampos committed Feb 10, 2014
1 parent 9ee81f1 commit ecd5789
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 17 deletions.
11 changes: 11 additions & 0 deletions Tools/ChangeLog
@@ -1,3 +1,14 @@
2014-02-04 Carlos Garnacho <carlosg@gnome.org>

[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):

2014-01-29 Csaba Osztrogonác <ossy@webkit.org>

Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
Expand Down
34 changes: 17 additions & 17 deletions Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp
Expand Up @@ -109,6 +109,22 @@ static unsigned eventSenderButtonToGDKButton(unsigned button)
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);
Expand All @@ -119,7 +135,7 @@ GdkEvent* EventSenderProxy::createMouseButtonEvent(GdkEventType eventType, unsig
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;

Expand Down Expand Up @@ -173,22 +189,6 @@ void EventSenderProxy::sendOrQueueEvent(GdkEvent* event)
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) {
Expand Down

0 comments on commit ecd5789

Please sign in to comment.