Update on what happened in WebKit in the week from February 2 to February 9.
The main event this week was FOSDEM (pun intended), which included presentations related to WebKit; but also we got a batch of stable and development releases, asynchronous scrolling work, OpenGL logging, cleanups, and improving the inspector for the WPE work.
Cross-Port 🐱
Graphics 🖼️
While asynchronous scrolling for mouse wheel events was already supported, scrollbar layers were still being painted on the main thread. This has been changed to paint scrollbars on the scrolling thread instead, which avoids scrollbars to “lag” behind scrolled content.
Fixed flickering caused by the combination of damage tracking and asynchronous scrolling for mouse wheel events.
It is now possible to enable debug logging for OpenGL
contexts using the new GLContext log
channel, which takes advantage of the message events produced by the
widespread KHR_debug
extension.
Figuring out the exact location inside WebKit that triggered an OpenGL issue
may still be challenging with this aid, and therefore a backtrace will be
appended in case of errors to help
pinpoint the source, when the log channel is enabled at the “debug” level with
GLContext=debug.
Configuring the build with USE_SKIA=OFF to make WebKit use the
Cairo graphics library is no longer
supported. Using
Skia has been the default since late
2024,
and after two full years the 2.54.0 release (due in September 2026)
will be the first one where the choice is no longer possible.
WebKitGTK 🖥️
The “on demand” hardware acceleration policy has been rarely used lately, and thus support for it has been removed. Note that this affects only the GTK port when built with GTK 3—the option never existed when using GTK 4.
Existing GTK 3 applications that use
WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND will continue to work and do
not need rebuilding: they will be promoted to use the “always enabled” policy
starting with WebKitGTK 2.54.0 (due in September 2026).
WPE WebKit 📟
The Web Inspector has received support for saving data to local files, allowing things such as saving page resources or exporting the network session to a HAR archive.
Note that using the Web Inspector locally is supported when using the WPEPlatform API, and the keyboard shortcut Ctrl+Shift+I may be used to bring it up.
Releases 📦️
WebKitGTK 2.50.5 and WPE WebKit 2.50.5 have been released. These are stable maintenance releases that improves stability, correct bugs, and fixes small rendering issues.
The second release candidates for the upcoming stable branch, WebKitGTK 2.51.91 and WPE WebKit 2.51.91, have been published as well. Those using those to preview the upcoming 2.52.x series are encouraged to provide bug reports in Bugzilla for any issue they may experience.
Community & Events 🤝
We have published a blog post on our work implementing the Temporal proposal in JavaScriptCore, WebKit's JavaScript engine.
This year's edition of FOSDEM took place in Brussels between January 31st and February 1st, and featured a number of sessions related to WebKitGTK and WPE:
- The Web Platform on Linux devices with WebKit: where are we now?, by Mario Sánchez, is a good introduction-level talk about the GTK and WPE WebKit ports.
- WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Current status and plans by Philippe Normand. Exactly what it says on the tin.
- Interop and MathML Core by Eri Pazos, about the ongoing effort to improve how different Web engines handle MathML—including WebKit!
The videos for the talks are already available, too.
That’s all for this week!