Chromium Digest: 2025-12-13
Overview
This digest covers 50 commits from December 13, 2025, focusing on significant updates across Chromium. Key changes include two major breaking changes in the Content and Services APIs, affecting embedders who use
SimpleURLLoader and ViewTransitionCommitInfo. Other notable updates involve improvements to lazy loading behavior in Blink, the ability for Chrome on Android to open PDFs, and numerous internal refactorings and bug fixes across UI, media, and platform-specific codebases.Core & Services
-
⚠️ BREAKING
BREAKING: The deprecated
SimpleURLLoader::BodyAsStringCallbackDeprecatedand its associatedDownloadToStringoverloads have been removed from the public network service API. Embedders must migrate to theBodyAsStringCallbackwhich usesstd::optional<std::string>instead ofstd::unique_ptr<std::string>for the response body. (31e0c06) -
⚠️ BREAKING
BREAKING: The default constructor for
content::RenderFrameHostManager::ViewTransitionCommitInfohas been deleted. This change requires embedders to use the new parameterized constructor, ensuring that all fields are explicitly initialized. This prevents bugs related to view transitions where fields could previously be left uninitialized. (aae538e) -
The
kAutofillEnableMultipleRequestInVirtualCardDownstreamEnrollmentfeature flag has been removed, cleaning up code related to an experimental Autofill feature. (2cb8ef0) -
Code hygiene improvements were made across the codebase by adding and removing includes for
base/gtest_prod_util.handbase/functional/callback.hto satisfy IWYU (Include What You Use) principles. (11f5255) (61fce5a) (7f401cf)
Blink & Rendering
-
The behavior of
<img loading="lazy">has been updated to better align with the HTML specification. When an image resource is loaded out-of-band (e.g., viafetch()), the<img>element will now correctly wait until it enters the viewport to fire itsloadevent. This change is behind a feature flag to mitigate potential breakage. (c1c615c) -
The ImageCapture API's internal frame grabbing logic was refactored to use the more idiomatic
CreateImageFromVideoFrame()function, replacing a bespoke conversion process. (f150d03) -
A bug has been fixed to ensure that changes to
PropertyChangeForcesCommitare immediately propagated to the compositor, preventing potential delays in visual updates on idle pages. (9e3a306) -
A prototype JSON-based AGTM (Adaptive Tone Mapping) implementation has been removed and replaced with an
skhdr::Agtmbased implementation, affecting HDR metadata handling internally. (507691b)
Android
- Chrome on Android can now be registered as an application to open PDF files via an "Open with" intent, thanks to a new intent filter added to its manifest. (237aee7)
- Multiple Android UI components and resources were updated, including the replacement of PNG-based reload button icons with a more efficient XML drawable and an update to the videocam vector icon. (199c579) (df25b17)
-
Internal refactoring of Android UI code includes converting
ApplicationViewportInsetSuppliertoNonNullObservableSupplierand changingTabModelSelectorProfileSupplierto use delegation instead of inheritance. (e00e8f7) (5199b5e) -
Work continues on experimental features, including adding a search engine logo to the New Tab Page customization screen and partially porting the
windows.create()extension API for the experimental Desktop Android platform. (e60656d) (4f0b0b9)
iOS
-
Significant internal refactoring was done for Autofill on iOS to improve code clarity. Changes include moving autofill submission data out of the global
gCrWebobject and removing an obsolete TypeScript namespace generator. (c73d581) (a8a674d) - Logic for the Contextual Panel and Location Bar Badge features continues to be migrated and refactored as part of ongoing code modernization efforts. (a10deca) (f24ce78)
Infrastructure & Tooling
-
Several Rust crate dependencies in
//third_party/rustwere rolled to newer versions, includingicu_properties,simd-adler32, andcc. (677a784) (cef10ca) (757716e) (8dfd6e6) -
Multiple reverts were committed to fix build and test failures, including a DevTools Frontend roll, a change to
CHECKfailure messages, and improvements to Cast Streaming tests. (6a641de) (1d10d86) (3131649) - Test configurations were updated to fix or manage test flakiness, including enabling MeetEffects pixel tests on Linux, disabling a flaky test on Android 14, and resharding WPT tests to avoid timeouts. (e50bfb4) (af066a4) (8e6e5d1)
All Commits (133)
- bb0326a Roll ios_internal from 714fa82a9958 to f8ef206d724c
- 676a83d Roll androidx from qKO3qd8m600H36VnI... to B6Kvjl0JY3-U5cjBA...
- 95f95c9 Roll Arm AFDO from 145.0.7575.0_pre1557201_rc-r1-merged to 145.0.7576.0_pre1557818_rc-r1-merged
- ece8282 Roll Chrome Mac Arm PGO Profile
- a10deca [iOS] Migrate WebStateChange logic from ContextualPanelEntrypoint
- 79ffb47 [Frameworks roll] Roll to 844136141 piper revision
- 65ea481 [omnibox-next] Remove tabSuggestions from cr-composebox.
- f24ce78 [iOS] Migrate/Implement ContextualPanelEntrypoint Badge/Chip Tap
- c7bf04a Roll clank/internal/apps from fbb2563851a9 to 8882bade3e40 (1 revision)
- 5ef52d0 Roll Chrome Mac Arm PGO Profile
- ee71bb0 Roll Skia from f9b242d9a365 to 5d98ce0af031 (1 revision)
- ccfa61e Roll ios_internal from c263127c4e85 to 714fa82a9958
- 43511c9 Roll PDFium from 801ef71fadf8 to 83bf49b9e81e (7 revisions)
- 2e35d92 Roll llvm-libc from 779a1494d221 to 6d7c6beccd37 (2 revisions)
- 6bba06d Roll clank/internal/apps from 123d455a896e to fbb2563851a9 (1 revision)
- 5402088 Roll clank/internal/apps from c27478404994 to 123d455a896e (1 revision)
- d26d02d Roll Media App from 5qYNt2ZdEtpGXewlO... to fuOgQJH9epyWpPyL6...
- e383fcd [Frameworks roll] Roll to 843985981 piper revision
- 73e3925 Roll Chrome Mac Arm PGO Profile
- 0326c82 [contextual_tasks] Introduced ContextualTaskContext::ContainsURL
- 07ec50e Roll ChromeOS Atom AFDO profile from 145-7559.4-1765166302-benchmark-145.0.7574.0_pre1556926-r1 to 145-7559.4-1765166302-benchmark-145.0.7576.0_pre1557818-r1
- 1298d96 Roll Chrome Win32 PGO Profile
- 96a2be0 Roll Help App from 5E9Sf0DpXyiPzaOWQ... to Crn4CkyBq-1hkqOLZ...
- 7b4b589 Roll Chrome Android ARM32 PGO Profile
- 20e6ddd Roll ios_internal from 9cdf16c98382 to c263127c4e85
- 051e997 [Desktop Zoom] Update default fieldtrial experiment
- b18f199 test_env.py: Skip loading Lavapipe Vulkan driver for MSAN
- bd6c1b9 [TreesInViz] Parameterize CommitToPendingTreeLayerTreeHostImplTest
- d28f4de Roll Boca Receiver App from b-oREP9QNh6M1bE86... to FBksKTy_sfKPZLVhJ...
- c1c615c Preserve lazy loading behavior when an image is side-loaded
- 1b8020f Roll libunwind from 80473997f824 to 0f7574d6db95 (1 revision)
- 2954520 Roll Skia from abe90c72cf56 to f9b242d9a365 (1 revision)
- 3fc42be [KP] Automatic update from google3
- 29e3fbc Roll vulkan-deps from c154407f3e3e to e756c50d6daf (1 revision)
- 95346dc Roll Dawn from 187d887c8051 to 77925bf6cdd0 (2 revisions)
- 108ea4d Updating XTBs based on .GRDs from branch main
- 6cef827 Roll Chrome Linux PGO Profile
- e720d73 Roll Boca App from sUx12tWUGlmt8otxo... to AuEeAwA0ntjijDHq-...
- f946d4d [CT] Automatic update from google3
- dde2a45 Roll ChromeOS Bigcore AFDO profile from 145-7545.0-1765163579-benchmark-145.0.7574.0_pre1556926-r1 to 145-7545.0-1765163579-benchmark-145.0.7576.0_pre1557818-r1
- b0deefa Automated Commit: LKGM 16520.0.0-1073788 for chromeos.
- ca01c32 Roll Chromium Variations from kDf43maDxOhMVt4ak... to Db4yHuDIIK7nczYgT...
- 8fccb69 Roll libcxxabi from 7a8c5a0cbf61 to 8f11bb1d4438 (1 revision)
- 0036fa4 Roll Chrome Android Desktop x64 PGO Profile
- 3ab8e68 Roll Projector App from aHO4XZyVxgUBRxfYA... to 8vXVGVvGa5keKhQjp...
- 93b7f29 Roll Chrome Win64 PGO Profile
- 6a641de Revert "Roll DevTools Frontend from 4e9be9402d63 to 6a77a2a8411b (1 revision)"
- 3ddf72c Roll V8 from 48860d6db43a to 022ad50145ee (3 revisions)
- e8875e6 Roll Amd64 AFDO from 145.0.7574.0_pre1556926_rc-r1-merged to 145.0.7576.0_pre1557818_rc-r1-merged
- 2d98e99 Roll Chrome Mac Arm PGO Profile
- fdf59da Roll Chrome Win32 PGO Profile
- a174392 Roll androidx from kaRsWkJ8hoL2CkTHA... to qKO3qd8m600H36VnI...
- 802622e Roll Chrome Linux PGO Profile
- c51df71 Roll Perfetto from 5805ccc7f863 to e1d5d5b42c22 (1 revision)
- 7f1350f Fix enum mismatch in Enterprise Promotion Eligibility preferences
- 207f79d Roll Chrome Android Desktop x64 PGO Profile
- 507691b AGTM: Remove JSON prototype
- 4ea46df Roll Chrome Win64 PGO Profile
- d9510ba Roll Chrome Mac Arm PGO Profile
- 97f5db6 xnnpack: Remove non-existent src/deps/clog/include from include dirs
- 9206f2c Roll clank/internal/apps from 68acc032a160 to c27478404994 (1 revision)
- ecbf337 Add GetSharedMemoryAsSpan() to avoid unsafe buffer usage
- 6073b07 Roll Skia from 9e7c893bb593 to abe90c72cf56 (1 revision)
- 4cf5ff9 Roll DevTools Frontend from 4e9be9402d63 to 6a77a2a8411b (1 revision)
- 1fdfc2e Roll Chrome Mac Arm PGO Profile
- a425e8a Roll Dawn from 0741b618a530 to 187d887c8051 (2 revisions)
- df25b17 [Icon] Update videocam vector drawable
- a8a674d [iOS] Delete create_fill_namespace.ts
- aae538e Fix delay_layer_tree_view_deletion not getting set in Navigator
- fbd9506 Roll vulkan-deps from 93cff38c318b to c154407f3e3e (1 revision)
- c73d581 [iOS][autofill] Move autofillSubmissionData out of gCrWeb
- 60cdd60 Roll Chrome Mac PGO Profile
- 4b18fd0 Roll Chrome Win32 PGO Profile
- a05a63d Roll Chrome Mac Arm PGO Profile
- e4de6e9 Automated Commit: LKGM 16520.0.0-1073782 for chromeos.
- 57cc9f5 Roll Chrome Win64 PGO Profile
- 2cc26bc Roll WebRTC from 682fc133642e to df1ffee26f9f (10 revisions)
- e60656d [NtpCustomizaitonV2] Adds search engine logo
- f3d8155 Roll Chrome Linux PGO Profile
- 7798097 Roll Chrome Win ARM64 PGO Profile
- 8f33e56 [Settings Search] Update TabArchiveSettings
- 94e7bd8 Roll V8 from 479849dcc8c9 to 48860d6db43a (5 revisions)
- d7c45bb Roll FuzzTest from 893f793594a6 to 78831bf99787 (1 revision)
- 11f5255 Remove superfluous base/gtest_prod_util.h includes from headers
- f150d03 Switch ImageCapture API over to CreateImageFromVideoFrame()
- 0e50f55 Roll WebGPU CTS from a630b0ea111c to b231a8cb2488 (1 revision)
- 7b9da04 Refactor UIResourceLayerImpl to use unnormalized coordinates
- 3131649 Revert "[Cast Streaming] Improve OpenscreenSessionHost tests"
- 41cf6fe When window is empty, show non-empty string in "Move to window" submenu
- 31e0c06 Remove deprecated SimpleURLLoader::BodyAsStringCallbackDeprecated.
- baee186 Roll clank/internal/apps from c6988268199b to 68acc032a160 (1 revision)
- 03e35f6 Roll Chrome Android Desktop x64 PGO Profile
- 0a8deec [Masonry] Update last references from masonry to grid-lanes
- 677a784 Roll icu_properties: 2.1.1 => 2.1.2 in //third_party/rust.
- 2cb8ef0 [AF] Clean up multiple request flag for VCN enrollment
- cef10ca Roll simd-adler32: 0.3.7 => 0.3.8 in //third_party/rust.
- 0724963 Add XR devices for AndroidDesktopWebPrefsLargeDisplays
- e00e8f7 Android: Convert ApplicationViewportInsetSupplier -> NonNullObservableSupplier
- 5199b5e Android: Make TabModelSelectorProfileSupplier use delegation rather than inheritance
- 8cb9655 [Omnibox Next] Remove param from all variations by default
- 757716e Roll icu_properties_data: 2.1.1 => 2.1.2 in //third_party/rust.
- 8dfd6e6 Roll cc: 1.2.48 => 1.2.49 in //third_party/rust.
- 350ae81 [Extensions] Clean up ExtensionTabUtil::OpenTab()'s browser selection
- e50bfb4 Enable MeetEffects tests on Linux
- 54cb9c8 [iOS] Fix discrepancy between expectations for manual fill button
- 1ef89aa Roll Chrome Mac Arm PGO Profile
- 237aee7 Add Clank as an option for opening PDF files
- 4f0b0b9 [Desktop Android] Partially port windows.create()
- 4eb9806 [remoting Wayland host] Fall back to GNOME D-Bus APIs.
- 199c579 [Icons] Remove btn_toolbar_reload.png and test_ic_refresh_black_24dp
- b64e77c Define and emit walletable pass save events
- 4d0deab Roll Skia from ee08571bbf67 to 9e7c893bb593 (12 revisions)
- 7f401cf Add some missing includes of //base/functional/callback.h
- 9b7fd13 [Contextual Tasks] Add finch param for host replacement
- dba3bd9 Roll Open Screen from 49566a8bf83e to 592c8867ca7f (1 revision)
- 13e8013 Roll V8 from 213a9d187a3d to 479849dcc8c9 (13 revisions)
- d7dacc5 [WebGLOnWebGPU] Fix texture target handling in deleteTexture
- b3e598c Roll Updater chromium_win_x86_64 from 2@1552007 to 2@1553032
- d747ed0 Roll Updater chromium_win_x86 from 2@1552004 to 2@1553001
- 29603a9 Roll Updater chromium_win_arm64 from 2@1552031 to 2@1553048
- 79aad28 Don't show the contextual task ephemeral button until side panel closes
- 61fce5a Do IWYU for FRIEND_TEST_ALL_PREFIXES() in headers
- 6563bf8 [Contextual Tasks] Use correct favicon
- af066a4 [Android] Disable flaky SetDefaultBackgroundColorOverride in 14 devices
- 203ddd5 Roll Enterprise Companion chromium_win_x86 from L5Wh8ARVjKMBK5FN8... to 24N--efs4DwpsFj8l...
- 97d8060 Roll Enterprise Companion chromium_win_x86_64 from TeNipVx8r7a00gwBP... to nAStYiaSlXJA4HyBq...
- 8e74ae3 Roll src-internal from a647ff2b051e to 8fe71ca11a9f (1 revision)
- 9e3a306 Ensure propagation of PropertyChangeForcesCommit to compositor
- b90b56d media: Add histograms for multi-GPU with external display on MF errors
- 8e6e5d1 [Infra] Reshard headless_shell_wpt_tests on Linux Tests (dbg)(1)
- 6441aa7 Roll Dawn from bb2fc0a5a259 to 0741b618a530 (7 revisions)
- 1d10d86 Revert "Separate check failure message parts more clearly."
- 4e75ed4 WebXR: Fix viewport height calculation in GetViewportForLayer