Chromium Digest: 2026-03-28
Overview
This digest covers 50 commits from (13f64e8) to (531c249). Four major breaking changes were identified, impacting WebRTC interfaces, the Variations component, Blink's PagePopupClient, and the Safe Browsing build configuration. Other notable changes include spec alignment for CSS
box-shadow, security hardening against spoofed unload ACKs, and modernization of base::EnumSet.API & Build System
-
⚠️ BREAKING
The
build_with_tflite_libbuild flag has been removed from Safe Browsing. This flag was effectively always on and unmaintained. Builds that explicitly set this flag will now fail, requiring its removal from embedder configurations. (531c249) -
The Rust crate
itertoolsis no longer marked astestonly, making it available for general first-party use in production code. (de7fa91)
WebRTC
-
⚠️ BREAKING
webrtc::ArrayViewhas been replaced withstd::spanacross several WebRTC interface implementations, includingwebrtc::RtpTransceiverInterfaceandwebrtc::DatagramConnection::Observer. Embedders directly implementing these interfaces must update their method signatures to usestd::span. (ad28c74)
Blink & Rendering
-
⚠️ BREAKING
The public method
PagePopupClient::AddStringin Blink now accepts aStringViewinstead ofconst String&. This is a signature change to a public interface that may require updates for embedders who implement or call this client. (956d471) -
The rendering of
box-shadowfor elements withborder-shapehas been updated to align with the latest CSS Borders 4 specification. This corrects spread expansion and blur handling, leading to more spec-compliant visual output. (776a2c5) -
To improve performance,
RasterSourceupdates forPictureLayerImplare now split into a main-thread staging phase and a compositor-thread incorporation phase. (2a28a87)
Services & Components
-
⚠️ BREAKING
The
LimitedLayerEntropyCostTrackerAPI in the Variations component has been refactored. TheAddEntropyUsedByStudymethod's behavior has changed to no longer check the entropy limit, and embedders must now call the newIsEntropyLimitExceeded()method to perform this check. (80bc68e) -
The Send-Tab-To-Self feature has been updated to support sending a tab's full back/forward navigation history, introducing a new
NavigationHistorystruct to the sync model. (19645de) -
The association between
WebContentsandInterceptNavigationDelegateon Android has been moved from a C++base::SupportsUserDatamechanism to a Java-side map, simplifying the JNI boundary. (e9086b4) - The Optimization Guide's page content annotation service now supports the concatenation of passage embeddings and adds a shopping classifier. (1dcaa2a)
Core & Internals
-
base::EnumSethas been modernized for C++23. Most methods are nowconstexpr, and the 64-element limit forconstexprconstruction of large sets has been removed, improving compile-time capabilities. (b518534) -
Reentrancy is now explicitly allowed for
ObserverListinBrowserCollectionandFileSystemAccessto prevent potential crashes during observer notifications. (5c04081) (29a72db)
Security
-
A check has been added to disallow spoofed
OnUnloadACKmessages during the attachment of an innerWebContents(e.g., for MimeHandlerView), hardening against a potential exploit where a misbehaving renderer could incorrectly trigger frame deletion. (1ccd3de) -
The
client_idis now validated when registering a bundle for an embedded frame sink, ensuring the bundle is associated with the correct renderer process. (57596dc)
UI & Features
-
A feature flag (
#glic-toolbar-button-horizontal-tab-strip) and initial implementation have been added to enable a Gemini button on the desktop toolbar. (00caeeb) (20e8cdc) (262b31e) -
On Android, the Side Panel infrastructure is updated to populate the native view into the Java
SidePanelContainer. (b2a1485)
Testing & Tooling
-
New
gmock_matchershave been added for UKM (URL-Keyed Metrics) entries to provide more descriptive and powerful assertions in tests, such asEXPECT_THAT(entry, HasMetricWithValue(...));. (5d91e91) - The WebUI ESlint plugin tools are being migrated to TypeScript to improve type safety and maintainability. (dba0f84)
- A large number of Web Platform Tests (WPT) have been imported and expectations updated. (0c6f453) (46870b1)
All Commits (167)
- 1439946 Roll Chrome Android ARM64 Orderfile from _vvAwrRfJGAWOZr9L... to Eyl5qwFXVNf68xFpS...
- 018d02e Roll Chrome Win64 PGO Profile
- ab72482 Automated Commit: LKGM 16630.0.0-1076292 for chromeos.
- 8259912 Roll Chrome Win32 PGO Profile
- 13f64e8 Add ManifestComponentBuilder utility.
- 9ec063e Roll Arm AFDO from 148.0.7757.0_pre1605558_rc-r1-merged to 148.0.7760.0_pre1606617_rc-r1-merged
- 2dfc73f Roll vulkan-deps from ee28b78c7f17 to 547e0f27522b (1 revision)
- e1cefa0 Roll WebView ARM64 Orderfile from kzUpLz3Y1h2oK5U-t... to moFUI1IfHPrfGoBqA...
- 606d5d4 Roll Chrome Mac Arm PGO Profile
- 55e79b6 Roll Amd64 AFDO from 148.0.7757.0_pre1605558_rc-r1-merged to 148.0.7760.0_pre1606617_rc-r1-merged
- a15679d Roll Chrome Android ARM64 Orderfile from MZ-xPORWKn8gRlU8_... to _vvAwrRfJGAWOZr9L...
- 134c29d Roll WebView ARM64 Orderfile from Gdv_78NIj8zknS10M... to kzUpLz3Y1h2oK5U-t...
- abd0854 Roll ios_internal from ad172ac4e54b to e7dacfacd255
- 14e722b Roll Chrome Mac PGO Profile
- 436552b Roll Chrome Android ARM64 Orderfile from _kLCKyyxhJFBQlDPU... to MZ-xPORWKn8gRlU8_...
- bc99f15 Roll vulkan-deps from 5ce4dd0ee729 to ee28b78c7f17 (1 revision)
- d91da37 Roll Chrome Mac Arm PGO Profile
- cc35a0a Roll Chrome Win32 PGO Profile
- 28fd13c [Frameworks roll] Roll to 891004312 piper revision
- e03da73 Roll Chrome Android ARM64 Orderfile from t1z19OF8xYM-zF1Sm... to _kLCKyyxhJFBQlDPU...
- a9190f9 Roll Chrome Win ARM64 PGO Profile
- 1ac5779 Roll Chrome Android Desktop x64 PGO Profile
- 55cde18 Roll Chrome Mac Arm PGO Profile
- ba944c6 Roll Chrome Android ARM64 Orderfile from aaZh-vuRbyzcIMTA6... to t1z19OF8xYM-zF1Sm...
- ed93ac8 Roll BoringSSL from 664a98570747 to 3e22010a8ebd (1 revision)
- 6353a89 Roll Chrome Win64 PGO Profile
- 0efe8ab Roll Chrome Win32 PGO Profile
- 2671899 Roll Skia from d4318add722f to ca2d3c5ccac0 (1 revision)
- b2a1485 Side Panel: Populate SidePanelNativeView into Java SidePanelContainer
- 6c147d4 Roll Chrome Android ARM64 Orderfile from ZWv0n_s-fYj4JfvVt... to aaZh-vuRbyzcIMTA6...
- a5c194f Roll Chrome Mac Arm PGO Profile
- ad28c74 Remove usage of the webrtc::ArrayView alias
- 75d5372 Roll Chrome Android ARM64 Orderfile from Xp6ZdWIrjUWIUZjE-... to ZWv0n_s-fYj4JfvVt...
- 2a28a87 Split RasterSource update for PictureLayerImpl into two phases
- 26cf24a Roll Media App from GTU8IL1fn0A8r39ym... to pTSR0dPdrPe2-3ylh...
- d23ed70 Roll Help App from 5e76BJqLAdQObl2Mm... to Zcxj_BTBBw0g2JfV5...
- 9898662 Roll Chrome Mac PGO Profile
- e9ef38c Roll androidx from _6NDIo3TNrLlGXjv3... to R9Oy42qHPCOo1RGxk...
- 91f62eb Roll Perfetto from 0475bca5192a to 3b9c2c82bae6 (1 revision)
- 358b9ff [CT] Automatic update from google3
- 554cfd2 Roll Chrome Win64 PGO Profile
- 2412e20 [KP] Automatic update from google3
- fc58930 Roll Chrome Win32 PGO Profile
- aaec9a3 Roll Chrome Android ARM64 Orderfile from MF9AqEqlTdJ7Q5Net... to Xp6ZdWIrjUWIUZjE-...
- 0e2dd03 Roll Chrome Mac Arm PGO Profile
- 699713c Roll Chrome Linux PGO Profile
- 85835c5 Roll WebView ARM Orderfile from Zlhq1eosOpQa_Yf1s... to JWRtUjTd6ZOy0wzd3...
- 4383031 Roll clank/internal/apps from 7d1078807c73 to cd27e25dcf47 (1 revision)
- 02cb3cf Updating XTBs based on .GRDs from branch main
- cc493f5 Updating trunk VERSION from 7760.0 to 7761.0
- 5c04081 Explicitly allow reentrancy for BrowserCollectionObserver
- 0ea7f0b Roll Chrome Android ARM64 Orderfile from RroiniSYqBzhr6LEQ... to MF9AqEqlTdJ7Q5Net...
- 1481f72 Roll ios_internal from 0c8aa357c152 to ad172ac4e54b
- d1c6120 Roll Chrome Android Desktop x64 PGO Profile
- c42440f Roll Chrome Mac Arm PGO Profile
- 961d9dd Roll Chrome Android ARM32 PGO Profile
- c0308ab Roll Chrome Android ARM64 Orderfile from rdw3TahQhPY-cQUeb... to RroiniSYqBzhr6LEQ...
- 1eb2ad3 Roll Chrome Win64 PGO Profile
- a73dc3d Roll Chromium Variations from 0m3HvnRKZ94JWZo4O... to iQ1vuHcfIKq8Oih-7...
- 99616df Roll optimization-guide from 004fc65675ee to 719a75960f35
- e9086b4 Move delegate mapping to Java
- ea8e196 Roll Chrome Win32 PGO Profile
- e310acf Roll Chrome Android ARM64 Orderfile from 1NPSNQWtbZOlgcL7-... to rdw3TahQhPY-cQUeb...
- 19645de [STTS] Add navigation history support to STTS model
- 8e97c3f Roll Chrome Mac Arm PGO Profile
- 58ced46 Roll Projector App from K-sa0KB7rTKJipqBQ... to FLl2nuAUECjQsyieJ...
- af5c87d Roll clank/internal/apps from ffdaf98acf82 to 7d1078807c73 (1 revision)
- 478b44f Roll Chrome Mac Arm PGO Profile
- a2995a7 Roll libpfm4 from 1b0d0d3bfd37 to 977a25bb3dfe (1 revision)
- eb0f50f Record duration of InputStream copies.
- cd676ef Roll Chrome Win64 PGO Profile
- 2df7083 Roll Chrome Mac PGO Profile
- 776a2c5 [border-shape] Align box-shadow with CSS Borders 4 spec
- 04672b4 Roll Chrome Win32 PGO Profile
- b068421 Roll Chrome Win ARM64 PGO Profile
- 76f5238 Roll Chrome Android ARM64 Orderfile from BLYkCEek4-z95Iuzu... to 1NPSNQWtbZOlgcL7-...
- b4b7524 Roll ios_internal from 60d7959ef2e4 to 0c8aa357c152
- 9fe1dd6 Roll Boca App from 66_o4RWl_-pj02eFq... to tgpfEmOy6hCW7iZWK...
- 46870b1 Update `TestExpectations` with bugs filed for crrev.com/c/7704726
- 78ad38f Roll WebRTC from c25f3da902e1 to 876820e1307a (1 revision)
- 696341f Roll Boca Receiver App from V2ejRZ54eVeP3_8qH... to vE-hRUcO11y9KTWNO...
- 427ddb5 Roll llvm-libc from 348df0ed1c3c to 8e99db2e7743 (9 revisions)
- 19a6137 Roll WebView ARM64 Orderfile from kcugEHTJLV3r2AXwO... to Gdv_78NIj8zknS10M...
- a688e2c Roll WebView ARM Orderfile from f6VihM_CDzRY0Gcvm... to Zlhq1eosOpQa_Yf1s...
- 26aa2fa Automated Commit: LKGM 16629.0.0-1076273 for chromeos.
- 6827bab Roll android_deps from axLbmkFO-5ssQYn5J... to P4lVbfeB9dDBptkhK...
- c1bfe90 [Frameworks roll] Roll to 890819606 piper revision
- 007651b Roll androidx from dQqoxhUUaSjVCaqAX... to _6NDIo3TNrLlGXjv3...
- 4cc967c Roll Chrome Android ARM64 Orderfile from nq9dM1lzoNMMPwUqO... to BLYkCEek4-z95Iuzu...
- 0c6f453 Import wpt@066334c420e10623d0612177dbfae1db063efaad
- 0a882d5 Roll libpfm4 from 41878eab48c5 to 1b0d0d3bfd37 (1 revision)
- 1854539 Roll eigen from 90ca5bfd9aa0 to 9706546a14e3 (1 revision)
- 15c4669 Roll Chrome Android Desktop x64 PGO Profile
- d26d0eb Roll WebView ARM64 Orderfile from YaDbBxaj-ao3m3XLS... to kcugEHTJLV3r2AXwO...
- 2263b46 Roll Chrome Android ARM32 PGO Profile
- a354566 Roll Chrome Win64 PGO Profile
- 61110a4 Roll Chrome Android ARM64 Orderfile from 2dZj1A9t3__O8fp-l... to nq9dM1lzoNMMPwUqO...
- c5c4bd2 Roll Dawn from 1911efc8bd2e to 296d4f5abc6a (2 revisions)
- 47a632d Roll Chrome Win32 PGO Profile
- 527fe15 Roll ANGLE from 2b53114def9f to 8d8796935e4f (1 revision)
- b6980c3 Roll Chrome Android ARM64 Orderfile from uB2jI30JaolDQFr9E... to 2dZj1A9t3__O8fp-l...
- f0a3be2 Use emplace and std::move to optimize
- 21ab5d6 Roll eigen from eb4b2eeffa91 to 90ca5bfd9aa0 (4 revisions)
- 054cc4b Roll PDFium from b067c3092ba7 to ca8a943c247c (2 revisions)
- de7fa91 Remove testonly from itertools
- f97863b Fix mojom traits file naming to fit standard pattern
- 00caeeb [Glic] Add chrome://flags entry for enabling toolbar Gemini button on horizontal tab strip.
- 0679c35 Roll vulkan-deps from 6c7108eefffd to 5ce4dd0ee729 (1 revision)
- aa597d7 Cleanup: Remove histogram macros header includes in media
- 20e8cdc [Glic] Add feature flag to enable Gemini button on toolbar when horizontal tab strip is enabled.
- db87ecc Roll Chrome Android ARM64 Orderfile from tY9A0iMQEXunop3wL... to uB2jI30JaolDQFr9E...
- 80bc68e Update LimitedLayerEntropyCostTracker to track entropy over time.
- 8ebf275 Roll Perfetto from 8da52185222c to 0475bca5192a (1 revision)
- 7ec40d3 Roll Chrome Win64 PGO Profile
- 6db3244 Roll Skia from 442edcb09b68 to d4318add722f (1 revision)
- 5d91e91 Add gmock_matchers.h for UKM entries.
- 1dcaa2a Add support for concatenation of passage embeddings
- 11466e7 [web-tests] Eliminate `Port.virtual_test_skipped_due_to_disabled()`
- a32ee09 Extend expiration for GPU.HardwareAccelerationModeEnabled
- 5301503 Roll Chrome Mac PGO Profile
- 55c65a5 Roll vulkan-deps from be1582e8f75c to 6c7108eefffd (2 revisions)
- f0d04a5 Roll Chrome Win32 PGO Profile
- 2042d6b Roll Perfetto from 533c6caa9ef2 to 8da52185222c (2 revisions)
- 3519f53 Roll Chrome Linux PGO Profile
- 9c45a62 Roll Chrome Android ARM64 Orderfile from iULz59_dximyTQbQW... to tY9A0iMQEXunop3wL...
- 0c8b743 Updating trunk VERSION from 7759.0 to 7760.0
- 42932b3 Roll ANGLE from 36e0da950263 to 2b53114def9f (1 revision)
- f38c4aa Roll Skia from f04d09d10759 to 442edcb09b68 (1 revision)
- 1ccd3de Disallow spoofed unload ACKs during inner delegate attachment.
- 4ec5891 [Contextual tasks] Disable zoom in side panel
- a348a48 Roll Depot Tools from f5a572610b60 to f5c816648d94 (1 revision)
- 7176085 Roll Chrome Win ARM64 PGO Profile
- 69da5ca [User Engagement] Remove unused EventConstants
- e79dc2b Roll libunwind from 148e7893795b to 092645a3fa57 (1 revision)
- 279701b Roll Dawn from 2177a495ef3e to 1911efc8bd2e (1 revision)
- 06d18c9 Roll Chrome Android ARM64 Orderfile from llLGQ0Bx2SQuytcGD... to iULz59_dximyTQbQW...
- 33cfb4e Roll Chrome Win64 PGO Profile
- dba0f84 WebUI: Migrate ui/webui/resources/tools/eslint to TypeScript, part 1.
- 430af7b [Default Browser] Update the string on chrome://settings/defaultBrowser
- 655b3bf Rename TabletEventConverterEvdev to PenTabletEventConverterEvdev
- bf00801 [Glic] Add the actuating state button
- be1b325 New OWNERS in components/optimization_guide/content/browser
- 7856feb Roll Chrome Win32 PGO Profile
- f88e822 Roll compiler-rt from d4fa79b40ac7 to 721abfc9951e (8 revisions)
- 31aecf1 Roll Chrome Mac Arm PGO Profile
- bb0b2d8 Clean up ForTesting in GeolocationHeader
- 10c1430 Add guidelines about adding new features in optimization guide.
- 4bc7ca7 WebUI: Fix type mismatches in bindings, lazy/infinite lists
- b550ad0 Roll ANGLE from 602e5aeea4ff to 36e0da950263 (2 revisions)
- b93a606 Improve documentation for runtime enabled features and origin trials
- 57596dc Validate client_id when registering bundle
- a6404ac Implemented 4-args feature param definition macro
- a8a1c05 Roll optimization-guide from 9cfb70e9d6e4 to 004fc65675ee
- b518534 [base] Modernize base::EnumSet for C++23 and optimize large sets
- 8334a0a WebUI: Fix type mismatches in data bindings, part 4
- 641da30 Roll vulkan-deps from 631610af000f to be1582e8f75c (2 revisions)
- 262b31e [VerticalTabs][Glic] UX fixes for toolbar Gemini button.
- 29a72db Explicitly allow reentrancy of ObserverList in
- cfa9d6b [finds] Notify observers when the opt in eligibility criteria is met
- e974076 [MultiColumn][Settings Search] Make synthetic breadcrumbs interactable
- e3df7f5 [Glic Metrics] Migrate Glic response segmentation to instance metrics
- d07d429 [PDF Ink Signatures] Refactor ink2_text_box_test.ts
- 0b28ec6 Make the 17 beta AVD config file names all lowercase
- 3251b98 Roll glic-test-internal from 1bc925ff44e7 to ef873da1c4b4 (1 revision)
- 956d471 Pass StringView to PagePopupClient::AddString
- 531c249 Remove build_with_tflite_lib build option from safe_browsing
- c85ed21 Roll Chrome Android ARM64 Orderfile from MrnGOYg64kcey8zR3... to llLGQ0Bx2SQuytcGD...