Bug 261674 - [GTK4] NativeWebWheelEvent crashes on wheel event tests
Summary: [GTK4] NativeWebWheelEvent crashes on wheel event tests
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Claudio Saavedra
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-18 04:57 PDT by Claudio Saavedra
Modified: 2023-09-18 10:50 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Claudio Saavedra 2023-09-18 04:57:57 PDT
In the gtk4 port, at least these tests are crashing due to a GdkEvent not being such:

fast/scrolling/scroll-select-list.html
fast/scrolling/gtk/user-scroll-snapping-interaction.html
fast/scrolling/gtk/repeated-mouse-wheel-smooth.html
fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
fast/forms/search/search-scroll-hidden-decoration-container-crash.html
fast/events/wheel/wheelevent-in-horizontal-scrollbar-in-rtl.html
fast/events/wheel/wheelevent-basic.html
fast/events/wheel/wheel-event-outside-body.html
fast/events/wheel/wheel-event-destroys-frame.html
fast/events/wheel/continuous-platform-wheelevent-in-scrolling-div.html
fast/events/remove-child-onscroll.html

The common stacktrace:

#0  g_logv (log_domain=0x7f6df60f0917 "Gdk", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1422
#1  0x00007f6dff93bc53 in g_log (log_domain=log_domain@entry=0x7f6df60f0917 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f6dff99fff7 "%s: assertion '%s' failed") at ../glib/gmessages.c:1460
#2  0x00007f6dff93ce6d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7f6df60f0917 "Gdk", pretty_function=pretty_function@entry=0x7f6df60f67a0 <__func__.57> "gdk_event_get_modifier_state", expression=expression@entry=0x7f6df60f55df "GDK_IS_EVENT (event)") at ../glib/gmessages.c:2930
#3  0x00007f6df5fd0122 in gdk_event_get_modifier_state (event=<optimized out>) at ../gdk/gdkevents.c:1362
#4  0x00007f6dfc316bdf in WebKit::NativeWebWheelEvent::NativeWebWheelEvent(_GdkEvent*, WebCore::IntPoint const&, WebCore::IntPoint const&, WebCore::FloatSize const&, WebCore::FloatSize const&, WebKit::WebWheelEvent::Phase, WebKit::WebWheelEvent::Phase, bool) () at /app/webkit/WebKitBuild/Release/lib/libwebkitgtk-6.0.so.4
#5  0x00007f6dfc4df716 in webkitWebViewBaseSynthesizeWheelEvent(_WebKitWebViewBase*, double, double, int, int, WheelEventPhase, WheelEventPhase, bool) () at /app/webkit/WebKitBuild/Release/lib/libwebkitgtk-6.0.so.4
#6  0x0000556da20b9120 in WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle(OpaqueWKString const*, void const*, OpaqueWKMessageListener const*) ()

Looks like some #ifdef'ing is missing for the GTK4 port, as GdkEvent usage has changed since GTK3. I'll look into it.
Comment 1 Claudio Saavedra 2023-09-18 07:13:33 PDT
Pull request: https://github.com/WebKit/WebKit/pull/17860
Comment 2 EWS 2023-09-18 10:31:01 PDT
Committed 268085@main (ab8e3bcac480): <https://commits.webkit.org/268085@main>

Reviewed commits have been landed. Closing PR #17860 and removing active labels.