Diff
Modified: trunk/Source/WebCore/ChangeLog (260254 => 260255)
--- trunk/Source/WebCore/ChangeLog 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Source/WebCore/ChangeLog 2020-04-17 15:50:13 UTC (rev 260255)
@@ -1,3 +1,24 @@
+2020-04-17 Claudio Saavedra <[email protected]>
+
+ [GTK] Update for GdkKeymap API changes
+ https://bugs.webkit.org/show_bug.cgi?id=210642
+
+ Reviewed by Adrian Perez de Castro.
+
+ No new tests needed.
+
+ gdk_keymap_get_default() is deprecated in GTK+ 3.22, so use
+ gdk_keymap_get_for_display() instead. Since in GTK4 this method is
+ removed to gdk_display_get_keymap(), add a helper to
+ GtkVersioning.h to avoid cluttering with ifdefs all over the
+ place.
+
+ * platform/gtk/GtkVersioning.h:
+ (gdk_keymap_get_for_display):
+ * platform/gtk/PlatformKeyboardEventGtk.cpp:
+ (WebCore::PlatformKeyboardEvent::currentCapsLockState):
+ (WebCore::PlatformKeyboardEvent::modifiersContainCapsLock):
+
2020-04-17 Oriol Brufau <[email protected]>
Revert "[css-grid] Exclude implicit grid tracks from the resolved value"
Modified: trunk/Source/WebCore/platform/gtk/GtkVersioning.h (260254 => 260255)
--- trunk/Source/WebCore/platform/gtk/GtkVersioning.h 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Source/WebCore/platform/gtk/GtkVersioning.h 2020-04-17 15:50:13 UTC (rev 260255)
@@ -57,4 +57,10 @@
return gtk_init_check();
}
+static inline GdkKeymap*
+gdk_keymap_get_for_display(GdkDisplay *display)
+{
+ return gdk_display_get_keymap(display);
+}
+
#endif // USE(GTK4)
Modified: trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp (260254 => 260255)
--- trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp 2020-04-17 15:50:13 UTC (rev 260255)
@@ -31,6 +31,7 @@
#include "PlatformKeyboardEvent.h"
#include "GtkUtilities.h"
+#include "GtkVersioning.h"
#include "NotImplemented.h"
#include "TextEncoding.h"
#include "WindowsKeyboardCodes.h"
@@ -1341,7 +1342,7 @@
bool PlatformKeyboardEvent::currentCapsLockState()
{
- return gdk_keymap_get_caps_lock_state(gdk_keymap_get_default());
+ return gdk_keymap_get_caps_lock_state(gdk_keymap_get_for_display(gdk_display_get_default()));
}
void PlatformKeyboardEvent::getCurrentModifierState(bool& shiftKey, bool& ctrlKey, bool& altKey, bool& metaKey)
@@ -1369,7 +1370,7 @@
if (!initialized) {
GUniqueOutPtr<GdkKeymapKey> keys;
int entriesCount;
- lockMaskIsCapsLock = gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), GDK_KEY_Caps_Lock, &keys.outPtr(), &entriesCount) && entriesCount;
+ lockMaskIsCapsLock = gdk_keymap_get_entries_for_keyval(gdk_keymap_get_for_display(gdk_display_get_default()), GDK_KEY_Caps_Lock, &keys.outPtr(), &entriesCount) && entriesCount;
}
return lockMaskIsCapsLock;
}
Modified: trunk/Source/WebKit/ChangeLog (260254 => 260255)
--- trunk/Source/WebKit/ChangeLog 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Source/WebKit/ChangeLog 2020-04-17 15:50:13 UTC (rev 260255)
@@ -1,3 +1,21 @@
+2020-04-17 Claudio Saavedra <[email protected]>
+
+ [GTK] Update for GdkKeymap API changes
+ https://bugs.webkit.org/show_bug.cgi?id=210642
+
+ Reviewed by Adrian Perez de Castro.
+
+ No new tests needed.
+
+ gdk_keymap_get_default() is deprecated in GTK+ 3.22, so use
+ gdk_keymap_get_for_display() instead. Since in GTK4 this method is
+ removed to gdk_display_get_keymap(), add a helper to
+ GtkVersioning.h to avoid cluttering with ifdefs all over the
+ place.
+
+ * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:
+ (WebKit::doKeyStrokeEvent):
+
2020-04-17 Antoine Quint <[email protected]>
Allow the UserStyleLevel to be set through _WKUserStyleSheet
Modified: trunk/Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp (260254 => 260255)
--- trunk/Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp 2020-04-17 15:50:13 UTC (rev 260255)
@@ -29,6 +29,7 @@
#include "WebAutomationSessionMacros.h"
#include "WebPageProxy.h"
#include <WebCore/GtkUtilities.h>
+#include <WebCore/GtkVersioning.h>
#include <gtk/gtk.h>
namespace WebKit {
@@ -146,17 +147,19 @@
event->key.window = gtk_widget_get_window(widget);
g_object_ref(event->key.window);
- gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(widget))));
+ GdkDisplay* display = gtk_widget_get_display(widget);
+ gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(display)));
event->key.state = state;
// When synthesizing an event, an invalid hardware_keycode value can cause it to be badly processed by GTK+.
GUniqueOutPtr<GdkKeymapKey> keys;
int keysCount;
- if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), keyVal, &keys.outPtr(), &keysCount) && keysCount)
+ GdkKeymap* keymap = gdk_keymap_get_for_display(display);
+ if (gdk_keymap_get_entries_for_keyval(keymap, keyVal, &keys.outPtr(), &keysCount) && keysCount)
event->key.hardware_keycode = keys.get()[0].keycode;
if (state) {
- gdk_keymap_translate_keyboard_state(gdk_keymap_get_default(), event->key.hardware_keycode, static_cast<GdkModifierType>(state),
+ gdk_keymap_translate_keyboard_state(keymap, event->key.hardware_keycode, static_cast<GdkModifierType>(state),
0, &event->key.keyval, nullptr, nullptr, nullptr);
}
Modified: trunk/Tools/ChangeLog (260254 => 260255)
--- trunk/Tools/ChangeLog 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Tools/ChangeLog 2020-04-17 15:50:13 UTC (rev 260255)
@@ -1,3 +1,25 @@
+2020-04-17 Claudio Saavedra <[email protected]>
+
+ [GTK] Update for GdkKeymap API changes
+ https://bugs.webkit.org/show_bug.cgi?id=210642
+
+ Reviewed by Adrian Perez de Castro.
+
+ No new tests needed.
+
+ gdk_keymap_get_default() is deprecated in GTK+ 3.22, so use
+ gdk_keymap_get_for_display() instead. Since in GTK4 this method is
+ removed to gdk_display_get_keymap(), add a helper to
+ GtkVersioning.h to avoid cluttering with ifdefs all over the
+ place.
+
+ * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
+ (WebViewTest::keyStroke):
+ * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
+ (TestWebKitAPI::doKeyStroke):
+ * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
+ (WTR::EventSenderProxy::keyDown):
+
2020-04-17 Antoine Quint <[email protected]>
Allow the UserStyleLevel to be set through _WKUserStyleSheet
Modified: trunk/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp (260254 => 260255)
--- trunk/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp 2020-04-17 15:50:13 UTC (rev 260255)
@@ -22,6 +22,7 @@
#include "WebViewTest.h"
#include <WebCore/GUniquePtrGtk.h>
+#include <WebCore/GtkVersioning.h>
#include <gtk/gtk.h>
void WebViewTest::platformDestroy()
@@ -142,13 +143,14 @@
event->key.time = GDK_CURRENT_TIME;
event->key.window = gtk_widget_get_window(viewWidget);
g_object_ref(event->key.window);
- gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget))));
+ GdkDisplay* display = gtk_widget_get_display(viewWidget);
+ gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(display)));
event->key.state = keyModifiers;
// When synthesizing an event, an invalid hardware_keycode value can cause it to be badly processed by GTK+.
GUniqueOutPtr<GdkKeymapKey> keys;
int keysCount;
- if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), keyVal, &keys.outPtr(), &keysCount) && keysCount)
+ if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_for_display(display), keyVal, &keys.outPtr(), &keysCount) && keysCount)
event->key.hardware_keycode = keys.get()[0].keycode;
gtk_main_do_event(event.get());
Modified: trunk/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp (260254 => 260255)
--- trunk/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp 2020-04-17 15:50:13 UTC (rev 260255)
@@ -27,6 +27,7 @@
#include "PlatformWebView.h"
#include <WebCore/GUniquePtrGtk.h>
+#include <WebCore/GtkVersioning.h>
#include <WebKit/WKRetainPtr.h>
#include <WebKit/WKView.h>
#include <gtk/gtk.h>
@@ -90,12 +91,13 @@
event->key.state = 0;
event->key.window = gtk_widget_get_window(viewWidget);
g_object_ref(event->key.window);
- gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget))));
+ GdkDisplay* display = gtk_widget_get_display(viewWidget);
+ gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(display)));
// When synthesizing an event, an invalid hardware_keycode value can cause it to be badly processed by GTK+.
GUniqueOutPtr<GdkKeymapKey> keys;
int keysCount;
- if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), keyVal, &keys.outPtr(), &keysCount) && keysCount)
+ if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_for_display(display), keyVal, &keys.outPtr(), &keysCount) && keysCount)
event->key.hardware_keycode = keys.get()[0].keycode;
gtk_main_do_event(event.get());
Modified: trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp (260254 => 260255)
--- trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp 2020-04-17 15:47:39 UTC (rev 260254)
+++ trunk/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp 2020-04-17 15:50:13 UTC (rev 260255)
@@ -36,6 +36,7 @@
#include "PlatformWebView.h"
#include "TestController.h"
#include <WebCore/GtkUtilities.h>
+#include <WebCore/GtkVersioning.h>
#include <WebCore/NotImplemented.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
@@ -303,11 +304,12 @@
pressEvent->key.state = 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_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(pressEvent->key.window))));
+ GdkDisplay* display = gdk_window_get_display(pressEvent->key.window);
+ gdk_event_set_device(pressEvent, gdk_seat_get_pointer(gdk_display_get_default_seat(display)));
GUniqueOutPtr<GdkKeymapKey> keys;
gint nKeys;
- if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), gdkKeySym, &keys.outPtr(), &nKeys) && nKeys)
+ if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_for_display(display), gdkKeySym, &keys.outPtr(), &nKeys) && nKeys)
pressEvent->key.hardware_keycode = keys.get()[0].keycode;
GdkEvent* releaseEvent = gdk_event_copy(pressEvent);