Sync WPT with upstream (07-08-2023) (#30078)

* Update web-platform-tests to revision b'6d5a1f7fb272973c2a951831b4f9fb25f05f96b0'

* Revert some expectations updated by WPT import

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This commit is contained in:
Servo WPT Sync 2023-08-08 00:24:47 -04:00 committed by GitHub
parent 1346c34083
commit 2fe0413b72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
810 changed files with 17776 additions and 6309 deletions

View file

@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
expected: FAIL
expected: TIMEOUT
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT

View file

@ -0,0 +1,2 @@
[font-size-adjust-012.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[font-size-adjust-013.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[font-size-adjust-014.html]
expected: FAIL

View file

@ -43,3 +43,6 @@
[Property font-size-adjust value 'ic-height from-font']
expected: FAIL
[CSS Fonts Module Level 5: getComputedStyle().fontSizeAdjust]
expected: FAIL

View file

@ -0,0 +1,2 @@
[overlay-transition-dialog.html]
expected: TIMEOUT

View file

@ -5,3 +5,5 @@
[Property word-break value 'break-word']
expected: FAIL
[Property word-break value 'auto-phrase']
expected: FAIL

View file

@ -2,3 +2,5 @@
[e.style['word-break'\] = "break-word" should set the property value]
expected: FAIL
[e.style['word-break'\] = "auto-phrase" should set the property value]
expected: FAIL

View file

@ -0,0 +1,2 @@
[word-break-auto-phrase-intrinsic-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[word-break-auto-phrase-overflow-001.html]
expected: FAIL

View file

@ -376,3 +376,333 @@
[calc(rem(3px + 0%, 2px + 0%)) should be used-value-equivalent to 1px]
expected: FAIL
[calc(round(to-zero, 105, 10)) should be used-value-equivalent to 100]
expected: FAIL
[calc(round(to-zero, -105, 10)) should be used-value-equivalent to -100]
expected: FAIL
[calc(round(-100, 10)) should be used-value-equivalent to -100]
expected: FAIL
[calc(round(up, -103, 10)) should be used-value-equivalent to -100]
expected: FAIL
[round(up, 0, 5) should be used-value-equivalent to 0]
expected: FAIL
[round(down, 0, 5) should be used-value-equivalent to 0]
expected: FAIL
[round(nearest, 0, 5) should be used-value-equivalent to 0]
expected: FAIL
[round(to-zero, 0, 5) should be used-value-equivalent to 0]
expected: FAIL
[round(up, 5, 5) should be used-value-equivalent to 5]
expected: FAIL
[round(down, 5, 5) should be used-value-equivalent to 5]
expected: FAIL
[round(nearest, 5, 5) should be used-value-equivalent to 5]
expected: FAIL
[round(to-zero, 5, 5) should be used-value-equivalent to 5]
expected: FAIL
[round(up, -5, 5) should be used-value-equivalent to -5]
expected: FAIL
[round(down, -5, 5) should be used-value-equivalent to -5]
expected: FAIL
[round(nearest, -5, 5) should be used-value-equivalent to -5]
expected: FAIL
[round(to-zero, -5, 5) should be used-value-equivalent to -5]
expected: FAIL
[round(up, 10, 5) should be used-value-equivalent to 10]
expected: FAIL
[round(down, 10, 5) should be used-value-equivalent to 10]
expected: FAIL
[round(nearest, 10, 5) should be used-value-equivalent to 10]
expected: FAIL
[round(to-zero, 10, 5) should be used-value-equivalent to 10]
expected: FAIL
[round(up, -10, 5) should be used-value-equivalent to -10]
expected: FAIL
[round(down, -10, 5) should be used-value-equivalent to -10]
expected: FAIL
[round(nearest, -10, 5) should be used-value-equivalent to -10]
expected: FAIL
[round(to-zero, -10, 5) should be used-value-equivalent to -10]
expected: FAIL
[round(up, 20, 5) should be used-value-equivalent to 20]
expected: FAIL
[round(down, 20, 5) should be used-value-equivalent to 20]
expected: FAIL
[round(nearest, 20, 5) should be used-value-equivalent to 20]
expected: FAIL
[round(to-zero, 20, 5) should be used-value-equivalent to 20]
expected: FAIL
[round(up, -20, 5) should be used-value-equivalent to -20]
expected: FAIL
[round(down, -20, 5) should be used-value-equivalent to -20]
expected: FAIL
[round(nearest, -20, 5) should be used-value-equivalent to -20]
expected: FAIL
[round(to-zero, -20, 5) should be used-value-equivalent to -20]
expected: FAIL
[round(0, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(-0, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(Infinity, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(-Infinity, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(-4, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(4, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(Infinity, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(-Infinity, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(Infinity, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(-Infinity, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(0, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(-0, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(Infinity, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(-Infinity, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(-4, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(4, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(Infinity, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(-Infinity, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(Infinity, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(-Infinity, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(0, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(-0, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(Infinity, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(-Infinity, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(-4, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(4, 0) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(Infinity, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(-Infinity, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(Infinity, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[rem(-Infinity, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[round(up, Infinity, 4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(up, -Infinity, 4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(up, Infinity, -4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(up, -Infinity, -4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(down, Infinity, 4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(down, -Infinity, 4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(down, Infinity, -4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(down, -Infinity, -4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(nearest, Infinity, 4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(nearest, -Infinity, 4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(nearest, Infinity, -4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(nearest, -Infinity, -4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(to-zero, Infinity, 4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(to-zero, -Infinity, 4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(to-zero, Infinity, -4) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(to-zero, -Infinity, -4) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(nearest, 0, Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(nearest, 4, Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(nearest, -0, Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(nearest, -4, Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(nearest, 0, -Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(nearest, 4, -Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(nearest, -0, -Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(nearest, -4, -Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(to-zero, 0, Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(to-zero, 4, Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(to-zero, -0, Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(to-zero, -4, Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(to-zero, 0, -Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(to-zero, 4, -Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(to-zero, -0, -Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(to-zero, -4, -Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(up, 1, Infinity) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(up, 0, Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(up, -1, Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(up, 1, -Infinity) should be used-value-equivalent to calc(Infinity)]
expected: FAIL
[round(up, 0, -Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(up, -1, -Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(down, 1, Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(down, 0, Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(down, -1, Infinity) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[round(down, 1, -Infinity) should be used-value-equivalent to calc(-0)]
expected: FAIL
[round(down, 0, -Infinity) should be used-value-equivalent to 0]
expected: FAIL
[round(down, -1, -Infinity) should be used-value-equivalent to calc(-Infinity)]
expected: FAIL
[mod(-0, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(0, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(-4, Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL
[mod(4, -Infinity) should be used-value-equivalent to calc(NaN)]
expected: FAIL

View file

@ -1,6 +0,0 @@
[scroll-behavior-smooth-navigation.html]
[Instant scrolling while doing history navigation.]
expected: FAIL
[Smooth scrolling while doing history navigation.]
expected: FAIL

View file

@ -547,3 +547,24 @@
[CSSImportRule interface: sheet.cssRules[0\] must inherit property "supportsText" with the proper type]
expected: FAIL
[CSSStyleRule interface: existence and properties of interface object]
expected: FAIL
[CSSStyleRule interface: existence and properties of interface prototype object]
expected: FAIL
[CSSGroupingRule interface: sheet.cssRules[4\] must inherit property "cssRules" with the proper type]
expected: FAIL
[CSSGroupingRule interface: sheet.cssRules[4\] must inherit property "insertRule(CSSOMString, optional unsigned long)" with the proper type]
expected: FAIL
[CSSGroupingRule interface: calling insertRule(CSSOMString, optional unsigned long) on sheet.cssRules[4\] with too few arguments must throw TypeError]
expected: FAIL
[CSSGroupingRule interface: sheet.cssRules[4\] must inherit property "deleteRule(unsigned long)" with the proper type]
expected: FAIL
[CSSGroupingRule interface: calling deleteRule(unsigned long) on sheet.cssRules[4\] with too few arguments must throw TypeError]
expected: FAIL

View file

@ -20,3 +20,9 @@
[Toggling "disabled" attribute on a <fieldset> does not trigger a callback on disabled custom element descendant]
expected: FAIL
[Callback triggered during a clone/append operation, with disabled state provided by ancestor]
expected: FAIL
[Callback triggered during a clone operation, with disabled state provided by ancestor]
expected: FAIL

View file

@ -146,6 +146,3 @@
[list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
expected: FAIL
[background-image sec-fetch-site - HTTPS downgrade (header not sent)]
expected: TIMEOUT

View file

@ -5,9 +5,6 @@
[private to local: failure.]
expected: FAIL
[private to private: success.]
expected: FAIL
[public to local: failure.]
expected: FAIL

View file

@ -83,6 +83,9 @@
[Blob content with short content and a range start matching the content length]
expected: FAIL
[A blob range request with no type.]
expected: FAIL
[blob.any.html]
[A simple blob range request.]
@ -168,3 +171,6 @@
[Blob content with short content and a range start matching the content length]
expected: FAIL
[A blob range request with no type.]
expected: FAIL

View file

@ -1,13 +1,12 @@
[failure-check-sequence.https.html]
expected: TIMEOUT
[CSP check precedes COEP check - CSP header first]
expected: NOTRUN
expected: FAIL
[COEP check precedes X-Frame-Options check]
expected: NOTRUN
expected: FAIL
[CSP check precedes COEP check - COEP header first]
expected: NOTRUN
expected: FAIL
[CSP check precedes X-Frame-Options check]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,4 @@
[iframe-src-aboutblank-navigate-immediately.html]
expected: TIMEOUT
[Navigating to a different document with window.open]
expected: FAIL
@ -7,4 +6,4 @@
expected: FAIL
[Navigating to a different document with form submission]
expected: TIMEOUT
expected: FAIL

View file

@ -1,10 +1,6 @@
[javascript-url-referrer.window.html]
expected: TIMEOUT
[unsafe-url referrer policy used to create the starting page]
expected: FAIL
[origin referrer policy used to create the starting page]
expected: FAIL
[no-referrer referrer policy used to create the starting page]
expected: TIMEOUT

View file

@ -13,9 +13,3 @@
[0080 00FF 0100 set in href="" targeting a frame and clicked]
expected: FAIL
[D83D DE0D set in href="" targeting a frame and clicked]
expected: FAIL
[DE0D 0041 set in href="" targeting a frame and clicked]
expected: FAIL

View file

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

View file

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

View file

@ -1,3 +1,4 @@
[nav-cancelation-2.sub.html]
expected: TIMEOUT
[grandparent cancels a pending navigation in a cross-origin grandchild]
expected: FAIL
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[cross-origin-objects.html]
expected: TIMEOUT
[Basic sanity-checking (cross-origin)]
expected: FAIL

View file

@ -0,0 +1,3 @@
[creating_browsing_context_test_01.html]
[first argument: absolute url]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.layer.beginLayer-options.html]
[Checks beginLayer works for different option parameter values]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.layer.exceptions-are-no-op.html]
[Checks that the context state is left unchanged if beginLayer throws.]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.text.font.weight.html]
[Canvas test: 2d.text.font.weight]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.layer.beginLayer-options.html]
[Checks beginLayer works for different option parameter values]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.layer.beginLayer-options.worker.html]
[Checks beginLayer works for different option parameter values]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.layer.exceptions-are-no-op.html]
[Checks that the context state is left unchanged if beginLayer throws.]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.layer.exceptions-are-no-op.worker.html]
[Checks that the context state is left unchanged if beginLayer throws.]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.text.font.weight.html]
[OffscreenCanvas test: 2d.text.font.weight]
expected: FAIL

View file

@ -0,0 +1,3 @@
[2d.text.font.weight.worker.html]
[2d]
expected: FAIL

View file

@ -0,0 +1,2 @@
[details-display-type-001.tentative.html]
expected: FAIL

View file

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

View file

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

View file

@ -181,3 +181,6 @@
[text/plain: 0x00 in name (normal form)]
expected: FAIL
[text/plain: Basic test (formdata event)]
expected: FAIL

View file

@ -0,0 +1,2 @@
[selectmenu-font-size.tentative.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[selectmenu-rtl.tentative.html]
expected: FAIL

View file

@ -13,3 +13,27 @@
[mutation event and toggle event order matches tree order]
expected: FAIL
[exclusivity enforcement with attachment scenario connected]
expected: FAIL
[exclusivity enforcement with attachment scenario disconnected]
expected: FAIL
[exclusivity enforcement with attachment scenario shadow]
expected: FAIL
[exclusivity enforcement with attachment scenario shadow-in-disconnected]
expected: FAIL
[exclusivity enforcement with attachment scenario template-in-disconnected]
expected: FAIL
[exclusivity enforcement with attachment scenario connected-in-xhr-response]
expected: FAIL
[exclusivity enforcement with attachment scenario connected-in-implementation-create-document]
expected: FAIL
[exclusivity enforcement with attachment scenario connected-in-template]
expected: FAIL

View file

@ -0,0 +1,16 @@
[content-type-checking.html]
expected: ERROR
[text/css]
expected: NOTRUN
[application/css]
expected: NOTRUN
[text/html+css]
expected: NOTRUN
[text/css;boundary=something]
expected: NOTRUN
[text/css;foo=bar]
expected: NOTRUN

View file

@ -0,0 +1,9 @@
[cors-crossorigin-requests.html]
[Imported CSS module, cross-origin with CORS]
expected: FAIL
[Imported CSS module, cross-origin, missing CORS ACAO header]
expected: FAIL
[Imported CSS module with parse error, cross-origin, with CORS]
expected: FAIL

View file

@ -0,0 +1,3 @@
[credentials.sub.html]
[CSS Modules should be loaded with or without the credentials based on the same-origin-ness and the crossOrigin attribute]
expected: FAIL

View file

@ -0,0 +1,7 @@
[css-module-worker-test.html]
expected: TIMEOUT
[A dynamic import CSS Module within a web worker should not load and should not attempt to fetch the module.]
expected: TIMEOUT
[An attempt to load a CSS module as a worker should fail.]
expected: NOTRUN

View file

@ -0,0 +1,2 @@
[import-css-module-basic.html]
expected: ERROR

View file

@ -0,0 +1,2 @@
[import-css-module-dynamic.html]
expected: ERROR

View file

@ -0,0 +1,25 @@
[load-error-events.html]
expected: ERROR
[inline, 200, parser-inserted]
expected: NOTRUN
[inline, 404, parser-inserted]
expected: NOTRUN
[src, 200, parser-inserted]
expected: FAIL
[src, 404, parser-inserted]
expected: FAIL
[src, 200, not parser-inserted]
expected: FAIL
[src, 404, not parser-inserted]
expected: FAIL
[inline, 200, not parser-inserted]
expected: NOTRUN
[inline, 404, not parser-inserted]
expected: NOTRUN

View file

@ -0,0 +1,2 @@
[referrer-policies.sub.html]
expected: ERROR

View file

@ -1,2 +1,3 @@
[integrity.html]
expected: ERROR
[The integrity attribute must be verified on the top-level of a module loading a CSS module and allow it to execute when it matches]
expected: FAIL

View file

@ -1,5 +1,3 @@
[unsupported-assertion.html]
expected: ERROR
[Test that no error occurs when an unsupported import assertion is provided.]
expected: FAIL

View file

@ -0,0 +1,8 @@
[dynamic-import-with-attributes-argument.any.sharedworker.html]
expected: ERROR
[dynamic-import-with-attributes-argument.any.html]
expected: ERROR
[dynamic-import-with-attributes-argument.any.worker.html]
expected: ERROR

View file

@ -0,0 +1,4 @@
[empty-attributes-clause.html]
expected: ERROR
[Test that no error occurs when an empty import attributes clause is provided.]
expected: FAIL

View file

@ -0,0 +1,3 @@
[invalid-type-attribute-error.html]
[Test that invalid module type attribute leads to TypeError on window.]
expected: FAIL

View file

@ -0,0 +1,8 @@
[charset-bom.any.worker.html]
expected: ERROR
[charset-bom.any.sharedworker.html]
expected: ERROR
[charset-bom.any.html]
expected: ERROR

View file

@ -0,0 +1,9 @@
[cors-crossorigin-requests.html]
[Imported JSON module, cross-origin with CORS]
expected: FAIL
[Imported JSON module, cross-origin, missing CORS ACAO header]
expected: FAIL
[Imported JSON module with parse error, cross-origin, with CORS]
expected: FAIL

View file

@ -0,0 +1,3 @@
[credentials.sub.html]
[JSON Modules should be loaded with or without the credentials based on the same-origin-ness and the crossOrigin attribute]
expected: FAIL

View file

@ -0,0 +1,8 @@
[invalid-content-type.any.html]
expected: ERROR
[invalid-content-type.any.worker.html]
expected: ERROR
[invalid-content-type.any.sharedworker.html]
expected: ERROR

View file

@ -0,0 +1,9 @@
[json-module-service-worker-test.https.html]
[Javascript importing JSON Module should load within the context of a service worker]
expected: FAIL
[Trying to register a service worker with a top-level JSON Module should fail]
expected: FAIL
[JSON Module dynamic import should not load within the context of a service worker]
expected: FAIL

View file

@ -0,0 +1,25 @@
[load-error-events.html]
expected: ERROR
[inline, 200, parser-inserted]
expected: NOTRUN
[inline, 404, parser-inserted]
expected: NOTRUN
[src, 200, parser-inserted]
expected: FAIL
[src, 404, parser-inserted]
expected: FAIL
[src, 200, not parser-inserted]
expected: FAIL
[src, 404, not parser-inserted]
expected: FAIL
[inline, 200, not parser-inserted]
expected: NOTRUN
[inline, 404, not parser-inserted]
expected: NOTRUN

View file

@ -0,0 +1,4 @@
[module.html]
expected: ERROR
[JSON modules]
expected: NOTRUN

View file

@ -0,0 +1,8 @@
[non-object.any.worker.html]
expected: ERROR
[non-object.any.sharedworker.html]
expected: ERROR
[non-object.any.html]
expected: ERROR

View file

@ -0,0 +1,4 @@
[parse-error.html]
expected: TIMEOUT
[JSON modules: parse error]
expected: TIMEOUT

View file

@ -0,0 +1,2 @@
[referrer-policies.sub.html]
expected: ERROR

View file

@ -0,0 +1,8 @@
[repeated-imports.any.sharedworker.html]
expected: ERROR
[repeated-imports.any.worker.html]
expected: ERROR
[repeated-imports.any.html]
expected: ERROR

View file

@ -0,0 +1,19 @@
[valid-content-type.html]
expected: ERROR
[text/json]
expected: NOTRUN
[application/json]
expected: NOTRUN
[text/html+json]
expected: NOTRUN
[image/svg+json]
expected: NOTRUN
[text/json;boundary=something]
expected: NOTRUN
[text/json;foo=bar]
expected: NOTRUN

View file

@ -1,19 +1,18 @@
[promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: TIMEOUT
expected: FAIL
[Rejection handler on pending-then-rejected promise]
expected: FAIL
[Sanity check: this all works as expected with no promises involved]
expected: TIMEOUT
expected: FAIL
[Thenable resolution]
expected: FAIL
[Rejection handler on rejected promise]
expected: TIMEOUT
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
expected: FAIL

View file

@ -1,5 +1,5 @@
[cross-partition.https.tentative.html]
expected: CRASH
expected: TIMEOUT
[BroadcastChannel messages aren't received from a cross-partition iframe]
expected: FAIL

View file

@ -0,0 +1,4 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
expected: TIMEOUT
[StorageKey: test 3P about:blank window opened from a 3P iframe]
expected: TIMEOUT

View file

@ -0,0 +1,164 @@
[blob-range.any.worker.html]
[A simple blob range request.]
expected: FAIL
[A blob range request with no type.]
expected: FAIL
[A blob range request with no end.]
expected: FAIL
[A blob range request with no start.]
expected: FAIL
[A simple blob range request with whitespace.]
expected: FAIL
[Blob content with short content and a large range end]
expected: FAIL
[Blob content with short content and a range end matching content length]
expected: FAIL
[Blob range with whitespace before and after hyphen]
expected: FAIL
[Blob range with whitespace after hyphen]
expected: FAIL
[Blob range with whitespace around equals sign]
expected: FAIL
[Blob range with no value]
expected: FAIL
[Blob range with incorrect range header]
expected: FAIL
[Blob range with incorrect range header #2]
expected: FAIL
[Blob range with incorrect range header #3]
expected: FAIL
[Blob range request with multiple range values]
expected: FAIL
[Blob range request with multiple range values and whitespace]
expected: FAIL
[Blob range request with trailing comma]
expected: FAIL
[Blob range with no start or end]
expected: FAIL
[Blob range request with short range end]
expected: FAIL
[Blob range start should be an ASCII digit]
expected: FAIL
[Blob range should have a dash]
expected: FAIL
[Blob range end should be an ASCII digit]
expected: FAIL
[Blob range should include '-']
expected: FAIL
[Blob range should include '=']
expected: FAIL
[Blob range should include 'bytes=']
expected: FAIL
[Blob content with short content and a large range start]
expected: FAIL
[Blob content with short content and a range start matching the content length]
expected: FAIL
[blob-range.any.html]
[A simple blob range request.]
expected: FAIL
[A blob range request with no type.]
expected: FAIL
[A blob range request with no end.]
expected: FAIL
[A blob range request with no start.]
expected: FAIL
[A simple blob range request with whitespace.]
expected: FAIL
[Blob content with short content and a large range end]
expected: FAIL
[Blob content with short content and a range end matching content length]
expected: FAIL
[Blob range with whitespace before and after hyphen]
expected: FAIL
[Blob range with whitespace after hyphen]
expected: FAIL
[Blob range with whitespace around equals sign]
expected: FAIL
[Blob range with no value]
expected: FAIL
[Blob range with incorrect range header]
expected: FAIL
[Blob range with incorrect range header #2]
expected: FAIL
[Blob range with incorrect range header #3]
expected: FAIL
[Blob range request with multiple range values]
expected: FAIL
[Blob range request with multiple range values and whitespace]
expected: FAIL
[Blob range request with trailing comma]
expected: FAIL
[Blob range with no start or end]
expected: FAIL
[Blob range request with short range end]
expected: FAIL
[Blob range start should be an ASCII digit]
expected: FAIL
[Blob range should have a dash]
expected: FAIL
[Blob range end should be an ASCII digit]
expected: FAIL
[Blob range should include '-']
expected: FAIL
[Blob range should include '=']
expected: FAIL
[Blob range should include 'bytes=']
expected: FAIL
[Blob content with short content and a large range start]
expected: FAIL
[Blob content with short content and a range start matching the content length]
expected: FAIL

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
[overlay-transition-dialog.html]
expected: TIMEOUT

View file

@ -502,3 +502,24 @@
[CSSImportRule interface: sheet.cssRules[0\] must inherit property "supportsText" with the proper type]
expected: FAIL
[CSSStyleRule interface: existence and properties of interface object]
expected: FAIL
[CSSStyleRule interface: existence and properties of interface prototype object]
expected: FAIL
[CSSGroupingRule interface: sheet.cssRules[4\] must inherit property "cssRules" with the proper type]
expected: FAIL
[CSSGroupingRule interface: sheet.cssRules[4\] must inherit property "insertRule(CSSOMString, optional unsigned long)" with the proper type]
expected: FAIL
[CSSGroupingRule interface: calling insertRule(CSSOMString, optional unsigned long) on sheet.cssRules[4\] with too few arguments must throw TypeError]
expected: FAIL
[CSSGroupingRule interface: sheet.cssRules[4\] must inherit property "deleteRule(unsigned long)" with the proper type]
expected: FAIL
[CSSGroupingRule interface: calling deleteRule(unsigned long) on sheet.cssRules[4\] with too few arguments must throw TypeError]
expected: FAIL

View file

@ -4,11 +4,11 @@
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<div id='d' style='height: 100px; width: 100px'></div>
<body>
<script>
// *not* \uu001B; see https://w3c.github.io/webdriver/#keyboard-actions
const ESC = '\uE00C';
// TODO(domenic): maybe update createRecordingCloseWatcher() to allow passing args and use it?
test(() => {
let watcher = new CloseWatcher({ signal: AbortSignal.abort() });
@ -60,7 +60,7 @@ promise_test(async () => {
watcher.oncancel = () => oncancel_called = true;
watcher.onclose = () => onclose_called = true;
await test_driver.send_keys(document.getElementById('d'), ESC);
await sendCloseRequest();
assert_false(oncancel_called);
assert_false(onclose_called);
@ -75,7 +75,7 @@ promise_test(async t => {
watcher.onclose = () => onclose_called = true;
controller.abort();
await test_driver.send_keys(document.getElementById('d'), ESC);
await sendCloseRequest();
assert_false(oncancel_called);
assert_false(onclose_called);
@ -89,7 +89,7 @@ promise_test(async t => {
watcher.oncancel = () => oncancel_call_count_++;
watcher.onclose = () => onclose_call_count_++;
await test_driver.send_keys(document.getElementById('d'), ESC);
await sendCloseRequest();
controller.abort();
assert_equals(oncancel_call_count_, 0);

View file

@ -6,7 +6,7 @@
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<div id='d' style='height: 100px; width: 100px'></div>
<body>
<script>
test(t => {
let events = [];
@ -65,18 +65,18 @@ promise_test(async t => {
let watcher = createRecordingCloseWatcher(t, events);
watcher.destroy();
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, []);
}, "destroy() then close signal fires no events");
}, "destroy() then close request fires no events");
promise_test(async t => {
let events = [];
let watcher = createRecordingCloseWatcher(t, events);
await sendCloseSignal();
await sendCloseRequest();
watcher.destroy();
assert_array_equals(events, ["close"]);
}, "Close signal then destroy() fires only one close event");
}, "Close request then destroy() fires only one close event");
</script>

View file

@ -8,12 +8,12 @@
<!--
Tests in this file are around the interaction of the Esc key specifically, not
the general concept of close signals. Ideally, all other tests would work
as-is if you changed the implementation of sendCloseSignal(). These tests
assume that Esc is the close signal for the platform being tested.
the general concept of close requests. Ideally, all other tests would work
as-is if you changed the implementation of sendCloseRequest(). These tests
assume that Esc is the close request for the platform being tested.
-->
<div id='d' style='height: 100px; width: 100px'></div>
<body>
<script>
promise_test(async t => {
let events = [];
@ -33,7 +33,7 @@ promise_test(async t => {
await sendEscKey();
assert_array_equals(events, []);
}, "A keydown listener can prevent the Esc keypress from being interpreted as a close signal");
}, "A keydown listener can prevent the Esc keypress from being interpreted as a close request");
promise_test(async t => {
let events = [];
@ -44,7 +44,7 @@ promise_test(async t => {
await sendEscKey();
assert_array_equals(events, []);
}, "A keyup listener can prevent the Esc keypress from being interpreted as a close signal");
}, "A keyup listener can prevent the Esc keypress from being interpreted as a close request");
promise_test(async t => {
let events = [];
@ -55,7 +55,7 @@ promise_test(async t => {
await sendEscKey();
assert_array_equals(events, []);
}, "A keypress listener can prevent the Esc keypress from being interpreted as a close signal");
}, "A keypress listener can prevent the Esc keypress from being interpreted as a close request");
test(t => {
let events = [];

View file

@ -6,7 +6,7 @@
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<div id='d' style='height: 100px; width: 100px'></div>
<body>
<script>
promise_test(async t => {
let closeEvent, cancelEvent;

View file

@ -6,7 +6,7 @@
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<div id='d' style='height: 100px; width: 100px'></div>
<body>
<script>
promise_test(async t => {
let events = [];

View file

@ -6,6 +6,7 @@
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<button id=b0>b0</button>
@ -20,8 +21,6 @@
</div>
<script>
const escapeKey = '\uE00C';
promise_test(async () => {
p1.showPopover();
await test_driver.click(b1);
@ -31,12 +30,12 @@ promise_test(async () => {
assert_true(p2.matches(':popover-open'), 'p2 should be open.');
assert_true(p3.matches(':popover-open'), 'p3 should be open.');
await test_driver.send_keys(p3, escapeKey);
await sendCloseRequest();
assert_true(p1.matches(':popover-open'), 'first escape: p1 should be open.');
assert_false(p2.matches(':popover-open'), 'first escape: p2 should be closed.');
assert_false(p3.matches(':popover-open'), 'first escape: p3 should be closed.');
await test_driver.send_keys(p1, escapeKey);
await sendCloseRequest();
assert_false(p1.matches(':popover-open'), 'second escape: p1 should be closed.');
assert_false(p2.matches(':popover-open'), 'second escape: p2 should be closed.');
assert_false(p3.matches(':popover-open'), 'second escape: p3 should be closed.');

View file

@ -6,6 +6,7 @@
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<button id=b0>b0</button>
@ -20,8 +21,6 @@
</div>
<script>
const escapeKey = '\uE00C';
promise_test(async () => {
p1.showPopover();
p2.showPopover();
@ -30,11 +29,11 @@ promise_test(async () => {
assert_true(p2.matches(':popover-open'), 'p2 should be open.');
assert_true(p3.matches(':popover-open'), 'p3 should be open.');
await test_driver.send_keys(p3, escapeKey);
await sendCloseRequest();
assert_false(p1.matches(':popover-open'), 'p1 should be closed.');
assert_false(p2.matches(':popover-open'), 'p2 should be closed.');
assert_false(p3.matches(':popover-open'), 'p3 should be closed.');
}, 'Opening multiple popovers without user activation causes them all to be closed with one close signal.');
}, 'Opening multiple popovers without user activation causes them all to be closed with one close request.');
promise_test(async () => {
await test_driver.click(b0);
@ -47,19 +46,19 @@ promise_test(async () => {
assert_true(p2.matches(':popover-open'), 'p2 should be open.');
assert_true(p3.matches(':popover-open'), 'p3 should be open.');
await test_driver.send_keys(p3, escapeKey);
await sendCloseRequest();
assert_true(p1.matches(':popover-open'), 'first escape: p1 should be open.');
assert_true(p2.matches(':popover-open'), 'first escape: p2 should be open.');
assert_false(p3.matches(':popover-open'), 'first escape: p3 should be closed.');
await test_driver.send_keys(p2, escapeKey);
await sendCloseRequest();
assert_true(p1.matches(':popover-open'), 'second escape: p1 should be open.');
assert_false(p2.matches(':popover-open'), 'second escape: p2 should be closed.');
assert_false(p3.matches(':popover-open'), 'second escape: p3 should be closed.');
await test_driver.send_keys(p1, escapeKey);
await sendCloseRequest();
assert_false(p1.matches(':popover-open'), 'third escape: p1 should be closed.');
assert_false(p2.matches(':popover-open'), 'third escape: p2 should be closed.');
assert_false(p3.matches(':popover-open'), 'third escape: p3 should be closed.');
}, 'Opening multiple popovers with user activation should close one at a time with close signals.');
}, 'Opening multiple popovers with user activation should close one at a time with close requests.');
</script>

View file

@ -1,5 +1,3 @@
// TODO(domenic): consider using these in all test files.
window.createRecordingCloseWatcher = (t, events, name) => {
const prefix = name === undefined ? "" : name + " ";;
@ -16,15 +14,16 @@ window.createBlessedRecordingCloseWatcher = (t, events, name) => {
};
window.sendEscKey = () => {
// *not* \uu001B; see https://w3c.github.io/webdriver/#keyboard-actions
const ESC = '\uE00C';
return test_driver.send_keys(document.getElementById("d"), ESC);
// Esc is \uE00C, *not* \uu001B; see https://w3c.github.io/webdriver/#keyboard-actions.
//
// It's important to target document.body, and not any element that might stop receiving events
// if a popover or dialog is making that element inert.
return test_driver.send_keys(document.body, '\uE00C');
};
// For now, we always use the Esc keypress as our close signal. In
// For now, we always use the Esc keypress as our close request. In
// theory, in the future, we could add a WebDriver command or similar
// for the close signal, which would allow different tests on platforms
// with different close signals. In that case, we'd update this
// for the close request, which would allow different tests on platforms
// with different close requests. In that case, we'd update this
// function, but not update the sendEscKey function above.
window.sendCloseSignal = window.sendEscKey;
window.sendCloseRequest = window.sendEscKey;

View file

@ -6,7 +6,7 @@
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<div id="d" style="height: 100px; width: 100px;"></div>
<body>
<script>
// This test needs to be separate from user-activation.html since, unlike those,
@ -23,10 +23,10 @@ promise_test(async t => {
createRecordingCloseWatcher(t, events, "activationWatcher2");
});
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["activationWatcher2 close", "activationWatcher1 close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["activationWatcher2 close", "activationWatcher1 close", "freeWatcher close"]);
}, "Multiple CloseWatchers created from a single user activation close together, but original free CloseWatcher closes separately");
</script>

View file

@ -6,7 +6,7 @@
<script src="/resources/testdriver-actions.js"></script>
<script src="resources/helpers.js"></script>
<div id="d" style="height: 100px; width: 100px;"></div>
<body>
<script>
promise_test(async t => {
const events = [];
@ -41,20 +41,20 @@ promise_test(async t => {
const events = [];
const freeWatcher = createRecordingCloseWatcher(t, events, "freeWatcher");
await test_driver.bless("grant user activation", () => sendCloseSignal());
await test_driver.bless("grant user activation", () => sendCloseRequest());
assert_array_equals(events, ["freeWatcher cancel", "freeWatcher close"]);
}, "CloseWatchers created without user activation, but closed via a close signal after user activation, fires cancel");
}, "CloseWatchers created without user activation, but closed via a close request after user activation, fires cancel");
promise_test(async t => {
const events = [];
const freeWatcher = createRecordingCloseWatcher(t, events, "freeWatcher");
freeWatcher.addEventListener("cancel", e => e.preventDefault());
await test_driver.bless("grant user activation", () => sendCloseSignal());
await test_driver.bless("grant user activation", () => sendCloseRequest());
assert_array_equals(events, ["freeWatcher cancel"]);
}, "CloseWatchers created without user activation, but closed via a close signal after user activation, fires cancel, which can be preventDefault()ed");
}, "CloseWatchers created without user activation, but closed via a close request after user activation, fires cancel, which can be preventDefault()ed");
promise_test(async t => {
const events = [];
@ -62,7 +62,7 @@ promise_test(async t => {
createRecordingCloseWatcher(t, events, "watcher1");
createRecordingCloseWatcher(t, events, "watcher2");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["watcher2 close", "watcher1 close", "freeWatcher close"]);
}, "Multiple CloseWatchers created without user activation close together (with no cancel)");
@ -71,10 +71,10 @@ promise_test(async t => {
createRecordingCloseWatcher(t, events, "freeWatcher");
await createBlessedRecordingCloseWatcher(t, events, "activationWatcher");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["activationWatcher close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["activationWatcher close", "freeWatcher close"]);
}, "Creating a CloseWatcher from user activation keeps it separate from the free CloseWatcher, but they don't fire cancel");
@ -95,12 +95,12 @@ promise_test(async t => {
const freeWatcher = createRecordingCloseWatcher(t, events, "freeWatcher");
const activationWatcher = await createBlessedRecordingCloseWatcher(t, events, "activationWatcher");
await test_driver.bless("grant user activation", () => sendCloseSignal());
await test_driver.bless("grant user activation", () => sendCloseRequest());
assert_array_equals(events, ["activationWatcher cancel", "activationWatcher close"]);
await test_driver.bless("grant user activation", () => sendCloseSignal());
await test_driver.bless("grant user activation", () => sendCloseRequest());
assert_array_equals(events, ["activationWatcher cancel", "activationWatcher close", "freeWatcher cancel", "freeWatcher close"]);
}, "Creating a CloseWatcher from user activation, and closing CloseWatchers with a close signal after user activation, fires cancel");
}, "Creating a CloseWatcher from user activation, and closing CloseWatchers with a close request after user activation, fires cancel");
promise_test(async t => {
const events = [];
@ -108,10 +108,10 @@ promise_test(async t => {
await createBlessedRecordingCloseWatcher(t, events, "activationWatcher1");
await createBlessedRecordingCloseWatcher(t, events, "activationWatcher2");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["activationWatcher2 close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["activationWatcher2 close", "activationWatcher1 close"]);
}, "Multiple CloseWatchers created with user activation close in reverse order");
@ -123,16 +123,16 @@ promise_test(async t => {
await createBlessedRecordingCloseWatcher(t, events, "activationWatcher3");
createRecordingCloseWatcher(t, events, "watcher4");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["watcher4 close", "activationWatcher3 close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["watcher4 close", "activationWatcher3 close", "activationWatcher2 close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["watcher4 close", "activationWatcher3 close", "activationWatcher2 close", "activationWatcher1 close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["watcher4 close", "activationWatcher3 close", "activationWatcher2 close", "activationWatcher1 close", "freeWatcher close"]);
}, "3 user activations let you have 3 + 1 = 4 ungrouped close watchers/0 cancel events");
@ -162,9 +162,9 @@ promise_test(async t => {
const freeWatcher2 = createRecordingCloseWatcher(t, events, "freeWatcher2");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher2 close"]);
}, "destroy()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close signal");
}, "destroy()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close request");
promise_test(async t => {
const events = [];
@ -175,32 +175,32 @@ promise_test(async t => {
const freeWatcher2 = createRecordingCloseWatcher(t, events, "freeWatcher2");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher1 close", "freeWatcher2 close"]);
}, "requestClose()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close signal");
}, "requestClose()ing the free CloseWatcher allows a new free one to be created without user activation, and it receives the close request");
promise_test(async t => {
const events = [];
const freeWatcher1 = createRecordingCloseWatcher(t, events, "freeWatcher1");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher1 close"]);
const freeWatcher2 = createRecordingCloseWatcher(t, events, "freeWatcher2");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher1 close", "freeWatcher2 close"]);
}, "closing the free CloseWatcher via a close signal allows a new free one to be created without user activation, and it receives a second close signal");
}, "closing the free CloseWatcher via a close request allows a new free one to be created without user activation, and it receives a second close request");
promise_test(async t => {
const events = [];
const activationWatcher = await createBlessedRecordingCloseWatcher(t, events, "activationWatcher");
const freeWatcher = createRecordingCloseWatcher(t, events, "freeWatcher");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher close", "activationWatcher close"]);
}, "The second watcher can be the free watcher, if the first is created with user activation");
@ -210,13 +210,13 @@ promise_test(async t => {
const activationWatcher2 = await createBlessedRecordingCloseWatcher(t, events, "activationWatcher2");
const freeWatcher = createRecordingCloseWatcher(t, events, "freeWatcher");
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher close", "activationWatcher2 close"]);
await sendCloseSignal();
await sendCloseRequest();
assert_array_equals(events, ["freeWatcher close", "activationWatcher2 close", "activationWatcher1 close"]);
}, "The third watcher can be the free watcher, if the first two are created with user activation");
</script>

View file

@ -1,2 +1,2 @@
This directory contains (tentative) tests for the
[Compute Pressure](https://wicg.github.io/compute-pressure/) specification.
[Compute Pressure](https://w3c.github.io/compute-pressure/) specification.

View file

@ -39,7 +39,7 @@ pressure_test((t, mockPressureService) => {
mockPressureService.setPressureUpdate('cpu', 'critical');
mockPressureService.startPlatformCollector(/*sampleRate=*/ 5.0);
return promise_rejects_dom(t, 'NotSupportedError', promise);
return promise_rejects_dom(t, 'AbortError', promise);
}, 'Removing observer before observe() resolves works');
pressure_test(async (t, mockPressureService) => {

View file

@ -14,7 +14,7 @@ pressure_test(async (t, mockPressureService) => {
const promise = observer1.observe('cpu');
observer1.disconnect();
observer1.disconnect();
await promise_rejects_dom(t, 'NotSupportedError', promise);
await promise_rejects_dom(t, 'AbortError', promise);
const observer2_changes = [];
await new Promise((resolve, reject) => {

View file

@ -13,7 +13,7 @@ pressure_test(async (t, mockPressureService) => {
// Ensure that observer1's schema gets registered before observer2 starts.
const promise = observer1.observe('cpu');
observer1.disconnect();
await promise_rejects_dom(t, 'NotSupportedError', promise);
await promise_rejects_dom(t, 'AbortError', promise);
const observer2_changes = [];
await new Promise((resolve, reject) => {
@ -53,7 +53,7 @@ pressure_test(async (t, mockPressureService) => {
const promise = observer1.observe('cpu');
observer2.observe('cpu');
observer1.disconnect();
await promise_rejects_dom(t, 'NotSupportedError', promise);
await promise_rejects_dom(t, 'AbortError', promise);
mockPressureService.setPressureUpdate('cpu', 'critical');
mockPressureService.startPlatformCollector(/*sampleRate=*/ 5.0);
});

View file

@ -2,7 +2,7 @@
// META: script=/resources/idlharness.js
// META: global=window,dedicatedworker,sharedworker
// https://wicg.github.io/compute-pressure/
// https://w3c.github.io/compute-pressure/
'use strict';

View file

@ -1,7 +1,7 @@
<!DOCTYPE html>
<title>Test that compute-pressure is advertised in the feature list</title>
<link rel="help" href="https://w3c.github.io/webappsec-permissions-policy/#dom-permissions-policy-features">
<link rel="help" href="https://wicg.github.io/compute-pressure/#policy-control">
<link rel="help" href="https://w3c.github.io/compute-pressure/#policy-control">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>

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