Chromium Weekly: 2025 Week 52
Overview
This week saw a significant number of breaking API changes across core components, networking, and platform-specific code, impacting embedders on all platforms. Major internal modernizations included migrating from
base::ByteCount to base::ByteSize and removing base::to_underlying. This summary highlights 36 relevant commits out of 850 total across 7 days.Breaking Changes
-
⚠️ BREAKING
BREAKING CHANGE The public
ChromeAndroidTaskJava interface was refactored to support multiple Activities. Methods were renamed (e.g.,setActivityScopedObjectstoaddActivityScopedObjects) and now manage a list of activities, requiring updates from embedders. (81d2478) -
⚠️ BREAKING
BREAKING CHANGE The utility function
base::to_underlyingand its header have been removed from the codebase. All call sites must be migrated to usestd::to_underlying. (271bd17) -
⚠️ BREAKING
BREAKING CHANGE The
TrackingProtectionSettingsandTrackingProtectionOnboardingclasses and their factories have been removed from the Privacy Sandbox components, breaking consumers of these services. (36e492c) (18e568e) -
⚠️ BREAKING
BREAKING CHANGE The
TaskManagerInterfaceAPI was updated to use the type-safebase::ByteSizeandstd::optionalfor memory and network reporting, changing the signatures of methods likeGetMemoryFootprintUsageandGetProcessTotalNetworkUsage. (c89f2a8) (3010a9b) -
⚠️ BREAKING
BREAKING CHANGE On Android, the
org.chromium.net.X509Utilclass was refactored. TheensureInitializedmethod was removed, and embedders must now usegetVerifier()to obtain a verification object. (b580880) -
⚠️ BREAKING
BREAKING CHANGE For AOSP builds, the Cronet shared library was renamed from
libmainlinecronet.{version}.sotolibhttpengine.so, which will break build systems and dynamic loaders targeting the old name. (f836219) -
⚠️ BREAKING
BREAKING CHANGE Several public methods for raw cookie access, such as
GrantReadRawCookies, have been removed fromChildProcessSecurityPolicyImpl. (41b3b0a) -
⚠️ BREAKING
BREAKING CHANGE Public members of
AccountInfo(e.g.,picture_url) were made private. Callers must now use accessor methods likeGetAvatarUrl(). (d2acdce) (454a9ad) -
⚠️ BREAKING
BREAKING CHANGE On iOS, a new pure virtual method,
IsUsingCustomCardIconEnabled(), was added to thePaymentsAutofillClientinterface, requiring implementation by iOS embedders. (0cf318d)
Code Modernization & Refactoring
-
A large-scale migration from the
int64_ttypedefbase::ByteCountto the type-safebase::ByteSizeclass was performed across the codebase, notably affecting byte formatting functions and the Task Manager API. (b1dfe54) (eae5d29) (c89f2a8) -
Observer patterns in ChromeOS for
SessionManagerClient,UserManager::Observer, andLoginStatewere updated to use the saferCheckedObserverandScopedObservationclasses for improved lifetime management. (949baab) (063bace) (5240e1f)
UI & Features
- Significant progress was made on the experimental 'Contextual Tasks' side panel, with numerous commits landing to implement UI elements like the Lens button, fix crashes, and improve keyboard handling. (face966) (d7075c2)
- Work on Vertical Tabs continued, with new support for dragging tabs to and from the vertical strip and logic for tab group collapse/expand animations. (cdbede9) (96affd4)
- The Tab Search toolbar button is now enabled by default. (2b20533)
Networking
-
⚠️ BREAKING
BREAKING CHANGE A major QUICHE library roll deprecated numerous legacy QUIC version-check methods (e.g.,
UsesTls()) in favor ofIsIetfQuic()and added a newOnConfigNegotiated()method to theQuicSession::Visitorinterface. (c5b2270)
Android
- The bookmark manager gained a 'Copy link' option in its selection menu and added listeners for hover and touch events in preparation for drag-and-drop functionality. (d5213c7) (97f09a7)
- To improve usability on touch-only devices, the link hover status bar (which shows a URL at the bottom of the screen) is now restricted to devices with a precision pointer like a mouse or stylus. (6018c7e)
Extensions
-
The
sidePanel.openAPI now supportsWINDOW_ID_CURRENT, allowing an extension to open a side panel in the current window without needing to query for its ID. (beede36) -
API documentation for
runtime.onMessageand other messaging APIs was updated to officially clarify that listeners can return aPromisefor asynchronous responses, aligning with modern web development practices. (5309887) (0d1975a)
Daily Summaries (7)
- 2025-12-21: Chromium Digest: 2025-12-21 (0 commits)
- 2025-12-22: Chromium Digest: 2025-12-22 (0 commits)
- 2025-12-23: Chromium Digest: 2025-12-23 (0 commits)
- 2025-12-24: Chromium Digest: 2025-12-24 (0 commits)
- 2025-12-25: Chromium Digest: 2025-12-25 (0 commits)
- 2025-12-26: Chromium Digest: 2025-12-26 (0 commits)
- 2025-12-27: Chromium Digest: 2025-12-27 (0 commits)