Title: [236199] releases/WebKitGTK/webkit-2.22
Revision
236199
Author
[email protected]
Date
2018-09-19 06:49:24 -0700 (Wed, 19 Sep 2018)

Log Message

Merge r236124 - [WPE] Implement mouse event modifiers
https://bugs.webkit.org/show_bug.cgi?id=189697

Reviewed by Carlos Garcia Campos.

Source/WebKit:

Only "CapsLocks" is missing, as WPE doesn't support that modifier.
* Shared/wpe/WebEventFactory.cpp:
(WebKit::modifiersForEventModifiers):
(WebKit::WebEventFactory::createWebKeyboardEvent):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::modifiersForEvent): Deleted.

Tools:

* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wkEventModifiersToWPE):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/ChangeLog (236198 => 236199)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/ChangeLog	2018-09-19 13:49:18 UTC (rev 236198)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/ChangeLog	2018-09-19 13:49:24 UTC (rev 236199)
@@ -1,3 +1,17 @@
+2018-09-18  Claudio Saavedra  <[email protected]>
+
+        [WPE] Implement mouse event modifiers
+        https://bugs.webkit.org/show_bug.cgi?id=189697
+
+        Reviewed by Carlos Garcia Campos.
+
+        Only "CapsLocks" is missing, as WPE doesn't support that modifier.
+        * Shared/wpe/WebEventFactory.cpp:
+        (WebKit::modifiersForEventModifiers):
+        (WebKit::WebEventFactory::createWebKeyboardEvent):
+        (WebKit::WebEventFactory::createWebMouseEvent):
+        (WebKit::modifiersForEvent): Deleted.
+
 2018-09-13  Keith Rollin  <[email protected]>
 
         WebPageProxy::reportPageLoadResult can crash on some code paths

Modified: releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/wpe/WebEventFactory.cpp (236198 => 236199)


--- releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/wpe/WebEventFactory.cpp	2018-09-19 13:49:18 UTC (rev 236198)
+++ releases/WebKitGTK/webkit-2.22/Source/WebKit/Shared/wpe/WebEventFactory.cpp	2018-09-19 13:49:24 UTC (rev 236199)
@@ -38,10 +38,9 @@
     return keyCode >= WPE_KEY_KP_Space && keyCode <= WPE_KEY_KP_9;
 }
 
-static WebEvent::Modifiers modifiersForEvent(struct wpe_input_keyboard_event* event)
+static WebEvent::Modifiers modifiersForEventModifiers(unsigned eventModifiers)
 {
     unsigned modifiers = 0;
-    unsigned eventModifiers = event->modifiers;
 
     if (eventModifiers & wpe_input_keyboard_modifier_control)
         modifiers |= WebEvent::ControlKey;
@@ -77,7 +76,7 @@
         WebCore::PlatformKeyboardEvent::windowsKeyCodeForWPEKeyCode(event->key_code),
         event->key_code,
         isWPEKeyCodeFromKeyPad(event->key_code),
-        modifiersForEvent(event),
+        modifiersForEventModifiers(event->modifiers),
         wallTimeForEventTime(event->time));
 }
 
@@ -137,11 +136,11 @@
 
     unsigned clickCount = (type == WebEvent::MouseDown) ? 1 : 0;
 
-    // FIXME: Proper button support. Modifiers. deltaX/Y/Z. Click count.
+    // FIXME: Proper button support. deltaX/Y/Z. Click count.
     WebCore::IntPoint position(event->x, event->y);
     position.scale(1 / deviceScaleFactor);
     return WebMouseEvent(type, button, pressedMouseButtons(event->modifiers), position, position,
-        0, 0, 0, clickCount, static_cast<WebEvent::Modifiers>(0), wallTimeForEventTime(event->time));
+        0, 0, 0, clickCount, modifiersForEventModifiers(event->modifiers), wallTimeForEventTime(event->time));
 }
 
 WebWheelEvent WebEventFactory::createWebWheelEvent(struct wpe_input_axis_event* event, float deviceScaleFactor)

Modified: releases/WebKitGTK/webkit-2.22/Tools/ChangeLog (236198 => 236199)


--- releases/WebKitGTK/webkit-2.22/Tools/ChangeLog	2018-09-19 13:49:18 UTC (rev 236198)
+++ releases/WebKitGTK/webkit-2.22/Tools/ChangeLog	2018-09-19 13:49:24 UTC (rev 236199)
@@ -1,3 +1,15 @@
+2018-09-18  Claudio Saavedra  <[email protected]>
+
+        [WPE] Implement mouse event modifiers
+        https://bugs.webkit.org/show_bug.cgi?id=189697
+
+        Reviewed by Carlos Garcia Campos.
+
+        * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
+        (WTR::wkEventModifiersToWPE):
+        (WTR::EventSenderProxy::mouseDown):
+        (WTR::EventSenderProxy::mouseUp):
+
 2018-08-24  Antti Koivisto  <[email protected]>
 
         Allow creating WeakPtrs to const objects

Modified: releases/WebKitGTK/webkit-2.22/Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp (236198 => 236199)


--- releases/WebKitGTK/webkit-2.22/Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp	2018-09-19 13:49:18 UTC (rev 236198)
+++ releases/WebKitGTK/webkit-2.22/Tools/WebKitTestRunner/wpe/EventSenderProxyWPE.cpp	2018-09-19 13:49:24 UTC (rev 236199)
@@ -104,6 +104,21 @@
     RELEASE_ASSERT_NOT_REACHED();
 }
 
+static uint32_t wkEventModifiersToWPE(WKEventModifiers wkModifiers)
+{
+    uint32_t modifiers = 0;
+    if (wkModifiers & kWKEventModifiersShiftKey)
+        modifiers |=  wpe_input_keyboard_modifier_shift;
+    if (wkModifiers & kWKEventModifiersControlKey)
+        modifiers |= wpe_input_keyboard_modifier_control;
+    if (wkModifiers & kWKEventModifiersAltKey)
+        modifiers |= wpe_input_keyboard_modifier_alt;
+    if (wkModifiers & kWKEventModifiersMetaKey)
+        modifiers |= wpe_input_keyboard_modifier_meta;
+
+    return modifiers;
+}
+
 void EventSenderProxy::mouseDown(unsigned button, WKEventModifiers wkModifiers)
 {
     m_clickButton = button;
@@ -113,8 +128,9 @@
 
     auto wpeButton = senderButtonToWPEButton(button);
     m_mouseButtonsCurrentlyDown |= modifierForButton(wpeButton);
+    uint32_t modifiers = wkEventModifiersToWPE(wkModifiers);
 
-    struct wpe_input_pointer_event event { wpe_input_pointer_event_type_button, static_cast<uint32_t>(m_time), static_cast<int>(m_position.x), static_cast<int>(m_position.y), wpeButton, m_buttonState, m_mouseButtonsCurrentlyDown };
+    struct wpe_input_pointer_event event { wpe_input_pointer_event_type_button, static_cast<uint32_t>(m_time), static_cast<int>(m_position.x), static_cast<int>(m_position.y), wpeButton, m_buttonState, m_mouseButtonsCurrentlyDown | modifiers };
     wpe_view_backend_dispatch_pointer_event(m_viewBackend, &event);
 }
 
@@ -125,8 +141,9 @@
 
     auto wpeButton = senderButtonToWPEButton(button);
     m_mouseButtonsCurrentlyDown &= ~modifierForButton(wpeButton);
+    uint32_t modifiers = wkEventModifiersToWPE(wkModifiers);
 
-    struct wpe_input_pointer_event event { wpe_input_pointer_event_type_button, static_cast<uint32_t>(m_time), static_cast<int>(m_position.x), static_cast<int>(m_position.y), wpeButton, m_buttonState, m_mouseButtonsCurrentlyDown };
+    struct wpe_input_pointer_event event { wpe_input_pointer_event_type_button, static_cast<uint32_t>(m_time), static_cast<int>(m_position.x), static_cast<int>(m_position.y), wpeButton, m_buttonState, m_mouseButtonsCurrentlyDown | modifiers };
     wpe_view_backend_dispatch_pointer_event(m_viewBackend, &event);
 }
 
@@ -169,21 +186,6 @@
     m_time += milliseconds / 1000.0;
 }
 
-static uint32_t wkEventModifiersToWPE(WKEventModifiers wkModifiers)
-{
-    uint32_t modifiers = 0;
-    if (wkModifiers & kWKEventModifiersShiftKey)
-        modifiers |=  wpe_input_keyboard_modifier_shift;
-    if (wkModifiers & kWKEventModifiersControlKey)
-        modifiers |= wpe_input_keyboard_modifier_control;
-    if (wkModifiers & kWKEventModifiersAltKey)
-        modifiers |= wpe_input_keyboard_modifier_alt;
-    if (wkModifiers & kWKEventModifiersMetaKey)
-        modifiers |= wpe_input_keyboard_modifier_meta;
-
-    return modifiers;
-}
-
 static uint32_t wpeKeySymForKeyRef(WKStringRef keyRef, unsigned location, uint32_t* modifiers)
 {
     if (location == DOMKeyLocationNumpad) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to