diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini index 3605e8f3fc9..76b44d9e9cf 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -4,7 +4,7 @@ expected: TIMEOUT [Opening a blob URL in a new window immediately before revoking it works.] - expected: TIMEOUT + expected: FAIL [Fetching a blob URL immediately before revoking it works in an iframe.] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini index 6425f4beda1..cb2edcb5dcd 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini @@ -5,9 +5,6 @@ [[data-expected-height\] 7] expected: FAIL - [[data-expected-height\] 1] - expected: FAIL - - [[data-expected-height\] 2] + [[data-expected-height\] 4] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-background-properties-border-radius.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-background-properties-border-radius.html.ini new file mode 100644 index 00000000000..d7080b90fcf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-background-properties-border-radius.html.ini @@ -0,0 +1,2 @@ +[image-orientation-background-properties-border-radius.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/change-scale-wide-range.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/change-scale-wide-range.html.ini new file mode 100644 index 00000000000..48a4ed0c771 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/change-scale-wide-range.html.ini @@ -0,0 +1,2 @@ +[change-scale-wide-range.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini new file mode 100644 index 00000000000..fa416a1a5eb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-float-in-relative.html] + [elementFromPoint-float-in-relative] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini index c131078eace..23c61ede1a1 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini @@ -17,3 +17,6 @@ [test the top of layer] expected: FAIL + [test some point of the element: top left corner] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/dom/abort/addEventListenerAbortController.tentative.html.ini b/tests/wpt/metadata-layout-2020/dom/abort/addEventListenerAbortController.tentative.html.ini new file mode 100644 index 00000000000..60f56e372f7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/dom/abort/addEventListenerAbortController.tentative.html.ini @@ -0,0 +1,4 @@ +[addEventListenerAbortController.tentative.html] + [Tests support for EventController to cancel event listeners in addEventListener.] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index df19a73ebe2..999dcf4246b 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -324,9 +324,15 @@ [ +
- + +

The red image to the right should shine through the green selection.

+
 
+ diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-001.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-001.html index d2ed6cfb234..760635c40e8 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-001.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-001.html @@ -7,5 +7,5 @@

Test passes if there is a filled green square and no red.

-
+
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-002.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-002.html index 28470dd8756..300e56d92cd 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-002.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-002.html @@ -7,6 +7,6 @@

Test passes if there is a filled green square and no red.

-
+
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-003.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-003.html index ad0c3bf176b..5fb83a105ce 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-003.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-003.html @@ -7,5 +7,5 @@

Test passes if there is a filled green square and no red.

-
+
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-004.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-004.html index 58db88c3bc1..a90837bad7b 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-004.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-004.html @@ -7,6 +7,6 @@

Test passes if there is a filled green square and no red.

-
+
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-005.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-005.html index 2892028f940..d018184faaa 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-005.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/zero-or-infinity-005.html @@ -8,5 +8,5 @@

Test passes if there is a filled green square and no red.

-
+
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-size-fallback-replaced.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-size-fallback-replaced.html new file mode 100644 index 00000000000..aaac6482410 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-size-fallback-replaced.html @@ -0,0 +1,45 @@ + + + + + CSS Sizing Test: Testing intrinsic size fallback 300x150 for some replaced elements. + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-transforms/change-scale-wide-range-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/change-scale-wide-range-ref.html new file mode 100644 index 00000000000..264c6b6f25a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/change-scale-wide-range-ref.html @@ -0,0 +1,3 @@ + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-transforms/change-scale-wide-range.html b/tests/wpt/web-platform-tests/css/css-transforms/change-scale-wide-range.html new file mode 100644 index 00000000000..ec41946cfdd --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/change-scale-wide-range.html @@ -0,0 +1,29 @@ + + +Change scale to very big then back + + + + +
+ + diff --git a/tests/wpt/web-platform-tests/css/css-transforms/huge-length-tiny-scale-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/huge-length-tiny-scale-ref.html new file mode 100644 index 00000000000..f3f8abc50e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/huge-length-tiny-scale-ref.html @@ -0,0 +1,2 @@ + +
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/huge-length-tiny-scale.html b/tests/wpt/web-platform-tests/css/css-transforms/huge-length-tiny-scale.html new file mode 100644 index 00000000000..53f4f7d4478 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/huge-length-tiny-scale.html @@ -0,0 +1,20 @@ + +Huge lengths with tiny scale + + + + +
diff --git a/tests/wpt/web-platform-tests/css/css-ui/resize-child-will-change-transform-ref.html b/tests/wpt/web-platform-tests/css/css-ui/resize-child-will-change-transform-ref.html new file mode 100644 index 00000000000..36f39fc19bc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/resize-child-will-change-transform-ref.html @@ -0,0 +1,3 @@ + +
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/resize-child-will-change-transform.html b/tests/wpt/web-platform-tests/css/css-ui/resize-child-will-change-transform.html new file mode 100644 index 00000000000..b8adf53b04d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/resize-child-will-change-transform.html @@ -0,0 +1,8 @@ + +CSS resize: child with will-change: transform + + + +
+
+
diff --git a/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-float-in-relative.html b/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-float-in-relative.html new file mode 100644 index 00000000000..275fe29fb7c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/elementFromPoint-float-in-relative.html @@ -0,0 +1,23 @@ + + + + + + + +
+ + + link + + +
+ + diff --git a/tests/wpt/web-platform-tests/docs/running-tests/from-web.md b/tests/wpt/web-platform-tests/docs/running-tests/from-web.md index fae4c961743..464febbfc04 100644 --- a/tests/wpt/web-platform-tests/docs/running-tests/from-web.md +++ b/tests/wpt/web-platform-tests/docs/running-tests/from-web.md @@ -4,6 +4,12 @@ Tests that have been merged on GitHub are mirrored at [http://w3c-test.org/][w3c [On properly-configured systems](from-local-system), local files may also be served from the URL [http://web-platform.test](http://web-platform.test). +Not all tests can be executed in-browser, as some tests rely on automation +(e.g. via [testdriver.js](../writing-tests/testdriver)) that is not available +when running a browser in a normal user session. + +## Web test runner + For running multiple tests inside a browser, there is a test runner located at `/tools/runner/index.html`. diff --git a/tests/wpt/web-platform-tests/dom/abort/addEventListenerAbortController.tentative.html b/tests/wpt/web-platform-tests/dom/abort/addEventListenerAbortController.tentative.html new file mode 100644 index 00000000000..36373507c19 --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/abort/addEventListenerAbortController.tentative.html @@ -0,0 +1,24 @@ + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/editing/other/select-all-and-delete-in-html-element-having-contenteditable.html b/tests/wpt/web-platform-tests/editing/other/select-all-and-delete-in-html-element-having-contenteditable.html index e8eb5e5e1ab..ab324c6d034 100644 --- a/tests/wpt/web-platform-tests/editing/other/select-all-and-delete-in-html-element-having-contenteditable.html +++ b/tests/wpt/web-platform-tests/editing/other/select-all-and-delete-in-html-element-having-contenteditable.html @@ -45,7 +45,7 @@ async function selectAllWithKey(elementToSelectAll) { } catch (ex) { throw ex; } - throw "Neither Control-A nor Meta-A does not select all contents"; + throw "Neither Control-A nor Meta-A does select all contents"; } function deleteWithBackspaceKey() { diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/common.js b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/common.js index c6bea817512..4266e394958 100644 --- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/common.js +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/common.js @@ -71,7 +71,7 @@ setup(() => { if (window.reporting_observer_callback) { reports.forEach(window.reporting_observer_callback); } - }, {types: ["feature-policy-violation"]}); + }, {types: ["permissions-policy-violation"]}); window.reporting_observer_instance.observe(); window.reporting_observer_callback = null; }); diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-trust-token-redemption.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-trust-token-redemption.html index 6ae6f6fa4d4..fa5f38b62f7 100644 --- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-trust-token-redemption.html +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-trust-token-redemption.html @@ -3,14 +3,14 @@ window.onload = function() { // When the trust-token-redemption feature policy is enabled, redemption - // and signing ("send-srr") should both be available; when it's disabled, + // and signing ("send-redemption-record") should both be available; when it's disabled, // they should both be unavailable. Send the number of available operations // upstream in order to enforce this in assertions. let num_enabled = 4; try { new Request("https://issuer.example/", { trustToken: { - type: "srr-token-redemption" + type: "token-redemption" } }); } catch (e) { @@ -19,7 +19,7 @@ try { new Request("https://destination.example/", { trustToken: { - type: "send-srr", + type: "send-redemption-record", issuers: ["https://issuer.example/"] } }); @@ -31,7 +31,7 @@ const xhr = new XMLHttpRequest(); xhr.open("GET", "https://issuer.example/"); xhr.setTrustToken({ - type: "srr-token-redemption" + type: "token-redemption" }); } catch (e) { num_enabled--; @@ -41,7 +41,7 @@ const xhr = new XMLHttpRequest(); xhr.open("GET", "https://destination.example/"); xhr.setTrustToken({ - type: "send-srr", + type: "send-redemption-record", issuers: ["https://issuer.example/"] }); } catch (e) { diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/trust-token-redemption-default-feature-policy.tentative.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/trust-token-redemption-default-feature-policy.tentative.https.sub.html index d88048953ea..134ccc084d6 100644 --- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/trust-token-redemption-default-feature-policy.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/trust-token-redemption-default-feature-policy.tentative.https.sub.html @@ -18,12 +18,12 @@ // and XHR interfaces. new Request("https://issuer.example/", { trustToken: { - type: "srr-token-redemption" + type: "token-redemption" } }); new Request("https://destination.example/", { trustToken: { - type: "send-srr", // signing + type: "send-redemption-record", // signing issuers: ["https://issuer.example/"] } }); @@ -31,13 +31,13 @@ const redemption_xhr = new XMLHttpRequest(); redemption_xhr.open("GET", "https://issuer.example/"); redemption_xhr.setTrustToken({ - type: "srr-token-redemption" + type: "token-redemption" }); const signing_xhr = new XMLHttpRequest(); signing_xhr.open("GET", "https://destination.example/"); signing_xhr.setTrustToken({ - type: "send-srr", // signing + type: "send-redemption-record", // signing issuers: ["https://issuer.example/"] }); } catch (e) { diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-all.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-all.https.sub.html index aede7e7876b..63cd9853dce 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-all.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-all.https.sub.html @@ -30,7 +30,7 @@ test_frame_policy('fullscreen', same_origin_src, undefined, true); }, 'Test frame policy on same origin iframe inherit from header policy.'); test(function() { - test_frame_policy('fullscreen', cross_origin_src, undefined, true); + test_frame_policy('fullscreen', cross_origin_src, undefined, false); }, 'Test frame policy on cross origin iframe inherit from header policy.'); test(function() { test_frame_policy('fullscreen', undefined, true, true); @@ -42,9 +42,43 @@ test_frame_policy('fullscreen', cross_origin_src, true, true); }, 'Test frame policy on srcdoc+ cross origin iframe inherit from header policy.'); test(function() { - test_frame_policy('fullscreen', data_src, undefined, true); + test_frame_policy('fullscreen', data_src, undefined, false); }, 'Test frame policy on data: URL cross origin iframe inherit from header policy.'); + // Test that frame policy can be used for sandboxed frames + test(function() { + test_frame_policy( + 'fullscreen', same_origin_src, undefined, false, undefined, false, true); + }, 'Test frame policy on sandboxed iframe with no allow attribute.'); + test(function() { + test_frame_policy( + 'fullscreen', same_origin_src, undefined, true, 'fullscreen', false, true); + }, 'Test frame policy on sandboxed iframe with allow="fullscreen".'); + test(function() { + test_frame_policy( + 'fullscreen', same_origin_src, undefined, true, 'fullscreen \'src\'', false, true); + }, 'Test frame policy on sandboxed iframe with allow="fullscreen \'src\'".'); + test(function() { + test_frame_policy( + 'fullscreen', cross_origin_src, undefined, false, 'fullscreen ' + cross_origin, false, true); + }, 'Test frame policy on sandboxed iframe with allow="fullscreen ' + cross_origin + '".'); + test(function() { + test_frame_policy( + 'fullscreen', undefined, true, true, 'fullscreen', false, true); + }, 'Test frame policy on srcdoc sandboxed iframe with allow="fullscreen".'); + test(function() { + test_frame_policy( + 'fullscreen', same_origin_src, true, true, 'fullscreen', false, true); + }, 'Test frame policy on srcdoc + same origin sandboxed iframe with allow="fullscreen".'); + test(function() { + test_frame_policy( + 'fullscreen', cross_origin_src, true, true, 'fullscreen', false, true); + }, 'Test frame policy on srcdoc + cross origin sandboxed iframe with allow="fullscreen".'); + test(function() { + test_frame_policy( + 'fullscreen', data_src, undefined, false, 'fullscreen ' + cross_origin, false, true); + }, 'Test frame policy on sandboxed srcdoc iframe with allow="fullscreen ' + cross_origin + '".'); + // Test frame policy with allow attribute set to be one of the policies above. for (var i = 0; i < policies.length; i++) { test(function() { diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-self.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-self.https.sub.html index b2b668256ff..9cf56ec7986 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-self.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-self.https.sub.html @@ -16,10 +16,10 @@ var cross_origin_src = cross_origin + same_origin_src; var data_src = 'data:text/html,

data: URL

'; var policies = [ - {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, dataOriginTestExpect: false}, + {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: false, dataOriginTestExpect: false}, {allow: "'self'", sameOriginTestExpect: true, crossOriginTestExpect: false, dataOriginTestExpect: false}, {allow: "'none'", sameOriginTestExpect: false, crossOriginTestExpect: false, dataOriginTestExpect: false}, - {allow: "'self' " + cross_origin + " https://www.example.com", sameOriginTestExpect: true, crossOriginTestExpect: true, dataOriginTestExpect: false}]; + {allow: "'self' " + cross_origin + " https://www.example.com", sameOriginTestExpect: true, crossOriginTestExpect: false, dataOriginTestExpect: false}]; var pipe_front = '?pipe=sub|header(Feature-Policy,fullscreen '; var pipe_end = ';)'; var header_policies = ["*", "'self'", "'none'"]; @@ -45,18 +45,20 @@ test_frame_policy('fullscreen', data_src, undefined, false); }, 'Test frame policy on data: URL cross origin iframe inherit from header policy.'); - // Test that frame policy can be used for sandboxed frames + // Test that frame policy can be used for sandboxed frames. None of these + // frames should be allowed to use fullscreen, as the header prohibits any + // cross-origin use.` test(function() { test_frame_policy( 'fullscreen', same_origin_src, undefined, false, undefined, false, true); }, 'Test frame policy on sandboxed iframe with no allow attribute.'); test(function() { test_frame_policy( - 'fullscreen', same_origin_src, undefined, true, 'fullscreen', false, true); + 'fullscreen', same_origin_src, undefined, false, 'fullscreen', false, true); }, 'Test frame policy on sandboxed iframe with allow="fullscreen".'); test(function() { test_frame_policy( - 'fullscreen', same_origin_src, undefined, true, 'fullscreen \'src\'', false, true); + 'fullscreen', same_origin_src, undefined, false, 'fullscreen \'src\'', false, true); }, 'Test frame policy on sandboxed iframe with allow="fullscreen \'src\'".'); test(function() { test_frame_policy( @@ -64,15 +66,15 @@ }, 'Test frame policy on sandboxed iframe with allow="fullscreen ' + cross_origin + '".'); test(function() { test_frame_policy( - 'fullscreen', undefined, true, true, 'fullscreen', false, true); + 'fullscreen', undefined, true, false, 'fullscreen', false, true); }, 'Test frame policy on srcdoc sandboxed iframe with allow="fullscreen".'); test(function() { test_frame_policy( - 'fullscreen', same_origin_src, true, true, 'fullscreen', false, true); + 'fullscreen', same_origin_src, true, false, 'fullscreen', false, true); }, 'Test frame policy on srcdoc + same origin sandboxed iframe with allow="fullscreen".'); test(function() { test_frame_policy( - 'fullscreen', cross_origin_src, true, true, 'fullscreen', false, true); + 'fullscreen', cross_origin_src, true, false, 'fullscreen', false, true); }, 'Test frame policy on srcdoc + cross origin sandboxed iframe with allow="fullscreen".'); test(function() { test_frame_policy( diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html index 17c9cc6b8db..744c9502480 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html @@ -19,7 +19,7 @@ var data_src = 'data:text/html,

data: URL

'; // Test feature policy with same_origin_src and cross_origin_src. var policies = [ - {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: true, dataOriginTestExpect: false}, + {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: false, dataOriginTestExpect: false}, {allow: "'self'", sameOriginTestExpect: true, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false}, {allow: "'none'", sameOriginTestExpect: false, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false}, {allow: "'self' " + cross_origin + " https://www.example.com", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: false, dataOriginTestExpect: false}]; diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html index d519743a438..5dfd8430d2f 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html @@ -19,7 +19,7 @@ var data_src = 'data:text/html,

data: URL

'; // Test feature policy with same_origin_src and cross_origin_src. var policies = [ - {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: true, dataOriginTestExpect: false}, + {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: false, dataOriginTestExpect: false}, {allow: "'self'", sameOriginTestExpect: true, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false}, {allow: "'none'", sameOriginTestExpect: false, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false}, {allow: "'self' " + cross_origin + " https://www.example.com", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: false, dataOriginTestExpect: false}]; @@ -33,7 +33,7 @@ test_frame_policy('fullscreen', same_origin_src, undefined, true); }, 'Test frame policy on same origin iframe inherit from header policy.'); test(function() { - test_frame_policy('fullscreen', cross_origin_src, undefined, true); + test_frame_policy('fullscreen', cross_origin_src, undefined, false); }, 'Test frame policy on cross origin iframe inherit from header policy.'); test(function() { test_frame_policy('fullscreen', cross_origin_src1, undefined, false); diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-all.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-all.https.sub.html index 6bf7ca65326..bfbdd6a20c9 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-all.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-all.https.sub.html @@ -19,12 +19,15 @@ ['*']); }, header_policy + ' -- test allowlist is ['*']'); - // Test that fullscreen is allowed on all subframes. + // Test that fullscreen is allowed on same-origin subframes. test_allowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on same-origin subframe', 'fullscreen', same_origin_src); - test_allowed_feature_for_subframe( + + // Test that fullscreen is not allowed on cross-origin subframes without an + // allow attribute. + test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on cross-origin subframe', 'fullscreen', cross_origin_src); diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-some.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-some.https.sub.html index e07c51fefd9..d89ccef5c90 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-some.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-allowed-for-some.https.sub.html @@ -20,12 +20,13 @@ [same_origin, cross_origin, 'https://www.example.com'].sort()); }, header_policy + ' -- test allowlist is [same_origin, cross_origin, https://www.example.com]'); - // Test that fullscreen is allowed on same_origin, some cross_origin subframes. + // Test that fullscreen is allowed on same-origin, but disallowed on cross- + // origin subframes, without an allow attribute. test_allowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on same-origin subframe', 'fullscreen', same_origin_src); - test_allowed_feature_for_subframe( + test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on cross-origin ' + cross_origin_src + ' subframe', 'fullscreen', cross_origin_src); diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-declined.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-declined.https.sub.html index d00d592d9ac..ebe09ec9873 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-declined.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-header-policy-declined.https.sub.html @@ -20,12 +20,12 @@ [cross_origin, 'https://www.example.com'].sort()); }, header_policy + ' -- test allowlist is [cross_origin, https://www.example.com]'); - // Test that fullscreen is disallowed on same_origin, allowed on some cross_origin subframes. + // Test that fullscreen is disallowed everywhere. test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on same-origin subframe', 'fullscreen', same_origin_src); - test_allowed_feature_for_subframe( + test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on cross-origin ' + cross_origin_src + ' subframe', 'fullscreen', cross_origin_src); @@ -35,7 +35,8 @@ 'fullscreen', cross_origin_src1); - // dynamically update sub frame's container policy + // dynamically update sub frame's container policy; fullscreen will still not + // be allowed. var disallow = "fullscreen 'none';" test_disallowed_feature_for_subframe( header_policy + ', iframe.allow = ' + disallow + ' -- test fullscreen is disallowed on same-origin subframe', @@ -56,7 +57,7 @@ same_origin_src, allow); - test_allowed_feature_for_subframe( + test_disallowed_feature_for_subframe( header_policy + 'iframe.allow = ' + allow + ' -- test fullscreen is allowed on specific cross-origin subframe', 'fullscreen', cross_origin_src, diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-all.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-all.https.sub.html index fb626605190..184cd013423 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-all.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-all.https.sub.html @@ -29,7 +29,7 @@ ------------------------------------------ */ test_subframe_header_policy('fullscreen', '*', same_origin_src, {local_all: true, local_self: true, local_none: false, - remote_all: true, remote_self: true, remote_none: false}, + remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with local iframe on policy "fullscreen *"'); test_subframe_header_policy('fullscreen', '\'self\'', same_origin_src, {local_all: true, local_self: true, local_none: false, @@ -50,11 +50,11 @@ | ------------------------------------- | ------------------------------------------- */ test_subframe_header_policy('fullscreen', '*', cross_origin_src, - {local_all: true, local_self: true, local_none: false, - remote_all: true, remote_self: true, remote_none: false}, + {local_all: false, local_self: false, local_none: false, + remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with remote iframe on policy "fullscreen *"'); test_subframe_header_policy('fullscreen', '\'self\'', cross_origin_src, - {local_all: true, local_self: true, local_none: false, + {local_all: false, local_self: false, local_none: false, remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with remote iframe on policy "fullscreen \'self\'"'); test_subframe_header_policy('fullscreen', '\'none\'', cross_origin_src, diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-self.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-self.https.sub.html index 62ddd967495..fe857c916ce 100644 --- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-self.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-allowed-for-self.https.sub.html @@ -27,7 +27,7 @@ ------------------------------------------ */ test_subframe_header_policy('fullscreen', '*', same_origin_src, {local_all: true, local_self: true, local_none: false, - remote_all: true, remote_self: true, remote_none: false}, + remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with local iframe on policy "fullscreen *"'); test_subframe_header_policy('fullscreen', '\'self\'', same_origin_src, {local_all: true, local_self: true, local_none: false, diff --git a/tests/wpt/web-platform-tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html index ccb6740d6a2..b69fa62c053 100644 --- a/tests/wpt/web-platform-tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/payment-allowed-by-feature-policy.https.sub.html @@ -29,8 +29,13 @@ async_test(t => { test_feature_availability('PaymentRequest()', t, cross_origin_src, - expect_feature_available_default); - }, header + ' allows cross-origin iframes.'); + expect_feature_unavailable_default); + }, header + ' disallows cross-origin iframes.'); + + async_test(t => { + test_feature_availability('PaymentRequest()', t, cross_origin_src, + expect_feature_available_default, 'payment'); + }, header + ' allow="payment" allows cross-origin iframes.'); diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/camera-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/camera-report-only.https.html deleted file mode 100644 index c22e1a51740..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/camera-report-only.https.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/camera-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/camera-report-only.https.html.headers deleted file mode 100644 index d7e19c072f7..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/camera-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: camera 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/encrypted-media-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/encrypted-media-report-only.https.html deleted file mode 100644 index 9ab4b0fe856..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/encrypted-media-report-only.https.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/encrypted-media-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/encrypted-media-report-only.https.html.headers deleted file mode 100644 index 37e625f31d1..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/encrypted-media-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: encrypted-media 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/fullscreen-report-only.html b/tests/wpt/web-platform-tests/feature-policy/reporting/fullscreen-report-only.html deleted file mode 100644 index 48fe9e3a69a..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/fullscreen-report-only.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - -
- - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/fullscreen-report-only.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/fullscreen-report-only.html.headers deleted file mode 100644 index 1137afb1a68..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/fullscreen-report-only.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: fullscreen 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-report-only.https.html deleted file mode 100644 index 6c8c2efbf6c..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-report-only.https.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-report-only.https.html.headers deleted file mode 100644 index 9d49d997f62..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/generic-sensor-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: ambient-light-sensor 'none'; accelerometer 'none'; gyroscope 'none'; magnetometer 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/geolocation-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/geolocation-report-only.https.html deleted file mode 100644 index 6c62b622cda..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/geolocation-report-only.https.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/geolocation-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/geolocation-report-only.https.html.headers deleted file mode 100644 index ba0662f577b..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/geolocation-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: geolocation 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/microphone-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/microphone-report-only.https.html deleted file mode 100644 index 539994cd70a..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/microphone-report-only.https.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/microphone-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/microphone-report-only.https.html.headers deleted file mode 100644 index 5342e71dec8..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/microphone-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: microphone 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/midi-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/midi-report-only.https.html deleted file mode 100644 index bf0234d3f65..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/midi-report-only.https.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/midi-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/midi-report-only.https.html.headers deleted file mode 100644 index d307ccc9b09..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/midi-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: midi 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/payment-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/payment-report-only.https.html deleted file mode 100644 index d2b8e5ee9cc..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/payment-report-only.https.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/payment-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/payment-report-only.https.html.headers deleted file mode 100644 index dc41987d022..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/payment-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: payment 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/picture-in-picture-report-only.html b/tests/wpt/web-platform-tests/feature-policy/reporting/picture-in-picture-report-only.html deleted file mode 100644 index 9e113a92429..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/picture-in-picture-report-only.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/picture-in-picture-report-only.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/picture-in-picture-report-only.html.headers deleted file mode 100644 index b3ec5aaccf0..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/picture-in-picture-report-only.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: picture-in-picture 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/screen-wake-lock-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/screen-wake-lock-report-only.https.html deleted file mode 100644 index 51aa4f90c5f..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/screen-wake-lock-report-only.https.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/screen-wake-lock-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/screen-wake-lock-report-only.https.html.headers deleted file mode 100644 index 3d729b50563..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/screen-wake-lock-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: screen-wake-lock 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/serial-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/serial-report-only.https.html deleted file mode 100644 index 11913a2ef77..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/serial-report-only.https.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - -
- - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/serial-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/serial-report-only.https.html.headers deleted file mode 100644 index d408ccf6b15..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/serial-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: serial 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-report-only.html b/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-report-only.html deleted file mode 100644 index 76d26ed5027..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-report-only.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-report-only.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-report-only.html.headers deleted file mode 100644 index 819dc7addcf..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/sync-xhr-report-only.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: sync-xhr 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/usb-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/usb-report-only.https.html deleted file mode 100644 index 7933e9eb5f6..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/usb-report-only.https.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
- - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/usb-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/usb-report-only.https.html.headers deleted file mode 100644 index 2705af70cee..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/usb-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: usb 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html deleted file mode 100644 index 872db228495..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html.headers deleted file mode 100644 index 45df4936e27..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy-Report-Only: xr-spatial-tracking 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js b/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js index 347cba1deea..864c434c663 100644 --- a/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js +++ b/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js @@ -449,6 +449,6 @@ function expect_reports(report_count, policy_name, description) { if (num_received_reports >= report_count) { t.done(); } - }), {types: ['feature-policy-violation'], buffered: true}).observe(); + }), {types: ['permissions-policy-violation'], buffered: true}).observe(); }, description); } diff --git a/tests/wpt/web-platform-tests/fetch/connection-pool/resources/network-partition-about-blank-checker.html b/tests/wpt/web-platform-tests/fetch/connection-pool/resources/network-partition-about-blank-checker.html new file mode 100644 index 00000000000..7a8b6132375 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/connection-pool/resources/network-partition-about-blank-checker.html @@ -0,0 +1,35 @@ + + + + + about:blank Network Partition Checker + + + + + + + diff --git a/tests/wpt/web-platform-tests/focus/support/activeelement-after-immediately-focusing-same-site-iframe-outer-contenwindow.html b/tests/wpt/web-platform-tests/focus/support/activeelement-after-immediately-focusing-same-site-iframe-outer-contenwindow.html deleted file mode 100644 index bafc26065c8..00000000000 --- a/tests/wpt/web-platform-tests/focus/support/activeelement-after-immediately-focusing-same-site-iframe-outer-contenwindow.html +++ /dev/null @@ -1,29 +0,0 @@ - - -activeElement when focusing same-site iframe's contentWindow - - - diff --git a/tests/wpt/web-platform-tests/gamepad/feature-policy-gamepad.html b/tests/wpt/web-platform-tests/gamepad/feature-policy-gamepad.html index 8ee0c719216..2747a04b34f 100644 --- a/tests/wpt/web-platform-tests/gamepad/feature-policy-gamepad.html +++ b/tests/wpt/web-platform-tests/gamepad/feature-policy-gamepad.html @@ -1,9 +1,8 @@ \ No newline at end of file + try { + const test = navigator.getGamepads(); + if (test) window.parent.postMessage({ enabled: true }, "*"); + } catch (err) { + window.parent.postMessage({ enabled: false }, "*"); + } + diff --git a/tests/wpt/web-platform-tests/gamepad/gamepad-default-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/gamepad/gamepad-default-feature-policy.https.sub.html index fce0eaffee3..347f40b2a4e 100644 --- a/tests/wpt/web-platform-tests/gamepad/gamepad-default-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/gamepad/gamepad-default-feature-policy.https.sub.html @@ -5,30 +5,40 @@ \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/gamepad/gamepad-secure-context.html b/tests/wpt/web-platform-tests/gamepad/gamepad-secure-context.html index 97b4ea2967e..034595ebdb6 100644 --- a/tests/wpt/web-platform-tests/gamepad/gamepad-secure-context.html +++ b/tests/wpt/web-platform-tests/gamepad/gamepad-secure-context.html @@ -4,17 +4,8 @@ diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.html index 8b01fbbc8c4..1f1a23eed93 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.html @@ -26,6 +26,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.worker.js index c84308c7f07..b3705520b16 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.ltr.worker.js @@ -22,6 +22,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.html index 0cf7b5756ae..f18e4974ba1 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.html @@ -26,6 +26,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'rtl'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.worker.js index 6845dd474d6..a0561c1f806 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.end.rtl.worker.js @@ -22,6 +22,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'rtl'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.html index 301b6dc4522..08c222b9a59 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.html @@ -26,6 +26,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.worker.js index 4e7db42542b..1cefdd0cfa6 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.ltr.worker.js @@ -22,6 +22,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.html index 27723f23efc..3d9670abc30 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.html @@ -26,6 +26,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'rtl'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.worker.js index 545c1d9c27d..2cc818fc928 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/text/2d.text.draw.align.start.rtl.worker.js @@ -22,6 +22,7 @@ f.load(); fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'rtl'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/text.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/text.yaml index 30a0ad1a6fe..b218d2d8b8b 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/text.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/text.yaml @@ -769,7 +769,6 @@ - 2d.text.align.left fonts: - CanvasTest - canvas: width="100" height="50" dir="ltr" code: | var f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts); @@ -777,6 +776,7 @@ fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; @@ -798,7 +798,6 @@ - 2d.text.draw.direction fonts: - CanvasTest - canvas: width="100" height="50" dir="rtl" code: | var f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts); @@ -806,6 +805,7 @@ fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'rtl'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; @@ -826,7 +826,6 @@ - 2d.text.align.right fonts: - CanvasTest - canvas: width="100" height="50" dir="ltr" code: | var f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts); @@ -834,6 +833,7 @@ fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'ltr'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; @@ -855,7 +855,6 @@ - 2d.text.draw.direction fonts: - CanvasTest - canvas: width="100" height="50" dir="rtl" code: | var f = new FontFace("CanvasTest", "url('/fonts/CanvasTest.ttf')"); let fonts = (self.fonts ? self.fonts : document.fonts); @@ -863,6 +862,7 @@ fonts.add(f); fonts.ready.then(function() { ctx.font = '50px CanvasTest'; + ctx.direction = 'rtl'; ctx.fillStyle = '#f00'; ctx.fillRect(0, 0, 100, 50); ctx.fillStyle = '#0f0'; diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https.html index 2fc545d5acb..31c0a913338 100644 --- a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https.html +++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/cross-origin-isolated-permission.https.html @@ -158,7 +158,7 @@ generateFrameTest(ORIGIN, 'self', true); // We need the backslash to escape the close parenthesis in a wpt pipe. generateFrameTest(ORIGIN, '(\\)', false); generateFrameTest(HTTPS_REMOTE_ORIGIN, undefined, false); -generateFrameTest(HTTPS_REMOTE_ORIGIN, '*', true); +generateFrameTest(HTTPS_REMOTE_ORIGIN, '*', false); generateFrameTest(HTTPS_REMOTE_ORIGIN, 'self', false); // We need the backslash to escape the close parenthesis in a wpt pipe. generateFrameTest(HTTPS_REMOTE_ORIGIN, '(\\)', false); diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog.html index f8e28ceb646..3588e036708 100644 --- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog.html +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog.html @@ -24,10 +24,9 @@ setup(() => { window.refWhite = refStyle.backgroundColor; window.refBlack = refStyle.color; window.refMediumBorder = refStyle.borderTopWidth; - const iframeHeight = 150; + window.iframeHeight = 150; const bodyTopMargin = 8; window.dialogSize = parseFloat(ref1em) * 2 + parseFloat(refMediumBorder) * 2; - window.centeredVerticalDistance = iframeHeight / 2 - dialogSize / 2; window.normalBottomDistance = iframeHeight - bodyTopMargin - dialogSize; }, {explicit_done: true}); @@ -37,15 +36,20 @@ onload = () => { const styleAttr = iframe.getAttribute('style'); const iframeWidth = parseInt(styleAttr.split(' ')[1]); const horizontalDistance = iframeWidth / 2 - dialogSize / 2; + const verticalDistance = iframeHeight / 2 - dialogSize / 2; test(() => { const style = win.getComputedStyle(win.dialogClosed); + assert_equals(style.position, 'absolute', 'position'); assert_equals(style.display, 'none', 'display'); + assert_equals(style.overflow, 'visible', 'overflow'); assert_equals(style.top, 'auto', 'top'); assert_equals(style.right, '0px', 'right'); assert_equals(style.bottom, 'auto', 'bottom'); assert_equals(style.left, '0px', 'left'); assert_equals(style.width, 'fit-content', 'width'); assert_equals(style.height, 'fit-content', 'height'); + assert_equals(style.maxWidth, 'none', 'max-width'); + assert_equals(style.maxHeight, 'none', 'max-height'); assert_equals(style.marginTop, 'auto', 'marginTop'); assert_equals(style.marginRight, 'auto', 'marginRight'); assert_equals(style.marginBottom, 'auto', 'marginBottom'); @@ -55,13 +59,17 @@ onload = () => { test(() => { const style = win.getComputedStyle(win.dialogOpen); + assert_equals(style.position, 'absolute', 'position'); assert_equals(style.display, 'block', 'display'); + assert_equals(style.overflow, 'visible', 'overflow'); assert_equals(style.top, '8px', 'top'); assert_equals(style.right, '0px', 'right'); assert_equals(style.bottom, normalBottomDistance + 'px', 'bottom'); assert_equals(style.left, '0px', 'left'); assert_equals(style.width, '0px', 'width'); assert_equals(style.height, '0px', 'height'); + assert_equals(style.maxWidth, 'none', 'max-width'); + assert_equals(style.maxHeight, 'none', 'max-height'); assert_equals(style.marginTop, '0px', 'marginTop'); assert_equals(style.marginRight, horizontalDistance + 'px', 'marginRight'); assert_equals(style.marginBottom, '0px', 'marginBottom'); @@ -71,16 +79,20 @@ onload = () => { test(() => { const style = win.getComputedStyle(win.dialogModal); + assert_equals(style.position, 'fixed', 'position'); assert_equals(style.display, 'block', 'display'); - assert_equals(style.top, centeredVerticalDistance + 'px', 'top'); + assert_equals(style.overflow, 'auto', 'overflow'); + assert_equals(style.top, '0px', 'top'); assert_equals(style.right, '0px', 'right'); - assert_equals(style.bottom, centeredVerticalDistance + 'px', 'bottom'); + assert_equals(style.bottom, '0px', 'bottom'); assert_equals(style.left, '0px', 'left'); assert_equals(style.width, '0px', 'width'); assert_equals(style.height, '0px', 'height'); - assert_equals(style.marginTop, '0px', 'marginTop'); + assert_equals(style.maxWidth, 'calc(100% - 38px)', 'max-width'); + assert_equals(style.maxHeight, 'calc(100% - 38px)', 'max-height'); + assert_equals(style.marginTop, verticalDistance + 'px', 'marginTop'); assert_equals(style.marginRight, horizontalDistance + 'px', 'marginRight'); - assert_equals(style.marginBottom, '0px', 'marginBottom'); + assert_equals(style.marginBottom, verticalDistance + 'px', 'marginBottom'); assert_equals(style.marginLeft, horizontalDistance + 'px', 'marginLeft'); assertCommon(style); }, `Modal dialog in ${styleAttr} iframe`); @@ -89,7 +101,6 @@ onload = () => { }; function assertCommon(style) { - assert_equals(style.position, 'absolute', 'position'); assert_equals(style.borderTopStyle, 'solid', 'borderTopStyle'); assert_equals(style.borderRightStyle, 'solid', 'borderRightStyle'); assert_equals(style.borderBottomStyle, 'solid', 'borderBottomStyle'); diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/sticky-content-crash.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/sticky-content-crash.html new file mode 100644 index 00000000000..a6e8fa7a826 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/sticky-content-crash.html @@ -0,0 +1,22 @@ + + + +
+
+ + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-abssize.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-abssize.html new file mode 100644 index 00000000000..ba55da86865 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-abssize.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-percentage.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-percentage.html new file mode 100644 index 00000000000..ba55da86865 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-percentage.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-relsize.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-relsize.html new file mode 100644 index 00000000000..1bfb2b5404d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-cols-relsize.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-abssize.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-abssize.html new file mode 100644 index 00000000000..7cd86b94554 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-abssize.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-percentage.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-percentage.html new file mode 100644 index 00000000000..7cd86b94554 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-percentage.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-relsize.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-relsize.html new file mode 100644 index 00000000000..7fd29f6a9e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-relsize.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/reference/green-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/reference/green-ref.html new file mode 100644 index 00000000000..62208d72c91 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/reference/green-ref.html @@ -0,0 +1,5 @@ + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/resources/green.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/resources/green.html new file mode 100644 index 00000000000..62208d72c91 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/resources/green.html @@ -0,0 +1,5 @@ + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/resources/red.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/resources/red.html new file mode 100644 index 00000000000..b5e7f79617d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/resources/red.html @@ -0,0 +1,5 @@ + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html index 00665f66cec..e5453d73ee8 100644 --- a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html @@ -15,8 +15,8 @@ body { dialog { border: 0; padding: 0; - height: auto; - width: auto; + max-width: 100%; + max-height: 100%; } #absolute-div { @@ -41,12 +41,12 @@ dialog { "use strict"; function checkNotVerticallyCentered(dialog) { - var centeredTop = (window.innerHeight - dialog.offsetHeight) / 2; + var centeredTop = (document.documentElement.clientHeight - dialog.offsetHeight) / 2; assert_not_equals(dialog.getBoundingClientRect().top, centeredTop); } function checkVerticallyCentered(dialog) { - var centeredTop = (window.innerHeight - dialog.offsetHeight) / 2; + var centeredTop = (document.documentElement.clientHeight - dialog.offsetHeight) / 2; // Using approx equals because getBoundingClientRect() and centeredTop // are calculated by different parts of the engine. Due to the loss // of precision, the numbers might not equal exactly. @@ -74,22 +74,6 @@ test(function() { checkVerticallyCentered(dialog); }, "showModal() should center in the viewport"); -test(function() { - this.add_cleanup(reset); - - assert_equals(window.getComputedStyle(dialog).top, 'auto'); - assert_equals(window.getComputedStyle(dialog).bottom, 'auto'); - - dialog.style.height = '20px'; - dialog.showModal(); - - assert_not_equals(window.getComputedStyle(dialog).top, 'auto'); - assert_not_equals(window.getComputedStyle(dialog).bottom, 'auto'); - - // Set back original value to 'height'. - dialog.style.height = 'auto'; -}, "The dialog is a positioned element, so the top and bottom should not have style auto."); - test(function() { this.add_cleanup(reset); @@ -122,7 +106,7 @@ test(function() { assert_equals(dialog.getBoundingClientRect().top, 0); // Set back original value to 'height'. - dialog.style.height = 'auto'; + dialog.style.height = 'fit-content'; }, "A tall dialog should be positioned at the top of the viewport."); test(function() { @@ -167,13 +151,12 @@ test(function() { relativeContainer.appendChild(dialog); dialog.showModal(); - assert_not_equals(dialog.getBoundingClientRect().top, relativeContainer.getBoundingClientRect().top); + checkVerticallyCentered(dialog); dialog.remove(); relativeContainer.appendChild(dialog); - assert_equals(dialog.parentNode, relativeContainer); - assert_equals(dialog.getBoundingClientRect().top, relativeContainer.getBoundingClientRect().top); -}, "Dialog should lose centering when removed from the document."); + checkVerticallyCentered(dialog); +}, "Dialog should still be centered when removed, and re-added to the document."); test(function() { this.add_cleanup(reset); @@ -186,7 +169,7 @@ test(function() { assert_equals(dialog.getBoundingClientRect().top, expectedTop); // Set back original value to 'top'. - dialog.style.top = 'auto'; + dialog.style.top = '0'; }, "Dialog's specified position should survive after close() and showModal()."); test(function() { @@ -194,43 +177,7 @@ test(function() { dialog.showModal(); dialog.removeAttribute('open'); - window.scroll(0, window.scrollY * 2); - checkNotVerticallyCentered(dialog); dialog.showModal(); checkVerticallyCentered(dialog); }, "Dialog should be recentered if showModal() is called after removing 'open'."); - -test(function() { - this.add_cleanup(reset); - - dialog.remove(); - absoluteContainer.appendChild(dialog); - absoluteContainer.style.display = 'none'; - dialog.showModal(); - absoluteContainer.style.display = 'block'; - // Since dialog's containing block is the ICB, it's statically positioned after . - assert_equals(dialog.getBoundingClientRect().top, document.body.getBoundingClientRect().bottom); -}, "Dialog should not be centered if showModal() was called when an ancestor had display 'none'."); - -test(function() { - this.add_cleanup(reset); - - var offset = 50; - dialog.style.top = offset + 'px'; - dialog.showModal(); - assert_equals(dialog.getBoundingClientRect().top + window.scrollY, offset); - // Set back original value to 'top'. - dialog.style.top = 'auto'; -}, "A dialog with specified 'top' should be positioned as usual"); - -test(function() { - this.add_cleanup(reset); - - var offset = 50; - dialog.style.bottom = offset + 'px'; - dialog.showModal(); - assert_equals(dialog.getBoundingClientRect().bottom + window.scrollY, window.innerHeight - offset); - // Set back original value to 'bottom'. - dialog.style.bottom = 'auto'; -}, "A dialog with specified 'bottom' should be positioned as usual"); diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html index 2f9721eee86..01377de4269 100644 --- a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html @@ -14,7 +14,8 @@ writing-mode: {{GET[dialog-writing-mode]}}; border: none; padding: 0; - margin: 0; + max-width: initial; + max-height: initial; } diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html index 4c97ea078c5..62f4fc2519c 100644 --- a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering.html @@ -11,30 +11,33 @@ "use strict"; // Be sure to sync with centering-iframe.html -const DIALOG_WIDTH = 20; -const DIALOG_HEIGHT = 10; +const dialogWidth = 20; +const dialogHeight = 10; -testDialogCentering("horizontal-tb", "", "", "tall viewport", 40, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2); -testDialogCentering("horizontal-tb", "", "", "wide viewport", 100, 40, "top", 40 / 2 - DIALOG_HEIGHT / 2); -testDialogCentering("horizontal-tb", "", "", "square viewport", 100, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2); -testDialogCentering("horizontal-tb", "", "", "dialog and viewport match", DIALOG_WIDTH, DIALOG_HEIGHT, "top", 0); -testDialogCentering("horizontal-tb", "", "", "dialog bigger than viewport", 100, DIALOG_HEIGHT / 2, "top", 0); +const widthOffset100 = 100 / 2 - dialogWidth / 2; +const widthOffset40 = 40 / 2 - dialogWidth / 2; -testDialogCentering("vertical-rl", "", "", "tall viewport", 40, 100, "left", 40 / 2 - DIALOG_WIDTH / 2); -testDialogCentering("vertical-lr", "", "", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2); -testDialogCentering("vertical-lr", "", "", "dialog bigger than viewport", DIALOG_WIDTH / 2, 100, "right", 0); +const heightOffset100 = 100 / 2 - dialogHeight / 2; +const heightOffset40 = 40 / 2 - dialogHeight / 2; -testDialogCentering("vertical-rl", "", "horizontal-tb", "tall viewport", 40, 100, "left", 40 / 2 - DIALOG_WIDTH / 2); -testDialogCentering("vertical-lr", "", "horizontal-tb", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2); -testDialogCentering("vertical-lr", "", "horizontal-tb", "dialog bigger than viewport", DIALOG_WIDTH / 2, 100, "right", 0); +testDialogCentering("horizontal-tb", "", "", "tall viewport", 40, 100, widthOffset40, heightOffset100); +testDialogCentering("horizontal-tb", "", "", "wide viewport", 100, 40, widthOffset100, heightOffset40); +testDialogCentering("horizontal-tb", "", "", "square viewport", 100, 100, widthOffset100, heightOffset100); +testDialogCentering("horizontal-tb", "", "", "dialog and viewport match", dialogWidth, dialogHeight, 0, 0); -testDialogCentering("horizontal-tb", "vertical-rl", "", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2); -testDialogCentering("vertical-rl", "horizontal-tb", "", "tall viewport", 40, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2); +testDialogCentering("vertical-rl", "", "", "tall viewport", 40, 100, widthOffset40, heightOffset100); +testDialogCentering("vertical-lr", "", "", "tall viewport", 40, 100, widthOffset40, heightOffset100); -testDialogCentering("horizontal-tb", "vertical-rl", "horizontal-tb", "tall viewport", 40, 100, "right", 40 / 2 - DIALOG_WIDTH / 2); -testDialogCentering("vertical-rl", "horizontal-tb", "vertical-rl", "tall viewport", 40, 100, "top", 100 / 2 - DIALOG_HEIGHT / 2); +testDialogCentering("vertical-rl", "", "horizontal-tb", "tall viewport", 40, 100, widthOffset40, heightOffset100); +testDialogCentering("vertical-lr", "", "horizontal-tb", "tall viewport", 40, 100, widthOffset40, heightOffset100); -function testDialogCentering(writingMode, containerWritingMode, dialogWritingMode, label, iframeWidth, iframeHeight, property, numericValue) { +testDialogCentering("horizontal-tb", "vertical-rl", "", "tall viewport", 40, 100, widthOffset40, heightOffset100); +testDialogCentering("vertical-rl", "horizontal-tb", "", "tall viewport", 40, 100, widthOffset40, heightOffset100); + +testDialogCentering("horizontal-tb", "vertical-rl", "horizontal-tb", "tall viewport", 40, 100, widthOffset40, heightOffset100); +testDialogCentering("vertical-rl", "horizontal-tb", "vertical-rl", "tall viewport", 40, 100, widthOffset40, heightOffset100); + +function testDialogCentering(writingMode, containerWritingMode, dialogWritingMode, label, iframeWidth, iframeHeight, leftOffset, topOffset) { async_test(t => { const iframe = document.createElement("iframe"); iframe.src = `centering-iframe.sub.html?html-writing-mode=${writingMode}&container-writing-mode=${containerWritingMode}&dialog-writing-mode=${dialogWritingMode}`; @@ -42,19 +45,10 @@ function testDialogCentering(writingMode, containerWritingMode, dialogWritingMod iframe.height = iframeHeight; iframe.onload = t.step_func_done(() => { const dialog = iframe.contentDocument.querySelector("dialog"); - const dialogStyle = iframe.contentWindow.getComputedStyle(dialog); - assert_equals(dialogStyle[property], numericValue + "px"); - assert_equals(dialogStyle['inset-inline-start'], "0px"); - assert_equals(dialogStyle['inset-inline-end'], "0px"); + const dialogRect = dialog.getBoundingClientRect(); - const dialogWM = dialogWritingMode || containerWritingMode || writingMode || "horizontal-tb"; - if (dialogWM.startsWith("vertical")) { - assert_equals(dialogStyle['top'], "0px"); - assert_equals(dialogStyle['bottom'], "0px"); - } else { - assert_equals(dialogStyle['left'], "0px"); - assert_equals(dialogStyle['right'], "0px"); - } + assert_equals(dialogRect.left, leftOffset, 'left'); + assert_equals(dialogRect.top, topOffset, 'top'); }); document.body.appendChild(iframe); }, writingMode + (containerWritingMode ? ` (container ${containerWritingMode})` : "") + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-scrolled-viewport.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-scrolled-viewport.html deleted file mode 100644 index 8a59ba23e43..00000000000 --- a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-scrolled-viewport.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - -
- - -
- - - diff --git a/tests/wpt/web-platform-tests/html/user-activation/activation-thru-contextmenu-event-manual.html b/tests/wpt/web-platform-tests/html/user-activation/activation-thru-contextmenu-event.html similarity index 68% rename from tests/wpt/web-platform-tests/html/user-activation/activation-thru-contextmenu-event-manual.html rename to tests/wpt/web-platform-tests/html/user-activation/activation-thru-contextmenu-event.html index 998bac3694c..7f84577b7f0 100644 --- a/tests/wpt/web-platform-tests/html/user-activation/activation-thru-contextmenu-event-manual.html +++ b/tests/wpt/web-platform-tests/html/user-activation/activation-thru-contextmenu-event.html @@ -8,6 +8,9 @@ + + + + +
+
+ + diff --git a/tests/wpt/web-platform-tests/infrastructure/testdriver/actions/pointerevent_pointermove_in_pointerlock.html.ini b/tests/wpt/web-platform-tests/infrastructure/testdriver/actions/pointerevent_pointermove_in_pointerlock.html.ini deleted file mode 100644 index 0c21bf5b526..00000000000 --- a/tests/wpt/web-platform-tests/infrastructure/testdriver/actions/pointerevent_pointermove_in_pointerlock.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[pointerevent_pointermove_in_pointerlock.html] - expected: - if product == "firefox": ERROR diff --git a/tests/wpt/web-platform-tests/infrastructure/testdriver/actions/touchPointerEventProperties.html b/tests/wpt/web-platform-tests/infrastructure/testdriver/actions/touchPointerEventProperties.html new file mode 100644 index 00000000000..b636dfde797 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/testdriver/actions/touchPointerEventProperties.html @@ -0,0 +1,71 @@ + + +TestDriver actions: pointerevent properties of touch type + + + + + + + + +
+
+ + diff --git a/tests/wpt/web-platform-tests/infrastructure/testharness/lone-surrogates.html b/tests/wpt/web-platform-tests/infrastructure/testharness/lone-surrogates.html new file mode 100644 index 00000000000..fb842ecc9e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/testharness/lone-surrogates.html @@ -0,0 +1,10 @@ + +test behaviour with lone surrogates + + + diff --git a/tests/wpt/web-platform-tests/input-events/input-events-get-target-ranges-backspace.tentative.html b/tests/wpt/web-platform-tests/input-events/input-events-get-target-ranges-backspace.tentative.html index 71db5e72878..bd2621d988f 100644 --- a/tests/wpt/web-platform-tests/input-events/input-events-get-target-ranges-backspace.tentative.html +++ b/tests/wpt/web-platform-tests/input-events/input-events-get-target-ranges-backspace.tentative.html @@ -12,11 +12,11 @@ - \ No newline at end of file + diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html index 1c93ed3e3a6..54e83ecac76 100644 --- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html +++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-error.html @@ -5,37 +5,14 @@ + - - + - + - - + - - + - - - \ No newline at end of file + diff --git a/tests/wpt/web-platform-tests/mediacapture-record/utils/sources.js b/tests/wpt/web-platform-tests/mediacapture-record/utils/sources.js new file mode 100644 index 00000000000..44947272d63 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-record/utils/sources.js @@ -0,0 +1,75 @@ +function createAudioStream(t) { + const ac = new AudioContext(); + const { stream } = ac.createMediaStreamDestination(); + const [track] = stream.getTracks(); + t.add_cleanup(() => { + ac.close(); + track.stop(); + }); + return { stream }; +} + +function createFlowingAudioStream(t) { + const ac = new AudioContext(); + const dest = ac.createMediaStreamDestination(); + const osc = ac.createOscillator(); + osc.connect(dest); + osc.start(); + const [track] = dest.stream.getTracks(); + t.add_cleanup(() => { + ac.close(); + track.stop(); + }); + return { stream: dest.stream }; +} + +function createVideoStream(t) { + const canvas = document.createElement("canvas"); + canvas.id = "canvas"; + document.body.appendChild(canvas); + const ctx = canvas.getContext("2d"); + const stream = canvas.captureStream(); + const [track] = stream.getTracks(); + t.add_cleanup(() => { + document.body.removeChild(canvas); + track.stop(); + }); + const addVideoFrame = () => { + ctx.fillStyle = "red"; + ctx.fillRect(0, 0, canvas.width, canvas.height); + }; + return { stream, control: { addVideoFrame } }; +} + +function createFlowingVideoStream(t) { + const { stream } = createVideoStream(t); + const [track] = stream.getTracks(); + const canvas = document.getElementById("canvas"); + const ctx = canvas.getContext("2d"); + ctx.fillStyle = "green"; + requestAnimationFrame(function draw() { + ctx.fillRect(0, 0, canvas.width, canvas.height); + if (track.readyState == "live") { + requestAnimationFrame(draw); + } + }); + return { stream }; +} + +function createAudioVideoStream(t) { + const { stream: audio } = createAudioStream(t); + const { stream: video, control } = createVideoStream(t); + return { + stream: new MediaStream([...audio.getTracks(), ...video.getTracks()]), + control, + }; +} + +function createFlowingAudioVideoStream(t) { + return { + stream: new MediaStream([ + ...createFlowingAudioStream(t).stream.getTracks(), + ...createFlowingVideoStream(t).stream.getTracks(), + ]), + }; +} diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/common.js b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/common.js index de25ce71089..308f787da63 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/common.js +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/common.js @@ -71,7 +71,7 @@ setup(() => { if (window.reporting_observer_callback) { reports.forEach(window.reporting_observer_callback); } - }, {types: ["feature-policy-violation"]}); + }, {types: ["permissions-policy-violation"]}); window.reporting_observer_instance.observe(); window.reporting_observer_callback = null; }); diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/permissions-policy-trust-token-redemption.html b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/permissions-policy-trust-token-redemption.html index 329f0faa0d3..7ad0ace57d4 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/permissions-policy-trust-token-redemption.html +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/resources/permissions-policy-trust-token-redemption.html @@ -3,14 +3,14 @@ window.onload = function() { // When the trust-token-redemption permissions policy is enabled, redemption - // and signing ("send-srr") should both be available; when it's disabled, + // and signing ("send-redemption-record") should both be available; when it's disabled, // they should both be unavailable. Send the number of available operations // upstream in order to enforce this in assertions. let num_enabled = 4; try { new Request("https://issuer.example/", { trustToken: { - type: "srr-token-redemption" + type: "token-redemption" } }); } catch (e) { @@ -19,7 +19,7 @@ try { new Request("https://destination.example/", { trustToken: { - type: "send-srr", + type: "send-redemption-record", issuers: ["https://issuer.example/"] } }); @@ -31,7 +31,7 @@ const xhr = new XMLHttpRequest(); xhr.open("GET", "https://issuer.example/"); xhr.setTrustToken({ - type: "srr-token-redemption" + type: "token-redemption" }); } catch (e) { num_enabled--; @@ -41,7 +41,7 @@ const xhr = new XMLHttpRequest(); xhr.open("GET", "https://destination.example/"); xhr.setTrustToken({ - type: "send-srr", + type: "send-redemption-record", issuers: ["https://issuer.example/"] }); } catch (e) { diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/trust-token-redemption-default-permissions-policy.tentative.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/trust-token-redemption-default-permissions-policy.tentative.https.sub.html index 8adc0c398ed..20736879105 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/trust-token-redemption-default-permissions-policy.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/trust-token-redemption-default-permissions-policy.tentative.https.sub.html @@ -18,12 +18,12 @@ // and XHR interfaces. new Request("https://issuer.example/", { trustToken: { - type: "srr-token-redemption" + type: "token-redemption" } }); new Request("https://destination.example/", { trustToken: { - type: "send-srr", // signing + type: "send-redemption-record", // signing issuers: ["https://issuer.example/"] } }); @@ -31,13 +31,13 @@ const redemption_xhr = new XMLHttpRequest(); redemption_xhr.open("GET", "https://issuer.example/"); redemption_xhr.setTrustToken({ - type: "srr-token-redemption" + type: "token-redemption" }); const signing_xhr = new XMLHttpRequest(); signing_xhr.open("GET", "https://destination.example/"); signing_xhr.setTrustToken({ - type: "send-srr", // signing + type: "send-redemption-record", // signing issuers: ["https://issuer.example/"] }); } catch (e) { diff --git a/tests/wpt/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy.https.sub.html index cb619bc225a..456626c350f 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy.https.sub.html @@ -29,19 +29,12 @@ async_test(t => { test_feature_availability('PaymentRequest()', t, cross_origin_src, - expect_feature_available_default); - }, header + ' allows cross-origin iframes.'); + expect_feature_unavailable_default); + }, header + ' disallows cross-origin iframes.'); async_test(t => { - test_feature_availability( - 'PaymentRequest()', t, same_origin_src, - expect_feature_available_default, undefined, 'allowpaymentrequest'); - }, header + ' allowpaymentrequest=true allows same-origin iframes.'); - - async_test(t => { - test_feature_availability( - 'PaymentRequest()', t, cross_origin_src, - expect_feature_available_default, undefined, 'allowpaymentrequest'); - }, header + ' allowpaymentrequest=true allows cross-origin iframes.'); + test_feature_availability('PaymentRequest()', t, cross_origin_src, + expect_feature_available_default, 'payment'); + }, header + ' allow="payment" allows cross-origin iframes.'); diff --git a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-all.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-all.https.sub.html index d91132599fc..a089866c7af 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-all.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-all.https.sub.html @@ -19,12 +19,15 @@ ['*']); }, header_policy + ' -- test allowlist is ['*']'); - // Test that fullscreen is allowed on all subframes. + // Test that fullscreen is allowed on same-origin subframes. test_allowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on same-origin subframe', 'fullscreen', same_origin_src); - test_allowed_feature_for_subframe( + + // Test that fullscreen is not allowed on cross-origin subframes without an + // allow attribute. + test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on cross-origin subframe', 'fullscreen', cross_origin_src); diff --git a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-some.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-some.https.sub.html index 1e999a5e5e5..0035eea7d5e 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-some.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-some.https.sub.html @@ -19,12 +19,13 @@ [same_origin, cross_origin, 'https://www.example.com'].sort()); }, header_policy + ' -- test allowlist is [same_origin, cross_origin, https://www.example.com]'); - // Test that fullscreen is allowed on same_origin, some cross_origin subframes. + // Test that fullscreen is allowed on same-origin, but disallowd on cross- + // origin subframes. without an allow attribute. test_allowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on same-origin subframe', 'fullscreen', same_origin_src); - test_allowed_feature_for_subframe( + test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on cross-origin ' + cross_origin_src + ' subframe', 'fullscreen', cross_origin_src); diff --git a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-declined.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-declined.https.sub.html index 8455d68c071..247f23893ba 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-declined.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-declined.https.sub.html @@ -19,12 +19,12 @@ [cross_origin, 'https://www.example.com'].sort()); }, header_policy + ' -- test allowlist is [cross_origin, https://www.example.com]'); - // Test that fullscreen is disallowed on same_origin, allowed on some cross_origin subframes. + // Test that fullscreen is everywhere. test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on same-origin subframe', 'fullscreen', same_origin_src); - test_allowed_feature_for_subframe( + test_disallowed_feature_for_subframe( header_policy + ' -- test fullscreen is allowed on cross-origin ' + cross_origin_src + ' subframe', 'fullscreen', cross_origin_src); @@ -34,7 +34,8 @@ 'fullscreen', cross_origin_src1); - // dynamically update sub frame's container policy + // dynamically update sub frame's container policy; fullscreen will still not + // be allowed. var disallow = "fullscreen 'none';" test_disallowed_feature_for_subframe( header_policy + ', iframe.allow = ' + disallow + ' -- test fullscreen is disallowed on same-origin subframe', @@ -55,7 +56,7 @@ same_origin_src, allow); - test_allowed_feature_for_subframe( + test_disallowed_feature_for_subframe( header_policy + 'iframe.allow = ' + allow + ' -- test fullscreen is allowed on specific cross-origin subframe', 'fullscreen', cross_origin_src, diff --git a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-all.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-all.https.sub.html index 74ff64c51d2..46ca378d0b9 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-all.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-all.https.sub.html @@ -29,7 +29,7 @@ ------------------------------------------ */ test_subframe_header_policy('fullscreen', '*', same_origin_src, {local_all: true, local_self: true, local_none: false, - remote_all: true, remote_self: true, remote_none: false}, + remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with local iframe on policy "fullscreen=*"'); test_subframe_header_policy('fullscreen', 'self', same_origin_src, {local_all: true, local_self: true, local_none: false, @@ -50,11 +50,11 @@ | ------------------------------------- | ------------------------------------------- */ test_subframe_header_policy('fullscreen', '*', cross_origin_src, - {local_all: true, local_self: true, local_none: false, - remote_all: true, remote_self: true, remote_none: false}, + {local_all: false, local_self: false, local_none: false, + remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with remote iframe on policy "fullscreen=*"'); test_subframe_header_policy('fullscreen', 'self', cross_origin_src, - {local_all: true, local_self: true, local_none: false, + {local_all: false, local_self: false, local_none: false, remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with remote iframe on policy "fullscreen=self"'); test_subframe_header_policy('fullscreen', '\\(\\)', cross_origin_src, diff --git a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-self.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-self.https.sub.html index f1e5f9d2e24..54c6e95b6ed 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-self.https.sub.html +++ b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-nested-header-policy-allowed-for-self.https.sub.html @@ -27,7 +27,7 @@ ------------------------------------------ */ test_subframe_header_policy('fullscreen', '*', same_origin_src, {local_all: true, local_self: true, local_none: false, - remote_all: true, remote_self: true, remote_none: false}, + remote_all: false, remote_self: false, remote_none: false}, 'Test nested header policy with local iframe on policy "fullscreen=*"'); test_subframe_header_policy('fullscreen', 'self', same_origin_src, {local_all: true, local_self: true, local_none: false, diff --git a/tests/wpt/web-platform-tests/permissions-policy/reporting/camera-report-only.https.html b/tests/wpt/web-platform-tests/permissions-policy/reporting/camera-report-only.https.html index c22e1a51740..5c6658bab86 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/reporting/camera-report-only.https.html +++ b/tests/wpt/web-platform-tests/permissions-policy/reporting/camera-report-only.https.html @@ -10,7 +10,7 @@ + + + + + + + + diff --git a/tests/wpt/web-platform-tests/scroll-animations/testcommon.js b/tests/wpt/web-platform-tests/scroll-animations/testcommon.js index d9fc153887c..9b3e82228fc 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/testcommon.js +++ b/tests/wpt/web-platform-tests/scroll-animations/testcommon.js @@ -55,3 +55,11 @@ function assert_approx_equals_or_null(actual, expected, tolerance, name){ assert_approx_equals(actual, expected, tolerance, name); } } + +// actual should be a CSSUnitValue and expected should be a double value 0-100 +function assert_percent_css_unit_value_approx_equals(actual, expected, tolerance, name){ + assert_true(actual instanceof CSSUnitValue, "'actual' must be of type CSSUnitValue"); + assert_equals(typeof expected, "number", "'expected' should be a number (0-100)"); + assert_equals(actual.unit, "percent", "'actual' unit type must be 'percent'"); + assert_approx_equals(actual.value, expected, tolerance, name); +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/scroll-to-text-fragment/find-range-from-text-directive-target.html b/tests/wpt/web-platform-tests/scroll-to-text-fragment/find-range-from-text-directive-target.html new file mode 100644 index 00000000000..8e119d6448a --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-to-text-fragment/find-range-from-text-directive-target.html @@ -0,0 +1,71 @@ + +Tests find-a-range-from-a-text-directive algorithm + + + + +
+

+ The quick brown fox jumped over the lazy dog. + a a b b b c +

+

+ foo foo foo bar bar bar +

+

+ Lorem + +
+

 
+ +
This isn't rendered
+
This also isn't visible
+ + + +     Ipsum + + Whitespace + +
+
 
+ +
This isn't rendered
+
This also isn't visible
+ + +     + + Dipsum + + + +

+

+ This text appears at the end of the document +

diff --git a/tests/wpt/web-platform-tests/scroll-to-text-fragment/find-range-from-text-directive.html b/tests/wpt/web-platform-tests/scroll-to-text-fragment/find-range-from-text-directive.html new file mode 100644 index 00000000000..ce05a92b212 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-to-text-fragment/find-range-from-text-directive.html @@ -0,0 +1,287 @@ + +Tests find-a-range-from-a-text-directive algorithm + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-attachment.tentative.html b/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-attachment.tentative.html index 73b43829f1a..99a255bfa21 100644 --- a/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-attachment.tentative.html +++ b/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-attachment.tentative.html @@ -7,8 +7,6 @@