0
Commit Graph

23156 Commits

Author SHA1 Message Date
Hubert Chao
353a2634a0 LNA: add new PrivateNetworkRequestPolicy for LNA
Add a new PrivateNetworkRequestPolicy that corresponds to blocking local
network access (LNA) requests if there is no permission from the user
for the LNA request.

The permission hasn't been implemented yet, so using the policy (which
is flag guarded) blocks the local network access request.

Note: there is mention of a separate permission related to the Private
Network Access (PNA) spec. This is a completely separate permission,
that will be removed when PNA is removed from the code base.
Unfortunately, we can't remove it for a few milestones, and so in the
meanwhile we are stuck with 2 different permissions in the code base
relating to PNA/LNA.

Change-Id: Iaac8b2ca983c1ee52d26fa178602853dc88327a4
Bug: 395895368
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6292479
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Hubert Chao <hchao@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1427139}
2025-03-03 08:03:04 -08:00
Rakina Zata Amni
65a5dc4d5e Add Page C++ <> Java bridge and NavigationClient functions
This introduces Page & PageProxy, along with adding the functions
that have Page as a param in the new navigation callbacks proposal:
https://docs.google.com/document/d/1DDyPvVe7pyJXFpiI3Bk5EPDpoTM550kPt04s2_WTU-w/edit?tab=t.0 that exists in the NavigationWebMessageSender
version, more specifically:
- NavigationClient.onPageDeleted()
- NavigationClient.onPageLoadEventFired()
- NavigationClient.onPageDOMContentLoadedEventFired()
- NavigationClient.onFirstContentfulPaint()

There's no real implementation yet for the functions except for
onPageLoadEventFired. This sets up the Page lifetime correctly
and adds the support lib plumbing as well.

Bug: 359826084
Change-Id: Icb5e99bb0d313249a4adc4b7e65dd2b32531ca84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6290306
Reviewed-by: Lijin Shen <lazzzis@google.com>
Reviewed-by: Richard (Torne) Coles <torne@chromium.org>
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426906}
2025-03-02 18:51:55 -08:00
Helmut Januschka
42c8320787 use base::ToString() where possible //content
Bug: 335797528
Change-Id: I50b5d409bbed663acb5526f714bc5c82ef89da9e
AX-Relnotes: n/a.
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6304962
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426762}
2025-03-01 17:13:12 -08:00
Nan Lin
389716b783 Defer attribution reporting registrations from keepalive requests on prerendered pages
This only impacts keepalive requests when they're handled in the browser
process.

As prerendered pages are not visible to users yet, attribution reporting
registrations on prerendered pages should be deferred until activation.
This is the existing behavior when keepalive requests are handled in the
renderer process.

This cl introduces
`DocumentAssocidatedData::AddPostPrerenderingActivationStep()`, similar
to `blink::Document::AddPostPrerenderingActivationStep()`, to maintain a
queue of callbacks which will be invoked upon prerendered page
activation.

When the page is prerendering, the delegation of background registration
operations to `AttributionDataHostManager` will be added to the callback
queue for post-prerendering activation.

This cl also refactors the logic to invoke
`KeepAliveURLLoaderService::FactoryContext::OnDidCommitPrerenderedPageActivation()`.
When the navigation commits, a callback is added to the queue if the
page is prerendering.

The callbacks will be run for this RenderFrameHostImpl and all of its
descendants as all of them are activated. This fixes a bug that the UKM
source ID for the attribution context was not updated for subframes
within the prerendered page, and therefore no UKM metric was recorded.

Fixed: 395906295
Change-Id: Iede9a726571518a168175ef2c4c4e26957473157
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6293024
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426591}
2025-02-28 14:59:23 -08:00
Xiyuan Xia
e1d2b89e75 Revert "[Partitioned Popins] Add RSA Support (1) test main-frame"
This reverts commit 49d8b69b6d.

Reason for revert:
New tests are failing in `linux-chromeos-chrome`.

First failed build:
https://ci.chromium.org/ui/p/chrome/builders/ci/linux-chromeos-chrome/49277/overview

Original change's description:
> [Partitioned Popins] Add RSA Support (1) test main-frame
>
> We should ensure RSA calls to enable access to first-party cookies from
> within a popin work. We will need other tests to verify the UX flow.
>
> This CL is part of a series:
> (1) test main-frame
> (2) test sub-frame
> (3) add WPTs
>
> Explainer: https://explainers-by-googlers.github.io/partitioned-popins/
> I2P: https://groups.google.com/a/chromium.org/g/blink-dev/c/ApU_zUmpQ2g/
>
> Bug: 340606651
> Change-Id: Iff5b209c09207b7d172f45654ea70aeb14f2f54a
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5954128
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
> Reviewed-by: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Sandor «Alex» Major <sandormajor@chromium.org>
> Auto-Submit: Ari Chivukula <arichiv@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1426421}

Bug: 340606651
Change-Id: I9fa318d11d0203ebd787bc2d545a3866352641d7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6313909
Auto-Submit: Xiyuan Xia <xiyuan@chromium.org>
Owners-Override: Xiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1426522}
2025-02-28 13:03:09 -08:00
Ari Chivukula
49d8b69b6d [Partitioned Popins] Add RSA Support (1) test main-frame
We should ensure RSA calls to enable access to first-party cookies from
within a popin work. We will need other tests to verify the UX flow.

This CL is part of a series:
(1) test main-frame
(2) test sub-frame
(3) add WPTs

Explainer: https://explainers-by-googlers.github.io/partitioned-popins/
I2P: https://groups.google.com/a/chromium.org/g/blink-dev/c/ApU_zUmpQ2g/

Bug: 340606651
Change-Id: Iff5b209c09207b7d172f45654ea70aeb14f2f54a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5954128
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Sandor «Alex» Major <sandormajor@chromium.org>
Auto-Submit: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426421}
2025-02-28 10:07:16 -08:00
Sandor Major
07aa8b0689 Move PermissionsPolicy to the network service
The network service needs access to the permissions policy. Previous CLs
moved all the dependencies so it is now safe to move this class.

The following files need to include permissions_policy.h because
otherwise they want to have access into incomplete `PermissionsPolicy`:
* components/permissions/permission_uma_util.cc
* third_party/blink/common/manifest/manifest_util.cc
* third_party/blink/renderer/core/html/client_hints_util.cc
* third_party/blink/renderer/modules/payments/payment_app_service_worker_registration.cc
* third_party/blink/renderer/modules/payments/payment_instruments.cc

Bug: 382291442
Low-Coverage-Reason: LARGE_SCALE_REFACTOR
Change-Id: Ifcf52df3bc5c035e8f6a45df02cf93f304b748c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6310821
Auto-Submit: Sandor «Alex» Major <sandormajor@chromium.org>
Owners-Override: Rick Byers <rbyers@chromium.org>
Commit-Queue: Sandor «Alex» Major <sandormajor@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426391}
2025-02-28 09:24:35 -08:00
Alex Mitra
9b83bea9b4 Remove line_bounds from ImeCompositionRangeChanged
The line bounds are only used on Android and we no longer use this code
path on Android (as of https://crrev.com/c/5132102). We will need to
make the same change for composition character bounds. The reason these
are being removed separately is mostly for caution.

Bug: 40940885
Change-Id: I6ce8367a140f79600adda193af52a45e2f4d8468
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6207093
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Alex Mitra <alexmitra@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426268}
2025-02-28 06:14:04 -08:00
Alex Mitra
f65433fa2c Remove CursorAnchorInfoMojoPipe flag as it's enabled by default
This CL also makes ime_render_widget_host_ available on all platforms
and adds a method to check whether it has been set. This can be checked
to determine whether to use the CursorAnchorInfoMojoPipe path or not
(for cross platform compatibility).

Bug: 40940885
Change-Id: Iee2e0e2103bf5c9d4857b68aed079e6c60071f18
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6234054
Commit-Queue: Alex Mitra <alexmitra@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426260}
2025-02-28 05:55:58 -08:00
Jiacheng Guo
83219a0af9 Remove unnecessary debug strings when building RFHs
The debug string building requires a lot of std::string appends. The CL
removes these debug string for loading performance.

Bug: 399783247, 40065692
Change-Id: Ic8a4965a9546c0023daceb1cb334404f174aa98f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6312375
Commit-Queue: Jiacheng Guo <gjc@google.com>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426172}
2025-02-28 00:44:12 -08:00
Sandor Major
f42e6bd64c Move permissions_policy.cc-used feature flags to the Network service
Permissions Policy code is being moved to the Network service so these
flags need to move as well.

Bug: 382291442
Low-Coverage-Reason: LARGE_SCALE_REFACTOR
Change-Id: I2d6135ef1350f21e08de9053c69c762bfb1fd7ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6287505
Owners-Override: Rick Byers <rbyers@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Rick Byers <rbyers@chromium.org>
Commit-Queue: Sandor «Alex» Major <sandormajor@chromium.org>
Auto-Submit: Sandor «Alex» Major <sandormajor@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1426039}
2025-02-27 16:12:04 -08:00
Mustaq Ahmed
1215d73196 Fix RenderWidgetHostTest input router active state.
This change is a no-op when DropInputEventsWhilePaintHolding feature
is disabled, and makes the test passing when enabled.

Bug: 40057499
Change-Id: I17ffb0bfd16e01bd240198cb8e017abc8a5cd62b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6188131
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425973}
2025-02-27 14:07:53 -08:00
Mustaq Ahmed
f70e9bcff0 Notify RWH about paint-holding state, whether active or not.
We use this signal to properly set RWH input-router event suppression
state.  We only care about input-suppression for RWHs that has/had
paint-holding active.

Bug: 40057499
Change-Id: Idcfdfb9f0b9e975ca5ace3713de60488bf6acea9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6305181
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425749}
2025-02-27 07:59:44 -08:00
Alex Attar
44c791d88b UMA: Increase Process Count Histogram Bucket Size to 1000
This CL updates the following UMA histograms from using
`UMA_HISTOGRAM_COUNTS_100` to `UMA_HISTOGRAM_COUNTS_1000` and updates
the histograms names/versions.

- Memory.ProcessCount
- Memory.RendererProcessCount
- Memory.RenderProcessHost.Count.All
- Memory.RenderProcessHost.Count.InitializedAndNotDead
- Memory.RenderProcessHost.Count.OriginAgentClusterOverhead
- Memory.RenderProcessHost.Count.SandboxedIframeOverhead

Motivated by experiments removing process limits on macOS, suggesting
histograms need to capture counts over 100. While limits remain in
stable, this low-risk, forward-looking change prepares us for that
scenario and benefits metrics generally. Critically, it also improves
data collection during the experiment to assess the impact of limit
removal.

OBSOLETE_HISTOGRAM[Memory.ProcessCount]=Replaced by Memory.ProcessCount2
OBSOLETE_HISTOGRAM[Memory.RendererProcessCount]=Replaced by Memory.RendererProcessCount2
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.InitializedAndNotDead=Replaced by Memory.RenderProcessHost.Count2.InitializedAndNotDead
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.All]=Replaced by Memory.RenderProcessHost.Count2.All
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.OriginAgentClusterOverhead]=Replaced by Memory.RenderProcessHost.Count2.OriginAgentClusterOverhead
OBSOLETE_HISTOGRAM[Memory.RenderProcessHost.Count.SandboxedIframeOverhead]=Replaced by Memory.RenderProcessHost.Count2.SandboxedIframeOverhead

Change-Id: I073d747d50a19ced37f0a046a475ac973bc6d412
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6236793
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Alex Attar <aattar@google.com>
Reviewed-by: Luc Nguyen <lucnguyen@google.com>
Auto-Submit: Alex Attar <aattar@google.com>
Cr-Commit-Position: refs/heads/main@{#1425729}
2025-02-27 07:16:06 -08:00
Kalvin Lee
6216fab452 arrayify: Prefer constexpr
This CL is intended to be trivial. It marks the return from `std::to_array` as
`constexpr`. This CL is a split of a naive textual search-and-replace under:

content/browser/renderer_host

This CL was uploaded by git cl split.

Change-Id: I693fbd0b89c2694c40f2b948747ea5b222166909
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6300899
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Auto-Submit: Kalvin Lee <kdlee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425704}
2025-02-27 06:25:47 -08:00
Guido Urdaneta
8794111e13 [EnumerateDevices] Minor refactoring of MediaDevicesManager.
Just renaming a few variables and methods for extra clarify
in preparation for a larger change. Also minor style fixes.

No behavior change intended.

Change-Id: Ia55eb731db956cb8a35c7ea9ec5709f905de7d59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6306982
Reviewed-by: Palak Agarwal <agpalak@chromium.org>
Commit-Queue: Palak Agarwal <agpalak@chromium.org>
Auto-Submit: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425634}
2025-02-27 01:48:58 -08:00
Takashi Toyoshima
014bf78091 NavigationThrottleRunner: Replace DCHECKs with CHECKs
Replace existing DCHECKs in the file with CHECKs as recommended today.
Mysterious case is observed in crbug.com/374734685, e.g. a new event
is delivered even though the throttle asks DEFER.

Enabling more CHECKs in the production build would help to find
a root cause.

Change-Id: I1113f99e404ba32b529789f5ca75c24565e25f9f
Bug: 374734685
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6298897
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425560}
2025-02-26 20:51:24 -08:00
Sandor Major
8714ad0579 Move Permissions Policy features files from Blink to the Network service
The network service is going to need access to the "storage-access"
Permissions Policy. This is the next step of moving some of the
Permissions Policy logic out of Blink to maintain a single
implementation of https://w3c.github.io/webappsec-permissions-policy
across Chromium.

Bug: 382291442
Change-Id: Iae0e1c7e8ca1f5ed34377e6a09caef5fdffdf917
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6284965
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Owners-Override: Rick Byers <rbyers@chromium.org>
Commit-Queue: Sandor «Alex» Major <sandormajor@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425385}
2025-02-26 13:31:43 -08:00
Vladimir Levin
e9b048cafa nested vt: Enable the fuzzy comparator for a test on all platforms.
Some platforms seem to have small noise (< 3 total in all channels).

The intent of the test is still valid in that it verifies first frame
capture to be correct.

Change-Id: Iffdc832ca96a3ab3eadb91aa867367d5af384cf2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6299814
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Zijie He <zijiehe@google.com>
Cr-Commit-Position: refs/heads/main@{#1425279}
2025-02-26 10:50:33 -08:00
Sandor Major
d48307bd1f Move Permissions Policy related fenced frame enums to network service
Permissions Policy code is being moved so the network service. It
depends on these constants so moving this first.

Bug: 382291442
Change-Id: Ic9fcb8c1c187f4be497c70da366e43aad140b0da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6300764
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Rick Byers <rbyers@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Commit-Queue: Sandor «Alex» Major <sandormajor@chromium.org>
Owners-Override: Rick Byers <rbyers@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425230}
2025-02-26 09:57:48 -08:00
Janice Liu
859690d472 [Blob URL] Update PartitioningBlobURLIssue DevTools Issue, Add kCrossPartitionSameOriginBlobURLFetch UseCounter
Both the PartitioningBlobURLIssue DevTools Issue and
kCrossPartitionSameOriginBlobURLFetch UseCounter should only be
triggered when cross-partition, same origin BlobURLs are fetched.
Previously, both were getting triggered in cross origin fetching as
well.

Bug: 372883697
Change-Id: I90221dde05205d260abfc20acf8903f123ee4c59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6282545
Auto-Submit: Janice Liu <janiceliu@chromium.org>
Commit-Queue: Janice Liu <janiceliu@chromium.org>
Reviewed-by: Sun Yueru <yrsun@chromium.org>
Reviewed-by: Andrew Williams <awillia@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425152}
2025-02-26 07:52:51 -08:00
Kartar Singh
6883586d4b [InputVizard] Handle pointer downs coming on Browser
With SPLIT_TOUCH deprecated in Android the pointer downs come on Browser
process, even when transferTouchGesture had been called on the first
touch down of the sequence. The subsequent pointer downs after the
transfer come in as an ACTION_DOWN on Browser and there's no blessed way
to tell this apart from an ACTION_DOWN which happened as a result of
the first touch down in the Chrome window.

The behavior changes in this CL:
- Ignore the state transfers coming on browser corresponding to pointer
  downs being transferred. Earlier we were CHECK failing if we had
  lingering state transfer in the queue.
- InputTransferHandler listens to TouchEnd notifications to tell if
  there's an active touch sequence on Viz.
- Add `browser_would_have_handled` flag to touch transfer state, so that
  Viz can return back any sequence that was transferred to Viz due to a
  late arriving TouchEnd notification.

Bug: 395596230
Change-Id: Ie640ff5fa41420228a5fe0d4108ee76d414c0985
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6276541
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kartar Singh <kartarsingh@google.com>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425046}
2025-02-26 02:54:48 -08:00
Greg Thompson
ed7125ae5f [accessibility] Smart pointer for AXPlatformNode
Introduce AXPlatformNode::Pointer, a type of std::unique_ptr<> for
owners of platform nodes. The node's `Destroy()` method is called to
initiate destruction. Migrate all owners of platform nodes to using this
new smart pointer rather than raw_ptr<> and manual calls to instances'
`Destroy()` method.

Also fixes memory leaks in various AccessibilityBridgeFuchsiaTest tests,
which were missing calls to `Destroy()`.

AX-Relnotes: n/a.
Bug: none
Change-Id: I3b7ab5e14726c098350a41126ee0bc26ce1aeef7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6298029
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Auto-Submit: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425038}
2025-02-26 02:35:52 -08:00
Raphael Kubo da Costa
2d21daa8bf Move kUseMobileUserAgent to //components/embedder_support
This is part of the process of making user_agent_utils.{cc,h} stop
depending on //content.

The flag has been moved to the main "embedder_support" target, which
does not depend on any other target and has other command-line
switches.

Bug: 389970327
Change-Id: Ib646ada998e8ea2eb23be2b9420d8049aa8f0bac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6242721
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Raphael Kubo da Costa <kubo@igalia.com>
Reviewed-by: Bo Liu <boliu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425012}
2025-02-26 00:59:09 -08:00
Ayu Ishii
e5aa2112ed Quota: Cleanup usages of StorageType in QuotaManagerProxy
This change removes some usages of StorageType from
QuotaManagerProxy. All other StorageTypes except
StorageType::kTemporary have been deprecated. Therefore
no longer need to pass this value around. Further cleanup
to remove usages from
QuotaManagerProxy/QuotaManager/QuotaDatabase will follow.

Bug: 40211051
Change-Id: I0aa5413fc6ced600d25ad446ec0281fbd1181074
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6279419
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Derek Schuff <dschuff@chromium.org>
Reviewed-by: Ming-Ying Chung <mych@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Commit-Queue: Ayu Ishii <ayui@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424923}
2025-02-25 18:43:20 -08:00
Erik Chen
1e9c4264d2 Remove incorrect dcheck
The DCHECK is being hit in production code paths so it's wrong. Removing
it for now to unblock local developers.

Bug: 40063369
Change-Id: I3a6251064de2725013158b47484bf546310843f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6301721
Reviewed-by: Charlie Reis <creis@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424880}
2025-02-25 16:32:58 -08:00
Vladimir Levin
be48b9c38f Nested VT: Enable the feature by default and enable a test
This patch enables the ViewTransitionCaptureAndView feature as well
as one of the tests that tests this behavior.

Note that there is also over 300 VT WPTs, which also exercise the
capture phase.

This patch 5 out of 5 to implement the feature.

R=pdr@chromium.org

Bug: 358119267
Change-Id: Ief305a053eb180a81b53590437556a98264a1ce3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6258744
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424551}
2025-02-25 08:00:47 -08:00
Benjamin Keen
919ed0f519 Plumb AutoPipReason from AutoPip tab helper to WatchTimeRecorder
This change just plumbs the AutoPipReason from the auto picture in
picture tab helper to the WatchTimeRecorder. The reason will be used in
subsequent CLs to allow attributing watch time to the "AutoPip for media
playback" reason.

Bug: 394860526, 368058093
Change-Id: Ibaca8fc6446c6cf557b950b70bbf3e68a125c976
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6266667
Commit-Queue: Benjamin Keen <bkeen@google.com>
Reviewed-by: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Fr <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/main@{#1424538}
2025-02-25 07:47:20 -08:00
Simon Hangl
72ec3b8339 Remove services/video_capture/multi_capture_service.mojom
This CL refactors the notification stack for the `getAllScreensMedia`
API and removes unnecessary indirection by deleting the
`services/video_capture/multi_capture_service.mojom` interface. This
will also help to simplify removing the Lacros implementation of this
service. We do this by calling into `ash::Shell` from `ChromeContentBrowserClient`. The alternative of moving the code to `chrome/browser/ash` was not chosen due to the desired state described here [1].

Bug: 392852729

[1] https://chromium.googlesource.com/chromium/src/+/HEAD/docs/chromeos/code.md#desired-state

Change-Id: If529bbefa4a3b635b0fb489d9c1cd9466cff1938
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6172344
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Commit-Queue: Simon Hangl <simonha@google.com>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424517}
2025-02-25 07:11:54 -08:00
Jonathan Ross
ab3fe6a2bd Update DelegateFrameHost threading for CopyOutputRequest
Always use the UI thread, even in cases where we can't generate a
request and exit early. So that all callbacks run on the UI thread.

Bug: 398857474
Change-Id: Ie4836800c082ac98aa60e934757687e1c618042f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6299352
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1424502}
2025-02-25 06:53:12 -08:00
Hubert Chao
9cd9facf47 LNA: add feature flag for Local Network Access (formerly PNA v2)
Put some simple defaults in there for now (block on insecure contexts, allow on secure contexts) while we start to flesh things out.

Bug: 395895368
Change-Id: I9d2b5e063a45856b37f3c5475530507231ca318c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6254422
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Commit-Queue: Hubert Chao <hchao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423944}
2025-02-24 09:06:34 -08:00
Vladimir Levin
41be23918c Add vmpstr to view_transition_browsertest.cc owner.
Change-Id: I4f49764ede891fe8e2486c74badd493b2dce97b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6288054
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423878}
2025-02-24 06:46:19 -08:00
Anguluri Aravind Kumar
a8aa5950ac Moving IsSecureFrame function to FrameTreeNode
This CL addresses an old TODO() by @clamy to move this
function to FrameTreeNode

Change-Id: I372f7807a198bd1b6cd108dab0dce73773094ad4
Signed-off-by: Anguluri Aravind Kumar <ar.kumar@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6262894
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Shubham Gupta <shubham.gupta@chromium.org>
Reviewed-by: Shubham Gupta <shubham.gupta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423644}
2025-02-22 18:53:07 -08:00
Dave Tapuska
6fb4345a0a [ios blink] Fix build failures with gfx::NativeWindow
On some platforms like iOS gfx::NativeWindow is not a raw ptr
so initialization with nullptr is incorrect. Ensure the
gfx::NativeWindow type is properly initialized.

Fallout from https://chromium-review.googlesource.com/c/chromium/src/+/6283547

Bug: 40254930
Change-Id: Ice33cc8951e7d7e968edf06762401b6b1dea9fb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6287816
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1423208}
2025-02-21 09:20:47 -08:00
Mustaq Ahmed
4dd8031dbc RenderFrameHostImpl: Record commit times for error pages.
`SendCommitFailedNavigation` did not record commit times, which made
it impossible to isolate (for UMA purposes) the error pages that are
short-lived.

Bug: 40057499
Change-Id: Ibf95c96cbaeb1c3755f851b52d5f69ac76177283
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6286768
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423167}
2025-02-21 08:32:12 -08:00
Elad Alon
807652cc61 Move Finch flags for cross-tab sub-capture to features.h
Move kElementCaptureOfOtherTabs and kRegionCaptureOfOtherTabs to
content/public/common/content_features.h, so that they would be
accessible to:
1. Tests.
2. chrome://flags

Bug: 312694567
Change-Id: Ice2f2e05ad76df3b8bd9f837889a611c5d4b94ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289525
Auto-Submit: Elad Alon <eladalon@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423147}
2025-02-21 08:04:05 -08:00
Elad Alon
c6db98dc37 Handle Cross-Tab (i) Region and (ii) Element Capture separately
Control cross-tab Region Capture with RegionCaptureOfOtherTabs,
and cross-tab Element Capture with ElementCaptureOfOtherTabs.

Bug: 312694567
Change-Id: Ibcb61db1469f1d875f2b488c5492b3487cfda611
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6288511
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Auto-Submit: Elad Alon <eladalon@chromium.org>
Commit-Queue: Elad Alon <eladalon@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423080}
2025-02-21 05:50:56 -08:00
Elad Alon
137104d678 Allow cropTo() to target elements in another tab (behind flag)
Region Capture [1] is an API allowing cropping MediaStreamTracks.
(https://w3c.github.io/mediacapture-region/)

Originally, it was only supported when the capturing application
was capturing its own tab. Since then, the spec has be changed [2]
to remove this restriction. This CL removes the restriction in
code as well.

This CL introduces this new functionality behind a default-off
base::Feature. This allows testing of the functionality by developers.
The feature flag can only be turned on after:
a. Known unhandled edge cases are addressed (see crbug.com/394794490).
b. Tests are written (partially blocked by aforementioned issue).

[1] https://w3c.github.io/mediacapture-region/
[2] https://github.com/w3c/mediacapture-region/pull/74

Bug: 312694567
Change-Id: I12efea1f8f98ae6f6c47ad01b2c3e5af1987ffa3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6289444
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Elad Alon <eladalon@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1423008}
2025-02-21 02:17:48 -08:00
Benjamin Beaudry
fed497ba36 [a11y] Fix DEPS violation in RenderFrameHostImpl
This CL resolves a layering violation where RenderFrameHostImpl was
bypassing the delegate and calling
WebContents::GetTopLevelNativeWindow() directly. To fix it, we:
* Added a function GetOwnerNativeWindow to the RenderFrameHostDelegate
* Implemented it in WebContentsImpl
* Use this new delegate function in RenderFrameHostImpl

Bug: none
Change-Id: Ib112e1e884607402fe25fadee0593f72dfde2c13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6283547
Commit-Queue: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422947}
2025-02-20 21:45:17 -08:00
Nan Lin
c643c96f8b Add UKM metrics to measure source and trigger registration results
UKM privacy review doc:
https://docs.google.com/document/d/1YRHSqne-0fLSNaFpOU8WY_dzkcupIh6xpJuiYPWzozQ/edit?tab=t.0#heading=h.k5jx6iluw4yt

This cl caches the UKM source ID of the most recently navigated primary
page in AttributionHost. This is a workaround for prerendered pages as
RenderFrameHost::GetPageUkmSourceId() would return the UKM source ID for
the prerendering navigation even after the page is activated which is
not associated with any URL for privacy reasons.

For ongoing navigation, the UKM source ID would be obtained from
NavigationHandle::GetNextPageUkmSourceId() as the UKM source ID cached
in AttributionHost would not have been updated.

This cl also introduces
KeepAliveURLLoaderService::FactoryContext::OnDidCommitPageActivation()
to update its attribution_context's UKM source ID after the prerendered
page is activated. This is invoked from
RenderFrameHost::DidCommitPageActivation().

NO_IFTTT=Moved histograms enum definition

Bug: 395847417
Change-Id: Ic2c3b0ff458d12c701822a213cc647061af09090
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6252770
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422898}
2025-02-20 17:47:43 -08:00
Tsuyoshi Horo
17846bf5d9 Decouple SourceType enum from net::SourceStream class
This CL extracts the SourceStream::SourceType enum into a new
SourceStreamType enum class, defined in source_stream_type.h.

This change addresses the issue where users needing the SourceType enum
were forced to include source_stream.h, even if they had no other
dependencies on the SourceStream class.

By creating a dedicated header for SourceStreamType, we improve
modularity and reduce unnecessary header dependencies.

This CL must not have any behavioral changes.

NO_IFTTT=New LINT.If/ThenChange()

Bug: 391950057
Change-Id: Ia25db924a0e7a8d1b379dd1042ede0e898cd6dd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6278220
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: John Lee <johntlee@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-by: Nidhi Jaju <nidhijaju@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422841}
2025-02-20 15:28:13 -08:00
Alexander Cooper
71449207d9 Ensure Renderer process does not get backgrounded in WebXR Sessions
Particularly on Android, when a WebXR Session starts, it renders across
the full screen. This can cause the Renderer process to be viewed as
unimportant and it can then get backgrounded. However, the Renderer
process is exactly what is responsible for providing the content that
is now being rendered. This plumbs a new boolean through so that the
presence of a WebXR session can elevate the importance of the renderer
process similar to how a media stream does.

Fixed: 378956985
Change-Id: Iafcc031a9e562d80170d78596db6cdd3c049faa8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6271450
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Piotr Bialecki <bialpio@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422782}
2025-02-20 13:41:00 -08:00
Matt Reynolds
8cca57d5e9 bluetooth: getAvailability does not prevent back forward cache
Currently, calling any Web Bluetooth method prevents the frame from
entering the back forward cache. This CL allows calls to
navigator.bluetooth.getAvailability without preventing the frame from
entering the cache. Other Web Bluetooth methods still prevent the
back forward cache.

Bug: 390566840

Change-Id: Ice43adfeff85b58087fbcec55c55b83e345a40fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6190377
Reviewed-by: Jack Hsieh <chengweih@chromium.org>
Commit-Queue: Matt Reynolds <mattreynolds@chromium.org>
Reviewed-by: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422660}
2025-02-20 10:20:59 -08:00
Sandor Major
a9a29ad57e Move Permissions Policy switch and flags to the Network service
Permissions Policy code is being migrated out of Blink, to the Network
service. The code depends on these flags so it needs to be moved.

Bug: 382291442
Change-Id: I4e2bbb4d4c49392f0e845096cc8c62ae9ae9fb20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6282334
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Ari Chivukula <arichiv@chromium.org>
Reviewed-by: Owen Min <zmin@chromium.org>
Commit-Queue: Sandor «Alex» Major <sandormajor@chromium.org>
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422574}
2025-02-20 08:00:14 -08:00
Greg Thompson
33322858ff [accessibility] Ignore updates from unloading RenderFrames
Ignore accessibility messages received by a RenderFrameHost from its
RenderFrame when the frame is being unloaded. The frame is no longer
visible and has been swapped out of the WebContents. This fixes a race
when accessibility has been turned off for a WebContents after a swap
but before the UnloadACK is received from the swapped-out frame.

Bug: 326751711
Change-Id: I8c0df80467c786aea1c16da00e1bfa4141d61275
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6286465
Commit-Queue: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Auto-Submit: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422492}
2025-02-20 05:46:17 -08:00
Benoît Lizé
20aa1bde86 [GestureTransition] Record snapshot compression time in UMA
It's been seen in local traces that snapshot compression is expensive,
and might compete with foreground work. THere are several experiments in
progress to tackle that, for instance by lowering priority. Add a
histogram to assess how much the lower priority impacts compression
times.

Bug: 369986099
Change-Id: I3741109ac2052117c4516a4f58bcee0f606a159c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6281949
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422480}
2025-02-20 05:05:09 -08:00
Sahir Vellani
fc7e46cc33 Create ScopedKeepSurfaceAlive only if compositing surface can be copied
This is a speculative fix for an issue in Edge where Compositor Frames
are submitted with surface ranges that have invalid local_surface_id's.

The issue started due to change:5348259.

The hypothesis is that if TakeScopedKeepSurfaceAliveCallback is called
with an invalid local_surface_id_, the LayerTreeHost will still register
the associated surface range. However, the CopyOutputRequest will not be
fulfilled because CopyFromCompositingSurfaceInternal will early out if
the local_surface_id_ is invalid. Therefore, the SurfaceRange is added
to the commit state but never removed. When it's time for
SubmitCompositorFrame, an invalid SurfaceRange can be present in the
list.

In order to fix this issue, check whether the local surface is valid for
copy before calling TakeScopedKeepSurfaceAliveCallback.

Bug: 40276723
Change-Id: I6d2591ed0ee98ba0414887ea7611d640788d607b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6216395
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Sahir Vellani <sahir.vellani@microsoft.com>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Shubham Gupta <shubham.gupta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422253}
2025-02-19 15:44:24 -08:00
Daniel Rubery
03e719955f Add new BFCache level for terminated DBSC sessions
A terminated Device Bound Session Credentials session can lead to
authorization changes similar to the way an expired cookie can. This CL
adds a new BFCache CacheControlNoStoreLevel for this, which will evict a
page from the cache if a DBSC session is terminated.

Bug: 353774923
Change-Id: I48e2daddb33d1102b5ccaf946eb0c541b5a07cda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6198936
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Daniel Rubery <drubery@chromium.org>
Reviewed-by: Fergal Daly <fergal@chromium.org>
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422196}
2025-02-19 14:03:30 -08:00
Mustaq Ahmed
917cd517d1 Drop input events in the browser until the renderer produces content.
This CL lands the first prototype solution behind a new flag
kDropInputEventsWhilePaintHolding.  The solution is to start the
InputRouter in an inactive state for any user-visible top frame while
paint-holding is active.

We still have quite a few test failures if we enable this feature.  We
will fix them through follow-up CLs.

Bug: 40057499
Change-Id: Id98c27ac635fe6a71f4f84b50e1b2e7acc9fe1bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6085077
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422193}
2025-02-19 13:59:55 -08:00
Emily Shack
3813697547 [SxS] Enable click to activate inactive WebContents
This is achieved by plumbing through a PreHandleMouseEvent method
through render widget classes akin to the existing
PreHandleKeyboardEvent method, as after discussion with kerenzhu@ this
behavior was not otherwise supported.

Bug: 394367683
Change-Id: Id932cbcfca3e75a3f223b365a548cf5430c824cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6266792
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Commit-Queue: Emily Shack <emshack@chromium.org>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1422150}
2025-02-19 12:49:19 -08:00