Chromium Weekly Digest Logo

Chromium Weekly Digest

Week 53 of 2025 (2025-12-28 to 2025-12-31)

Chromium Weekly: 2025 Week 53

Overview

This week saw a significant number of breaking API changes across the Chromium codebase, impacting embedders in areas like UI, Extensions, Android, and core services. A notable behavioral change removes support for a non-standard image format, while preparatory work began for the JPEG XL image format. This summary covers 56 relevant commits out of 183 total across 4 days of development.

Widespread Breaking API Changes

  • ⚠️ BREAKING BREAKING CHANGE Core UI observer interfaces received breaking changes. TabStripModelObserver methods were renamed and their signatures changed to use tabs::TabInterface*. The RenderWidgetHost::InputEventObserver::OnInputEvent method now requires an input::InputEventSource parameter. Additionally, the legacy ui::aura::WindowEventDispatcherObserver interface has been removed entirely. (fdb26aa) (a9bd994) (ff7776c)
  • ⚠️ BREAKING BREAKING CHANGE The public API surface for Extensions was significantly reduced. Several static methods were removed from ExtensionTabUtil, and the ExtensionFunctionDispatcher::Delegate interface lost the GetAssociatedWebContents() and GetVisibleWebContents() methods. The ExtensionWebContentsObserver class hierarchy was also modified to no longer inherit from the delegate, which may break dynamic_cast usage. (e6fa848) (f13ff20) (9885010) (dc15d34)
  • ⚠️ BREAKING BREAKING CHANGE Android embedders face multiple breaking changes. The core TabModel::CreateTab method signature was changed to use a TabLaunchType enum instead of a boolean. In the identity component, IdentityMutator.clearPrimaryAccount() was removed and replaced. The sign-in bottom sheet delegate was also refactored, splitting the Delegate interface into two new ones. (79344d3) (b09d904) (5531b9b)
  • ⚠️ BREAKING BREAKING CHANGE Several public APIs in core services were removed. In Safe Browsing, MaybeReportSafeBrowsingHit was deleted from the BaseUIManager. In the Privacy Sandbox component, TpcdExperimentEligibility and related methods were removed from PrivacySandboxSettings. The can_use_chrome_ip_protection() method was also removed from the AccountCapabilities class. (cbeca2e) (1ff3d48) (47c3d62)

Image Format Support

  • ⚠️ BREAKING BREAKING CHANGE Support for decoding JPG and PNG images embedded within BMP files has been removed. This non-standard feature is now disabled by default via the kRemoveBmpExtensionForEmbeddingJpegOrPng flag, which may cause some websites to render these specific images incorrectly. (58fbc0c)
  • Initial infrastructure has been added to support the JPEG XL (JXL) image format. This preparatory work, controlled by the kEnableJXLImageFormat feature flag (disabled by default), adds build flags and metrics but has no runtime effect yet. (2b547e7)

Code Health & Modernization

  • The iOS UI continues its significant modernization effort. The legacy toolbar implementation has been moved, the experimental 'Diamond' prototype was removed, and a new AppBar was added to the TabGrid. (84556a4) (e69bfbe) (2ecc440)
  • Mojo's internal template metaprogramming has been modernized to use C++20 concepts, replacing older SFINAE-based implementations. This internal refactoring does not change public API signatures. (694c89f)
  • Code cleanup continues with the removal of numerous feature flags for fully launched features, including those related to Third-Party Cookie Deprecation (3PCD), Extension Telemetry, and the Translation API. (1feabfd) (af24040) (0365765) (8f22844) (fdaa2fc)
Daily Summaries (4)
← Back to all summaries