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) {