0
Commit Graph

117224 Commits

Author SHA1 Message Date
f9aab1453b [BTM] Report destination page UKM source ID from BtmPageVisitObserver
BtmNavigationFlowDetector needs the UKM source ID for some of the UKM
events it emits.

Bug: 390201794
Change-Id: I14503265ee73fc26c2b773879fc530e6292ec113
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6377908
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Reviewed-by: Andrew Liu <liu@chromium.org>
Commit-Queue: Svend Larsen <svend@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437749}
2025-03-25 14:33:13 -07:00
ffedd2a2ab [FedCM] Use stored accounts if available
If the LightweightFedCM flag is enabled, use accounts that have been
pushed via navigator.login.setStatus; if present, skip the accounts
endpoint fetch.

If the LightweightFedCM flag is enabled, treat the accounts endpoint as
optional when validating the FedCM configuration.

Bug: 365798049
Change-Id: I2f57ac4b44e051e3a0d0de71027e9373313538f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6333806
Reviewed-by: Nicolás Peña <npm@chromium.org>
Auto-Submit: Erica Kovac <ekovac@google.com>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437695}
2025-03-25 13:14:39 -07:00
5fc3d3c782 Don't make a11y mappings for ::checkmark
The ::checkmark pseudo-element has its contents populated via the
content property. The value of the content property can have an
additional argument provided to set the accessible name, which we
currently set to an empty string by default to hide it from the a11y
tree.

The value isn't important because I think the checked state of the
option element is already provided in a different way, and announcing a
checkmark icon is not helpful.

Based on this discussion, we should do this by default for the
::checkmark pseudo without requiring the author to also set the
accessible name to the empty string:
https://github.com/mdn/content/pull/38470#discussion_r2008010426

Fixed: 405946933
Change-Id: I983b1e7dff879f2c1a2184c505046d0581f93380
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388535
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437677}
2025-03-25 12:43:21 -07:00
535a04ceec Measure extra report delay exceeding 30 days
This will help us measure the impact of deleting report data at 30 days
past the initial report time.

Bug: 402791062
Change-Id: I838af00e1fd2128e8cb2461271550efeeb25e025
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6390877
Reviewed-by: Charlie Harrison <csharrison@chromium.org>
Commit-Queue: Thomas Quintanilla <tquintanilla@chromium.org>
Reviewed-by: Nan Lin <linnan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437669}
2025-03-25 12:27:03 -07:00
5229fea61c WebView settings make PaymentRequest API (un)defined in JavaScript
Before this patch, when WebView settings turned off PaymentRequest, it
could be feature-detected through the use of the canMakePayment() API in
WebView, but the standard feature detection of checking whether
window.PaymentRequest is defined was not available.

This patch removes the direct mapping from kWebPayments feature flag to
RuntimeEnabledFeatures in runtime_features.cc and instead adds a
WebPreferences field `payment_request_enabled`.

On the browser side, WebContentsImpl sets `payment_request_enabled` to
the value of the kWebPayments feature flag on all platforms, while
AwSettings sets `payment_request_enabled` to true only if kWebPayments
and the WebView setting both enable it.

On the renderer side, Blink's WebViewImpl enables PaymentRequest when
the `payment_request_enabled` web preference is enabled.

After this patch, when WebView settings turn off PaymentRequest, that
can be feature-detected by checking whether window.PaymentRequest is
defined.

Design doc (public):
https://docs.google.com/document/d/1yS2_LykHMhSTHr_oX9gtHgE8WS0x5QYtdg_k_8XBUj8

Fixed: 403310745
Change-Id: I95a6f6b8691249a88bd02bb3ec45c949dd2a2477
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354203
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Nick Navarro <npnavarro@chromium.org>
Auto-Submit: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437645}
2025-03-25 11:49:58 -07:00
9a3a60789c Suppress additional unsafe libc warnings for chromium
Continuation of previous effort.

Bug: 390223051
Change-Id: If34ee4586ff42f9051f9cc6ee52d3464d25ee7d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6391776
Commit-Queue: Alex Gough <ajgo@chromium.org>
Owners-Override: Alex Gough <ajgo@chromium.org>
Auto-Submit: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437641}
2025-03-25 11:47:38 -07:00
57368cb688 Reland "Use string_view in logging and trace_event location"
This is a reland of commit 5439f8eb1e

Original change's description:
> Use string_view in logging and trace_event location
>
> Changes the LogMessage class to use a string_view for file names. This
> required a matching change in trace_event: a const char* string was
> passed from logging code, but there is no safe way to get a const
> char* from a string_view since the latter may not be null-terminated.
>
> Many clients of base/logging.h are updated to use string_view as well.
>
> Code which attempts to pass a string_view to a LogMessage by its data
> pointer already exists:
> https://source.chromium.org/chromium/chromium/src/+/main:ash/quick_pair/common/logging.cc;l=49;drc=c6c99d03b1d2f4fab91d6be8665f81b540690c73
> https://source.chromium.org/chromium/chromium/src/+/main:components/cross_device/logging/logging.cc;l=30;drc=00704dbac4f63b2476aac319572ffc42c9b71fc2
>
> Desire for Rust logging support prompted this change. In principle a
> Rust log facility can be a thin wrapper around the base logging
> implementation, but Rust has almost no support for null-terminated
> strings. Instead, Rust provides a string_view equivalent built in to
> the language. This change enables Rust code to pass file names
> obtained by language-specific macros to the C++ implementation.
>
> Bug: None
> Change-Id: I21b4f1c945b70d54f66d80adf3dcda1fe5a39f71
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5765705
> Reviewed-by: Peter Boström <pbos@chromium.org>
> Auto-Submit: Collin Baker <collinbaker@chromium.org>
> Commit-Queue: Collin Baker <collinbaker@chromium.org>
> Reviewed-by: Stephen Nusko <nuskos@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Owners-Override: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1436283}

Bug: None
Change-Id: I725bac881a160caa6d97e7480bc4047b460fae34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387020
Commit-Queue: Collin Baker <collinbaker@chromium.org>
Reviewed-by: Peter Boström <pbos@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437625}
2025-03-25 11:29:16 -07:00
0311931bf9 Add field trial for ReduceAcceptLanguageHTTP
Change-Id: I44322f5584bd8be9b9e2014a0de70a4429bd5c94
Bug: 334954143,384488975
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387641
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Victor Tan <victortan@chromium.org>
Reviewed-by: Andrew Williams <awillia@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437579}
2025-03-25 10:17:14 -07:00
17bf1662a1 Add a feature to disable software GL fallback due to crashes.
The AllowSoftwareGLFallbackDueToCrashes feature controls if the GPU
process will fall back to software GL (SwiftShader or WARP) due to
repeated crashes.

The SOFTWARE_GL mode is still added to the list of
fallback modes because it is part of the normal flow for blocklisted
GPUs.

Bug: 402494900
Change-Id: I6f178d612b98874d3469b1a2a083b78bc1338429
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6362999
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437571}
2025-03-25 10:08:13 -07:00
eb12b9616b Skip flaky timing out TraceTest_ViewTransitionsCapture
Bug: 371949935
Change-Id: Ide1f80f44112a3b8daafbd892b721546578a3162
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387223
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437552}
2025-03-25 09:47:26 -07:00
ca079835dd gpu: Pass the kRevenBranding switch to the GPU process.
This was not accounted for in https://crrev.com/c/6302336. The switch
will be removed once the page flip flake experiment ends in one months
time.

`--reven-branding` switch in the output of
`ps ax | grep gpu-process`

TEST: Upload change to device and note the presence of the
BUG: b:371609830
Change-Id: I44f251f9c7cec9afbd878d193855a8d1ba8a0572
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388439
Reviewed-by: Nicholas Bishop <nicholasbishop@google.com>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Andre Braga <andrebraga@google.com>
Cr-Commit-Position: refs/heads/main@{#1437534}
2025-03-25 09:18:52 -07:00
80aa51b180 Protected Audience: request seller signals on each task
Now that we have trusted seller signals responses cached, it's likely
counterproductive to batch requests.

Bug: 405378064
Change-Id: I80083813e7fbb78ee848210b3f54479bc19550b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6382817
Reviewed-by: Russ Hamilton <behamilton@google.com>
Commit-Queue: Abigail Katcoff <abigailkatcoff@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437528}
2025-03-25 09:02:55 -07:00
137afa34ab Make DeclarativeNetRequestBrowserTests cover PA TKVv2 requests.
We're adding caching logic to Protected Audiences trusted key value
version 2 requests, which use a very different flow from the
non-cache path. This CL enhances and renames a pre-existing
DeclarativeNetRequestBrowserTest to make sure TKVv2 requests are
wired up to extensions.

This CL moves privacy_sandbox_coordinator_test_util.h, needed to set
up a coordinator to enable these fetches, to content/public/test/,
and makes InterestGroupManagerImpl::AddTrustedServerKeysDebugOverride()
a member of InterestGroupManager.

It splits DeclarativeNetRequestBrowserTest.FledgeAuctionScripts in
two, since leaving it as a single test resulted in unexpected failures
that seem unrelated to the changes to the test - an extension
seems to have stopped redirecting requests not modified by this CL
for some reason. The test was not flaky before, but flaked twice
on Android before being split up.

Bug: 330322161
Change-Id: If3fd113cce8ed6ef7dae7853312cb8f3a5be3d43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6330419
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Kelvin Jiang <kelvinjiang@chromium.org>
Commit-Queue: mmenke <mmenke@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Reviewed-by: Kevin Graney <kmg@google.com>
Cr-Commit-Position: refs/heads/main@{#1437524}
2025-03-25 08:58:25 -07:00
50129934db [fuchsia] Route diagnostics dictionary to Chromium
Route the diagnostics dictionary to Chromium.

The diagnostics dictionary is not in itself a capability,
it is a concept that exists at the component framework level
and exists to ensure that a bundle of capabilities is routed between
different components in the system. It is not necessary for those
components, or child processes to "use" specific capabilities from
that bundle. This merely changes how the existing capabilities are
routed and ensures that all components in the component hierarchy
receive the capabilities in the bundle, allowing child components
that want to use a capability added in the future to easily
use it from that bundle without requiring that all components
in the hierarchy are explicitly updated to route it.

Cq-Include-Trybots: luci.chrome.try:fuchsia-smoke-sherlock

Fixed: 376922343

Change-Id: I22a5ede694c3088c015d626753569a5d699ab378
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354008
Commit-Queue: Brian Bosak <bbosak@google.com>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Zijie He <zijiehe@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437522}
2025-03-25 08:53:17 -07:00
f76d0284ba Remove altimin@ from OWNERS files
And now my watch has ended.

Change-Id: I5e7a527067ebb5bbace93c88278e25a6d2b7ddaa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387046
Auto-Submit: Alexander Timin <altimin@chromium.org>
Reviewed-by: Petr Cermak <petrcermak@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437503}
2025-03-25 07:56:27 -07:00
e606d95bc1 [A11yPerformance] Clean up BrowserAccessibilityState histogram code
Changing the way screen reader metrics works has enabled this further
simplication.

Bug: none
Change-Id: I7e47d81220aef518c73849db24d1b97a8e0705b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6376624
Reviewed-by: Mark Schillaci <mschillaci@google.com>
Reviewed-by: Greg Thompson <grt@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Auto-Submit: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437492}
2025-03-25 07:41:47 -07:00
6b8a107585 Revert "Fix explicitly requesting D3D11 WARP by the command line."
This reverts commit b5ce6f437f.

Reason for revert: Flakily broke many content_browsertests on Fuchsia, see crbug.com/406167287

Original change's description:
> Fix explicitly requesting D3D11 WARP by the command line.
>
> The --use-angle=d3d11-warp flag was not working without also enabling
> the AllowD3D11WarpFallback feature, the flags for warp and swiftshader
> would both be added to the command line.
>
> Clean up logic for setting software GL command line arguments from the
> browser process and respect the requested GL implementation if one is
> provided by command line.
>
> Bug: 402163834
> Change-Id: I8fdea87be0ce957df6fd33cf3d8f0aed3891c4da
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6377726
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1436956}

Bug: 402163834, 406167287
Change-Id: I00fccd86edfdfee027c93811dd172fa033a52dcb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387706
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Marc Treib <treib@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437457}
2025-03-25 06:32:31 -07:00
2a98ae6258 [shared storage] Add SharedStorageManager::BatchUpdate() method
Introduce SharedStorageManager::BatchUpdate() method that forwards
the request to the underlying SharedStorageDatabase.

Explainer PR: https://github.com/WICG/shared-storage/pull/228

Fuchsia-Binary-Size: Size increase is unavoidable.
Bug: 404568020
Change-Id: I39feb84af04f69d6b0d2c4a7432ad5e46b9d3ed7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6384755
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437454}
2025-03-25 06:28:40 -07:00
b02b98e9c3 [Blob URL] Change DoesFrameHaveStorageAccess() in StorageAccessHandle
Follow up change for
https://chromium-review.googlesource.com/c/chromium/src/+/6313600/comment/4e805122_10a62e0a/.

Generally the term "frame" is used to refer to the "physical frame"
(~FrameTreeNode) that won't change after navigations. Meanwhile
"document" is used for what we load within a frame, and changes after
cross-document navigations. Since the storage access is per-document
instead of per-frame (i.e. it doesn't stay the same after we navigate
away), we want to change DoesDocumentHaveStorageAccess() to
DoesFrameHaveStorageAccess().

Bug: 399308041
Change-Id: I0cefacd1d31866353e3e202a65d4893270ab1502
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388315
Reviewed-by: Andrew Williams <awillia@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Auto-Submit: Janice Liu <janiceliu@chromium.org>
Commit-Queue: Janice Liu <janiceliu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437451}
2025-03-25 06:20:47 -07:00
31db0fc0fb Remove unused disk_cache::Entry::GetLastUsed()
Change-Id: I670cfcaa6f4b9142f2be7b923da2801c81f8747d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6347823
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437449}
2025-03-25 06:17:14 -07:00
960c871929 Refactor Webcodecs test generation
Makes the following changes to test generation in the Webcodecs
integration test file:

1. Switches to f-strings
2. Converts nested loops to itertools.product()
3. Adds trailing commas to improve the behavior of "git cl format"

Bug: 405148966
Change-Id: I07e259b42d4c05baf5a3abef3182a24fd0bf5d9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388959
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437417}
2025-03-25 04:56:32 -07:00
94ec04ec6b SubframeHistoryNavigationThrottle: Update the state_ first
It's nice to update the `state_` before calling Resume()
to avoid an ordering issue.

Bug: 405140652
Change-Id: Ife607f8121eadcf30f86c5478a688bd7e61bccb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387055
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437323}
2025-03-24 23:28:14 -07:00
9b82a0d47a Prerender2Fallback: Disable prefetch holdback if ahead of prerender
In an experiment of Prerender2FallbackPrefetchSpecRules, not negligible
amount of prerenders failed due to prefetch holdback. This CL disables
prefetch holdback if the prefetch is likely ahead of prerender.

For more details, see
https://docs.google.com/document/d/1ZP7lYrtqZL9jC2xXieNY_UBMJL1sCrfmzTB8K6v4sD4/edit?resourcekey=0-fkbeQhkT3PhBb9FnnPgnZA&tab=t.wphan8fb23kr

Fixed: 405294450
Change-Id: I98b2eeb3e6415ed9d4d37257dbc7a5fc1dfaa076
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6380517
Reviewed-by: Taiyo Mizuhashi <taiyo@chromium.org>
Commit-Queue: Ken Okada <kenoss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437319}
2025-03-24 23:25:51 -07:00
c5127f0618 Prompt API: rename context overflow to quota overflow
This CL follows https://github.com/webmachinelearning/prompt-api/pull/75
and makes the renaming of the contextoverflow event to quotaoverflow.

Bug: 381975242
Change-Id: I08fffcc198c9254bd60f95f6f89abe246a4a4f68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6381420
Reviewed-by: Dominic Farolino <dom@chromium.org>
Commit-Queue: Mingyu Lei <leimy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437297}
2025-03-24 21:23:22 -07:00
ef58f27761 Add HappyEyeballsV3Enabled enterprise policy
This policy provides a way to disable the HappyEyeballsV3 feature.
Since the network stack (especially the DNS stack) share the same
settings among profiles, the policy isn't per-profile. The policy
supports dynamic refreshing.

Bug: 401410305
Change-Id: I0012d645b5f197d4447e5dcc66b89f171a11732d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6333373
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Owen Min <zmin@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437293}
2025-03-24 21:13:24 -07:00
f3b21f9a8a Prompt API: rename token limit related properties
This CL follows https://github.com/webmachinelearning/prompt-api/pull/75
and makes these renaming:
- Rename maxTokens/tokensSoFar to inputQuota/inputUsage
- Rename countPromptTokens() to measureInputUsage()
- Remove tokensLeft

Bug: 381975242
Change-Id: Ic6dc879120dc14e873d634478a36a8e1451f8894
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6382357
Reviewed-by: Daseul Lee <dslee@chromium.org>
Commit-Queue: Mingyu Lei <leimy@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437284}
2025-03-24 20:28:29 -07:00
dd2943e8e6 WebAudio: Remove AudioDestination resampler when feature enabled
This CL introduces the feature flag
WebAudioRemoveAudioDestinationResampler. When enabled, this flag
bypasses the resampling step within the AudioDestination node. This
allows the AudioService to handle resampling, potentially reducing
latency and overhead. Additionally, GetOutputBufferSize has been
modified to scale hardware buffer sizes and enforce minimum and maximum
buffer size limits.

Design Doc: go/webaudio-sample-rate-reconciliation

Bug: 374797496
Change-Id: I91c2d3064ded355b09309da11589be4d8ae2f04d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6279011
Commit-Queue: Alvin Ji <alvinji@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: Michael Wilson <mjwilson@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437249}
2025-03-24 18:28:43 -07:00
94700cd9a1 Remove useDefineForClassFields=false in components/ and content/.
Bug: 389737066
Change-Id: Ia294f9e6ae19d5f39d5446333a8989bc4c50b484
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6383915
Commit-Queue: Teresa Mao <temao@chromium.org>
Reviewed-by: Teresa Mao <temao@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437245}
2025-03-24 18:21:10 -07:00
36940af2cf Add UMA to know how likely DoInitStream() blocks for Google Search
This is similar to https://crrev.com/c/5785518, but specifically targets
Google Search.

This metric will help us understand the P90 latency between FetchStart
and RequestStart, as described in go/no-yield-analysis (internal
document).

Instead of directly recording a histogram in HttpNetworkTransaction
[^1], this CL plumbs timing information (stream initialization delay)
as part of LoadTimingInternalInfo, and then records the histogram
in GWSPageLoadMetricsObserver.

The purpose of using GWSPageLoadMetricsObserver is to ensure that
metrics are recorded under the exact same conditions as other metrics
which use GWSPageLoadMetricsObserver. This ensures consistency and
allows for better comparisons down the road.

LoadTimingInternalInfo is a new structure I'm introducing to group
internal load timing information. We typically put timing information in
LoadTimingInfo, but that should be reserved for web-exposed data.

The key difference between LoadTimingInfo and LoadTimingInternalInfo is
that LoadTimingInternalInfo is only provided if the request has
`trusted_params` (that is, the loader is trusted).

LoadTimingInternalInfo will be used to group other internal load timing
data that we want to measure in the future.

[^1]: https://crrev.com/c/6332172

Bug: 359404121,393980912

Change-Id: If9feabae35c14b416602040ca24b6d6cc66f9e68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6335162
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Shunya Shishido <sisidovski@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437230}
2025-03-24 17:46:39 -07:00
265c174a88 Suppress next batch of unsafe libc call warnings
As determined largely by buildbots, land this set before
looking for remainders.

-- Exempt one directory where re-generation of a file removed
   a suppression to avoid future problems on next regeneration.

Change-Id: Ic64fafd5afebf4d74a283c7b45beb665c3f92f8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6383916
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Owners-Override: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437194}
2025-03-24 16:43:41 -07:00
cb01219962 Prefetch: Remove unnecessary loop
Bug: 381687257
Change-Id: If651461cb4d6a453567b0a95f82c0ff6d6fb72ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6381642
Auto-Submit: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Huanpo Lin <robertlin@chromium.org>
Reviewed-by: Huanpo Lin <robertlin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437171}
2025-03-24 16:10:02 -07:00
81487ea4a6 media: Fix MediaCapabilities support value when KeySystem is specified
When querying for decoding info, if keySystemConfiguration is specified,
Chromium returns supported for invalid HDR metadata. We now adjust the
code to verify clear playback checks first, and then check EME support.

testing: Add function testVideoConfigWithHdrMetadataAndKeySystem, and
without the modification to media_capabilities.cc, the added test to
MediaCapabilities Browsertest fails. With the change, it passes.

Bug: 399133251
Change-Id: Ibbe20fadda16c6568171d780a62d92e7e7cdd228
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6364074
Commit-Queue: Vikram Pasupathy <vpasupathy@chromium.org>
Reviewed-by: John Rummell <jrummell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437156}
2025-03-24 16:01:06 -07:00
b8284baf0a Add DWA metric for AggregatableReportSender status
Adds a new DWA metric paralleling the existing
PrivacySandbox.AggregationService.ReportSender.Status UMA metric.

As a drive-by, converts some const GURL& arguments to GURL to avoid
unnecessary copies.

Bug: 403319682
Change-Id: I14e469e62920e633b179499ef29c0ca6389e00e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6356607
Reviewed-by: Dan McArdle <dmcardle@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Alex Turner <alexmt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437131}
2025-03-24 15:16:25 -07:00
16b5ba77d0 Prompt API: Add expectedInputs; plumb to on_device_model::Capabilities
Update LanguageModel factory and interface to match updated spec:
  Change expectedInputLanguages CreateOptions to expectedInputs.
  Remove expectedInputLanguages getter property from the interface.

Check types; only permit non-text with multimodal input feature flag.
Plumb capabilities through task creation; persist and expose in session.
Update mojom to match; update unit tests & WPTs; cleanup.

Bug: 399200301, 405053667
Fuchsia-Binary-Size: Permitting 16K increase (API struct addition?)
Change-Id: I948af2bd9c89e15368efcbf3565bc208ceb9141b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6374110
Reviewed-by: Zijie He <zijiehe@google.com>
Reviewed-by: Steven Holte <holte@chromium.org>
Auto-Submit: Mike Wasserman <msw@chromium.org>
Reviewed-by: Brad Triebwasser <btriebw@chromium.org>
Commit-Queue: Mike Wasserman <msw@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437099}
2025-03-24 14:17:09 -07:00
e19a16923c [tracing] Add a high-level test for scroll instrumentation
This CL adds a browser test that performs a scroll and checks basic
correctness of the scroll jank instrumentation:

* `chrome_scroll_update_info` is not empty;
* at least one frame is marked as is_first_scroll_update_in_frame
(and is_first_scroll_update_in_scroll -> is_first_scroll_update_in_frame);
* at least one frame is marked as is_presented
(and has presentation_timestamp);
* the sequence of timestamps for the sequence of stages is increasing;
* there are no negative durations;
* the scroll update ids are unique.

Bug: 365766910
Change-Id: I30e2795662c806eeb6a557c10044eca8f8498ca2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6278092
Reviewed-by: Francois Pierre Doray <fdoray@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Petr Cermak <petrcermak@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437091}
2025-03-24 14:03:52 -07:00
b9404bd902 Add sobel matching to Pixel_SVGHuge
Adds sobel matching to the Pixel_SVGHuge test since new images are
occasionally generated with minor differences along the edges.

Also drive-by removes a long-expired grace period for a nearby test.

Bug: 41495981
Change-Id: Ie043ffdb44b9999c07b8bc69d7f071acb9e2f4e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388438
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437083}
2025-03-24 13:56:37 -07:00
ae93e74c54 Fix/prevent race condition on profile re-loading
This CL switches to using `CreateTaskRunnerForResource()` when the BTM
service is using a persistent/on-disk database, avoiding a scenario
where a new (different) task runner is used to open the BTM db while the
original task runner is in the process of closing it.

`CreateTaskRunnerForResource()` prevents this by only creating a new
task runner if there isn't already one associated with the db file. If
there is already a task runner associated with the db file, it returns a
reference to that one.

Reusing the same task runner means the task to open the db won't start
until the task to close it has completed.

Bug: 369635654
Change-Id: I780ceced23d01c3e1441f0ad8c1802ade4a59c0e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6386752
Reviewed-by: Ryan Tarpine <rtarpine@chromium.org>
Commit-Queue: Joshua Hood <jdh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437050}
2025-03-24 13:36:16 -07:00
41b4a36b06 Convert some GPU strings to f-strings
Converts older style string formatting to f-strings in a handful of
files under //content/test/gpu. Newer pylint versions have a check for
this enabled by default, and we have been largely using f-strings since
switching to Python 3, so this is an opportunity to get all GPU code
consistent.

Bug: 405148966
Change-Id: Ic0f7058affb684754a8590350e516936d8338a64
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6383525
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437037}
2025-03-24 13:25:07 -07:00
38837fbcc2 [tracing] Fix AddPresetScenarios
A conflicting scenario isn't necessarily enabled.
Disable it only if enabled. Also remove conflicting scenarios
from `enabled_scenarios_`

Change-Id: Iada379b3c71df42403a1890855d60057e6c06661
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6386754
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Etienne Bergeron <etienneb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437024}
2025-03-24 12:35:48 -07:00
3812f7d81a a11y: A listbox with children is not a leaf node
In a multiselectble=true listbox, GetMultiselectableStateDescription()
returns "None selected" even though there are several items selected.
This is because this listbox is considered as leaf and therefore its
children is not reachable.

This change makes sure listboxes with children should never be a leaf
node.

Before fix: http://go/scrcast/NDc3MDY0ODgxMDMyMzk2OHwyNTgzNzhlYy03Yg
After fix: http://go/scrcast/NTUwNjU2Mzg4NzMzMzM3Nnw0NzU3YjM2Yi1mMA

Bug: 391469359
Change-Id: I248ef8c8701d579bf15cdf7623475511b4d10378
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6386558
Commit-Queue: Wenyu Zhang <zhangwenyu@google.com>
Reviewed-by: Mark Schillaci <mschillaci@google.com>
Cr-Commit-Position: refs/heads/main@{#1437013}
2025-03-24 12:12:14 -07:00
afa751da73 btm: Add feature flag for mitigations on dual-use sites.
Also removes a TODO. It's not possible to move content flags into their
own files at the moment because we use `content_features.h` to generate
flags for Android. If we want to move flags into their own file we need
more infra to generate content features for multiple files.

Bug:390201797

Change-Id: Iadadf268f2d525358d4263ef0002eb2dc0b212be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354039
Commit-Queue: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Reviewed-by: Svend Larsen <svend@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436995}
2025-03-24 11:43:02 -07:00
37f4e23414 FLEDGE: Remove a bogus DCHECK in CreateReporter.
Presence of there being a k-anon winner doesn't actually require
there being a non-k-anon one in some circumstances --- an added
testcase demonstrates it.

(I think it was adjusted incorrectly when k-anon was added)

Fixed: 367302752
Change-Id: I20c15c2056574640c0ba00248759fc721bd226fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387681
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Cr-Commit-Position: refs/heads/main@{#1436989}
2025-03-24 11:25:07 -07:00
4f9dcc1371 Add test case DidFinishLoadNotCalled for BackForwardCacheBrowserTest.
This case checks DidFinishLoad should not be invoked when navigating
back or forward. Also add the related observer class.

Bug: 40647940
Change-Id: I029772f90a4ba6466834df3501befb16a052f17d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6378607
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Liang Zhao <lzhao@microsoft.com>
Commit-Queue: Eain Chen <eainchen@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1436984}
2025-03-24 11:13:57 -07:00
ba3d2a2da8 [LNA] Add Local Network Access permission prompt
This adds a new Local Network Access permission context, request type,
and a new OnLocalNetworkAccessPermissionRequired() method on
URLLoaderNetworkObserver to let a caller trigger the actual permission
request (mirroring how the previous
OnPrivateNetworkAccessPermissionRequired() calls work).

Actually hooking up this call to the LNA enforcement logic will be added
in crrev.com/c/6363614 which modifies the network service code.

The permission type was added in crrev.com/c/6325710. Page Info and
ContentSettings integrations were added in crrev.com/c/6330700.

Bug: 400455013
Change-Id: I04b5ac0b06312d6dc1b9e02b66691418864a10dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6337340
Reviewed-by: Andy Paicu <andypaicu@chromium.org>
Reviewed-by: Hubert Chao <hchao@chromium.org>
Auto-Submit: Chris Thompson <cthomp@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Chris Thompson <cthomp@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: mmenke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436976}
2025-03-24 11:08:50 -07:00
315bfe878e Suppress still even more unsafe libc calls
Another batch of mainly win files.

Change-Id: Idceca6376cf389c9acdfc39d0723631c4b8cd249
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6378183
Reviewed-by: Alex Gough <ajgo@chromium.org>
Owners-Override: Alex Gough <ajgo@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436967}
2025-03-24 11:00:30 -07:00
b5ce6f437f Fix explicitly requesting D3D11 WARP by the command line.
The --use-angle=d3d11-warp flag was not working without also enabling
the AllowD3D11WarpFallback feature, the flags for warp and swiftshader
would both be added to the command line.

Clean up logic for setting software GL command line arguments from the
browser process and respect the requested GL implementation if one is
provided by command line.

Bug: 402163834
Change-Id: I8fdea87be0ce957df6fd33cf3d8f0aed3891c4da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6377726
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436956}
2025-03-24 10:46:26 -07:00
c59f7340ce [AriaNotify] Change "notification_id" param name to "type"
The ARIA Working Group has decided that "notification_id" is not the
best name for this parameter. For now, the agreed-upon name that we will
use is "type." This CL updates the references, and moves the parameter
to be the last of the 4 AriaNotify properties because it is the
parameter most likely to have future changes.

More on AriaNotify in the explainer:
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Accessibility/AriaNotify/explainer.md#screen-reader-customizations-for-user-preference

AX-Relnotes: n/a

Bug: 326277796
Change-Id: I18983504409aaec2cdf185e9387f9a64fb28c063
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6373949
Commit-Queue: Evelynn Kaplan <evelynn.kaplan@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436953}
2025-03-24 10:44:53 -07:00
7b92d78462 [Blob URL] Allow contexts with a StorageAccessHandle to bypass Blob URL partitioning
Given that the RequestStorageAccess API specifically exposes the ability
to create unpartitioned Blob URLs by getting a StorageAccessHandle,
create an unpartitioned blob URL using the handle's CreateObjectURL
method, and then fetch it, it makes sense to ensure that contexts that
have been granted storage access can bypass the blob URL partitioning
check.

Bug: 399308041, 399769596
Change-Id: Ia47e815c819c39e6a6ce00aa0c8c6617173ea742
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6313600
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Yann Dago <ydago@chromium.org>
Commit-Queue: Janice Liu <janiceliu@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Auto-Submit: Janice Liu <janiceliu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436948}
2025-03-24 10:29:10 -07:00
f6b87fba93 Remove DedicatedWorkerHostFactory CreateWorkerHost method
Now that PlzDedicatedWorker has shipped, remove the unneeded
DedicatedWorkerHostFactory::CreateWorkerHost mojom method and
callers + related code.

Bug: 400455021
Validate-Test-Flakiness: skip
Change-Id: Ie8b3b7f6540a38e3aa7198b4e61eec2a00c8f924
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6374136
Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Commit-Queue: Andrew Williams <awillia@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436931}
2025-03-24 10:07:45 -07:00
f728b229df Reland "[BTM] Ignore non-CHIPS 3PC accesses in BtmPageVisitObserver"
This reverts commit 0640503708.

The IframeDocumentCookie browsertest was failing to write cookies due to
missing cookie attributes necessary for 3PC writes, but I forgot to run
the tests with the BFCache disabled prior to merging the first CL, so
the RunLoop to await the resulting cookie access notification was never
run before merge.

Original change's description:
> Revert "[BTM] Ignore non-CHIPS 3PC accesses in BtmPageVisitObserver"
>
> This reverts commit 6aae5de019.
>
> Reason for revert:
> LUCI Bisection has identified this change as the cause of a test failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/test-analysis/b/5131009814167552
>
> Sample build with failed test: https://ci.chromium.org/b/8719843562655064449
> Affected test(s):
> [ninja://content/test:content_browsertests/BtmPageVisitObserverBrowserTest.IframeDocumentCookie](https://ci.chromium.org/ui/test/chromium/ninja:%2F%2Fcontent%2Ftest:content_browsertests%2FBtmPageVisitObserverBrowserTest.IframeDocumentCookie?q=VHash%3A64d8154d6a05e06f)
>
> If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Ftest-analysis%2Fb%2F5131009814167552&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F6372644&type=BUG
>
> Original change's description:
> > [BTM] Ignore non-CHIPS 3PC accesses in BtmPageVisitObserver
> >
> > BTM is only enabled when non-CHIPS 3PCs are disabled, so we should
> > mirror that behavior when determining whether a page accessed storage.
> >
> > Bug: 390201794
> > Change-Id: I95c0c34523a57a18f69959251a1f3c20821ac36e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6372644
> > Reviewed-by: Andrew Liu <liu@chromium.org>
> > Commit-Queue: Svend Larsen <svend@chromium.org>
> > Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1435669}
> >
>
> Bug: 390201794
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: I253cf4fc4de7d8f857fc33cfafb73fc15e0f07b3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6377260
> Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
> Commit-Queue: Giovanni Ortuno Urquidi <ortuno@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#1435749}

Bug: 390201794
Change-Id: I91ee01af53d8d96ed188fd143287c68fc836d3e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6382856
Commit-Queue: Svend Larsen <svend@chromium.org>
Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Reviewed-by: Andrew Liu <liu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436923}
2025-03-24 09:57:37 -07:00