Sync WPT with upstream (04-05-2025) (#36829)

Automated downstream sync of changes from upstream as of 04-05-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
This commit is contained in:
Servo WPT Sync 2025-05-04 03:43:02 +02:00 committed by GitHub
parent 539ca27284
commit 43edab336a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
264 changed files with 4939 additions and 1194 deletions

View file

@ -14,6 +14,3 @@
[Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.]
expected: TIMEOUT
[Fetching a blob URL immediately before revoking it works in <script> tags.]
expected: TIMEOUT

View file

@ -12,6 +12,3 @@
[Revoke blob URL after creating Request, then clone Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
[multicol-gap-decorations-015.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[multicol-gap-decorations-016.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-names-015.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-auto-025.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-001.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-001.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-002.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-002.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-003.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-003.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-004.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-004.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-005.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-005.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-006.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-006.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-007.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-007.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-008.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-008.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-009.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-009.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-010.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-010.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-011.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-011.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-012.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-012.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-013.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-013.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-014.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[line-clamp-with-abspos-014.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-015.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-016.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-017.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-018.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-019.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-020.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-021.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-abspos-022.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-002.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-003.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-005.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-006.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-007.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-008.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-009.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-010.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-011.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-012.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-013.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-014.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-015.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-016.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[line-clamp-with-fixed-pos-017.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[dynamic-available-size-iframe.html]
expected: FAIL

View file

@ -0,0 +1,30 @@
[transform-valid.html]
[e.style['transform'\] = "scaleX(7)" should set the property value]
expected: FAIL
[e.style['transform'\] = "scaleX(720%)" should set the property value]
expected: FAIL
[e.style['transform'\] = "scaleY(-8)" should set the property value]
expected: FAIL
[e.style['transform'\] = "scaleY(-85%)" should set the property value]
expected: FAIL
[e.style['transform'\] = "scaleZ(4)" should set the property value]
expected: FAIL
[e.style['transform'\] = "scaleZ(25%)" should set the property value]
expected: FAIL
[e.style['transform'\] = "skewX(0)" should set the property value]
expected: FAIL
[e.style['transform'\] = "skewX(90deg)" should set the property value]
expected: FAIL
[e.style['transform'\] = "skewY(0)" should set the property value]
expected: FAIL
[e.style['transform'\] = "skewY(-90deg)" should set the property value]
expected: FAIL

View file

@ -1,3 +1,6 @@
[calc-sibling-function-in-shadow-dom.html]
[Host children have sibling-index() and sibling-count() based on assignedNodes order]
expected: FAIL
[Host children have sibling-index() and sibling-count() based on the DOM tree order]
expected: FAIL

View file

@ -0,0 +1,3 @@
[008.html]
[Link with onclick form submit to javascript url and href navigation ]
expected: FAIL

View file

@ -4,3 +4,6 @@
[form submission]
expected: FAIL
[link click]
expected: FAIL

View file

@ -0,0 +1,3 @@
[navigation-unload-same-origin.window.html]
[Same-origin navigation started from unload handler must be ignored]
expected: FAIL

View file

@ -0,0 +1,3 @@
[traverse_the_history_3.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,5 +1,5 @@
[createImageBitmap-invalid-args.html]
expected: ERROR
expected: TIMEOUT
[createImageBitmap with a vector HTMLImageElement source and sw set to 0]
expected: FAIL

View file

@ -1,5 +1,5 @@
[createImageBitmap-transfer.html]
expected: ERROR
expected: TIMEOUT
[Transfer ImageBitmap created from a vector HTMLImageElement]
expected: FAIL

View file

@ -1,4 +1,3 @@
[document-base-url-window-initiator-is-not-opener.https.window.html]
expected: TIMEOUT
[window.open() gets base url from initiator not opener.]
expected: [FAIL, PASS, TIMEOUT]

View file

@ -1,15 +1,16 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: FAIL
expected: NOTRUN
[Element with tabindex should support autofocus]
expected: FAIL
[Area element should support autofocus]
expected: FAIL
expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
expected: FAIL
expected: NOTRUN

View file

@ -1,4 +1,3 @@
[iframe_sandbox_popups_escaping-3.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
expected: FAIL

View file

@ -1,4 +1,4 @@
[iframe_sandbox_popups_nonescaping-2.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
expected: NOTRUN

View file

@ -1,3 +1,4 @@
[iframe_sandbox_popups_nonescaping-3.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN

View file

@ -167,9 +167,6 @@
[text/plain: \\n in name (normal form)]
expected: FAIL
[text/plain: 0x00 in name (normal form)]
expected: FAIL
[text/plain: double quote in value (normal form)]
expected: FAIL

View file

@ -43,3 +43,6 @@
[textarea tags should parse inside select instead of closing the select]
expected: FAIL
[Input tags should parse inside select if nested in another tag]
expected: FAIL

View file

@ -5,6 +5,9 @@
[Different blob URLs pointing to the same blob resolve to different modules]
expected: FAIL
[Revoking a blob URL immediately after calling import will not fail]
expected: FAIL
[blob-url.any.worker-module.html]
expected: TIMEOUT
@ -15,6 +18,3 @@
[blob-url.any.html]
[Different blob URLs pointing to the same blob resolve to different modules]
expected: FAIL
[Revoking a blob URL immediately after calling import will not fail]
expected: FAIL

View file

@ -772,3 +772,15 @@
[X SNR (-349.0959218623025 dB) is not greater than or equal to 65.737. Got -349.0959218623025.]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[14650\]\t-2.9403580000000000e+7\t8.6956524848937988e-1\t2.9403580869565248e+7\t3.3814116790712982e+7\t3.8985999999999999e-3\n\t[14651\]\t3.0547976493835449e-1\t8.9879405498504639e-1\t5.9331429004669189e-1\t6.6012262403823208e-1\t3.8985999999999999e-3\n\tMax AbsError of 2.9403580869565248e+7 at index of 14650.\n\tMax RelError of 3.3814116790712982e+7 at index of 14650.\n]
expected: FAIL
[X SNR (-105.93391852623517 dB) is not greater than or equal to 65.737. Got -105.93391852623517.]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[14650\]\t-2.5247278509648089e-39\t8.6956524848937988e-1\t8.6956524848937988e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[14651\]\t3.0547976493835449e-1\t8.9879405498504639e-1\t5.9331429004669189e-1\t6.6012262403823208e-1\t3.8985999999999999e-3\n\tMax AbsError of 8.6956524848937988e-1 at index of 14650.\n\tMax RelError of 1.0000000000000000e+0 at index of 14650.\n]
expected: FAIL
[X SNR (42.96525288004425 dB) is not greater than or equal to 65.737. Got 42.96525288004425.]
expected: FAIL

View file

@ -1,4 +1,7 @@
<!DOCTYPE html>
<meta name="timeout" content="long">
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
@ -10,11 +13,21 @@ const { HTTPS_ORIGIN, HTTPS_NOTSAMESITE_ORIGIN } = get_host_info();
const PATH = location.pathname.substring(0, location.pathname.lastIndexOf('/') + 1);
const IFRAME_PATH = PATH + 'resources/iframe-helper.html';
const getId = (() => {
let idCount = 0;
return () => idCount++;
})();
function run_iframe_test(iframe, test_name) {
iframe.contentWindow.postMessage({type: test_name}, '*');
const id = getId();
iframe.contentWindow.postMessage({id, type: test_name}, '*');
const {promise, resolve, reject} = Promise.withResolvers();
window.onmessage = message => {
if (message.data.id !== id){
return;
}
if (message.data.success) {
resolve(message.data.success);
} else {
@ -27,19 +40,18 @@ function run_iframe_test(iframe, test_name) {
function load_iframe(src, permission_policy) {
let iframe = document.createElement('iframe');
return new Promise((resolve, reject) => {
iframe.onload = () => {
resolve(iframe);
}
iframe.src = src;
iframe.allow = permission_policy;
document.body.appendChild(iframe);
});
const {promise, resolve} = Promise.withResolvers();
iframe.onload = () => {
resolve(iframe);
}
iframe.src = src;
iframe.allow = permission_policy;
document.body.appendChild(iframe);
return promise;
}
// TODO(crbug.com/414428433): Tests in this file intermittently crash.
// Re-enable once potential causes in Permissions Policy implementation
// and test setup are addressed.
promise_test(async t => {
const src = HTTPS_NOTSAMESITE_ORIGIN + IFRAME_PATH;
const iframe = await load_iframe(src, /*permission_policy=*/"");
@ -49,7 +61,7 @@ promise_test(async t => {
promise_test(async t => {
const src = HTTPS_NOTSAMESITE_ORIGIN + IFRAME_PATH;
const iframe = await load_iframe(src, "languageDetector");
const iframe = await load_iframe(src, "language-detector");
assert_equals(
await run_iframe_test(iframe, "LanguageDetectorCreate"), 'Success');
@ -73,7 +85,7 @@ promise_test(async t => {
promise_test(async t => {
const src = HTTPS_NOTSAMESITE_ORIGIN + IFRAME_PATH;
const iframe = await load_iframe(src, "languageDetector");
const iframe = await load_iframe(src, "language-detector");
assert_in_array(
await run_iframe_test(iframe, "LanguageDetectorAvailability"),

View file

@ -184,6 +184,11 @@ promise_test(async t => {
});
}, 'Aborting LanguageDetector.measureInputUsage().');
promise_test(async () => {
const detector = await createLanguageDetector({expectedInputLanguages: []});
assert_equals(detector.expectedInputLanguages, null);
}, 'Creating LanguageDetector with empty expectedInputLanguages array');
promise_test(async () => {
const detector = await createLanguageDetector();
assert_equals(detector.expectedInputLanguages, null);

View file

@ -1,18 +1,28 @@
<!DOCTYPE HTML>
<meta charset="utf-8">
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<body></body>
<script>
test_driver.set_test_context(parent);
window.onmessage = async message => {
switch (message.data.type) {
case 'LanguageDetectorCreate':
LanguageDetector.create()
.then(t => parent.postMessage({success: 'Success'}))
.catch(err => parent.postMessage({err}));
break;
case 'LanguageDetectorAvailability':
LanguageDetector.availability()
.then(t => parent.postMessage({success: availability}))
.catch(err => parent.postMessage({err}));
break;
};
const {id, type} = message.data;
try {
switch (type) {
case 'LanguageDetectorCreate':
await test_driver.bless("Create LanguageDetector", null, window);
await LanguageDetector.create();
parent.postMessage({id, success: 'Success'}, '*');
break;
case 'LanguageDetectorAvailability':
await test_driver.bless("Check LanguageDetector Availability", null, window);
const availability = await LanguageDetector.availability();
parent.postMessage({id, success: availability}, '*');
break;
}
} catch (err) {
parent.postMessage({id, err: err}, '*');
}
};
</script>

Some files were not shown because too many files have changed in this diff Show more