Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Igalia and WebKit: Status update and plans (2025)

Igalia and WebKit: Status update and plans (2025)

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

Avatar for Mario Sánchez Prada

Mario Sánchez Prada

October 28, 2025
Tweet

More Decks by Mario Sánchez Prada

Other Decks in Technology

Transcript

  1. 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 2025 2 / 40
  2. 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 2025 3 / 40
  3. 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 2025 4 / 40
  4. 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 2025 5 / 40
  5. 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 2025 6 / 40
  6. 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 2025 7 / 40
  7. 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 2025 8 / 40
  8. Commits Statistics 📊 (past 12 months) Igalia and WebKit: status

    update and plans Igalia, WebKit Contributors Meeting 2025 9 / 40
  9. 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 2025 10 / 40
  10. 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 2025 11 / 40
  11. Latest Updates 📢 Igalia and WebKit: status update and plans

    Igalia, WebKit Contributors Meeting 2025 12 / 40
  12. 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 2025 13 / 40
  13. 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 2025 14 / 40
  14. 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 2025 15 / 40
  15. 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 2025 17 / 40
  16. 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 2025 18 / 40
  17. Graphics (III) MotionMark improvements on the 64-bit Raspberry Pi 4

    board Test Score July 2024 Score April 2025 Score 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 2025 19 / 40
  18. 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 2025 20 / 40
  19. 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 2025 21 / 40
  20. 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 2025 22 / 40
  21. 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 2025 23 / 40
  22. 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 2025 24 / 40
  23. 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 2025 25 / 40
  24. 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.html wpewebkit.org/security Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2025 29 / 40
  25. Next Steps ⏭️ Igalia and WebKit: status update and plans

    Igalia, WebKit Contributors Meeting 2025 30 / 40
  26. 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 2025 31 / 40
  27. 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 2025 32 / 40
  28. 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 2025 33 / 40
  29. 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 2025 34 / 40
  30. 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 2025 35 / 40
  31. 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 2025 36 / 40
  32. 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 2025 37 / 40
  33. 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 2025 38 / 40