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.
TabStripModelObservermethods were renamed and their signatures changed to usetabs::TabInterface*. TheRenderWidgetHost::InputEventObserver::OnInputEventmethod now requires aninput::InputEventSourceparameter. Additionally, the legacyui::aura::WindowEventDispatcherObserverinterface 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 theExtensionFunctionDispatcher::Delegateinterface lost theGetAssociatedWebContents()andGetVisibleWebContents()methods. TheExtensionWebContentsObserverclass hierarchy was also modified to no longer inherit from the delegate, which may breakdynamic_castusage. (e6fa848) (f13ff20) (9885010) (dc15d34) -
⚠️ BREAKING
BREAKING CHANGE Android embedders face multiple breaking changes. The core
TabModel::CreateTabmethod signature was changed to use aTabLaunchTypeenum instead of a boolean. In the identity component,IdentityMutator.clearPrimaryAccount()was removed and replaced. The sign-in bottom sheet delegate was also refactored, splitting theDelegateinterface into two new ones. (79344d3) (b09d904) (5531b9b) -
⚠️ BREAKING
BREAKING CHANGE Several public APIs in core services were removed. In Safe Browsing,
MaybeReportSafeBrowsingHitwas deleted from theBaseUIManager. In the Privacy Sandbox component,TpcdExperimentEligibilityand related methods were removed fromPrivacySandboxSettings. Thecan_use_chrome_ip_protection()method was also removed from theAccountCapabilitiesclass. (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
kRemoveBmpExtensionForEmbeddingJpegOrPngflag, 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
kEnableJXLImageFormatfeature 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
AppBarwas 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)
- 2025-12-28: Chromium Digest: 2025-12-28 (0 commits)
- 2025-12-29: Chromium Digest: 2025-12-29 (0 commits)
- 2025-12-30: Chromium Digest: 2025-12-30 (0 commits)
- 2025-12-31: Chromium Digest: 2025-12-31 (0 commits)