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

Igalia and WebKit: Status update and plans (2026)

Igalia and WebKit: Status update and plans (2026)

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

Avatar for Mario Sánchez Prada

Mario Sánchez Prada

October 27, 2026

More Decks by Mario Sánchez Prada

Other Decks in Technology

Transcript

  1. About Me Software Engineer and partner at Igalia Open Source:

    GNOME, Chromium, WebKit Other: Linux-based OSes, Samsung Smart TV, Maemo Coordination of Igalia's WebKit team Contact me: [email protected] Igalia and WebKit: status update and plans 2 / 42 Igalia, WebKit Contributors Meeting 2026
  2. About Igalia Open Source consultancy, since 2001 Fully remote and

    with a flat structure. Top contributors to the main Web Engines Maintainers of the two Linux WebKit ports. Other OSS work Graphics, multimedia, compilers, Linux kernel... Members of different working groups W3C, WHATWG, TC39, Test262, Khronos... https://www.igalia.com Igalia and WebKit: status update and plans 3 / 42 Igalia, WebKit Contributors Meeting 2026
  3. Who Are Our Users? 🧑‍🔧 🧑‍💻 🧩 👥 Port users

    Platform providers e.g. app developers, integrators e.g. web-based frameworks Web developers End users e.g. web applications e.g. embedded devices Igalia and WebKit: status update and plans 4 / 42 Igalia, WebKit Contributors Meeting 2026
  4. WebKit on Embedded Devices Phones & tablets Hi-Fi sound systems

    Set-top boxes & TVs Audio streaming Smart home appliances GPS navigation devices Digital signage Server-side rendering Audio/video conferencing QA and testing Igalia and WebKit: status update and plans 5 / 42 Igalia, WebKit Contributors Meeting 2026
  5. Strategic Goals 🎯 🌐 Performance on embedded devices ⚡ Quality

    assurance & security ✅ Tools, docs & collaboration 🤝 Compatibility & interoperability A homogeneous web platform, reliable across engines Efficient on small hardware, flexible for specific hardware Green bots, timely releases and security advisories Better tooling, ports alignment, working together upstream Igalia and WebKit: status update and plans 6 / 42 Igalia, WebKit Contributors Meeting 2026
  6. The Numbers 📊 Data range: October 1st 2025 to October

    1st 2026 Igalia and WebKit: status update and plans 7 / 42 Igalia, WebKit Contributors Meeting 2026
  7. The Numbers Data range: October 1st 2025 to October 1st

    2026 2831 #2 ~70% 46 commits by Igalia WebKit committer of non-Apple commits Igalians committing +53% vs. last year 13.1% of all 21591 commits 2831 out of 4048 in the past 12 months Igalia and WebKit: status update and plans 8 / 42 Igalia, WebKit Contributors Meeting 2026
  8. The Numbers Data range: October 1st 2025 to October 1st

    2026 All commits Excluding Apple Apple 81.25% 17543 21591 commits Igalia 13.11% 2831 Bun 2.28% 493 Other 3.35% 724 ~70% by Igalia Igalia 69.94% 2831 Bun 12.18% 493 Other 17.89% 724 Igalia and WebKit: status update and plans 9 / 42 Igalia, WebKit Contributors Meeting 2026
  9. Latest Updates 📢 Igalia and WebKit: status update and plans

    10 / 42 Igalia, WebKit Contributors Meeting 2026
  10. Main Highlights 🌐 Web Platform 🎨 Graphics 🎧 Multimedia ⚙️

    JavaScriptCore 🧩 WPEPlatform API WebKit on Android Swift in the Linux Ports ✅ Quality Assurance 🛡️ Security 🧰 Development Tools Igalia and WebKit: status update and plans 11 / 42 Igalia, WebKit Contributors Meeting 2026
  11. Web Platform (I) Trusted Types Fixes to align with the

    specification. MathML CSS features (e.g. math-depth ) and <a> element. MathML Core support now on par with other engines. Close Watcher API Aligned with the latest specification changes. Shipped along with <dialog closedby> in stable. Atomic move DOM API ( moveBefore() ) Implementation in progress, behind a runtime flag. Compression Dictionary Transport Core feature and Linux support, behind a runtime flag. Igalia and WebKit: status update and plans 12 / 42 Igalia, WebKit Contributors Meeting 2026
  12. Web Platform (II) CSS scroll-axis-lock , scroll-state queries (behind a

    flag). line-clamp , max-lines , block-ellipsis aligned with spec. Support for scrollbar-color on Linux ports. WebExtensions Porting Obj-C++ code to C++ to expose it on Linux. WebXR on Linux, based on OpenXR ( blog post ) Hit Testing, Layers and Hand Input modules. Other Shipped :open and ToggleEvent.source , aamtest in WPT ( blog post ). Storage and File System APIs on the Linux ports. Igalia and WebKit: status update and plans 13 / 42 Igalia, WebKit Contributors Meeting 2026
  13. Graphics (I) Removed Cairo from the Linux ports Skia is

    now the only 2D rendering backend for WebKitGTK/WPE. Skia painting performance Batched 2D canvas operations, GPU texture atlas for images. Specific CPU/GPU tile sizes instead of the hybrid mode. Deferred Display Lists: no GL usage from painting workers. Frame scheduling driven by RunLoop observers Same model as Apple's ports, old non-DisplayLink path dropped. Async scrolling Improved for wheel events, and added support for touch events. Igalia and WebKit: status update and plans 14 / 42 Igalia, WebKit Contributors Meeting 2026
  14. Graphics (II) New Skia-based compositor (blog posts from Carlos and

    from Niko ) Replaces TextureMapper, default since WPE/WebKitGTK 2.54. Better damage tracking, blend modes, faster filters, 3D fixes. Zero-copy GPU buffers (dma-buf / GBM) More robust memory-mapped buffers (e.g. no more v3d hangs). Vivante super-tiled formats, consolidated dma-buf/EGLImage code. GPUProcess Fixed the performance of the initial WebGL implementation. Planning to enable it by default. Igalia and WebKit: status update and plans 15 / 42 Igalia, WebKit Contributors Meeting 2026
  15. Graphics (III) Layer-Based SVG Engine (LBSE): big push in this

    cycle Selective layers: less memory, on par with legacy in MotionMark Suits. Many correctness fixes: masks, clipping, filters, markers... See Niko's blog posts on conditional layers and paint order segments . Other Improvements to font rendering with Skia. Non-composited mode for devices with weak or no GPU. Accelerated 2D canvas: dynamic MSAA and Display-P3 support. Vulkan groundwork (experimental, still WIP). Igalia and WebKit: status update and plans 16 / 42 Igalia, WebKit Contributors Meeting 2026
  16. Graphics (IV) MotionMark 1.3 @ 15FPS on the 64-bit Raspberry

    Pi 4 Test July 29th 2024 October 8th 2025 October 8th 2026 Multiply 501.17 676.76 704.94 Canvas arcs 140.24 815.13 1072.48 Canvas lines 1613.93 3361.15 6418.20 Paths 375.52 4290.56 4385.15 Leaves 319.31 440.88 615.54 Images 162.69 272.91 329.11 Suits 232.91 443.41 431.96 Design 33.79 65.97 114.80 OVERALL 254.15 639.41 824.51 Igalia and WebKit: status update and plans 17 / 42 Igalia, WebKit Contributors Meeting 2026
  17. Graphics (V) MotionMark 1.3 @ 15FPS on the 64-bit Raspberry

    Pi 4 Igalia and WebKit: status update and plans 18 / 42 Igalia, WebKit Contributors Meeting 2026
  18. Multimedia Switched from GstWebRTC to LibWebRTC in the Linux ports

    GstWebRTC backend removed from main branch in July 2026. WebRTC disabled in 2.54, to be enabled by default in 2.56. GStreamer-based HW encoders & decoders plugged into LibWebRTC. Player suspension in pages with many media elements Hidden, muted or off-viewport players suspended, freeing decoders. Other MSE & EME improvements ( changeType() , edit list support in H.264 in MSE MP4). HW video decoding & encoding on Qualcomm platforms General maintenance and bug fixing. Igalia and WebKit: status update and plans 19 / 42 Igalia, WebKit Contributors Meeting 2026
  19. JavaScriptCore (I) 32-bit support BBQ/OMG optimizations for the last 32-bit

    JIT release (2.52). Removed ARMv7 JIT tiers, WebAssembly, big-endian support and more. WebKitGTK/WPE 2.54+ still works on 32-bit, but only with CLoop (slow). Memory improvements for long-running apps Helps with use cases in embedded where WPE is not restarted in months. Profiling & debugging tooling e.g. samply (jitdump), sysprof integration, JIT signposts. Performance builds PGO with Yocto, low-noise at-desk perf runs with PGO. Igalia and WebKit: status update and plans 20 / 42 Igalia, WebKit Contributors Meeting 2026
  20. JavaScriptCore (II) Temporal API aligned with the Stage 4 spec

    (22 PRs landed) Full support for PlainMonthDay and PlainYearMonth . Fixed edge cases when rounding large time values. Completed ZonedDateTime and relative time computations This was superseded by the move to a port of the temporal_rs library. Extensive test coverage for Temporal edge cases Served as safety net for JSC's new temporal_rs -based implementation. Other Improved Linux integration (e.g. TZ change notifications, thread priorities...). Small wins on JetStream and for embedded applications. GLib security fixes (WIP, needs more targeted fuzzing). Igalia and WebKit: status update and plans 21 / 42 Igalia, WebKit Contributors Meeting 2026
  21. WPEPlatform API Stable and enabled by default since WPE 2.54

    Legacy API to be deprecated soon: embedders should migrate. Latest API additions before declaring it stable e.g. toplevels, clipboard, a11y settings, gamepad rumble... Design validated with out-of-tree platforms WPE Android, wpe-platform-gtk and the Wig browser . Input and robustness Fixes for touch, gestures, scrolling... and memory safety bugs. Completed documentation: API docs, overview, guides Writing a launcher or a platform, migrating from libwpe. wpewebkit.org/reference/2.54.0/wpe-platform-2.0 Igalia and WebKit: status update and plans 22 / 42 Igalia, WebKit Contributors Meeting 2026
  22. WebKit on Android WPEPlatform migration landed on main Mainly integration

    with AHB, WPEPlatform backend out-of-tree. libwpe, WPEBackend-android and the legacy API have been removed. Native integration with Android graphics Zero-copy AHardwareBuffer backing store, AChoreographer vsync... New Java API modeled after android.webkit.WebView MiniBrowser, MediaPlayer, WebDriver and tests ported to it. Testing and QA: external CI, weekly-ish rebases of trunk W3C and WebDriver tests, gardening after every rebase. WebXR on Android via OpenXR, for more XR devices Ongoing effort, still experimental support Igalia and WebKit: status update and plans 23 / 42 Igalia, WebKit Contributors Meeting 2026
  23. Swift in the Linux Ports Build system and CI bots

    Enabled Clang by default in CI (one GCC builder remains). Enabled building with Swift in CI. Swift toolchain in the WebKit Container SDK Switching to our own build of the toolchain, to fit our needs (e.g. unbreak lldb ). Build fixes, early Yocto cross-build experiments Igalia and WebKit: status update and plans 24 / 42 Igalia, WebKit Contributors Meeting 2026
  24. Quality Assurance Bots green again 🟢 Regular gardening on x86_64

    & arm64, ~95% fewer regressions per run. Cleanup of stale flaky-test expectations. API test results uploaded to results.webkit.org Correct version and architecture fields for GTK/WPE results. Improved CI infrastructure Hybrid cloud + bare metal, centralized monitoring, 3 new ARM64 WPE testers. WPE perf dashboard at https://wpe-perf-dashboard.igalia.com . Better management of stable branches Better backporting workflow, EWS testing, ARM64 post-commit bots. Igalia and WebKit: status update and plans 25 / 42 Igalia, WebKit Contributors Meeting 2026
  25. Quality Assurance Igalia and WebKit: status update and plans 26

    / 42 Igalia, WebKit Contributors Meeting 2026
  26. Quality Assurance Igalia and WebKit: status update and plans 27

    / 42 Igalia, WebKit Contributors Meeting 2026
  27. Security Continued with the same release cadence Feature releases every

    six months (March, September). Minor (bug & security fixes) and development releases as needed. WebKit Security Advisories (WSA) Released 9 security advisories (WSAs), covering 99 CVEs. Mostly published the same or the next day of the release. Other improvements in the Linux ports (WebKitGTK & WPE) ~66% fewer WTF_ALLOW_UNSAFE_BUFFER_USAGE in port-specific code. More smart pointers & safer string types, -Wthread-safety . webkitgtk.org/security.html & wpewebkit.org/security Igalia and WebKit: status update and plans 28 / 42 Igalia, WebKit Contributors Meeting 2026
  28. Development Tools Sysprof New webkit-sysprof tool to analyze traces in

    an automated way. Correct durations for overlapping/recursive marks. WebKit Container SDK Ephemeral containers for the host-side wrappers and also the CI. Regular rebases (e.g. Ubuntu 26.04, GStreamer 1.28, Swift-enabled toolchain). WebDriver (classic & BiDi) Stability work in driver, browser and test bots: fewer crashes, hangs and failures. Other improvements: pointer-action attributes, closed shadow roots... Build system Fewer stale-cache problems, GCC build fixes. Add BUILD_WEBKIT_PRE_SCRIPT hook to set up remote ccache . Igalia and WebKit: status update and plans 29 / 42 Igalia, WebKit Contributors Meeting 2026
  29. Next Steps ⏭️ Igalia and WebKit: status update and plans

    30 / 42 Igalia, WebKit Contributors Meeting 2026
  30. Web Platform MathML Enable new mathvariant and MathML Core features

    by default. moveBefore() , scroll-state() queries, scroll-axis-lock Finish and enable by default. Compression Dictionary Transport Enable by default, once Apple ports are supported. CSS Complete line-clamp , pass all WPT tests. WebXR Plane Detection and Anchors modules. Igalia and WebKit: status update and plans 31 / 42 Igalia, WebKit Contributors Meeting 2026
  31. Graphics (I) Skia compositor Zero composition WPT failures, remove TextureMapper

    completely. Keep improving performance, switch to Skia Graphite. Rendering synchronization improvements Isolate composition state from rendering, more parallelism. Heavier main thread work without visual glitches. Zero-copy offscreen canvas in workers (2D and 3D) Canvas rendering outside the main thread. Important in embedded, to avoid buffer copies. Igalia and WebKit: status update and plans 32 / 42 Igalia, WebKit Contributors Meeting 2026
  32. Graphics (II) GPUProcess in the Linux ports Move more parts

    to it (e.g. composition, GPU rendering). Skia GPU backend with Vulkan (using Ganesh) Vulkan buffers already supported, so we want to test it. May help some embedded devices, depending on drivers. Layer-Based SVG Engine (LBSE) Close the gap with the legacy SVG engine (zero regressions). Continue improving performance further. Igalia and WebKit: status update and plans 33 / 42 Igalia, WebKit Contributors Meeting 2026
  33. Multimedia WebRTC AV1 encoding, mDNS support, MediaStream track cloning fixes.

    Enable LibWebRTC support by default in 2.56. Media playback in the GPUProcess Run media pipelines out of the WebProcess, like Apple ports. Smoother changes in quality with MSE video playback Switch quality without flushing the pipeline (no stuttering). Igalia and WebKit: status update and plans 34 / 42 Igalia, WebKit Contributors Meeting 2026
  34. JavaScriptCore Performance & memory management Further memory and performance related

    improvements for embedded. Feedback from WPE users critical to guide progress in this area. Better tooling to improve long-running apps Automated ways to find JS ↔ native memory leaks in long-running apps. More information in Justin's lightning talk. Other Follow-up with remaining work on the Linux ports. Igalia and WebKit: status update and plans 35 / 42 Igalia, WebKit Contributors Meeting 2026
  35. WPEPlatform API Deprecate the legacy API 2.56 always enabling WPEPlatform

    API (already on main). Close the migration gaps and polish built-in platforms Video plane (HW overlay) replacement. Input methods, cursors (DRM, Wayland). API tests Cover toplevels, buffers, events, input methods and clipboard. Finish the documentation Backend & rendering models, input, displays & views, env vars. Help embedders migrate from the old API Gather feedback from embedders who are porting. Igalia and WebKit: status update and plans 36 / 42 Igalia, WebKit Contributors Meeting 2026
  36. WebKit on Android Close the platform gaps Input methods, permission

    dialogs, scrolling animations & behavior. AHardwareBuffer readback (snapshots, WebDriver screenshots). More APIs e.g. permissions API, screenshot API, improved scrolling, IME preedit, Selenium testing in CI, SSL errors, media & capture callbacks... Testing Update imported WebDriver tests, drop local backports, fix failures. Upgrade the CI system and dependencies. WebKit on Android in WebKit's own CI (i.e. post-commit bot). Igalia and WebKit: status update and plans 37 / 42 Igalia, WebKit Contributors Meeting 2026
  37. Swift in the Linux Ports Enable Swift by default in

    next stable release of the Linux ports WebKitGTK/WPE 2.56 expected to be released in March 2027. Support Swift toolchain in the meta-webkit Yocto layer GitHub repository: https://github.com/Igalia/meta-webkit Igalia and WebKit: status update and plans 38 / 42 Igalia, WebKit Contributors Meeting 2026
  38. Quality Assurance Keep the bots green 🟢 e.g. general gardening

    duty to be continued. Smarter flakiness detection in EWS e.g. using test results history from results.webkit.org. Improve the CI bots and adapt them to 2.56 Safer Cpp post-commit bots and WebDriver EWS for the Linux ports. PGO enabled in the bots (e.g. MotionMark, JetStream, Speedometer). 2.56 changes: LibWebRTC, WPEPlatform-only builds, legacy API bots... Hardware-accelerated post-commit bots We want to test GPU-dependent code paths. Igalia and WebKit: status update and plans 39 / 42 Igalia, WebKit Contributors Meeting 2026
  39. Security Stricter WebProcess sandboxing via the GPUProcess Enabled by moving

    parts of the graphics and multimedia pipelines. OpenSSL support We want to remove libgcrypt and use OpenSSL instead ( see bug 216201 ). Other Keep working on the same release cadence. Keep handling Security Advisories (WSA) in a timely manner. Keep reducing unsafe buffer usage & adopting safer types. Igalia and WebKit: status update and plans 40 / 42 Igalia, WebKit Contributors Meeting 2026
  40. Thanks for listening! 🙏 Igalia and WebKit: status update and

    plans 41 / 42 Igalia, WebKit Contributors Meeting 2026
  41. Questions & Discussion 💬 Igalia and WebKit: status update and

    plans 41 / 42 Igalia, WebKit Contributors Meeting 2026