Chromium Weekly Digest Logo

Chromium Weekly Digest

Week 10 of 2026 (2026-03-01 to 2026-03-06)

Chromium Weekly: 2026 Week 10

Overview

A week dominated by a wave of breaking API changes aimed at modernizing the codebase, impacting nearly every major component from the base library to platform-specific UIs. This summary covers 2348 relevant commits out of 3133 total across 6 days. Key themes include a broad migration to asynchronous patterns and base::span, the continued decoupling of ChromeOS code, the shipping of new CSS features like contrast-color(), and a landmark step towards memory safety with the first Rust implementation of a core security policy.

Widespread API Modernization & Breaking Changes

  • ⚠️ BREAKING BREAKING CHANGE: A massive effort to modernize core APIs has resulted in numerous breaking changes. ui::Clipboard methods like ReadText and GetStandardFormats were converted from synchronous to asynchronous, callback-based functions, requiring significant updates for all embedders. (1d23bcd) (34bc314) (c6bd1aa) (14c828a)
  • ⚠️ BREAKING BREAKING CHANGE: A code health initiative replaced raw pointers with base::span across many APIs, including base::File::Read/Write, base::Pickle, and WebAudioSourceProvider::ProvideInput. This breaks callers who must now migrate to the safer, span-based overloads. (2f6529b) (18a2af4) (54421a1) (3b61a3b)
  • ⚠️ BREAKING BREAKING CHANGE: Numerous public C++ interfaces now require implementation of new pure virtual methods, breaking existing subclasses. Notable examples include net::NetworkDelegate (added ShouldForceIgnoreSiteForCookies), blink::WebMediaPlayer (added Shutdown), and DataTypeController (updated GetPreconditionState). (9e66171) (2f6df87) (37a2d3f)
  • ⚠️ BREAKING BREAKING CHANGE: The effort to separate ChromeOS from the browser continued with major API changes. The crosapi::mojom::CrosDisplayConfigController was replaced with a pure C++ API, and many OS-specific preferences and URL constants were moved into the ash namespace, breaking non-Ash callers. (27f97b7) (49287a5) (5622ae9) (83edd08)
  • ⚠️ BREAKING BREAKING CHANGE: Several obsolete or superseded APIs were removed entirely. This includes the WebAuthn caBLE v1 extension, SHA-1 related fields from net::CertVerifyResult, the chrome.browser API for non-ChromeOS platforms, and the TabRendererData class. (8b50d0e) (02514ec) (70a730f) (d1392f5) (af1897a)

Web Platform

  • The CSS contrast-color() function and border-shape property are now enabled by default, giving web developers powerful new tools for dynamic color selection and creating non-rectangular element borders. (c103765) (e8744fa)
  • The window.scroll() and Element.scroll() families of methods now return promises, providing a modern, standardized way to handle scroll completion and chain asynchronous actions. (9ecb942) (1d33f8f)
  • The Web Crypto API was strengthened with the implementation of the robust ChaCha20-Poly1305 algorithm. (38ea0fe)
  • The CSSPseudoElement interface and the event.pseudoTarget attribute are now enabled by default, allowing JavaScript to directly interact with and inspect pseudo-elements. (27d3b7f) (9b1025c)

UI & Features

  • The 'Send Tab To Self' feature was enhanced to propagate the user's scroll position, allowing the receiving device to automatically scroll to the same location when the tab is opened. (54ee74b) (04f26ef)
  • The Vertical Tabs feature received several visual and functional updates, including higher contrast outlines, better drag-and-drop indicators, and smoother animations for adding and removing tabs. (bc90d82) (e057056) (fa9ee99)
  • As part of ongoing cleanup, the "Tab Declutter" feature and the WebUI for Auto Tab Groups (ATG) were completely removed from the codebase. (5bbd8d1) (549edd6)

Security & Infrastructure

  • In a landmark step towards memory safety, an initial Rust implementation of ChildProcessSecurityPolicy was introduced. It will run in parallel with the C++ version, controlled by a feature flag, as part of the initiative to rewrite critical components in Rust. (5440cf2)
  • ⚠️ BREAKING A major refactoring of Android's JNI layer continued, introducing safer pointer patterns (JniTypeToken, JniPtr) and refactoring core UI classes to reduce the use of persistent global references, improving stability and scalability. (b79b840) (871d151) (7f1d1c0) (b8740ec)
  • New enterprise policies IncognitoModeUrlBlocklist and IncognitoModeUrlAllowlist were launched to stable. The URLBlocklist policy was also hardened to prevent administrators from accidentally blocking internal chrome:// pages with a wildcard. (de0b2fd) (b7792df)
Daily Summaries (6)
← Back to all summaries