Diff
Modified: trunk/Source/WebCore/ChangeLog (246493 => 246494)
--- trunk/Source/WebCore/ChangeLog 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebCore/ChangeLog 2019-06-17 08:52:29 UTC (rev 246494)
@@ -1,3 +1,15 @@
+2019-06-17 Carlos Garcia Campos <[email protected]>
+
+ Unreviewed, rolling out r246467.
+
+ It broke scrolling with mouse wheel
+
+ Reverted changeset:
+
+ "[GTK] Stop accessing GdkEvent fields when possible"
+ https://bugs.webkit.org/show_bug.cgi?id=198829
+ https://trac.webkit.org/changeset/246467
+
2019-06-16 Darin Adler <[email protected]>
Convert some uses of fixed width and fixed precision floating point formatting to use shortest instead
Modified: trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp (246493 => 246494)
--- trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -1324,33 +1324,21 @@
static PlatformEvent::Type eventTypeForGdkKeyEvent(GdkEventKey* event)
{
-#if GTK_CHECK_VERSION(3, 10, 0)
- return gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)) == GDK_KEY_RELEASE ? PlatformEvent::KeyUp : PlatformEvent::KeyDown;
-#else
return event->type == GDK_KEY_RELEASE ? PlatformEvent::KeyUp : PlatformEvent::KeyDown;
-#endif
}
static OptionSet<PlatformEvent::Modifier> modifiersForGdkKeyEvent(GdkEventKey* event)
{
- GdkModifierType state;
- guint keyval;
OptionSet<PlatformEvent::Modifier> modifiers;
- gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);
-#ifndef GTK_API_VERSION_2
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
-#else
- keyval = event->keyval;
-#endif
- if (state & GDK_SHIFT_MASK || keyval == GDK_KEY_3270_BackTab)
+ if (event->state & GDK_SHIFT_MASK || event->keyval == GDK_KEY_3270_BackTab)
modifiers.add(PlatformEvent::Modifier::ShiftKey);
- if (state & GDK_CONTROL_MASK)
+ if (event->state & GDK_CONTROL_MASK)
modifiers.add(PlatformEvent::Modifier::ControlKey);
- if (state & GDK_MOD1_MASK)
+ if (event->state & GDK_MOD1_MASK)
modifiers.add(PlatformEvent::Modifier::AltKey);
- if (state & GDK_META_MASK)
+ if (event->state & GDK_META_MASK)
modifiers.add(PlatformEvent::Modifier::MetaKey);
- if (state & GDK_LOCK_MASK)
+ if (event->state & GDK_LOCK_MASK)
modifiers.add(PlatformEvent::Modifier::CapsLockKey);
return modifiers;
}
@@ -1358,30 +1346,19 @@
// Keep this in sync with the other platform event constructors
PlatformKeyboardEvent::PlatformKeyboardEvent(GdkEventKey* event, const CompositionResults& compositionResults)
: PlatformEvent(eventTypeForGdkKeyEvent(event), modifiersForGdkKeyEvent(event), wallTimeForEvent(event))
+ , m_text(compositionResults.simpleString.length() ? compositionResults.simpleString : singleCharacterString(event->keyval))
+ , m_unmodifiedText(m_text)
+ , m_key(keyValueForGdkKeyCode(event->keyval))
+ , m_code(keyCodeForHardwareKeyCode(event->hardware_keycode))
+ , m_keyIdentifier(keyIdentifierForGdkKeyCode(event->keyval))
+ , m_windowsVirtualKeyCode(windowsKeyCodeForGdkKeyCode(event->keyval))
, m_handledByInputMethod(false)
, m_autoRepeat(false)
+ , m_isKeypad(event->keyval >= GDK_KEY_KP_Space && event->keyval <= GDK_KEY_KP_9)
, m_isSystemKey(false)
, m_gdkEventKey(event)
, m_compositionResults(compositionResults)
{
- guint keyval;
- guint16 keycode;
-#ifndef GTK_API_VERSION_2
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
- gdk_event_get_keycode(reinterpret_cast<GdkEvent*>(event), &keycode);
-#else
- keyval = event->keyval;
- keycode = event->hardware_keycode;
-#endif
-
- m_text = compositionResults.simpleString.length() ? compositionResults.simpleString : singleCharacterString(keyval);
- m_unmodifiedText = m_text;
- m_key = keyValueForGdkKeyCode(keyval);
- m_code = keyCodeForHardwareKeyCode(keycode);
- m_keyIdentifier = keyIdentifierForGdkKeyCode(keyval);
- m_windowsVirtualKeyCode = windowsKeyCodeForGdkKeyCode(keyval);
- m_isKeypad = keyval >= GDK_KEY_KP_Space && keyval <= GDK_KEY_KP_9;
-
// To match the behavior of IE, we return VK_PROCESSKEY for keys that triggered composition results.
if (compositionResults.compositionUpdated())
m_windowsVirtualKeyCode = VK_PROCESSKEY;
Modified: trunk/Source/WebCore/platform/gtk/PlatformMouseEventGtk.cpp (246493 => 246494)
--- trunk/Source/WebCore/platform/gtk/PlatformMouseEventGtk.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebCore/platform/gtk/PlatformMouseEventGtk.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -39,64 +39,45 @@
// Keep this in sync with the other platform event constructors
PlatformMouseEvent::PlatformMouseEvent(GdkEventButton* event)
{
- gdouble x, y, rootX, rootY;
- GdkModifierType state;
- guint button;
-
- gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);
- gdk_event_get_root_coords(reinterpret_cast<GdkEvent*>(event), &rootX, &rootY);
- gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);
-#ifndef GTK_API_VERSION_2
- gdk_event_get_button(reinterpret_cast<GdkEvent*>(event), &button);
-#else
- button = event->button;
-#endif
-
m_timestamp = wallTimeForEvent(event);
- m_position = IntPoint(static_cast<int>(x), static_cast<int>(y));
- m_globalPosition = IntPoint(static_cast<int>(rootX), static_cast<int>(rootY));
+ m_position = IntPoint((int)event->x, (int)event->y);
+ m_globalPosition = IntPoint((int)event->x_root, (int)event->y_root);
m_button = NoButton;
m_clickCount = 0;
m_modifierFlags = 0;
- if (state & GDK_SHIFT_MASK)
+ if (event->state & GDK_SHIFT_MASK)
m_modifiers.add(PlatformEvent::Modifier::ShiftKey);
- if (state & GDK_CONTROL_MASK)
+ if (event->state & GDK_CONTROL_MASK)
m_modifiers.add(PlatformEvent::Modifier::ControlKey);
- if (state & GDK_MOD1_MASK)
+ if (event->state & GDK_MOD1_MASK)
m_modifiers.add(PlatformEvent::Modifier::AltKey);
- if (state & GDK_META_MASK)
+ if (event->state & GDK_META_MASK)
m_modifiers.add(PlatformEvent::Modifier::MetaKey);
- if (PlatformKeyboardEvent::modifiersContainCapsLock(state))
+ if (PlatformKeyboardEvent::modifiersContainCapsLock(event->state))
m_modifiers.add(PlatformEvent::Modifier::CapsLockKey);
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event));
-#else
- GdkEventType type = event->type;
-#endif
-
- switch (type) {
+ switch (event->type) {
case GDK_BUTTON_PRESS:
case GDK_2BUTTON_PRESS:
case GDK_3BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
m_type = PlatformEvent::MousePressed;
- if (type == GDK_BUTTON_RELEASE) {
+ if (event->type == GDK_BUTTON_RELEASE) {
m_type = PlatformEvent::MouseReleased;
m_clickCount = 0;
- } else if (type == GDK_BUTTON_PRESS)
+ } else if (event->type == GDK_BUTTON_PRESS)
m_clickCount = 1;
- else if (type == GDK_2BUTTON_PRESS)
+ else if (event->type == GDK_2BUTTON_PRESS)
m_clickCount = 2;
- else if (type == GDK_3BUTTON_PRESS)
+ else if (event->type == GDK_3BUTTON_PRESS)
m_clickCount = 3;
- if (button == 1)
+ if (event->button == 1)
m_button = LeftButton;
- else if (button == 2)
+ else if (event->button == 2)
m_button = MiddleButton;
- else if (button == 3)
+ else if (event->button == 3)
m_button = RightButton;
break;
@@ -107,36 +88,25 @@
PlatformMouseEvent::PlatformMouseEvent(GdkEventMotion* motion)
{
- gdouble x, y, rootX, rootY;
- GdkModifierType state;
- gdk_event_get_coords(reinterpret_cast<GdkEvent*>(motion), &x, &y);
- gdk_event_get_root_coords(reinterpret_cast<GdkEvent*>(motion), &rootX, &rootY);
- gdk_event_get_state(reinterpret_cast<GdkEvent*>(motion), &state);
- m_position = IntPoint(static_cast<int>(x), static_cast<int>(y));
- m_globalPosition = IntPoint(static_cast<int>(rootX), static_cast<int>(rootY));
m_timestamp = wallTimeForEvent(motion);
+ m_position = IntPoint((int)motion->x, (int)motion->y);
+ m_globalPosition = IntPoint((int)motion->x_root, (int)motion->y_root);
m_button = NoButton;
m_clickCount = 0;
m_modifierFlags = 0;
- if (state & GDK_SHIFT_MASK)
+ if (motion->state & GDK_SHIFT_MASK)
m_modifiers.add(PlatformEvent::Modifier::ShiftKey);
- if (state & GDK_CONTROL_MASK)
+ if (motion->state & GDK_CONTROL_MASK)
m_modifiers.add(PlatformEvent::Modifier::ControlKey);
- if (state & GDK_MOD1_MASK)
+ if (motion->state & GDK_MOD1_MASK)
m_modifiers.add(PlatformEvent::Modifier::AltKey);
- if (state & GDK_META_MASK)
+ if (motion->state & GDK_META_MASK)
m_modifiers.add(PlatformEvent::Modifier::MetaKey);
- if (PlatformKeyboardEvent::modifiersContainCapsLock(state))
+ if (PlatformKeyboardEvent::modifiersContainCapsLock(motion->state))
m_modifiers.add(PlatformEvent::Modifier::CapsLockKey);
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(motion));
-#else
- GdkEventType type = motion->type;
-#endif
-
- switch (type) {
+ switch (motion->type) {
case GDK_MOTION_NOTIFY:
m_type = PlatformEvent::MouseMoved;
m_button = NoButton;
@@ -146,11 +116,11 @@
ASSERT_NOT_REACHED();
};
- if (state & GDK_BUTTON1_MASK)
+ if (motion->state & GDK_BUTTON1_MASK)
m_button = LeftButton;
- else if (state & GDK_BUTTON2_MASK)
+ else if (motion->state & GDK_BUTTON2_MASK)
m_button = MiddleButton;
- else if (state & GDK_BUTTON3_MASK)
+ else if (motion->state & GDK_BUTTON3_MASK)
m_button = RightButton;
}
}
Modified: trunk/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp (246493 => 246494)
--- trunk/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -42,34 +42,26 @@
PlatformWheelEvent::PlatformWheelEvent(GdkEventScroll* event)
{
static const float delta = 1;
- GdkModifierType state;
m_type = PlatformEvent::Wheel;
m_timestamp = wallTimeForEvent(event);
- gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);
- if (state & GDK_SHIFT_MASK)
+ if (event->state & GDK_SHIFT_MASK)
m_modifiers.add(Modifier::ShiftKey);
- if (state & GDK_CONTROL_MASK)
+ if (event->state & GDK_CONTROL_MASK)
m_modifiers.add(Modifier::ControlKey);
- if (state & GDK_MOD1_MASK)
+ if (event->state & GDK_MOD1_MASK)
m_modifiers.add(Modifier::AltKey);
- if (state & GDK_META_MASK)
+ if (event->state & GDK_META_MASK)
m_modifiers.add(Modifier::MetaKey);
- if (PlatformKeyboardEvent::modifiersContainCapsLock(state))
+ if (PlatformKeyboardEvent::modifiersContainCapsLock(event->state))
m_modifiers.add(PlatformEvent::Modifier::CapsLockKey);
m_deltaX = 0;
m_deltaY = 0;
- GdkScrollDirection direction;
-#ifndef GTK_API_VERSION_2
- gdk_event_get_scroll_direction(reinterpret_cast<GdkEvent*>(event), &direction);
-#else
- direction = event->direction;
-#endif
// Docs say an upwards scroll (away from the user) has a positive delta
- switch (direction) {
+ switch (event->direction) {
case GDK_SCROLL_UP:
m_deltaY = delta;
break;
@@ -98,11 +90,11 @@
#if ENABLE(ASYNC_SCROLLING)
#ifndef GTK_API_VERSION_2
#if GTK_CHECK_VERSION(3, 20, 0)
- m_phase = gdk_event_is_scroll_stop_event(reinterpret_cast<GdkEvent*>(event)) ?
+ m_phase = event->is_stop ?
PlatformWheelEventPhaseEnded :
PlatformWheelEventPhaseChanged;
#else
- m_phase = direction == GDK_SCROLL_SMOOTH && !m_deltaX && !m_deltaY ?
+ m_phase = event->direction == GDK_SCROLL_SMOOTH && !m_deltaX && !m_deltaY ?
PlatformWheelEventPhaseEnded :
PlatformWheelEventPhaseChanged;
#endif
@@ -111,12 +103,8 @@
#endif // GTK_API_VERSION_2
#endif // ENABLE(ASYNC_SCROLLING)
- gdouble x, y, rootX, rootY;
- gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);
- gdk_event_get_root_coords(reinterpret_cast<GdkEvent*>(event), &rootX, &rootY);
-
- m_position = IntPoint(static_cast<int>(x), static_cast<int>(y));
- m_globalPosition = IntPoint(static_cast<int>(rootX), static_cast<int>(rootY));
+ m_position = IntPoint(static_cast<int>(event->x), static_cast<int>(event->y));
+ m_globalPosition = IntPoint(static_cast<int>(event->x_root), static_cast<int>(event->y_root));
m_granularity = ScrollByPixelWheelEvent;
m_directionInvertedFromDevice = false;
Modified: trunk/Source/WebKit/ChangeLog (246493 => 246494)
--- trunk/Source/WebKit/ChangeLog 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/ChangeLog 2019-06-17 08:52:29 UTC (rev 246494)
@@ -1,3 +1,15 @@
+2019-06-17 Carlos Garcia Campos <[email protected]>
+
+ Unreviewed, rolling out r246467.
+
+ It broke scrolling with mouse wheel
+
+ Reverted changeset:
+
+ "[GTK] Stop accessing GdkEvent fields when possible"
+ https://bugs.webkit.org/show_bug.cgi?id=198829
+ https://trac.webkit.org/changeset/246467
+
2019-06-16 Darin Adler <[email protected]>
Rename AtomicString to AtomString
Modified: trunk/Source/WebKit/Shared/gtk/WebEventFactory.cpp (246493 => 246494)
--- trunk/Source/WebKit/Shared/gtk/WebEventFactory.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/Shared/gtk/WebEventFactory.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -73,12 +73,8 @@
static inline WebMouseEvent::Button buttonForEvent(const GdkEvent* event)
{
unsigned button = 0;
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(event);
-#else
- GdkEventType type = event->type;
-#endif
- switch (type) {
+
+ switch (event->type) {
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
case GDK_MOTION_NOTIFY: {
@@ -97,17 +93,11 @@
case GDK_2BUTTON_PRESS:
case GDK_3BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
- guint eventButton;
-#ifndef GTK_API_VERSION_2
- gdk_event_get_button(event, &eventButton);
-#else
- eventButton = event->button;
-#endif
- if (eventButton == 1)
+ if (event->button.button == 1)
button = WebMouseEvent::LeftButton;
- else if (eventButton == 2)
+ else if (event->button.button == 2)
button = WebMouseEvent::MiddleButton;
- else if (eventButton == 3)
+ else if (event->button.button == 3)
button = WebMouseEvent::RightButton;
break;
default:
@@ -151,21 +141,8 @@
GdkModifierType state = static_cast<GdkModifierType>(0);
gdk_event_get_state(event, &state);
- guint eventButton;
-#ifndef GTK_API_VERSION_2
- gdk_event_get_button(event, &eventButton);
-#else
- eventButton = event->button;
-#endif
-
WebEvent::Type type = static_cast<WebEvent::Type>(0);
-
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType eventType = gdk_event_get_event_type(event);
-#else
- GdkEventType eventType = event->type;
-#endif
- switch (eventType) {
+ switch (event->type) {
case GDK_MOTION_NOTIFY:
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
@@ -175,13 +152,13 @@
case GDK_2BUTTON_PRESS:
case GDK_3BUTTON_PRESS: {
type = WebEvent::MouseDown;
- auto modifier = stateModifierForGdkButton(eventButton);
+ auto modifier = stateModifierForGdkButton(event->button.button);
state = static_cast<GdkModifierType>(state | modifier);
break;
}
case GDK_BUTTON_RELEASE: {
type = WebEvent::MouseUp;
- auto modifier = stateModifierForGdkButton(eventButton);
+ auto modifier = stateModifierForGdkButton(event->button.button);
state = static_cast<GdkModifierType>(state & ~modifier);
break;
}
@@ -226,17 +203,11 @@
WebWheelEvent WebEventFactory::createWebWheelEvent(const GdkEvent* event, WebWheelEvent::Phase phase, WebWheelEvent::Phase momentumPhase)
{
double x, y, xRoot, yRoot;
- GdkScrollDirection direction;
gdk_event_get_coords(event, &x, &y);
gdk_event_get_root_coords(event, &xRoot, &yRoot);
-#ifndef GTK_API_VERSION_2
- gdk_event_get_scroll_direction(event, &direction);
-#else
- direction = event->direction;
-#endif
FloatSize wheelTicks;
- switch (direction) {
+ switch (event->scroll.direction) {
case GDK_SCROLL_UP:
wheelTicks = FloatSize(0, 1);
break;
@@ -280,32 +251,17 @@
WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(const GdkEvent* event, const WebCore::CompositionResults& compositionResults, Vector<String>&& commands)
{
- guint keyval;
- guint16 keycode;
-#ifndef GTK_API_VERSION_2
- gdk_event_get_keyval(event, &keyval);
- gdk_event_get_keycode(event, &keycode);
-#else
- keyval = event->keyval;
- keycode = event->hardware_keycode;
-#endif
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(event);
-#else
- GdkEventType type = event->type;
-#endif
-
return WebKeyboardEvent(
- type == GDK_KEY_RELEASE ? WebEvent::KeyUp : WebEvent::KeyDown,
- compositionResults.simpleString.length() ? compositionResults.simpleString : PlatformKeyboardEvent::singleCharacterString(keyval),
- PlatformKeyboardEvent::keyValueForGdkKeyCode(keyval),
- PlatformKeyboardEvent::keyCodeForHardwareKeyCode(keycode),
- PlatformKeyboardEvent::keyIdentifierForGdkKeyCode(keyval),
- PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode(keyval),
- static_cast<int>(keyval),
+ event->type == GDK_KEY_RELEASE ? WebEvent::KeyUp : WebEvent::KeyDown,
+ compositionResults.simpleString.length() ? compositionResults.simpleString : PlatformKeyboardEvent::singleCharacterString(event->key.keyval),
+ PlatformKeyboardEvent::keyValueForGdkKeyCode(event->key.keyval),
+ PlatformKeyboardEvent::keyCodeForHardwareKeyCode(event->key.hardware_keycode),
+ PlatformKeyboardEvent::keyIdentifierForGdkKeyCode(event->key.keyval),
+ PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode(event->key.keyval),
+ static_cast<int>(event->key.keyval),
compositionResults.compositionUpdated(),
WTFMove(commands),
- isGdkKeyCodeFromKeyPad(keyval),
+ isGdkKeyCodeFromKeyPad(event->key.keyval),
modifiersForEvent(event),
wallTimeForEvent(event));
}
@@ -315,12 +271,7 @@
{
#ifndef GTK_API_VERSION_2
WebEvent::Type type = WebEvent::NoType;
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType eventType = gdk_event_get_event_type(event);
-#else
- GdkEventType eventType = event->type;
-#endif
- switch (eventType) {
+ switch (event->type) {
case GDK_TOUCH_BEGIN:
type = WebEvent::TouchStart;
break;
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitEmojiChooser.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitEmojiChooser.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitEmojiChooser.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -92,7 +92,7 @@
static void emojiHovered(GtkWidget* widget, GdkEvent* event)
{
- if (gdk_event_get_event_type(event) == GDK_ENTER_NOTIFY)
+ if (event->type == GDK_ENTER_NOTIFY)
gtk_widget_set_state_flags(widget, GTK_STATE_FLAG_PRELIGHT, FALSE);
else
gtk_widget_unset_state_flags(widget, GTK_STATE_FLAG_PRELIGHT);
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitScriptDialogImpl.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitScriptDialogImpl.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitScriptDialogImpl.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -46,9 +46,7 @@
static gboolean webkitScriptDialogImplKeyPressEvent(GtkWidget* widget, GdkEventKey* keyEvent)
{
- guint keyval;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(keyEvent), &keyval);
- if (keyval == GDK_KEY_Escape) {
+ if (keyEvent->keyval == GDK_KEY_Escape) {
webkitScriptDialogImplClose(WEBKIT_SCRIPT_DIALOG_IMPL(widget));
return GDK_EVENT_STOP;
}
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -118,27 +118,19 @@
eventTime = (timeValue.tv_sec * 1000) + (timeValue.tv_usec / 1000);
}
- GdkEventType type;
- guint button;
- double x, y;
- gdk_event_get_coords(event, &x, &y);
- gdk_event_get_button(event, &button);
-#if GTK_CHECK_VERSION(3, 10, 0)
- type = gdk_event_get_event_type(event);
-#else
- type = event->type;
-#endif
- if ((type == GDK_2BUTTON_PRESS || type == GDK_3BUTTON_PRESS)
- || ((std::abs(x - previousClickPoint.x()) < doubleClickDistance)
- && (std::abs(y - previousClickPoint.y()) < doubleClickDistance)
+ if ((event->type == GDK_2BUTTON_PRESS || event->type == GDK_3BUTTON_PRESS)
+ || ((std::abs(event->button.x - previousClickPoint.x()) < doubleClickDistance)
+ && (std::abs(event->button.y - previousClickPoint.y()) < doubleClickDistance)
&& (eventTime - previousClickTime < static_cast<unsigned>(doubleClickTime))
- && (button == previousClickButton)))
+ && (event->button.button == previousClickButton)))
currentClickCount++;
else
currentClickCount = 1;
+ double x, y;
+ gdk_event_get_coords(event, &x, &y);
previousClickPoint = IntPoint(x, y);
- previousClickButton = button;
+ previousClickButton = event->button.button;
previousClickTime = eventTime;
return currentClickCount;
@@ -747,13 +739,8 @@
WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget);
WebKitWebViewBasePrivate* priv = webViewBase->priv;
- GdkModifierType state;
- guint keyval;
- gdk_event_get_state(reinterpret_cast<GdkEvent*>(keyEvent), &state);
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(keyEvent), &keyval);
-
#if ENABLE(DEVELOPER_MODE) && OS(LINUX)
- if ((state & GDK_CONTROL_MASK) && (state & GDK_SHIFT_MASK) && keyval == GDK_KEY_G) {
+ if ((keyEvent->state & GDK_CONTROL_MASK) && (keyEvent->state & GDK_SHIFT_MASK) && keyEvent->keyval == GDK_KEY_G) {
auto& preferences = priv->pageProxy->preferences();
preferences.setResourceUsageOverlayVisible(!preferences.resourceUsageOverlayVisible());
priv->shouldForwardNextKeyEvent = FALSE;
@@ -766,7 +753,7 @@
#if ENABLE(FULLSCREEN_API)
if (priv->fullScreenModeActive) {
- switch (keyval) {
+ switch (keyEvent->keyval) {
case GDK_KEY_Escape:
case GDK_KEY_f:
case GDK_KEY_F:
@@ -822,12 +809,8 @@
ASSERT(!priv->dialog);
int clickCount = 0;
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType eventType = gdk_event_get_event_type(event);
-#else
- GdkEventType eventType = event->type;
-#endif
- switch (eventType) {
+
+ switch (event->type) {
case GDK_BUTTON_PRESS:
case GDK_2BUTTON_PRESS:
case GDK_3BUTTON_PRESS: {
@@ -842,10 +825,8 @@
priv->inputMethodFilter.notifyMouseButtonPress();
- guint button;
- gdk_event_get_button(event, &button);
// If it's a right click event save it as a possible context menu event.
- if (button == GDK_BUTTON_SECONDARY)
+ if (event->button.button == GDK_BUTTON_SECONDARY)
priv->contextMenuEvent.reset(gdk_event_copy(event));
clickCount = priv->clickCounter.currentClickCountForGdkButtonEvent(event);
@@ -994,12 +975,10 @@
// because those coordinates are inside the web view.
GtkAllocation allocation;
gtk_widget_get_allocation(widget, &allocation);
- double xEvent, yEvent;
- gdk_event_get_coords(reinterpret_cast<GdkEvent*>(crossingEvent), &xEvent, &yEvent);
double width = allocation.width;
double height = allocation.height;
- double x = xEvent;
- double y = yEvent;
+ double x = crossingEvent->x;
+ double y = crossingEvent->y;
if (x < 0 && x > -1)
x = -1;
else if (x >= width && x < width + 1)
@@ -1011,7 +990,7 @@
GdkEvent* event = reinterpret_cast<GdkEvent*>(crossingEvent);
GUniquePtr<GdkEvent> copiedEvent;
- if (x != xEvent || y != yEvent) {
+ if (x != crossingEvent->x || y != crossingEvent->y) {
copiedEvent.reset(gdk_event_copy(event));
copiedEvent->crossing.x = x;
copiedEvent->crossing.y = y;
@@ -1057,12 +1036,7 @@
static void webkitWebViewBaseGetTouchPointsForEvent(WebKitWebViewBase* webViewBase, GdkEvent* event, Vector<WebPlatformTouchPoint>& touchPoints)
{
WebKitWebViewBasePrivate* priv = webViewBase->priv;
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(event);
-#else
- GdkEventType type = event->type;
-#endif
- bool touchEnd = (type == GDK_TOUCH_END) || (type == GDK_TOUCH_CANCEL);
+ bool touchEnd = (event->type == GDK_TOUCH_END) || (event->type == GDK_TOUCH_CANCEL);
touchPoints.reserveInitialCapacity(touchEnd ? priv->touchEvents.size() + 1 : priv->touchEvents.size());
for (const auto& it : priv->touchEvents)
@@ -1084,12 +1058,7 @@
GdkEvent* touchEvent = reinterpret_cast<GdkEvent*>(event);
uint32_t sequence = GPOINTER_TO_UINT(gdk_event_get_event_sequence(touchEvent));
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(touchEvent);
-#else
- GdkEventType type = touchEvent->type
-#endif
- switch (type) {
+ switch (touchEvent->type) {
case GDK_TOUCH_BEGIN: {
ASSERT(!priv->touchEvents.contains(sequence));
GUniquePtr<GdkEvent> event(gdk_event_copy(touchEvent));
@@ -1208,9 +1177,7 @@
void swipe(GdkEventTouch* event, const FloatPoint& velocity) final
{
- double x, y;
- gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);
- GUniquePtr<GdkEvent> scrollEvent = createScrollEvent(event, FloatPoint::narrowPrecision(x, y), velocity, true);
+ GUniquePtr<GdkEvent> scrollEvent = createScrollEvent(event, FloatPoint::narrowPrecision(event->x, event->y), velocity, true);
webkitWebViewBaseHandleWheelEvent(m_webView, scrollEvent.get(), WebWheelEvent::Phase::PhaseNone, WebWheelEvent::Phase::PhaseBegan);
}
@@ -1311,13 +1278,9 @@
static gboolean webkitWebViewBaseEvent(GtkWidget* widget, GdkEvent* event)
{
#if HAVE(GTK_GESTURES)
-#if GTK_CHECK_VERSION(3, 10, 0)
- if (gdk_event_get_event_type(event) == GDK_TOUCHPAD_PINCH)
-#else
if (event->type == GDK_TOUCHPAD_PINCH)
-#endif // GTK_CHECK_VERSION(3, 10, 0)
webkitWebViewBaseGestureController(WEBKIT_WEB_VIEW_BASE(widget)).handleEvent(event);
-#endif // HAVE(GTK_GESTURES)
+#endif
return GDK_EVENT_PROPAGATE;
}
Modified: trunk/Source/WebKit/UIProcess/gtk/GestureController.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/gtk/GestureController.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/gtk/GestureController.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -53,11 +53,7 @@
m_swipeGesture.handleEvent(event);
m_zoomGesture.handleEvent(event);
m_longpressGesture.handleEvent(event);
-#if GTK_CHECK_VERSION(3, 10, 0)
- touchEnd = (gdk_event_get_event_type(event) == GDK_TOUCH_END) || (gdk_event_get_event_type(event) == GDK_TOUCH_CANCEL);
-#else
touchEnd = (event->type == GDK_TOUCH_END) || (event->type == GDK_TOUCH_CANCEL);
-#endif
return touchEnd ? wasProcessingGestures : isProcessingGestures();
}
Modified: trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -198,14 +198,7 @@
bool justSentFakeKeyUp = m_justSentFakeKeyUp;
m_justSentFakeKeyUp = false;
- guint keyval;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
-#if GTK_CHECK_VERSION(3, 10, 0)
- GdkEventType type = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event));
-#else
- GdkEventType type = event->type;
-#endif
- if (justSentFakeKeyUp && type == GDK_KEY_RELEASE)
+ if (justSentFakeKeyUp && event->type == GDK_KEY_RELEASE)
return;
// Simple input methods work such that even normal keystrokes fire the
@@ -217,10 +210,10 @@
return;
}
- if (filtered && type == GDK_KEY_PRESS) {
+ if (filtered && event->type == GDK_KEY_PRESS) {
if (!m_preeditChanged && m_confirmedComposition.isNull()) {
m_composingTextCurrently = true;
- m_lastFilteredKeyPressCodeWithNoResults = keyval;
+ m_lastFilteredKeyPressCodeWithNoResults = event->keyval;
return;
}
@@ -234,7 +227,7 @@
// If we previously filtered a key press event and it yielded no results. Suppress
// the corresponding key release event to avoid confusing the web content.
- if (type == GDK_KEY_RELEASE && lastFilteredKeyPressCodeWithNoResults == keyval)
+ if (event->type == GDK_KEY_RELEASE && lastFilteredKeyPressCodeWithNoResults == event->keyval)
return;
// At this point a keystroke was either:
@@ -450,31 +443,19 @@
#if ENABLE(API_TESTS)
void InputMethodFilter::logHandleKeyboardEventForTesting(GdkEventKey* event, const String& eventString, EventFakedForComposition faked)
{
- guint keyval;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
-#if GTK_CHECK_VERSION(3, 10, 0)
- const char* eventType = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)) == GDK_KEY_RELEASE ? "release" : "press";
-#else
const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press";
-#endif
const char* fakedString = faked == EventFaked ? " (faked)" : "";
if (!eventString.isNull())
- m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex(keyval), " text='", eventString, '\'', fakedString));
+ m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex(event->keyval), " text='", eventString, '\'', fakedString));
else
- m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex(keyval), fakedString));
+ m_events.append(makeString("sendSimpleKeyEvent type=", eventType, " keycode=", hex(event->keyval), fakedString));
}
void InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting(GdkEventKey* event, ResultsToSend resultsToSend, EventFakedForComposition faked)
{
- guint keyval;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
-#if GTK_CHECK_VERSION(3, 10, 0)
- const char* eventType = gdk_event_get_event_type(reinterpret_cast<GdkEvent*>(event)) == GDK_KEY_RELEASE ? "release" : "press";
-#else
const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press";
-#endif
const char* fakedString = faked == EventFaked ? " (faked)" : "";
- m_events.append(makeString("sendKeyEventWithCompositionResults type=", eventType, " keycode=", hex(keyval), fakedString));
+ m_events.append(makeString("sendKeyEventWithCompositionResults type=", eventType, " keycode=", hex(event->keyval), fakedString));
if (resultsToSend & Composition && !m_confirmedComposition.isNull())
logConfirmCompositionForTesting();
Modified: trunk/Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -205,21 +205,16 @@
{
ASSERT(m_pendingEditorCommands.isEmpty());
- guint keyval;
- GdkModifierType state;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
- gdk_event_get_state(reinterpret_cast<GdkEvent*>(event), &state);
-
gtk_bindings_activate_event(G_OBJECT(m_nativeWidget.get()), event);
if (!m_pendingEditorCommands.isEmpty())
return WTFMove(m_pendingEditorCommands);
// Special-case enter keys for we want them to work regardless of modifier.
- if ((keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter || keyval == GDK_KEY_ISO_Enter))
+ if ((event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter || event->keyval == GDK_KEY_ISO_Enter))
return { "InsertNewLine" };
// For keypress events, we want charCode(), but keyCode() does that.
- unsigned mapKey = state << 16 | keyval;
+ unsigned mapKey = event->state << 16 | event->keyval;
if (!mapKey)
return { };
Modified: trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -55,7 +55,7 @@
static bool isEventStop(GdkEventScroll* event)
{
#if GTK_CHECK_VERSION(3, 20, 0)
- return gdk_event_is_scroll_stop_event(reinterpret_cast<GdkEvent*>(event));
+ return event->is_stop;
#else
return !event->delta_x && !event->delta_y;
#endif
@@ -83,12 +83,10 @@
{
GdkDevice* device = gdk_event_get_source_device(reinterpret_cast<GdkEvent*>(event));
GdkInputSource source = gdk_device_get_source(device);
- GdkScrollDirection direction;
- gdk_event_get_scroll_direction(reinterpret_cast<GdkEvent*>(event), &direction);
// FIXME: Should it maybe be allowed on mice/trackpoints as well? The GDK_SCROLL_SMOOTH
// requirement already filters out most mice, and it works pretty well on a trackpoint
- return direction == GDK_SCROLL_SMOOTH && (source == GDK_SOURCE_TOUCHPAD || source == GDK_SOURCE_TOUCHSCREEN);
+ return event->direction == GDK_SCROLL_SMOOTH && (source == GDK_SOURCE_TOUCHPAD || source == GDK_SOURCE_TOUCHSCREEN);
}
static bool isTouchEvent(GdkEventScroll* event)
@@ -102,11 +100,9 @@
FloatSize ViewGestureController::PendingSwipeTracker::scrollEventGetScrollingDeltas(GdkEventScroll* event)
{
double multiplier = isTouchEvent(event) ? Scrollbar::pixelsPerLineStep() : gtkScrollDeltaMultiplier;
- double xDelta, yDelta;
- gdk_event_get_scroll_deltas(reinterpret_cast<GdkEvent*>(event), &xDelta, &yDelta);
// GdkEventScroll deltas are inverted compared to NSEvent, so invert them again
- return -FloatSize(xDelta, yDelta) * multiplier;
+ return -FloatSize(event->delta_x, event->delta_y) * multiplier;
}
bool ViewGestureController::handleScrollWheelEvent(GdkEventScroll* event)
@@ -187,17 +183,13 @@
return false;
}
- uint32_t eventTime = gdk_event_get_time(reinterpret_cast<GdkEvent*>(event));
- double eventDeltaX;
- gdk_event_get_scroll_deltas(reinterpret_cast<GdkEvent*>(event), &eventDeltaX, nullptr);
-
- double deltaX = -eventDeltaX;
+ double deltaX = -event->delta_x;
if (isTouchEvent(event))
deltaX *= (double) Scrollbar::pixelsPerLineStep() / m_webPageProxy.viewSize().width();
else
deltaX *= gtkScrollDeltaMultiplier / swipeTouchpadBaseWidth;
- Seconds time = Seconds::fromMilliseconds(eventTime);
+ Seconds time = Seconds::fromMilliseconds(event->time);
if (time != m_prevTime)
m_velocity = deltaX / (time - m_prevTime).milliseconds();
Modified: trunk/Source/WebKit/UIProcess/gtk/WebPopupMenuProxyGtk.cpp (246493 => 246494)
--- trunk/Source/WebKit/UIProcess/gtk/WebPopupMenuProxyGtk.cpp 2019-06-17 08:33:50 UTC (rev 246493)
+++ trunk/Source/WebKit/UIProcess/gtk/WebPopupMenuProxyGtk.cpp 2019-06-17 08:52:29 UTC (rev 246494)
@@ -95,15 +95,11 @@
gboolean WebPopupMenuProxyGtk::treeViewButtonReleaseEventCallback(GtkWidget* treeView, GdkEventButton* event, WebPopupMenuProxyGtk* popupMenu)
{
- guint button;
- gdk_event_get_button(reinterpret_cast<GdkEvent*>(event), &button);
- if (button != GDK_BUTTON_PRIMARY)
+ if (event->button != GDK_BUTTON_PRIMARY)
return FALSE;
- double x, y;
- gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y);
GUniqueOutPtr<GtkTreePath> path;
- if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeView), x, y, &path.outPtr(), nullptr, nullptr, nullptr))
+ if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeView), event->x, event->y, &path.outPtr(), nullptr, nullptr, nullptr))
return FALSE;
return popupMenu->activateItemAtPath(path.get());
@@ -123,9 +119,7 @@
if (!popupMenu->m_device)
return FALSE;
- guint keyval;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
- if (keyval == GDK_KEY_Escape) {
+ if (event->keyval == GDK_KEY_Escape) {
popupMenu->hidePopupMenu();
return TRUE;
}
@@ -376,22 +370,19 @@
Optional<unsigned> WebPopupMenuProxyGtk::typeAheadFindIndex(GdkEventKey* event)
{
- guint keyval;
- gdk_event_get_keyval(reinterpret_cast<GdkEvent*>(event), &keyval);
- gunichar keychar = gdk_keyval_to_unicode(keyval);
+ gunichar keychar = gdk_keyval_to_unicode(event->keyval);
if (!g_unichar_isprint(keychar))
return WTF::nullopt;
- uint32_t time = gdk_event_get_time(reinterpret_cast<GdkEvent*>(event));
- if (time < m_previousKeyEventTime)
+ if (event->time < m_previousKeyEventTime)
return WTF::nullopt;
static const uint32_t typeaheadTimeoutMs = 1000;
- if (time - m_previousKeyEventTime > typeaheadTimeoutMs) {
+ if (event->time - m_previousKeyEventTime > typeaheadTimeoutMs) {
if (m_currentSearchString)
g_string_truncate(m_currentSearchString, 0);
}
- m_previousKeyEventTime = time;
+ m_previousKeyEventTime = event->time;
if (!m_currentSearchString)
m_currentSearchString = g_string_new(nullptr);