WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-210179-20200408130643.patch (text/plain), 12.02 KB, created by
Claudio Saavedra
on 2020-04-08 03:06:45 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Claudio Saavedra
Created:
2020-04-08 03:06:45 PDT
Size:
12.02 KB
patch
obsolete
>Subversion Revision: 259633 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index c609f737d40b16712ff9f987331b6cb79a74416a..a60de0c36c0ccd2d7286f18bf9ef3d3b5eab4401 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,17 @@ >+2020-04-08 Claudio Saavedra <csaavedra@igalia.com> >+ >+ [GTK] Drop usage of deprecated GdkDeviceManager >+ https://bugs.webkit.org/show_bug.cgi?id=210179 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Replace GdkDeviceManager usage for GdkSeat. >+ For GTK4 further changes will be needed but this is a >+ start. >+ >+ * UIProcess/gtk/ViewGestureControllerGtk.cpp: >+ (WebKit::createScrollEvent): >+ > 2020-04-07 Rob Buis <rbuis@igalia.com> > > Use GlobalFrameIdentifier in NavigationAction >diff --git a/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp b/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp >index f829af03ac04143d8394a7e7f8dbddc27e19257d..35359bd7ccb19126bfccc6ff4a838a2174c1b20e 100644 >--- a/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp >+++ b/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp >@@ -535,8 +535,10 @@ static GUniquePtr<GdkEvent> createScrollEvent(GtkWidget* widget, double xDelta, > event->scroll.is_stop = !xDelta && !yDelta; > event->scroll.window = GDK_WINDOW(g_object_ref(window)); > gdk_event_set_screen(event.get(), gdk_window_get_screen(window)); >- gdk_event_set_device(event.get(), gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(window)))); >- gdk_event_set_source_device(event.get(), gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(window)))); >+ >+ GdkDevice* pointer = gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(window))); >+ gdk_event_set_device(event.get(), pointer); >+ gdk_event_set_source_device(event.get(), pointer); > > return event; > } >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 4348ccfaa609b82faf6d7f07304ab74384fa0c5e..1d6b692ca6edbf00b094b0b3c660772644e16b0c 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,30 @@ >+2020-04-08 Claudio Saavedra <csaavedra@igalia.com> >+ >+ [GTK] Drop usage of deprecated GdkDeviceManager >+ https://bugs.webkit.org/show_bug.cgi?id=210179 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Replace GdkDeviceManager usage for GdkSeat. >+ For GTK4 further changes will be needed but this is a >+ start. >+ >+ * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: >+ (WebViewTest::mouseMoveTo): >+ (WebViewTest::keyStroke): >+ (WebViewTest::doMouseButtonEvent): >+ * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp: >+ (TestWebKitAPI::doKeyStroke): >+ (TestWebKitAPI::doMouseButtonEvent): >+ (TestWebKitAPI::PlatformWebView::simulateMouseMove): >+ * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp: >+ (WTR::EventSenderProxy::createMouseButtonEvent): >+ (WTR::EventSenderProxy::keyDown): >+ (WTR::EventSenderProxy::mouseMoveTo): >+ (WTR::EventSenderProxy::mouseScrollBy): >+ (WTR::EventSenderProxy::continuousMouseScrollBy): >+ (WTR::EventSenderProxy::createTouchEvent): >+ > 2020-04-06 Peng Liu <peng.liu6@apple.com> > > REGRESSION (r259531?): [iOS] TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia is timing out >diff --git a/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp b/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp >index bba84b02d966da862ba5c47e043e81e446acb9db..824962624bd55d0cd73381046ad63792e46a0b94 100644 >--- a/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp >+++ b/Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp >@@ -104,7 +104,7 @@ void WebViewTest::mouseMoveTo(int x, int y, unsigned mouseModifiers) > event->motion.time = GDK_CURRENT_TIME; > event->motion.window = gtk_widget_get_window(viewWidget); > g_object_ref(event->motion.window); >- event->motion.device = gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(viewWidget))); >+ event->motion.device = gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget))); > event->motion.state = mouseModifiers; > event->motion.axes = 0; > >@@ -142,7 +142,7 @@ void WebViewTest::keyStroke(unsigned keyVal, unsigned keyModifiers) > 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_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(viewWidget)))); >+ gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget)))); > event->key.state = keyModifiers; > > // When synthesizing an event, an invalid hardware_keycode value can cause it to be badly processed by GTK+. >@@ -173,7 +173,7 @@ void WebViewTest::doMouseButtonEvent(GdkEventType eventType, int x, int y, unsig > event->button.state = mouseModifiers; > event->button.button = button; > >- event->button.device = gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(viewWidget))); >+ event->button.device = gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget))); > > int xRoot, yRoot; > gdk_window_get_root_coords(gtk_widget_get_window(viewWidget), x, y, &xRoot, &yRoot); >diff --git a/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp b/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp >index 17c226bcf9b4158f129c9d7e6b8ce6c68594d0a7..38b2b2e0cd6d5c7cca630ca7da082e471fc12fd5 100644 >--- a/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp >+++ b/Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp >@@ -90,7 +90,7 @@ static void doKeyStroke(GtkWidget* viewWidget, unsigned int keyVal) > 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_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(viewWidget)))); >+ gdk_event_set_device(event.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget)))); > > // When synthesizing an event, an invalid hardware_keycode value can cause it to be badly processed by GTK+. > GUniqueOutPtr<GdkKeymapKey> keys; >@@ -130,7 +130,7 @@ static void doMouseButtonEvent(GtkWidget* viewWidget, GdkEventType eventType, in > event->button.state = 0; > event->button.window = gtk_widget_get_window(viewWidget); > g_object_ref(event->button.window); >- event->button.device = gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(viewWidget))); >+ event->button.device = gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget))); > > int xRoot, yRoot; > gdk_window_get_root_coords(gtk_widget_get_window(viewWidget), x, y, &xRoot, &yRoot); >@@ -162,7 +162,7 @@ void PlatformWebView::simulateMouseMove(unsigned x, unsigned y, WKEventModifiers > gtk_widget_show(m_window); > event->motion.window = gtk_widget_get_window(viewWidget); > g_object_ref(event->motion.window); >- event->motion.device = gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(viewWidget))); >+ event->motion.device = gdk_seat_get_pointer(gdk_display_get_default_seat(gtk_widget_get_display(viewWidget))); > > int xRoot, yRoot; > gdk_window_get_root_coords(gtk_widget_get_window(viewWidget), x, y, &xRoot, &yRoot); >diff --git a/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp b/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp >index 7e95b112cc9c02bfa0d1ddced4d8b632eb30f89c..48a07d0ff91122057fbd9cd4989de84713431d35 100644 >--- a/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp >+++ b/Tools/WebKitTestRunner/gtk/EventSenderProxyGtk.cpp >@@ -127,7 +127,7 @@ GdkEvent* EventSenderProxy::createMouseButtonEvent(GdkEventType eventType, unsig > mouseEvent->button.y = m_position.y; > 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)))); >+ gdk_event_set_device(mouseEvent, gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(mouseEvent->button.window)))); > mouseEvent->button.state = webkitModifiersToGDKModifiers(modifiers) | m_mouseButtonsCurrentlyDown; > mouseEvent->button.time = GDK_CURRENT_TIME; > mouseEvent->button.axes = 0; >@@ -303,7 +303,7 @@ void EventSenderProxy::keyDown(WKStringRef keyRef, WKEventModifiers wkModifiers, > 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_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(pressEvent->key.window)))); >+ gdk_event_set_device(pressEvent, gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(pressEvent->key.window)))); > > GUniqueOutPtr<GdkKeymapKey> keys; > gint nKeys; >@@ -374,7 +374,7 @@ void EventSenderProxy::mouseMoveTo(double x, double y) > event->motion.time = GDK_CURRENT_TIME; > event->motion.window = gtk_widget_get_window(GTK_WIDGET(m_testController->mainWebView()->platformView())); > g_object_ref(event->motion.window); >- gdk_event_set_device(event, gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(event->motion.window)))); >+ gdk_event_set_device(event, gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(event->motion.window)))); > event->motion.state = m_mouseButtonsCurrentlyDown; > event->motion.axes = 0; > >@@ -398,7 +398,7 @@ void EventSenderProxy::mouseScrollBy(int horizontal, int vertical) > event->scroll.time = GDK_CURRENT_TIME; > event->scroll.window = gtk_widget_get_window(GTK_WIDGET(m_testController->mainWebView()->platformView())); > g_object_ref(event->scroll.window); >- gdk_event_set_device(event, gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(event->scroll.window)))); >+ gdk_event_set_device(event, gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(event->scroll.window)))); > > // For more than one tick in a scroll, we need smooth scroll event > if ((horizontal && vertical) || horizontal > 1 || horizontal < -1 || vertical > 1 || vertical < -1) { >@@ -438,7 +438,7 @@ void EventSenderProxy::continuousMouseScrollBy(int horizontal, int vertical, boo > event->scroll.time = GDK_CURRENT_TIME; > event->scroll.window = gtk_widget_get_window(GTK_WIDGET(m_testController->mainWebView()->platformView())); > g_object_ref(event->scroll.window); >- gdk_event_set_device(event, gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(event->scroll.window)))); >+ gdk_event_set_device(event, gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(event->scroll.window)))); > > event->scroll.direction = GDK_SCROLL_SMOOTH; > event->scroll.delta_x = -horizontal / pixelsPerScrollTick; >@@ -481,7 +481,7 @@ GUniquePtr<GdkEvent> EventSenderProxy::createTouchEvent(GdkEventType eventType, > touchEvent->touch.sequence = static_cast<GdkEventSequence*>(GINT_TO_POINTER(id)); > touchEvent->touch.window = gtk_widget_get_window(GTK_WIDGET(m_testController->mainWebView()->platformView())); > g_object_ref(touchEvent->touch.window); >- gdk_event_set_device(touchEvent.get(), gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gdk_window_get_display(touchEvent->button.window)))); >+ gdk_event_set_device(touchEvent.get(), gdk_seat_get_pointer(gdk_display_get_default_seat(gdk_window_get_display(touchEvent->button.window)))); > touchEvent->touch.time = GDK_CURRENT_TIME; > > return touchEvent;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 210179
: 395787