Open Source communities e.g. GNOME, WebKit (WebKitGTK, a11y), Chromium Other work done in the past: Linux-based OS’s (i.e. Endless OS, Litl OS) Maemo (Hildon Application Manager) Samsung SmartTV platform Currently coordinating Igalia's WebKit team Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 2 / 38
remote, headquartered in A Coruña, Galicia (Spain) Worker-owned, employee-run, flat structure (140+ igalians) Top contributors to the main Web Rendering Engines: 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... https://www.igalia.com Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 4 / 38
ports WebKitGTK: aimed at desktop (i.e. go-to solution for GTK applications) WPE: aimed at embedded (i.e. low resources footprint, extra flexibility...) Implementation of Web standards and JavaScript features Port-independent contributions to WebCore and JavaScriptCore Other: e.g. bugfixing, security, performance improvements, QA, 32-bit support... Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 6 / 38
integrators...) Platform providers (e.g. Web-based frameworks) Web developers (e.g. Web applications) End users of WebKit-based products (e.g. embedded) Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 7 / 38
game consoles Smart home appliances and home automation devices HiFi audio/sound systems & music streaming In-vehicle and in-flight infotainment systems Navigational and GPS-based instrumentation Medical devices (e.g. patient health monitors) Digital signage QA & testing Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 8 / 38
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 2024 9 / 38
small embedded devices Quality assurance and Security Better development tools and documentation More efficient collaboration: e.g. ports alignment (fewer different architectures, less port-specific code), better communication increased collaboration among different teams... Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 10 / 38
1st 2024 Still the #2 committer in 2024 so far with 12.98% of all commits (increase of +2.08% over the same period the past year) Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 12 / 38
to October 1st 2024 Zooming in: ~64% of all the non-Apple commits coming from Igalia (increase of +11.47% over the same period the past year) Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 13 / 38
months: Web platform contributions Graphics Multimedia JavaScriptCore New WPE API WebKit on Android Quality assurance Security Tooling Documentation Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 14 / 38
off-screen sections Completed and enabled by default Navigation API Manage browser navigation actions + examine history WIP, aiming for end of the year hasUAVisualTransition Attribute of the NavigateEvent interface Completed and enabled by default Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 15 / 38
API Interop issues + increase WPT coverage Preparation to ship X25519 feature Trusted Types Reduce DOM-based XSS attacks Implementation ready, pending to enable by default MathML Support for padding/border/margin Increase WPT score by ~5% Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 16 / 38
Feature parity with Cairo, worked on new features and improvements Skia now the default backend since WebKitGTK/WPE 2.46.0 Buffer-sharing APIs (DMABuf) Refactored fencing to control access to buffers Continued working on integrating with the DisplayLink infrastructure More efficient composition using damaging information Enablement of the GPUProcess WebGL support built by default Actively working on this, focus on performance General overhaul of the graphics pipeline i.e. refactoring and simplification, buffer uploading, remove Nicosia layer (not planning to have multiple rendering implementations)... Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 17 / 38
layers support as a 1st-class citizen Added support for the missing features: Gradients & Patterns (applicable to both fill and stroke) Clipping & Masking (for all shapes and text) SVG Markers Reviewed implementation for SVG filters (by Said@Apple) Improved performance of the new layer-based engine Reduce repaints and re-layouts Reduced performance gap for MotionMark Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 18 / 38
GStreamer sink WebCodecs backend Completed for audio/video encoding and decoding Enabled by default in 2.46 Continued work on the GStreamer-based WebRTC backends Optional text-to-speech backend based on libspiel General maintenance (e.g. MSE, EME, runtime-based quirks...) Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 19 / 38
Ported & enabled concurrent JIT support Contributed to JITLess WASM Some work on IPInt for WASM WASM GC Contributed most of the implementation Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 20 / 38
external platforms (beyond wayland, DRM, headless) API additions Screens management API Toplevel management API Maximized and minimized windows API Preferred DMA-BUF formats API Input methods API Gestures API Buffer damaging Explicit synchronization (i.e. fences) Pointer lock API Test Automation support (WebDriver) 👷♀️ Still work in progress 👷♀️ Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 21 / 38
No new port needed, just the WPE's public API Multiple architectures: arm64, x86-64, armv7, x86 Native integration with Android, HW acceleration Public updates at Jani's blog: Still a experimental project (WIP) Development partially supported by the NLNet foundation https://blogs.igalia.com/jani Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 22 / 38
Releases at WebDriver support & WPT test suites Instrumentation tests (integrated in CI) Remote Web Inspector support Skia backend enablement Prompt delegates and WPEView client interfaces WPE-based WebView library in Maven Central Other changes: e.g. HTTP/2, device scale factor, integration with Android main loop, general bugfixing (e.g. on-screen keyboard, multimedia, GLES3)... https://github.com/Igalia/wpe-android/releases Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 23 / 38
assertions in release bots Move bots to build with Skia by default Move bots to build using GTK4 by default Work to use the new SDK in the bots (WIP) General gardening and bot maintenance Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 24 / 38
ship it MathML Continue work on core features Improve interaction with CSS Cross-root ARIA Implement Reference Target proposal Canvas Formatted Text Explore and prototype Canvas Place Element proposal Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 28 / 38
synchronization in the graphics pipeline Enable DMABuf-less platforms for buffer sharing architecture New GPU-based rendering backend architecture (on top of Skia) Activate GPUProcess for more rendering targets (e.g. multimedia) New SVG engine (LBSE: Layer-Based SVG Engine) Fix remaining bugs to achieve feature parity (see ) Performance improvements (e.g. MotionMark) Trigger the security audit (and pass it) metabug in bugzilla Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 29 / 38
Investigate replacing register pairs for JSValues with SMIs Brings us more in line with 64-bit Reduces chances of breakage and improves maintainability Investigate and optimize heap/JIT memory usage in 32-bit Finish work on ARMv7 improvements (e.g. IPInt) Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 31 / 38
Accessibility support Write API tests. Write documentation External GTK4 platform ⚠️ No specific release date (i.e. best-effort) ⚠️ Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 32 / 38
of newer WPE versions Production-ready quality for specific use cases Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 33 / 38
maintaining the bots Improved stability and uptime Finish migration to the new SDK Matching environment both for development and testing Bring back ready-to-use WPE images Important for adoption and gathering feedback Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 34 / 38
use cases e.g. seamless integration with the bots Keep improving documentation Write tutorials Igalia and WebKit: status update and plans Igalia, WebKit Contributors Meeting 2024 35 / 38