Modify the frame recursion check to only happen when a load is triggered
from a src or data attribute (depending on if it's an iframe, embed or
an object element). This prevents recursion checks from blocking
ordinary navigations and navigations with a target.
Differential Revision: https://phabricator.services.mozilla.com/D229503
For debugging purposes, when the test fails in CI and creates a screenshot.
gDM sources tend to be large, and for the sake of this test they should be
encoded large too. This shrinks the dimensions of the rendered video tracks
instead.
Differential Revision: https://phabricator.services.mozilla.com/D227492
28 UI tests started to fail all of a sudden after [[ https://phabricator.services.mozilla.com/D229397#change-b6xmo9pT7DsO | this ]] change landed.
The failures were caused by the change that was done to **verifyUrl**.
- The change wasn't needed, as Ben didn't take use of it anywhere
- _url.host in that format will return null, if the protocol isn't added to the url it can't be parsed properly
Since these sort of changes weren't on our radar and since Ben doesn't need them in his new UI tests, I've reverted back the change related to **verifyUrl**
If we want to make that sort of changes when verifying the url's I can refactor the function and the existing UI tests in a separate diff.
All UI tests successfully passed 1x on Firebase ✅
In the [[ https://phabricator.services.mozilla.com/D229397#7933912 | try ]] mentioned here, only the new UI test ran, and that's why the other failures flew under the radar
Differential Revision: https://phabricator.services.mozilla.com/D229589
Profiling the previous patches on micro-benchmarks showed some functions that
weren't being inlined by Clang. With this patch we generate better code for
the reserved slot accesses and inline more code.
Differential Revision: https://phabricator.services.mozilla.com/D229582
The `Range` objects are now only used for the iterator objects, so we can store
this state directly in the iterators. This patch adds a `TableIteratorObject`
base class for `MapIteratorObject` and `SetIteratorObject` and replaces `Range`
with this base class.
The shared base class also helps reduce code duplication for `Map` and `Set`
iterators.
The `Range` objects could be nursery-allocated so this is unlikely to improve
performance a lot, but it gets rid of the indirection and simplifies the code.
Differential Revision: https://phabricator.services.mozilla.com/D229336
Split `ITERATOR_SLOT_ITEM_KIND` in separate `ARRAY_ITERATOR_SLOT_ITEM_KIND` and
`MAP_SET_ITERATOR_SLOT_ITEM_KIND` constants to prepare for later patches.
Add missing static assertions for array and string iterator object slots.
Remove the unused `ITERATOR_SLOT_RANGE` constant.
Differential Revision: https://phabricator.services.mozilla.com/D229335
Automatic update from web-platform-tests
[built-in-ai] Expose ai.translator and make AITranslatorFactory work
This CL does two things:
(1) Expose translator to ai
(2) Make AITranslator work correctly (call CreateTranslator from
AITranslatorFactory)
Most of the code is copied from translator.cc and langauge_translator.cc.
Bug: 379643382
Change-Id: If2341b958cd9dcb2641891ff3aabf02e760e4b47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6023056
Reviewed-by: Fergal Daly <fergal@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1384790}
--
wpt-commits: 1e81aa2423692dd724d5dfa3c94f60143b8474f7
wpt-pr: 49258
Automatic update from web-platform-tests
[Gap Decorations]: Introduce ColumnRuleWidth on ComputedStyle
This CL introduces a new data structure to extend the ColumnRuleWidth
property for the gap decorations feature. Previously, the
`column-rule-width` property could hold only a single width value.
However, with the gap decorations feature, this property can now hold
multiple values. The CL utilizes the `GapDataList` template data
structure to store these values in the computed style object.
Additionally, sites that expect a single width value have been updated
to call `GetLegacyValue()`, which returns the single width.
The CL also updates the parsing logic to return nullptr when no values
are present, allowing the use of the default value.
The code is exercised through the gap-decorations-width-computed.html
test.
Bug: 357648037
Change-Id: I5a28f332c57b16f90d7647c4b601b6eb32f7bb6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5967393
Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1384732}
--
wpt-commits: e6a6269cfd6983b96558f6daf4f70a69f37062dd
wpt-pr: 49251
Automatic update from web-platform-tests
Mark three new dialog tests as slow tests
These all seems to flaky-fail with a timeout on some Mac platforms.
Mark them slow tests to give them more time.
Fixed: 377943753,379418916
Change-Id: Idfe412cfacd521894dde745cd788d803ac27c719
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6033672
Commit-Queue: Di Zhang <dizhangg@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
Reviewed-by: Di Zhang <dizhangg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1384687}
--
wpt-commits: 0177fdb37a8401d692cd0696f983ff75f453bd39
wpt-pr: 49254
Automatic update from web-platform-tests
Funnel angle value updates in SVGAngle through NewValueSpecifiedUnits
Refactor/structure the code so that all cases[*] that set the
`value_in_specified_units_` field does so using NewValueSpecifiedUnits.
This makes it easier to guarantee that the value the orient type enum is
only updated in one place, and that updating it isn't forgotten. Factor
out the conversion from one angle unit to another into a helper, to
facilitate this.
This fixes an issue where the 'valueInSpecifiedUnits' setter didn't
update the orient type.
Export the test svg/dom/SVGMarkerElement-orientType-synchronization.html
to WPT and add an additional case that tests the above.
[*] Code-paths that reset said field when the orient type changes still
(re)set the value themselves.
Fixed: 378120437
Change-Id: I59845590f60d1edbf022a71103d3c6fb3a21aec1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6023025
Reviewed-by: Philip Rogers <pdr@chromium.org>
Auto-Submit: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1384659}
--
wpt-commits: 9c10ca38b25cc32190c4536e2b2b18c71d0acbb9
wpt-pr: 49247
Automatic update from web-platform-tests
AI: Use SecureContext for languageModel API
This change updates languageModel API to use `SecureContext`.
Missed in https://crrev.com/c/6020818 due to rename.
Bug: 372311600
Change-Id: If4ea0c117da38e17b2b33df9b0020bf8218b41f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6027212
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Commit-Queue: Ayu Ishii <ayui@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1384649}
--
wpt-commits: 90ae0db28e5a2a12860a1c5131a5dab43fd8eb43
wpt-pr: 49246
Automatic update from web-platform-tests
Enable ShadowRealm testing for atob/btoa
Adds the appropriate metadata for the existing tests for the functionality
of atob() and btoa() to additionally be run in a ShadowRealm.
We also have to use the test harness's fetch_json() to fetch the test data
instead of fetch(), which is not exposed in ShadowRealm.
--
wpt-commits: f4c5e40b830cb5811d9838a03b1e95e0c9d4323f
wpt-pr: 49188
Automatic update from web-platform-tests
Enable ShadowRealm testing for DOMException
Adds the appropriate metadata for the existing tests for the functionality
of DOMException to additionally be tested in a ShadowRealm.
Adds the same IDL array to the IDL tests for DOMExceptions in ShadowRealm
as for DOMExceptions in other realms.
--
wpt-commits: 73195b08b0d7a4a4251f8b3399af24efd3de17cc
wpt-pr: 49159
Automatic update from web-platform-tests
Change 'shadowrealm' global into a shorthand for all possible ShadowRealm scopes
In order to automatically run tests not only in a ShadowRealm created in a
window scope, but also in ShadowRealms created in other realms, change the
'shadowrealm' global type to a collection, and rename the existing
ShadowRealm handler to 'shadowrealm-in-window'.
--
Remove monkeypatch of globalThis.self in ShadowRealm
As per https://github.com/whatwg/html/pull/9893, ShadowRealmGlobalScope
should have a `self` attribute already. There is no need to monkeypatch it
for the test harness.
--
Factor out JS code that will be common to multiple ShadowRealm handlers
We will add multiple ShadowRealm handlers, and they will all need to set
up certain global properties. Avoid repeating this code in each handler
as well as in idlharness-shadowrealm.js.
This should also increase readability, which is good since the ShadowRealm
setup code can be confusing.
--
Add 'shadowrealm-in-shadowrealm' global
This will add to any test with global=shadowrealm in its metadata, an
.any.shadowrealm-in-shadowrealm.html variant.
The test wrapper creates an outer ShadowRealm, which creates an inner
ShadowRealm and runs the tests inside that, relaying the results through
the outer ShadowRealm.
--
Add 'shadowrealm-in-dedicatedworker' global
This will add to any test with global=shadowrealm in its metadata, an
.any.shadowrealm-in-dedicatedworker.html variant.
The test loads an intermediate .any.worker-shadowrealm.js wrapper into a
Worker, and forwards the message port to the Worker's message port so that
fetch_tests_from_worker can receive the results.
--
Add 'shadowrealm-in-sharedworker' global
This will add to any test with global=shadowrealm in its metadata, an
.any.shadowrealm-in-sharedworker.html variant.
The test loads the same intermediate .any.worker-shadowrealm.js wrapper as
.any.shadowrealm-in-dedicatedworker.html, but populates a 'port' variable
with the port received from the connect event, instead of calling the
global postMessage since that won't work in a SharedWorker.
--
Add 'shadowrealm-in-serviceworker' global
This will add to any test with global=shadowrealm in its metadata, an
.any.shadowrealm-in-serviceworker.html variant.
We have to use a slightly different .any.serviceworker-shadowrealm.js
wrapper from the wrapper used for the other types of workers, because
dynamic import() is forbidden in ServiceWorker scopes. Instead, add a
utility function to set up a fakeDynamicImport() function inside the
ShadowRealm which uses the fetch adaptor to get the module's source text
and evaluate it in the shadowRealm.
Also add a case for ServiceWorkers to getPostMessageFunc(), which returns
a postMessage() drop-in replacement that broadcasts the message to all
clients, since test result messages from the ShadowRealm are not in
response to any particular message received by the ServiceWorker.
Note '.https.' needs to be added to the test path.
--
Add 'shadowrealm-in-audioworklet' global
This will add to any test with global=shadowrealm in its metadata, an
.any.shadowrealm-in-audioworklet.html variant.
The wrapper here is similar to the one for ServiceWorkers, since dynamic
import() is also forbidden in worklet scopes. But additionally fetch() is
not exposed, so we add a utility function to set up the ability to call
the window realm's fetch() through the AudioWorklet's message port.
We also add /resources/testharness-shadowrealm-audioworkletprocessor.js to
contain most of the AudioWorklet setup boilerplate, so that it isn't
written inline in serve.py.
Note '.https.' needs to be added to the test path.
--
wpt-commits: 9c8db8af89efbe0f67b215af2a6b49e9564e2971, 65a205aea5d02ff5bea7b1a0579287035d02d6c4, eb9c8e7259ef8bd5cca5019c1ca15ccd430e81dc, 3a20c56893472783b5e20c0d61cbb7b7b278cc6d, 7d8458ed291b139307430a102180c9a617d7876e, 42160ae827c863ac6787c8451fe377901c8f0652, 59367bb21d053abb9ed6de3cca5409486816acc9, 60d6c48e5fa76876bc3924b9d6185dfb56c9ab1c
wpt-pr: 49108
Automatic update from web-platform-tests
Put timing values of DocumentTiming in a GCed object
So they can outlive the document, and PerformanceNavigationTiming can
collect them.
Bug: 40793421
Change-Id: I2cbb53862ff9fab08f963d9408ef65ff462e5dd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5935276
Reviewed-by: David Baron <dbaron@chromium.org>
Commit-Queue: Guohui Deng <guohuideng@microsoft.com>
Reviewed-by: Noam Rosenthal <nrosenthal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1384608}
--
wpt-commits: d639d949a473d412a3557eab71eba43a58420f3f
wpt-pr: 49240
Automatic update from web-platform-tests
Shared Storage: Fix web test .well-known file (_ to -)
We fix a typo where an underscore should have been a hyphen.
Bug: 376278213
Change-Id: I8f2675e3e752817ca344abaee45b00371761365d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6033313
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Yao Xiao <yaoxia@chromium.org>
Commit-Queue: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1384607}
--
wpt-commits: aa824139f77d4481c518eb5b877405a1a4f44a3b
wpt-pr: 49238
Automatic update from web-platform-tests
Fix min/max-content block size of replaced element
The min-content and max-content sizes on the block axis depend on the
inline size. But when computing the SizeConstraint corresponding to the
inline axis, we were resolving the preferred inline size ignoring
intrinsic keywords. Now we will only ignore `auto`.
Also, this patch refactors the logic to compute the min-content and
max-content block sizes after fully resolving the inline size.
This avoids having to resolve the inline sizing properties twice.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
--
wpt-commits: f1eaa58ed9d3e0a9d875387422878f3640c79f97
wpt-pr: 49234