Automatic update from web-platform-tests
Fix touch-action update timing for touch pointers.
Historically the update was done right before touchstart event firing.
When we shipped pointer events, we missed to move this update to
pointerdown event firing. As a result, changing the touch-action
after pointerdown but before touchstart unexpectedly exposed the
change.
This CL fixes this historical mistake.
Fixed: 1314739
Change-Id: I59f4d0bd6d89bf577603644714e975fe56d05239
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3627854
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999634}
--
wpt-commits: 0e7bf895a82c5f1a0d0a551545239da6dcffe461
wpt-pr: 33935
Automatic update from web-platform-tests
Chromium - Check file download availability correctly (#33831)
* check download url using filename
* pass revisions instead of formed URL
- _get_chromium_download_url() is now _get_chromium_revision()
- new helper method _build_snapshots_url()
- last revision used is saved for future installs rather than the snapshots url
* syntax error
--
wpt-commits: 9f2784e5b9d7bfd62fdf4eb04478aa110d7903ea
wpt-pr: 33831
Automatic update from web-platform-tests
MSE-in-Workers: Enable explicit durationchange before HAVE_METADATA
Once the media player has reached at least HAVE_METADATA, the pipeline
will service MSE-attached media element's player duration queries from
the MediaSource's current duration or recent duration. However, before
reaching HAVE_METADATA, any explicit change of MediaSource duration by
the app needs special handling to let the attached media element know
the updated duration, because the element's notion of media duration
change is not signaled by the WebMediaPlayer before reaching
HAVE_METADATA.
This change fixes the MSE-in-Workers implementation to explicitly
notify the media element of application's explicit duration update if
such update's delivery in a cross-thread-task posted to the media
element's context finds that the media element's readyState is
HAVE_NOTHING. This mimics existing SameThreadMediaSourceAttachment
functionality while maintaining the high-resolution timer mitigations
in CrossThreadMediaSourceAttachment.
BUG=1318634,878133
Change-Id: If8e47959a4267a6891edfc883e657613c8182709
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3611185
Reviewed-by: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org>
Commit-Queue: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Auto-Submit: Matthew Wolenetz <wolenetz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999586}
--
wpt-commits: cd9875da212edeaea17a63b27e6e183ef145e972
wpt-pr: 33915
Automatic update from web-platform-tests
[GridFragmentation] Don't read FragmentsTotalBlockSize in OOF-part.
Previously we could end up in a situation where a grid didn't fragment
but we'd call FinishFragmentation as it participates in a fragmentation
context.
Reading FragmentsTotalBlockSize would trip a DCHECK, and we should use
FragmentBlockSize instead.
Bug: 1318399
Change-Id: I959834239302a97c66e99c597715f690d54ef225
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3628071
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999504}
--
wpt-commits: 0309867d3db87dec5f7b3ca83898ed2cc5500d28
wpt-pr: 33933
Automatic update from web-platform-tests
Don't abort on insufficient space for nested float multicol
Similar to CL:3571846 but for floats, as well.
Bug: 1322125
Change-Id: I9f50d329ccefae7e8713334120258b0fd4f62d3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3624096
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#999458}
--
wpt-commits: e60bca884d378574b15019d42bdd5103383979ca
wpt-pr: 33918
Automatic update from web-platform-tests
Revert "Update accessibility subtree when an event listener is removed"
This reverts commit 753632c02ff8ea047d707122ba1706d9bc4c7bc0.
Reason for revert: Test flakiness on Windows. See crbug.com/1321954.
Original change's description:
> Update accessibility subtree when an event listener is removed
>
> If an object was included in the accessibility tree solely due to an
> event listener which was just removed, that object will be marked as
> dirty and subsequently as ignored. When BlinkAXTreeSource::GetChildren
> is then called due to serialization of updates and events, the parent of
> that now-ignored object will have a child it should not and a DCHECK
> will fail.
>
> This commit solves that problem by calling ChildrenChangedOnAncestorOf
> if the event listener was removed on an existing AXObject. Doing so
> causes the accessibility tree to be updated prior to serialization of
> updates and events. It includes an additional change and test from
> crrev.com/c/3608668.
>
> AX-Relnotes: N/A
>
> Bug: 1319933
> Change-Id: Ibb4b78d480d940c8274db75b3739cda0e253933e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3614009
> Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
> Reviewed-by: Mason Freed <masonf@chromium.org>
> Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
> Cr-Commit-Position: refs/heads/main@{#997215}
Bug: 1319933
Change-Id: I0796d33398c9d1f16ef7c2895ce728291850a6f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3625719
Auto-Submit: Joanmarie Diggs <jdiggs@igalia.com>
Commit-Queue: Mason Freed <masonf@chromium.org>
Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
Reviewed-by: Mason Freed <masonf@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999452}
--
wpt-commits: 1ef28165ffd57293a574a8ab6f88007eee39be90
wpt-pr: 33931
Automatic update from web-platform-tests
[@container] Add two more ::first-line tests
Add two dynamic ::first-line tests directly depending on a single
container. One which matches ::first-line rules initially, and one which
matches ::first-line after a container resize. #c13 currently fails in
Blink.
Bug: 1273913
Change-Id: I7903b72e7b85ed7654187921d62ab8262a09dc63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3626053
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Auto-Submit: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999353}
--
wpt-commits: f5be9ac5f81a78f580d9baa279f8e554cd6e40ff
wpt-pr: 33927
Automatic update from web-platform-tests
Avoiding writing layout-modified ComputedStyle back to Node
The base-computed-style-optimization expects that the cached base
style (as produced by StyleResolver) is the same style we would get
if we produced the style from scratch. However, this assumption does
not hold for certain legacy LayoutObjects, where the ComputedStyle
is modified outside of style recalc, during DidStyleChange,.
Writing that modified ComputedStyle back to the Node is also a
correctness issue: we end up with the wrong output from
getComputedStyle.
This CL changes non-TextAutoSizer calls of
SetModifiedStyleOutsideStyleRecalc (writes ComputedStyle back to
Node), to just SetStyle (does not write ComputedStyle back to Node).
In order to ensure that we don't skip a critical DidStyleChange call,
we force ApplyStyleChanges::kYes during Element::RecalcOwnStyle, if
the LayoutObject::SetStyle happens on a relevant legacy LayoutObject
under the conditions that would require a style-fixup in
DidStyleChange. Duplicating those conditions there is not ideal, but
that problem will automatically go away once the legacy code is
removed.
Fixed: 1307976
Change-Id: I8461c9d53e6e316f1bcd8a0002640b56b4cf0f87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3620574
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999325}
--
wpt-commits: 19666e58c1fa7a9f8af43d1653c62622559edb89
wpt-pr: 33929
Automatic update from web-platform-tests
Verify that time in beforeunload does not affect navigation start time (#33227)
--
wpt-commits: 34cafd797e58dad280d20040eee012d49ccfa91f
wpt-pr: 33227
Automatic update from web-platform-tests
[GridFragmentation] Fix grid area when within fragmentation context.
Previously in NGOutOfFlowLayoutPart::GetContainingBlockInfo we'd check
immedidately if we were a grid, then return the correct grid-area if
needed. This wasn't correct as we may be within a fragmentainer context.
Instead add the correct logic to the fragmentation branch and move the
non-fragmented branch down below this.
Bug: 1318399
Change-Id: Ib11a2332318b1d456d123394506d4a591e2ed435
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3626270
Reviewed-by: Alison Maher <almaher@microsoft.com>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999228}
--
wpt-commits: f7e5102f38384e49e6b1765712ba280a2b8e036c
wpt-pr: 33922
Automatic update from web-platform-tests
Fix Attributerrror for Chromium browser (#33912)
self.last_url_used is compared with None but is never initialized to
None in class Chromium. This means that if the comparison is performed
before self.last_url_used is set to a valid value, wpt will crash with
message
AttributeError: 'Chromium' object has no attribute 'last_url_used'
This problem can be reproduced with this command line:
./wpt run --binary /usr/bin/chromium chromium
An alternate way to fix this would be to add a constructor to Chromium
class that initializes self.last_url_used, but this constructor will
also have to declare and pass parameters to Chromium's base class(es),
that will look more complicated compared to this patch.
--
wpt-commits: 26fe0c90387265f9d946ca036c4b4c2aca50c063
wpt-pr: 33912
Automatic update from web-platform-tests
Only create a LayoutFrame if they are a direct child of a LayoutFrameSet
As above. A LayoutFrame only really make sense as a direct child of a
LayoutFrameSet. This is what the HTML parser allows. However a <frame>
element can be dynamically inserted into the DOM.
This patch makes it so that we only create a LayoutFrame, if it'll be
a direct child of a LayoutFrameSet (by checking the parentNode()).
Bug: 1203464
Change-Id: I48ce36f4f5a3862732b00e4e29792cc5045a4f0d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3626489
Reviewed-by: David Grogan <dgrogan@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999155}
--
wpt-commits: f704c4976decea787f40bf117abdd786a19a88cc
wpt-pr: 33924
Automatic update from web-platform-tests
NavigationControllerImpl::GetNavigationApiHistoryEntryVectors() needs to handle a history nav without a pending entry
If a history traversal navigates multiple frames, it's possible to get
a timing where one completes before the last commits. When a frame
finishes in the renderer and receives its DidCommitNavigation message,
it clears the pending entry on NavigationControllerImpl. Any frames
that did not reach CommitNavigation before then will no longer see a
pending entry even though we are committing a history navigation.
GetNavigationApiHistoryEntryVectors() doesn't handle that case and will
incorrectly calculate the current index in the session history, which
leads to incorrectly calculating the NavigationApiHistoryEntryVectors.
The renderer exposes the NavigationApiHistoryEntryVectors to the web,
and also uses them internally to verify that a same-document history
commit is navigating to a known entry, and will cancell the commit if
it can't find a match. Therefore, incorrect
NavigationApiHistoryEntryVectors can lead to incorrectly canceled
same-document history navigations.
This is very similar to the case fixed in
https://chromium-review.googlesource.com/c/chromium/src/+/3578222.
Bug: 1183545
Change-Id: I745c5849cbaf9457788e30bf07b8fbb99cfa47c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3605083
Reviewed-by: Domenic Denicola <domenic@chromium.org>
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999140}
--
wpt-commits: f5ba8e437d91aa0ef81561b596ffa4c6b51b71d5
wpt-pr: 33777
Automatic update from web-platform-tests
[Maintenance] Rename setup3pIframe() to reflect non-3p contexts
The ServiceWorker WPT resource helper function setup3pIframe()
was recently used in non-3p contexts. This is a simple renaming
refactor to reflect this new context.
Change-Id: I489dfb5a769d7d4c73078597b647f0245614a60e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3615312
Commit-Queue: Kyra Seevers <kyraseevers@chromium.org>
Reviewed-by: Steven Bingler <bingler@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999085}
--
wpt-commits: 46484d882f899c28a973a27d5b15ae81d22615ac
wpt-pr: 33911
Automatic update from web-platform-tests
HTML: Test UA style for h1..h6, hgroup, sectioning elements
Not including the special styling of h2-h5 in hgroup which is not implemented in browsers.
See https://github.com/whatwg/html/pull/7886
--
wpt-commits: db8efb66ba8b51b53c3578ab12139f1f786c1747
wpt-pr: 33917
Automatic update from web-platform-tests
Add stylability to the ::backdrop element for popup
The ::backdrop element was always there, but this CL makes it
fixed position, full-viewport, so it can be styled/visible. Tests are
also added for stacking and appearance.
See:
https://github.com/openui/open-ui/issues/519
Bug: 1307772
Change-Id: I2527aef33f89b140950d92302a7aefac0b6efc03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3621791
Auto-Submit: Mason Freed <masonf@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999070}
--
wpt-commits: d5bb637fdb24638b7aa8beb020e949eaec548e07
wpt-pr: 33919
Automatic update from web-platform-tests
[layout] Switch radio/checkbox to have an intrinsic inline/block size.
... as opposed to setting an explicit width/height when we have an
effective appearance, and the width/height is auto.
This is effectively what the code in layout_theme_default was doing,
but this is in a less broken way.
This has the primary side effect of allowing radio/checkbox to respect
stretching (in flex & grid).
Most of the image differences come at non-integer zooms. E.g.
Previously we'd round down(?) for things like:
13px * 1.5 = 19px
now:
13px * 1.5 = 19.5px
Bug: 768999
Change-Id: I222f07ada71ea56a3656af03b459d7a5007e924d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3614268
Reviewed-by: David Grogan <dgrogan@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998601}
--
wpt-commits: d35aaf29e2be26031ae550ed2a763cf68518868a
wpt-pr: 33884
Automatic update from web-platform-tests
Add tests for revert-layer in other tree contexts (#33907)
--
wpt-commits: 76abba2c4c8dd4c9f0f8f24daa8b57d91baa73c6
wpt-pr: 33907
Automatic update from web-platform-tests
Move some misc COOP cases to the dispatcher.
Similar to what was done for other COOP tests in
https://chromium-review.googlesource.com/c/chromium/src/+/3593078
Tests use a complex postMessage flow today, that can be replaced by
simple and more readable code using dispatcher.js
BUG=1318373
Change-Id: I49783cae11eaa96f6560f33069d0f091c5c230d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3599271
Commit-Queue: Arthur Hemery <ahemery@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998854}
--
wpt-commits: 4090de61c390b722a6ce77bc1ea7ae0143344ed3
wpt-pr: 33896
Automatic update from web-platform-tests
[Rollback] Make sure ontrack fires when re-added.
Follow-up to WebRTC CL:
https://webrtc-review.googlesource.com/c/src/+/260330
Does the Chromium layer equivalent of the WebRTC CL now that the
FiredDirection is restored. In order for rollback to be able to cause
ontrack to fire, DidModifyTransceivers() is updated to be able to fire
ontrack also in the event of "rollback".
RollbackEvents.https.html:
- First two tests: "ontrack" firing due to rollback to remove and then
re-add passes due to WebRTC CL that restores FiredDirection.
- Last two tests: "ontrack" firing due to the rollback of a track
removal passes due to the "is_remote_description_or_rollback" logic
added in this CL.
Bug: chromium:1320669
Change-Id: I04d96393f25e08f76046447db02b04aec87f140e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3613313
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998834}
--
wpt-commits: 2e4a2d052e014c45402f4ea452d6f28358b13006
wpt-pr: 33905
Automatic update from web-platform-tests
Make <input type=datetime-local> accept space separators
This patch makes the string formatted value passed into input.value for
datetime-local inputs accept ' ' as a separator between the day and time
in addition to 'T' in order to match the spec, safari, and firefox.
This patch also sanitizes strings passed into input.value for
datetime-local in order to match the WPT which safari and firefox
already pass.
This patch also removes trailing zeros in the milliseconds portion of
input.value in order to match firefox and safari. After making the above
changes, this was necessary in order to keep
input-seconds-leading-zeroes.html passing. I added a new test to test
this more explicitly, and all browsers pass it.
Fixed: 521871
Change-Id: Ib46ca5527649284bea33b2eedaa361b9bfbdbf67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3591582
Reviewed-by: Mason Freed <masonf@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998671}
--
wpt-commits: e8c81c2f5d3a9171cb30e8f14f7660254bc1ad0c
wpt-pr: 33704
Automatic update from web-platform-tests
Update document.cookie test to reflect https://github.com/httpwg/http-extensions/issues/1531 (#33898)
This should have been included in e87cd7738787efea77b379fb594a2c3d8a676e9f
--
wpt-commits: bd1da4818624af1b890daf7842a48fbdd6a27a04
wpt-pr: 33898
Automatic update from web-platform-tests
[renderblocking] Don't cancel implicit render-blocking when blocking attribute is removed
1. This patch adds tests for https://github.com/whatwg/html/pull/7857.
When `blocking=render` is removed, if the element is implicitly
render-blocking, we shouldn't unblock rendering for it.
2. This patch fixes how <link> element respond to `blocking` attribute
changes. Previously, the element simply reprocesses (cancel and then
restart) on every `blocking` attribute change, causing unnecessary
work and also some bugs on stylesheets. This patch changes that into
unblock rendering if needed to match the spec.
Bug: 1271296
Change-Id: I54a2f33dc1ed9971eaeceeb677a165d598d5d4d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3608747
Reviewed-by: Mason Freed <masonf@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998568}
--
wpt-commits: 4de4be2a2204e4349b36dce25a9d648aba4fbf11
wpt-pr: 33798
Automatic update from web-platform-tests
Replace CreateImageCHROMIUM() usage
Use SharedImageInterface::CreateSharedImage() instead in Windows VR.
SharedImageBackingD3D doesn't have the same keyed mutex semantics as
GLImageDXGI which synchronized Chrome GPU and VR utility process GPU
access. Instead, VR client code generates a SyncToken when it is done
accessing any textures shared VR utility process. VR utility process
will block on those SyncTokens which matches the existing blocking on
AcquireSync(1) it does today.
Bug: 1216120
Change-Id: Ieedf9fbd5a98885f844f762bc7917a711102cdcd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3572554
Commit-Queue: Kyle Charbonneau <kylechar@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998456}
--
wpt-commits: 69f8bade23e80249f0700072dbfb245db9625750
wpt-pr: 33852
Automatic update from web-platform-tests
Temporarily disable RTCRtpTransceiver.https.html to unblock roll.
This test is marked as [ Pass Failure ] to unblock rolling a WebRTC
change (https://webrtc-review.googlesource.com/c/src/+/260330) that will
make a test go from FAIL to PASS.
This CL also updates the test to assert the right thing: A stopped
transceiver will have direction "stopped", not "sendrecv"...
Bug: chromium:1320669
Change-Id: Ibb95944eba1c4a0015aac72ec95ad2037b084943
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3620338
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Cr-Commit-Position: refs/heads/main@{#998422}
--
wpt-commits: 64baec84a29887dce970388d089b36f4329ec190
wpt-pr: 33897
Automatic update from web-platform-tests
[BroadcastChannel] Fix issues with the data URL worker tests
Looks like there were a few issues with the data URL worker
BroadcastChannel tests that I added recently. Specifically:
- Since I used AddEventListener on the SharedWorker port, I needed
to explicitly call `start()` on them or the test wouldn't be able
to pass.
- The way I was constructing the data URLs meant that comments added
into the worker code broke the test in at least Firefox. The
data URL contents now get properly percent-encoded.
- The SharedWorker connect handler code needed to be refactored so
that the port object could actually be postMessage'd to
successfully.
Bug: 1058759
Change-Id: I88ef36aba10a7e53eac913057910b2ad22118e35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3615056
Reviewed-by: Ben Kelly <wanderview@chromium.org>
Commit-Queue: Andrew Williams <awillia@google.com>
Cr-Commit-Position: refs/heads/main@{#998407}
--
wpt-commits: d36f9152e00b4528233b4cef22fd6d06d7f3b237
wpt-pr: 33882
Automatic update from web-platform-tests
[LayoutNG] Floats and RelayoutWithoutFragmentation()
When we relayout without fragmentation (CL:2843465), any float
children will end up calling into LayoutFloatWithoutFragmentation().
However, if the float had broken previously, we should still pass
in its previous break token to Layout(). Otherwise, we could end
up with incorrect layout results.
Bug: 1320509
Change-Id: Ib0f9cd46144dbaa66d3f12f51ca2da188fada720
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3617643
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#998395}
--
wpt-commits: 7da3c165bf0164e0d01ca9d25b48f65c8a4050d4
wpt-pr: 33885