Igalia and WebKit: Status update and plans (2025)

igalia 20 views 40 slides Oct 28, 2025
Slide 1
Slide 1 of 40
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40

About This Presentation

(c) WebKit Contributors Meeting 2025
October 2025, 28 to 29
Cupertino - California (USA)
https://webkit.org/meeting


Slide Content

Igalia and WebKit:
Status Update and Plans
WebKit Contributors Meeting 2025
28-29 October 2025
Mario Sánchez Prada
[email protected]
1 / 40

About Me
CS Engineer, partner at Igalia
Involvement in several Open Source communities
e.g. WebKit, Chromium, GNOME.
Other work done in the past:
Linux-based operating systems (e.g. Endless OS).
Maemo (e.g. Hildon Application Manager).
Samsung Smart TV platform.
Currently coordinating Igalia's WebKit team
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20252 / 40

About Igalia
Specialized Open Source consultancy, founded in 2001
Fully remote, headquartered in A Coruña, Galicia (Spain)
Worker-owned, employee-run, flat structure (160+ people)
Top contributors to WebKit, Chromium, Gecko and Servo
Active contributor to other areas and OSS projects
V8, SpiderMonkey, JSC, LLVM, Node.js, GStreamer, Mesa, Linux kernel...
Members of several working groups:
W3C, WHATWG, WPT, TC39, OpenJS, Test262, Khronos...
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20253 / 40

Igalia and WebKit
Maintainers of the two upstream Linux-based WebKit ports
WebKitGTK: aimed at desktop (i.e. the go-to solution for GTK applications).
WPE: aimed at embedded (i.e. low resource footprint, extra flexibility...).
Implementation of web standards and JavaScript features
Port-independent contributions to WebCore and JavaScriptCore.
Other:
e.g. bug fixing, security, performance improvements, 32-bit support, QA...
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20254 / 40

Who Are Our Users?
??????‍??????
Port users
e.g. native app developers, integrators
??????
Platform providers
e.g. web-based frameworks
??????‍??????
Web developers
e.g. web applications
??????
End users
e.g. embedded devices
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20255 / 40

WebKit on Embedded Devices
Phones & tablets
Set-top boxes & TVs
Smart home appliances
GPS navigation devices
Audio/video conferencing
Hi-Fi sound systems
Audio streaming
Digital signage
Server-side rendering
QA and testing
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20256 / 40

Strategic Goals ??????
How our users use the web engine in all those different ways
explains how we set our goals and define our plans
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20257 / 40

Strategic Goals ??????
?????? Web Platform compatibility and interoperability
⚡ Performance and efficiency in small embedded devices
✅ Quality assurance and security
?????? Better development tools and documentation
?????? More efficient collaboration:
e.g. ports alignment (fewer architectures, less port-specific code), better
communication, increased collaboration among different teams...
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20258 / 40

Commits Statistics ??????
(past 12 months)
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 20259 / 40

WebKit Contributions
Data range: October 1st 2024 to October 1st 2025
Still the #2 committer in 2025 so far with 11.38% of all commits
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202510 / 40

WebKit Contributions
(excluding Apple)
Data range: October 1st 2024 to October 1st 2025
Zooming in: ~59% of all non-Apple commits come from Igalia
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202511 / 40

Latest Updates ??????
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202512 / 40

Main Highlights
?????? Web Platform
� Graphics
� Multimedia
⚙️ JavaScriptCore
?????? New WPEPlatform API
?????? WebKit on Android
✅ Quality assurance
??????️ Security
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202513 / 40

Web Platform (I)
Reference Target fix for cross-root ARIA issues
Implemented Reference Target behind a runtime flag ( ).
Trusted Types (i.e. protect against client-side XSS attacks)
Implemented and shipped.
Secure Curves in the Web Cryptography API
Interop issues in the deriveBits operation (ECDH, X25519, PBKDF2, HKDF).
Enabled X25519 feature by default.
MathML
Implemented font-family: math and math-shift.
Improved handling of out-of-flow.
WebXR
Implemented WebXR using OpenXR on the Linux ports (WPE / WebKitGTK).
Added support for the WebXR AR module on the Linux ports.
Enabled on both Linux and Android devices.
proposal
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202514 / 40

Web Platform (II)
Command Invokers
Implemented and shipped the command for attributes in buttons.
Popover and Dialog additions
Implemented and shipped source parameter for popover JS functions.
Implemented and shipped requestClose() for dialogs.
Close Watcher API
Landed initial implementation behind a runtime flag.
field-sizing (i.e. form controls size based on their content)
Fixed autofill and relayout bugs, and shipped the feature.
Miscellaneous bug fixes
e.g. performance, usability, canvas, text selection, PDF visualization...
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202515 / 40

Web Platform (III)
https://wpewebkit.org/wpt-status
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202516 / 40

Graphics (I)
GraphicsLayer: refactoring on WPE and GTK backends
Removed abstraction layer to allow multiple rendering backends (Nicosia).
Produced documentation for the WPE and GTK ports ().
Use Skia DisplayList to record drawing operations
Thread-safe recording of drawing operations per frame (vs WebCore's).
Threaded GPU painting and hybrid mode
Support enabling GPU rasterization using Skia backend in multiple threads.
Enabled multiple modes that can use CPU, GPU or a mix of both.
Damage tracking for dirty regions
Track damaged regions through the pipeline and use them for composition.
link
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202517 / 40

Graphics (II)
Explicit fence buffer synchronization
Support for shared fencing in the graphics pipeline to avoid unneeded waits.
Improved format negotiation for buffers in embedded devices
Prioritize formats allowing direct scanout.
Implement negotiation in the backends (supports Wayland & DRM).
AHardwareBuffer support for Android
Added support for Android graphics sharing buffer (i.e. zero-copy).
Enables usage of the new WPEPlatform API in Android.
Enables usage of WebXR implementation in Android.
Enabled GPUProcess by default for WebGL
This is done as of last week ( ).commit
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202518 / 40

Graphics (III)
MotionMark improvements on the 64-bit Raspberry Pi 4 board
Test Score July 2024Score April 2025Score October 2025
Multiply 501.17 684.23 680.51
Canvas arcs 140.24 828.05 814.11
Canvas lines 1613.93 3086.60 3406.44
Paths 375.52 4255.65 4307.38
Leaves 319.31 470.78 651.35
Images 162.69 267.78 248.91
Suits 232.91 445.80 359.54
Design 33.79 64.06 108.98
More info: https://blogs.igalia.com/carlosgc/2025/04/21
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202519 / 40

Multimedia
GStreamer-based WebRTC backends
MediaRecorder backend gained WebM support
WebAudio fixes for 32-bit Raspberry Pi platforms
MSE MP4-muxed WebVTT in-band text tracks support
Improved WebCodecs compliance (i.e. Opus and LPCM decoding)
Improved reliance on broken AAC streams
General maintenance (e.g. MSE, EME...) and bug fixing
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202520 / 40

JavaScriptCore (I)
Temporal API ( )
Lots of work here, aiming to finish it in the next months.
New tooling to detect memory leaks and do profiling
Added strong root logging tool for finding memory leaks.
Added JSC symbols integration in sysprof (still WIP).
Working on ports of sysprof and samply to armv7.
WASM-related work for 32-bit support, e.g.:
Kept BBQJIT in good shape on ARMv7.
Completed port of OMG.
Started working on IPInt (WIP).
WebKit bugzilla
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202521 / 40

JavaScriptCore (II)
Unification of 32-bit and 64-bit (WIP)
Main goal is to align better with 64-bit and simplify the maintenance.
Current plan is to have an initial implementation soon and evolve iteratively.
Still work in progress, will be our main focus in the upcoming months.
Other:
Added arm64 support for the WebKit Container SDK.
Added support for the GDB JIT API.
Fixed several bugs on 64-bit detected by 32-bit failures.
Fixed memory leaks for long-running applications.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202522 / 40

New WPEPlatform API
Support for accessibility
Support to handle multiple views
Support for touch events in DRM platform
Improvements on DRM device detection
GTK4 platform implementation (external module)
Multiple API additions and added initial API tests
Enabled continuous testing in the QA bots
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202523 / 40

WebKit on Android
HW acceleration support
ASharedMemory and AHardwareBuffer (further integration pending).
Enables using the new WPEPlatform API on Android.
Native integration with Android subsystems
e.g. logging integration with Android logging
Upstreamed changes to WebKit
Dropped all the downstream patches from the WPE Android project.
Continued evolving the WPE Android project
Goal: WebKit-based native alternative to Android WebView.
Updated to WPE (2.50) and Android LTS NDK r27 ( ).
Ongoing migration to the WPE Platform API ( ).
⚠️ Ongoing effort, still experimental support ⚠️
releases
work in progress
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202524 / 40

Quality Assurance
Migrate bots to the new SDK and the new WPEPlatform API
Reproducible environment based on OCI containers.
Same environment for developers and bots.
New scalable cloud-based infrastructure
Kubernetes as orchestrator for the QA infrastructure.
Automatically adjust resources depending on the load.
Better management and observability.
Gardened lots of tests (skipped and failing tests)
Much better situation since July 2025.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202525 / 40

Quality Assurance
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202526 / 40

Quality Assurance
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202527 / 40

Quality Assurance
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202528 / 40

Security
Continued with the same release cadence:
Feature releases every six months (March, September).
Minor (bug & security fixes) and development releases as needed.
Security fixes are reaching users faster:
Best case releases on the next or even the same day as embargo lifts.
WebKit Security Advisories (WSA):
Released 11 security advisories (WSAs), covering 54 CVEs.
Other improvements in the Linux ports (WebKitGTK & WPE):
Completely dropped libsoup2 support from the tree.
Increased usage of smart pointers (WPE, WebKitGTK, GStreamer, libsoup).
Enabled -Wunsafe-buffer-usage[-in-libc-call].
& webkitgtk.org/security.htmlwpewebkit.org/security
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202529 / 40

Next Steps ⏭️
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202530 / 40

Web Platform
MathML
More CSS work e.g.: math-depth, font-size: math, text-
transform: math-auto, RTL mirroring, floats...
Close Watcher API
Update implementation to follow the spec.
Integrate with popover and dialogs.
Implement closedby attribute.
Enable the feature by default.
WebXR
Implement more WebXR modules.
Implement WebXR layers, hit test, and anchors.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202531 / 40

Graphics
RunLoopObserver graphics pipeline synchronization
Get closer to the Apple port (i.e. avoid differences in the run loop impl).
Threaded compositor refactor
Major rewrite of the compositor to allow using new rendering technologies.
Avoid OpenGL dependency and allow the support of new APIs (e.g. Vulkan).
Enable GPUProcess in more cases
Enabled by default for WebGL, but we want to enable it for other cases.
Remove Cairo support
Currently discussing big endian support with people interested.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202532 / 40

Multimedia
GStreamer-based WebRTC backend
Screen capture streaming to WebRTC PeerConnection
WebCodecs integration with WebGL and WebAudio
Player suspension (useful in pages with many media elements)
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202533 / 40

JavaScriptCore
Temporal API
Finish and ship it.
Further unification of 32-bit and 64-bit (e.g. BBQJIT)
Switch encoded JS value to a 32-bit representation
Major surgery that will have an effect across all JS tiers.
Significantly reduces the differences between the 64/32-bit bits.
Finish implementing IPInt on 32-bit
More memory improvements for long-running apps
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202534 / 40

New WPEPlatform API
Complete the new WPEPlatform API
Write more API tests
Write documentation
Review and complete all API docs.
Guide for writing a WPE platform implementation.
Guide for writing a browser based on WPE platform.
Release version 1.0 (aiming for WPE 2.52)
We are working on finishing up the remaining bits ASAP.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202535 / 40

WebKit on Android
Complete migration to the WPE Platform API
Further integration of AHardwareBuffer on Android.
Support using WPEPlatform with Android WebView API.
Integrate with the testing infrastructure
Add WebKit on Android to the continuous integration system.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202536 / 40

Quality Assurance
Finish migrating to the new cloud-based infrastructure
e.g. performance bots, ARM bots, bare metal bots...
Evaluate moving more services to the new infrastructure
e.g. move the performance dashboard.
Add additional tools e.g.:
Centralized monitoring.
Early warning system.
Auto-recovery tools.
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202537 / 40

Security
Keep working on the same release cadence
Keep handling Security Advisories (WSA) in a timely manner
Increase smart pointer coverage in the Linux ports
Reduce usage of WTF_ALLOW_UNSAFE_BUFFER_USAGE_*
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202538 / 40

Questions?
Igalia and WebKit: status update and plans
Igalia, WebKit Contributors Meeting 202539 / 40

40 / 40
Tags