Chromium Weekly: 2026 Week 3
Overview
An exceptionally active week saw 2322 relevant commits out of 3168 total, marked by an unprecedented number of breaking changes across the entire codebase. Major behavioral shifts were introduced for Extensions and Android, while numerous public C++ APIs were removed or refactored, requiring significant updates from embedders. Key developments include the integration of the JXL image format, the final removal of the Chrome Refresh 2023 flag, and the deletion of major components like the native Cronet implementation and VVC video codec support.
Breaking Changes
-
⚠️ BREAKING
BREAKING CHANGE Asynchronous extension APIs now return a Promise in all contexts, including for Manifest V2 extensions. Calls that previously returned
undefinedwithout a callback will now return a Promise, potentially breaking extensions that checked for anundefinedreturn value. (3e0fd5a) -
⚠️ BREAKING
BREAKING CHANGE A massive, codebase-wide change on Android replaced
jbooleanwithboolin numerous public JNI function signatures, requiring Android embedders to update their native method calls to match the new type. (adeddc7) (88258a7) -
⚠️ BREAKING
BREAKING CHANGE The permissions system underwent a major refactor, altering the public APIs of
permissions::PermissionRequestManager,permissions::PermissionsClient, andPermissionContextBase. Methods likeAcceptandDenynow require aPromptOptionsparameter, breaking existing implementations. (7688ee1) (b47e74e) (5d3a4e1) -
⚠️ BREAKING
BREAKING CHANGE The widely used Android Java interface
ObservableSupplierhas been renamed toMonotonicObservableSupplier, causing widespread build failures for any embedder using this common pattern. (b8cb84d) -
⚠️ BREAKING
BREAKING CHANGE The utility
base::Contains()will now trigger astatic_assertbuild error when used on containers that have their own.contains()or.find()methods, forcing migration to more efficient container-specific functions. (4a17af8) -
⚠️ BREAKING
BREAKING CHANGE The DevTools protocol command
Network.getRequestPostDatanow base64-encodes binary request bodies and adds abase64Encodedboolean to the response, requiring client updates to parse binary post data. (e51443c) -
⚠️ BREAKING
BREAKING CHANGE Numerous public C++ APIs were removed or refactored, including
BrowserFrameViewlayout methods,content::ContentBrowserClient::IsThirdPartyStoragePartitioningAllowed,WebAppRegistrar::IsInstallState, andgpu::FeatureInfo::FeatureFlags, breaking builds for embedders. (9c5016d) (bde1f50) (e849b33) (5810d0a)
Web Platform & Blink
-
The JXL (JPEG XL) image decoder has been integrated into the codebase. The feature is enabled by default at build time and can be activated via the
#enable-jxl-image-formatflag. (8215ebd) -
⚠️ BREAKING
Support for the VVC (H.266) video codec has been completely removed from the codebase, including experimental parsers and public
media::VideoCodecProfileenum values. (1e56231) (bdb67c3) -
The
DataUrlMimeTypeParameterPreservationfeature is now enabled by default, which preserves MIME type parameters duringdata:URL parsing to better align with the Fetch Standard. (8e1a893) (20d11f7) -
The View Transitions API has been enhanced with a new
Element.activeViewTransitionattribute, providing a direct reference to the activeViewTransitionon a given scope. (8d132fe) -
CSS continues to evolve with support added for the
hangingkeyword in thetext-indentproperty, updates to Masonry layout properties, and a fix forposition: stickybehavior with overconstrained boxes. (367f1f9) (21c9e7c) (6c24b5a)
Android
-
⚠️ BREAKING
To reduce Chrome's binary size, XR-related code has been refactored into a Dynamic Feature Module (DFM). Access to XR classes is now brokered through the
XrModuleinterface, a breaking change for direct instantiations. (155e63e) (d49aca5) -
The
chrome.tabGroupsAPI is being ported to desktop Android, with support foronCreated,onRemoved, andonMovedevents landing this week. (e572b54) (c260a71) (4dd3d0f) - WebView debugging is improved as the main thread name will no longer be overridden, providing more accurate and useful Perfetto traces. (941b582)
- Branding in various Autofill and payment UIs has been updated from "Google Pay" to "Google Wallet" to reflect the new product identity. (b3f264c) (d3dc71f) (4f028fd)
UI & Features
-
The "Chrome Refresh 2023" UI is now the permanent and only option available, as the controlling feature flags (
kChromeRefresh2023,kChromeWebuiRefresh2023) have been removed. (6d6528f) - The updated Global Media Controls UI is now enabled by default on all non-ChromeOS desktop platforms. (6153529)
- The "run on OS login" functionality for PWAs is now permanently enabled on desktop platforms, and its feature flag has been removed. (fe87d68)
- Significant development continues on the Vertical Tab Strip (VTS) UI, with improvements to custom corner rendering, animations, and drag-and-drop behavior between tab groups. (e331d37) (1378fb4) (9f2782b)
Code Health & Removals
-
⚠️ BREAKING
BREAKING CHANGE The entire native implementation of Cronet (
//components/cronet/native) and the associated gRPC support library have been deleted from the codebase, as the native implementation was never officially supported. (bf972e6) -
⚠️ BREAKING
BREAKING CHANGE The mechanism for overriding UI strings via Variations has been completely removed, including the
generate_ui_string_overriderbuild target and related public function signatures inVariationsService. (8c51996) - The legacy TabLoader-based session restore mechanism has been fully removed, finalizing the migration to the more modern PerformanceManager-based implementation. (cf33d9c) (3f0d5d7)
-
As part of a large-scale modernization effort, C++
#warningpreprocessor directives are now treated as build errors. (6dc257b)
Daily Summaries (7)
- 2026-01-11: Chromium Digest: 2024-07-26 (0 commits)
- 2026-01-12: Chromium Digest: 2026-01-12 (0 commits)
- 2026-01-13: Chromium Digest: 2026-01-13 (0 commits)
- 2026-01-14: Chromium Digest: 2026-01-14 (0 commits)
- 2026-01-15: Chromium Digest: 2026-01-15 (0 commits)
- 2026-01-16: Chromium Digest: 2026-01-16 (0 commits)
- 2026-01-17: Chromium Digest: 2026-01-17 (0 commits)