↫ Home

WebKit Igalia Periodical #29

7 July, 2025 - Categories: wip

Update on what happened in WebKit in the week from June 30 to July 7.

Improvements to Sysprof and related dependencies, WebKit's usage of std::variant replaced by mpark::variant, major WebXR overhauling, and support for the logd service on Android, are all part of this week's bundle of updates.

Cross-Port 🐱

The WebXR support in the GTK and WPE WebKit ports has been ripped off in preparation for an overhaul that will make it better fit WebKit's multi-process architecture.

The new implementation, still based on OpenXR is being re-added piecewise, starting with the foundational support code to coordinate XR content inside the Web engine. Next starting and stopping immersive sessions was brought back, and a basic render loop.

Note these are the first steps on this effort, and there is still plenty to do before WebXR experiences work again.

Changed usage of std::variant in favor of an alternative implementation based on mpark::variant, which reduces the size of the built WebKit library—currently saves slightly over a megabyte for release builds.

WPE WebKit 📟

WPE Android 🤖

Adaptation of WPE WebKit targeting the Android operating system.

Logging support is being improved to submit entries to the logd service on Android, and also to configure logging using a system property. This makes debugging and troubleshooting issues on Android more manageable, and is particularly welcome to develop WebKit itself.

While working on this feature, the definition of logging channels was simplified, too.

Community & Events 🤝

WebKit on Linux integrates with Sysprof and reports a plethora of marks. As we report more information to Sysprof, we eventually pushed Sysprof internals to its limit! To help with that, we're adding a new feature to Sysprof: hiding marks from view.

This required diving a little deeper into the stack, and add a new feature to a dependency as well.

That’s all for this week!