Branch: refs/heads/webkitglib/2.42 Home: https://github.com/WebKit/WebKit Commit: 530aebcff409d721f8af115bbe97ef27f237976c https://github.com/WebKit/WebKit/commit/530aebcff409d721f8af115bbe97ef27f237976c Author: Patrick Griffis <pgrif...@igalia.com> Date: 2024-02-07 (Wed, 07 Feb 2024)
Changed paths: M Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp Log Message: ----------- Cherry-pick 274137@main (51e2f83568c5). <bug> Unreviewed, [GLib] Fix incorrect format string %lu is incorrect on some platforms. PRIu64 is defined for this. * Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp: (WebKit::bubblewrapSpawn): Canonical link: https://commits.webkit.org/274137@main Commit: 1ddd227e1a05a0962c9a35f18b1c905fc46cc6f7 https://github.com/WebKit/WebKit/commit/1ddd227e1a05a0962c9a35f18b1c905fc46cc6f7 Author: Philippe Normand <ph...@igalia.com> Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp Log Message: ----------- Cherry-pick 274144@main (cafc9b17f1fa). https://bugs.webkit.org/show_bug.cgi?id=268759 [GStreamer] BubblewrapLauncher sandbox lacks directory for the gstreamer user registry cache directory https://bugs.webkit.org/show_bug.cgi?id=268759 Reviewed by Michael Catanzaro. Grant read-write access in the default GStreamer registry path within the WebProcess sandbox. This is safe because the GStreamer registry file format is binary and the file is not executable. The internal GStreamer code responsible for loading this file is able to handle parsing errors. For additional context, the registry file stores informations about the plugins available on the system, so that the plugin scanner doesn't need to rescan plugins every time GStreamer is initialized. * Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp: (WebKit::bindGStreamerData): Canonical link: https://commits.webkit.org/274144@main Commit: 3d84c943bcb6e1f6c4dcc46ed52449ba3892a134 https://github.com/WebKit/WebKit/commit/3d84c943bcb6e1f6c4dcc46ed52449ba3892a134 Author: Michael Catanzaro <mcatanz...@redhat.com> Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h Log Message: ----------- Cherry-pick 273922@main (fd1f0b783bb7). https://bugs.webkit.org/show_bug.cgi?id=261348 [GTK] Remove key event reinjection https://bugs.webkit.org/show_bug.cgi?id=261348 Reviewed by Carlos Garcia Campos. Event processing in GTK is synchronous, but in WebKit it is asynchronous because we don't want to block the UI process waiting for the web process to decide whether a DOM event has been handled (e.g. by using Event.stopPropagation). Currently we use a complicated scheme to synthesize and reinject new key and wheel events to continue event processing when the event is not handled by the web content, which the GTK developers do not approve of, and which is causing serious problems where Epiphany has to choose between processing events in an infinite loop vs. handling events too soon and blocking the web view from receiving them. Neither option is great. https://gitlab.gnome.org/GNOME/epiphany/-/issues/1915 https://gitlab.gnome.org/GNOME/epiphany/-/issues/2173 The solution is to just never reinject events, and instead always handle them. We do not need event reinjection anymore if we activate application accelerators manually. See the long comment embedded in this commit for full details of why this is necessary. This patch removes the key event reinjection. Wheel event reinjection is not yet removed because this would break when WebKit is used within scrolled windows. * Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::doneWithKeyEvent): * Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp: (shouldForwardKeyEvent): (webkitWebViewBaseProcessAcceleratorsForKeyPressEvent): (webkitWebViewBaseKeyPressed): (handleScroll): (webkitWebViewBasePropagateKeyEvent): * Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Canonical link: https://commits.webkit.org/273922@main Commit: 27a392eea1663db49c1b03d369b220d2c0cfea4b https://github.com/WebKit/WebKit/commit/27a392eea1663db49c1b03d369b220d2c0cfea4b Author: Georges Basile Stavracas Neto <feane...@igalia.com> Date: 2024-02-07 (Wed, 07 Feb 2024) Changed paths: M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h M Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp M Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp M Source/WebKit/WebProcess/WebPage/glib/WebPageGLib.cpp Log Message: ----------- Cherry-pick 274201@main (da96990ed73d). https://bugs.webkit.org/show_bug.cgi?id=227528 [GTK] Implement GTK4 accessibility https://bugs.webkit.org/show_bug.cgi?id=227528 Reviewed by Carlos Garcia Campos. WebKit maintains a complete AT-SPI accessible tree within the web process, under a separate D-Bus name. This conflicts with GTK4's expectations of having instances of GtkAccessible objects in process that can be built in an internal tree. GTK4 recently introduced support for bridging out-of-process AT-SPI accessible trees using a new GtkAtSpiSocket object that implements GtkAccessible [1]. The availability of this object is guarded by the GTK_ACCESSIBILITY_ATSPI ifdef. Use this new socket object from GTK to bridge the web page accessible tree, and the UI process' one. Mark the textview widget as hidden from the accessible tree. Create the GtkAtSpiSocket accessible when the web page reports to be ready. Inject the socket accessible as the first GtkAccessible child of WebKitWebViewBase. [1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6827 * Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseAccessibleGetFirstAccessibleChild): (webkitWebViewBaseAccessibleInterfaceInit): (webkitWebViewBaseSetPlugID): * Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * Source/WebKit/UIProcess/gtk/KeyBindingTranslator.cpp: (WebKit::KeyBindingTranslator::KeyBindingTranslator): * Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): * Source/WebKit/WebProcess/WebPage/glib/WebPageGLib.cpp: (WebKit::WebPage::platformInitialize): Canonical link: https://commits.webkit.org/274201@main Compare: https://github.com/WebKit/WebKit/compare/3d5373575695...27a392eea166 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes