2025: The Year I Became a Chromium OWNER
110+ merged contributions across Chromium, PDFium, and jxl-rs
By the Numbers
| Project | Merged | In Progress |
|---|---|---|
| Chromium | 73 CLs | 20 CLs |
| PDFium | 9 CLs | - |
| jxl-rs | 28 PRs | 5 PRs |
| Total | 110 | 25 |
2025 Milestones
π Chromium OWNER - Earned OWNER status via the Tab Focus feature work. Now able to review and approve changes in that area.
π JPEG XL Revival - Part of the team bringing JPEG XL back to Chromium, this time with a Rust decoder. Contributed 28 merged PRs to jxl-rs for SIMD optimizations, HDR support, and Chromium integration.
π§ omarchy-chromium Maintainer - Maintaining a custom Chromium build for Omarchy. Provides ARM64 Linux builds not officially supported by Google.
The Browser Trinity β
Contributing to all three major browser engines! Ported Resource Timing Level 3 (interim response timestamps for HTTP 103 Early Hints) across the board:
| Browser | Status | Link |
|---|---|---|
| Chromium | β Merged | crrev.com/c/6900896 |
| Firefox | β Landed | D276668 |
| Safari/WebKit | β Merged | #55467 |
π Browser trifecta complete!
Thank You
- Yoav Weiss - for being an incredible mentor, answering endless questions, finding the right reviewers, pointing me to the right mailing lists, and all the guidance that goes way beyond code
- Tobi LΓΌtke - for the original idea that became the
--focusflag - DHH - for Omarchy and pushing browser theming forward
- Rick Byers - for championing JPEG XL's return and providing direction
- Philip JΓ€genstedt - for supporting the JPEG XL revival effort
And to the countless Chromium developers on Slack - too many to name - who answered questions and provided feedback when I felt lost. Your patience and expertise made these contributions possible. π
Major Features
| Feature | Description |
|---|---|
| Tab Focus Flag (Chrome 143) | New --focus flag that focuses existing tabs instead of opening duplicates |
| Instant Policy Refresh | Added --refresh-platform-policy flag for instant browser theme updates via managed policies |
| Wayland Crash Fix | Fixed a crash affecting Linux users when moving Chrome windows between monitors |
| JPEG XL Support (In Progress) | Bringing JPEG XL back to Chromium using the Rust-based jxl-rs decoder |
Chromium Bug Fixes
- MERGED Fix use-after-free in OmniboxEditModel
- MERGED Fix styleSheets access for DOMParser-created documents
- MERGED Fix HTTP 425 retry for TLS early data
- MERGED Fix Cache-Control parsing (RFC 7234)
- MERGED Fix iframe unload events during document.open()
- MERGED Fix modulepreload referrer headers
- MERGED Fix filter:invert on high-DPI displays
Other Chromium Features
- MERGED Expose Font Service for font enumeration
- MERGED PDFium v2 font matching feature flag
- MERGED Separate defer/module script execution
- MERGED ReportBody.toJSON() use counters
DevTools
- MERGED Add accuracy parameter to geolocation emulation
- MERGED Fix unused accuracyError variable in SensorsView
- IN REVIEW Enable reversible pretty-print for editable JSON
- IN REVIEW Update iframe document URL in Elements panel after document.open()
- IN REVIEW Preserve edits and add prefix filtering to console history
- MERGED Add user-agent-metadata to iOS devices for mobile emulation
- IN REVIEW Connect storage checkbox to Emulation.setStorageAccessBlocked CDP
- IN REVIEW Fix display of compressed request bodies in Network panel
PDFium
9 merged CLs to PDFium in 2025:
New APIs:
- MERGED Add FPDF_SYSFONTINFO v2 for per-request font matching
- MERGED Add FPDFPage_InsertObjectAtIndex() API
- MERGED Add FPDFFormObj_RemoveObject API
- MERGED Add FPDFAnnot_SetFormFieldFlags API
- MERGED Add API to retrieve MIME type from attachments
- MERGED Implement PDF version handling from catalog
Bug Fixes:
- MERGED Fix GetLooseBounds char box containment
- MERGED Fix Form XObject content regeneration
- MERGED Fix undo counting for cut operations
jxl-rs Contributions
26 merged PRs to libjxl/jxl-rs - the Rust JPEG XL decoder:
SIMD Optimizations:
- MERGED Add SIMD table lookup with shuffle
- MERGED Add SIMD F32 to U8/U16 conversions
- MERGED Add SIMD versions of transfer functions
- MERGED Add SIMD upsampling for 2x, 4x, and 8x
- MERGED Add min and store_interleaved functions to jxl_simd
- MERGED Add SIMD noise convolution
- MERGED Add SIMD chroma upsampling
- MERGED Add SIMD YCbCr to RGB conversion
Performance:
- MERGED Add SinglePropertyLookup for table-based routing
- MERGED Optimize EPF sigma for modular encoding
- MERGED Cache default quantization tables using OnceLock
- MERGED Implement flattened modular trees
- MERGED Improve weighted predictor cache locality
- MERGED Cache natural coefficient orders using OnceLock
- MERGED Precompute cosines in spline rendering
API & Integration:
- MERGED Add premultiply_output option
- MERGED Add FFI-friendly API for Chromium integration
- MERGED Implement remaining decoder API methods
- MERGED Add preview frame API support
Bug Fixes:
- MERGED Fix rendering bugs introduced in PR #577
- MERGED Fix spline DISTANCE_EXP to match libjxl default
- MERGED Fix rect bounds check for padded images
- MERGED Remove zerocopy from production dependencies
HDR Support:
CI & Releases:
- MERGED Bump version to 0.2.2
- MERGED Bump version to 0.2.1
- MERGED Add jxl-perfhistory benchmark CI stage
Open PRs:
- IN REVIEW Add i16 sample type support for modular decoding
- IN REVIEW Add jbrd box support for JPEG reconstruction
- IN REVIEW Add SIMD optimization for int_to_float conversion
- IN REVIEW Add WebAssembly decoder with browser demo
- IN REVIEW Add ISO 21496-1 gain map support
JPEG XL Chromium Integration
- MERGED Add jxl-rs to third_party
- MERGED Add JXL infrastructure: enums and build flag
- MERGED Roll jxl: 0.1.5 => 0.2.0
- MERGED Roll jxl: 0.2.0 => 0.2.1
- MERGED Roll jxl: 0.2.1 => 0.2.2
- IN REVIEW Add JXL image decoder using jxl-rs
- IN REVIEW Wire up JXL decoder
Chromium CLs In Progress
Active CLs currently under review:
Web Platform / Network:
- IN REVIEW Add user-select: none to button, meter, progress, select
- IN REVIEW Add Request.isReloadNavigation attribute
- IN REVIEW Preserve MIME type in URL parser
- IN REVIEW Preserve %2E encoding in URL paths
- IN REVIEW Allow data: URL redirects in manual mode
- IN REVIEW Complete HTTPS-RR support
- IN REVIEW Fix document.activeElement stuck after programmatic iframe focus
Accessibility:
- IN REVIEW Always return kForm for native form elements
- IN REVIEW Expose named forms as ATK_ROLE_LANDMARK
- IN REVIEW Fix crash on profile-dependent flags
Linux/Ozone:
Extensions:
- IN REVIEW Add theme.getCurrent() WebExtensions API
Code Modernization
- MERGED Environment::GetVar series (9 CLs) - Modernized to std::optional
- MERGED Move PseudoTcp to remoting/protocol
- MERGED Refactor StartupBrowserCreator for readability
- MERGED Replace WTF::NotNullTag with base::NotNullTag
Other Open Source
- IN REVIEW Add tui.alternate_screen config and --no-alt-screen CLI flag for Zellij scrollback - OpenAI Codex
- MERGED Add plan mode for safe code analysis - Pi Coding Agent
- MERGED Add configurable keybindings system - Pi Coding Agent
Links
| Resource | URL |
|---|---|
| All Chromium CLs | chromium-review.googlesource.com |
| All PDFium CLs | pdfium-review.googlesource.com |
| All jxl-rs PRs | github.com/libjxl/jxl-rs |
| GitHub | github.com/hjanuschka |