diff options
92 files changed, 1508 insertions, 435 deletions
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-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini new file mode 100644 index 00000000000..f64b45fea6b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-002.html] + [Hit test float] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini new file mode 100644 index 00000000000..baa9f1a7541 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-005.html] + [Miss clipped float] + expected: FAIL + 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 new file mode 100644 index 00000000000..e38782d8c85 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini index 6ef8bb1049f..171592fc08f 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -2,6 +2,3 @@ [elementsFromPoint on the root document for points in iframe elements] expected: FAIL - [elementsFromPoint on inner documents] - 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 b74aa631cf0..ae125a215ca 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 @@ -312,24 +312,21 @@ [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] expected: NOTRUN - [<iframe>: separate response Content-Type: text/html */*] - expected: FAIL - [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL - [<iframe>: combined response Content-Type: text/html;" text/plain] + [<iframe>: separate response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: */* text/html] + [<iframe>: separate response Content-Type: text/plain */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*;charset=gbk] + [<iframe>: separate response Content-Type: text/html;" \\" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini index b2ffc8abf78..2d5faa72ac7 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini @@ -53,9 +53,6 @@ [combined text/javascript ] expected: FAIL - [separate text/javascript x/x] - expected: FAIL - - [separate text/javascript error] + [separate text/javascript;charset=windows-1252 error text/javascript] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini index 87c807a49ff..2023a855086 100644 --- a/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,6 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL + [X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini deleted file mode 100644 index 75d75b4cda2..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_2.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini deleted file mode 100644 index dc2e45516de..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_5.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index f45aaafe1c5..4e69eb752b6 100644 --- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,15 +1,16 @@ [supported-elements.html] + expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL [Host element with delegatesFocus including no focusable descendants should be skipped] - expected: FAIL + expected: TIMEOUT [Element with tabindex should support autofocus] expected: FAIL [Area element should support autofocus] - expected: FAIL + expected: NOTRUN [Host element with delegatesFocus should support autofocus] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index d913fcbb129..3080be9afc0 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-1.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index 0407f0cc2b7..9eb581fcf1f 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-2.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index f4f994c5d6f..0fbc49ea1c1 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-3.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini index dbec6f2c2ff..5602ea31dbe 100644 --- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini +++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini @@ -3,3 +3,6 @@ [The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] expected: TIMEOUT + [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] + expected: TIMEOUT + diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini index 2d30e1fe118..73d24ae66f4 100644 --- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini +++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini @@ -89,3 +89,6 @@ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 40518 more errors.\n\tMax AbsError of 1.9880115985870361e+0 at index of 23190.\n\t[23190\]\t9.9948620796203613e-1\t-9.8852539062500000e-1\t1.9880115985870361e+0\t2.0110880483607065e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n] expected: FAIL + [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44050 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 42250.\n\t[42250\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini deleted file mode 100644 index 663a1f8fa30..00000000000 --- a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[018.html] - expected: TIMEOUT - [origin of the script that invoked the method, javascript:] - expected: TIMEOUT - diff --git a/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini new file mode 100644 index 00000000000..fe8654e447c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini @@ -0,0 +1,4 @@ +[WorkerGlobalScope-close.html] + [Test sending a message after closing.] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini index f584fce5df1..268949ced5c 100644 --- a/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini @@ -1,5 +1,4 @@ [005.html] - expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini index faa00f45ecf..d4f62ed7113 100644 --- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -7,7 +7,7 @@ expected: FAIL [Opening a blob URL in a new window immediately before revoking it works.] - expected: TIMEOUT + expected: FAIL [Opening a blob URL in a noopener about:blank window immediately before revoking it works.] expected: TIMEOUT diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 312c55e5a1e..d435fe1652e 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -17867,6 +17867,15 @@ ] ] }, + "screen-wake-lock": { + "wakelock-document-hidden-manual.https.html": [ + "550dc831cbcd4909746893a5675c5a0308425805", + [ + null, + {} + ] + ] + }, "selection": { "dir-manual.html": [ "39cf6555234b7b2e189412e97aed5a93b19ccea2", @@ -23514,15 +23523,6 @@ ] ] }, - "wake-lock": { - "wakelock-document-hidden-manual.https.html": [ - "2ac6bce20d8b04ad3f2958f7326102dd9c5e0dcc", - [ - null, - {} - ] - ] - }, "web-nfc": { "NDEFReader-document-hidden-manual.https.html": [ "f2027dc99d1dad8004c72f0af5e7eea48836c3b2", @@ -158753,6 +158753,32 @@ {} ] ], + "empty-ruby-base-container-abs.html": [ + "7968af0b256684c4b03dd06fa3748c1380150a6f", + [ + null, + [ + [ + "/css/css-ruby/empty-ruby-base-container-ref.html", + "==" + ] + ], + {} + ] + ], + "empty-ruby-base-container-float.html": [ + "b7c5d12963a4dd089efebdd4772a5bb5aa0c1862", + [ + null, + [ + [ + "/css/css-ruby/empty-ruby-base-container-ref.html", + "==" + ] + ], + {} + ] + ], "empty-ruby-base-container.html": [ "4d86e07985d0e99e586848f7ca3195e63371c4d4", [ @@ -158766,6 +158792,32 @@ {} ] ], + "empty-ruby-text-container-abs.html": [ + "025859ea744139b8673e37ea0bd0daeb92477bd8", + [ + null, + [ + [ + "/css/css-ruby/empty-ruby-text-container-ref.html", + "==" + ] + ], + {} + ] + ], + "empty-ruby-text-container-float.html": [ + "88bcf42736e5c3a43d6e25d35477017fb2df8996", + [ + null, + [ + [ + "/css/css-ruby/empty-ruby-text-container-ref.html", + "==" + ] + ], + {} + ] + ], "empty-ruby-text-container.html": [ "972013c6621b553f647c97040a2a76afd45de75a", [ @@ -158974,6 +159026,19 @@ {} ] ], + "ruby-box-model-001.html": [ + "1fa2befaf8a84f76b7acb59f399649ce021893f7", + [ + null, + [ + [ + "/css/css-ruby/ruby-box-model-001-ref.html", + "==" + ] + ], + {} + ] + ], "ruby-dynamic-insertion-001.html": [ "be1c5ce50056ecd0ffb3699bd4e47f63c7c6c7bf", [ @@ -232921,6 +232986,19 @@ ] }, "operators": { + "mo-form-dynamic-002.html": [ + "7cf986f31695f7c316bb2d076957014683941c7f", + [ + null, + [ + [ + "/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html", + "==" + ] + ], + {} + ] + ], "mo-form-dynamic.html": [ "72d6c67f7544c75587cf8a3133481c1c9d68b499", [ @@ -232973,6 +233051,19 @@ {} ] ], + "mo-lspace-rspace-dynamic.html": [ + "0898e48b5c42fe31232cda95787e380e8f338960", + [ + null, + [ + [ + "/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html", + "==" + ] + ], + {} + ] + ], "mo-movablelimits-default.html": [ "503a57f25c7241d94a3bbae2e93d0c70684159f4", [ @@ -233703,7 +233794,7 @@ ] }, "visibility-001.html": [ - "f47bfad1fee107ab294a84279ccbf98d2ea9a729", + "ece84ee693a524f24a33024c80e034035cac64bb", [ null, [ @@ -233716,7 +233807,7 @@ ] ], "visibility-002.html": [ - "f3afb79c157d8d6f60a6a681fac2c2129cdba99b", + "5e41b9c7831ebbd71d44526340f4f9389695798c", [ null, [ @@ -233729,7 +233820,7 @@ ] ], "visibility-003.html": [ - "cfeed644cbea10a031a37c2fef01cabacb6a68a0", + "afa4c4184ce2ba6dcce0f0ec722391a2fcffd39e", [ null, [ @@ -233742,7 +233833,7 @@ ] ], "visibility-004.html": [ - "8173b9cd2ef9162d6596c412d559abdb409d7267", + "ed4a4aeb09d53c2c9264886dd97ad0574ef0656a", [ null, [ @@ -298600,6 +298691,10 @@ "55ba7b2c73faa017ec07203df3284c84667ffece", [] ], + "ruby-box-model-001-ref.html": [ + "8ddca2fc5bf93dd11ff525d10c0a675fab8f5a7a", + [] + ], "ruby-dynamic-insertion-001-ref.html": [ "0a09924c653d80bfb69124ead3d65d6f2f8e411f", [] @@ -314166,6 +314261,10 @@ "4403a95c146c1aaba697a5198852548d948a5461", [] ], + "custom.css": [ + "a5f59ce7721cce73cc79dd69bff68ef8afe14e9a", + [] + ], "files-changed.png": [ "7472edcb965c98e414e1be6412f0ed58afbe0f6b", [] @@ -330129,6 +330228,10 @@ "b5481216729526387722a6c733ea529f5d1f831a", [] ], + "screen-wake-lock.idl": [ + "1eb30a06024713e5aab435610a8fc62841db8a50", + [] + ], "scroll-animations.idl": [ "00d0bae68126aa67d6714694422a098100eb7e71", [] @@ -330205,10 +330308,6 @@ "845e2ef6cf84aa6fafbfdcadf167e440eaadd668", [] ], - "wake-lock.idl": [ - "429b80e0668aa2607ef59e32b2c3c674974bd0c5", - [] - ], "wasm-js-api.idl": [ "cc943610145dec2346e7ec9d6891cf32859f9d59", [] @@ -330683,6 +330782,10 @@ ] }, "operators": { + "mo-form-dynamic-002-ref.html": [ + "be7f5aa173d233fb5a2477586c78df1f0e027c54", + [] + ], "mo-form-dynamic-ref.html": [ "8f8d3da2c37cb5710d3758b0c6dfb7d2641a07bf", [] @@ -330699,6 +330802,10 @@ "d48bd48a6e4a492e7fc31ae83d016cd12b9c8d56", [] ], + "mo-lspace-rspace-dynamic-ref.html": [ + "85cabd287d9dd4f5cd5ec68e6083c6f88d617369", + [] + ], "mo-movablelimits-default-ref.html": [ "8328637397962e973130c6d8544bda90690cc471", [] @@ -335830,6 +335937,34 @@ ] } }, + "screen-wake-lock": { + "META.yml": [ + "b311993d82e15880bb991e993ffe6716be28ef23", + [] + ], + "resources": { + "page1.html": [ + "7fc080d380c4bd46dfb011910e570ee412561b92", + [] + ], + "page2.html": [ + "7fc080d380c4bd46dfb011910e570ee412561b92", + [] + ] + }, + "wakelock-disabled-by-feature-policy.https.sub.html.headers": [ + "5d910ce6df801980a26fb191589201f614ed02af", + [] + ], + "wakelock-enabled-by-feature-policy.https.sub.html.headers": [ + "7810751f8051c14818b290aa9ea7edab04bca3e9", + [] + ], + "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers": [ + "6bc94277cf9a4610c33274bd5b984e41d389622a", + [] + ] + }, "scroll-animations": { "META.yml": [ "c53f1f432fe1ec2887e30af396a1f1574b76b95d", @@ -346902,38 +347037,6 @@ ] } }, - "wake-lock": { - "META.yml": [ - "0123ccef85511aaa86770c53716ef9264377b1c1", - [] - ], - "resources": { - "idlharness-worker.js": [ - "b84ed44a8c89713be559e9cec8a1e3f48c990179", - [] - ], - "page1.html": [ - "7fc080d380c4bd46dfb011910e570ee412561b92", - [] - ], - "page2.html": [ - "7fc080d380c4bd46dfb011910e570ee412561b92", - [] - ] - }, - "wakelock-disabled-by-feature-policy.https.sub.html.headers": [ - "5d910ce6df801980a26fb191589201f614ed02af", - [] - ], - "wakelock-enabled-by-feature-policy.https.sub.html.headers": [ - "7810751f8051c14818b290aa9ea7edab04bca3e9", - [] - ], - "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers": [ - "6bc94277cf9a4610c33274bd5b984e41d389622a", - [] - ] - }, "wasm": { "META.yml": [ "3ea02ee7c9e41831aafbd37436f59b51244b142e", @@ -380330,7 +380433,7 @@ ] ], "federatedcredential-framed-get.sub.https.html": [ - "a7c87e2331ffdb518fe33d42aed1f269cfc8b9a3", + "7883c8ebf23ea3c4214db585aba32d391d824a52", [ null, {} @@ -380369,7 +380472,7 @@ ] ], "passwordcredential-framed-get.sub.https.html": [ - "d86c6e09c70874f06714c9cde0b63a2cef959f69", + "b4afc1eb91e563ef59dd540dd1f6d90b2a59c854", [ null, {} @@ -388298,6 +388401,13 @@ {} ] ], + "grid-template-columns-rows-changes-001.html": [ + "b32d24859eabade51b1757d0d62e3787db3f3bc0", + [ + null, + {} + ] + ], "grid-template-columns-rows-resolved-values-001.html": [ "df91cebf63ee0a251e1c8da56567f7684bf4b1f9", [ @@ -388603,6 +388713,13 @@ {} ] ], + "grid-gutters-as-percentage-001.html": [ + "651f4278f0687db698da1f7753762318184ed2af", + [ + null, + {} + ] + ], "grid-item-accepts-first-letter-001.html": [ "32206794c345d864de2508e73a5336d91dff3837", [ @@ -430497,6 +430614,13 @@ {} ] ], + "coep-on-response-from-service-worker.https.html": [ + "939c618227be7c34f279f446b6c0ea892807ca19", + [ + null, + {} + ] + ], "data.https.html": [ "c34f1336c8bd22aadd0e867b8fcced598a1c4786", [ @@ -430586,7 +430710,7 @@ ] ], "reporting.https.html": [ - "f8d8af7a4690d450f3aa098b12bfccde1e928dc6", + "42d5e6cc33537e988daf77d740fdcdeab64508c5", [ null, { @@ -449972,6 +450096,13 @@ {} ] ], + "mo-stretch-properties-dynamic-001.html": [ + "daefd1f2b8ace97d0a8be92a44fa7408d787c980", + [ + null, + {} + ] + ], "operator-dictionary-001.html": [ "e4e5c68b26344195844699e531dceacc835a8597", [ @@ -454261,7 +454392,7 @@ }, "native-io": { "close_async.tentative.https.any.js": [ - "a2337e50dbcac793678981ebd47c504f0d4b0d18", + "a992f93eb5307fd435cb46e593f1a04e47e970c6", [ "native-io/close_async.tentative.https.any.html", { @@ -454324,7 +454455,7 @@ ] ], "close_sync.tentative.https.any.js": [ - "001fa57a2c0299e3dabeaa938d7474198acb6e3d", + "0cfc9de2ec65835a7fef368148a5677a523dce92", [ "native-io/close_sync.tentative.https.any.worker.html", { @@ -454342,7 +454473,7 @@ ] ], "concurrent_io_async.tentative.https.any.js": [ - "22eea20c3121dce3a7a730d262d94d7a1ddf7848", + "abc2031d5f9aec4f885f39d9db18331444af811d", [ "native-io/concurrent_io_async.tentative.https.any.html", { @@ -481595,6 +481726,178 @@ ] ] }, + "screen-wake-lock": { + "idlharness.https.window.js": [ + "370696e90b3579e9b0960942c1cc9269850f3f6b", + [ + "screen-wake-lock/idlharness.https.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ], + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ] + ] + } + ] + ], + "wakelock-active-document.https.window.js": [ + "724ce091969922f937c36b427d8b3aa3d449c1e2", + [ + "screen-wake-lock/wakelock-active-document.https.window.html", + {} + ] + ], + "wakelock-disabled-by-feature-policy.https.sub.html": [ + "821ec62885d61b214f766b4c8e173f8b67855f38", + [ + null, + {} + ] + ], + "wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html": [ + "2b2e0c94cc744ff6c19f70397e4383fa2d809cff", + [ + null, + {} + ] + ], + "wakelock-enabled-by-feature-policy-attribute.https.sub.html": [ + "b8ab3b0301798bc7ceaed025e89b0a36dfa5b58c", + [ + null, + {} + ] + ], + "wakelock-enabled-by-feature-policy.https.sub.html": [ + "f908717ff410d736ccb42e89c3e95c4852e82696", + [ + null, + { + "testdriver": true + } + ] + ], + "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html": [ + "b15289beff4853765fdc30dfd0a3b35d48fd8619", + [ + null, + { + "testdriver": true + } + ] + ], + "wakelock-insecure-context.any.js": [ + "f32cc3c354354f99852bb198760cdbd9229355a4", + [ + "screen-wake-lock/wakelock-insecure-context.any.html", + { + "script_metadata": [ + [ + "title", + "Wake Lock API is not exposed in an insecure context" + ] + ] + } + ], + [ + "screen-wake-lock/wakelock-insecure-context.any.worker.html", + { + "script_metadata": [ + [ + "title", + "Wake Lock API is not exposed in an insecure context" + ] + ] + } + ] + ], + "wakelock-onrelease.https.html": [ + "88c0cdb654c8e700195c430aa74fb2238ce9db10", + [ + null, + { + "testdriver": true + } + ] + ], + "wakelock-request-denied.https.html": [ + "b222ef342a6566a9d424044713b1acf2666679eb", + [ + null, + { + "testdriver": true + } + ] + ], + "wakelock-screen-type-on-worker.https.worker.js": [ + "0201294e2365abae3e13fcfe21debfd26628236a", + [ + "screen-wake-lock/wakelock-screen-type-on-worker.https.worker.html", + { + "script_metadata": [ + [ + "title", + "Screen wake lock should not be allowed in dedicated worker" + ] + ] + } + ] + ], + "wakelock-supported-by-feature-policy.html": [ + "a55eb54ba1c48ae7d5330ed1281029d71f0a23e9", + [ + null, + {} + ] + ], + "wakelock-type.https.any.js": [ + "3a1d8c465c7020594affe0cb81c67ea36839b640", + [ + "screen-wake-lock/wakelock-type.https.any.html", + { + "script_metadata": [ + [ + "title", + "navigator.wakeLock.request() with invalid type" + ] + ] + } + ], + [ + "screen-wake-lock/wakelock-type.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "navigator.wakeLock.request() with invalid type" + ] + ] + } + ] + ], + "wakelockpermissiondescriptor.https.html": [ + "e6d0d0b07edda3a98381e00fc51d39469f0bf318", + [ + null, + { + "testdriver": true + } + ] + ] + }, "screen_enumeration": { "getScreens.tentative.https.window.js": [ "3b893bbbb772a773dfa9c18cf4bd844cfe4db99f", @@ -498095,196 +498398,6 @@ ] ] }, - "wake-lock": { - "idlharness-worker.https.window.js": [ - "76f5352721dfdadca5093b6f08bb648d8b17f93e", - [ - "wake-lock/idlharness-worker.https.window.html", - { - "script_metadata": [ - [ - "script", - "/resources/testdriver.js" - ], - [ - "script", - "/resources/testdriver-vendor.js" - ] - ] - } - ] - ], - "idlharness.https.window.js": [ - "60c25f3386ea8bd2ce8a5955745f9d1ede580f46", - [ - "wake-lock/idlharness.https.window.html", - { - "script_metadata": [ - [ - "script", - "/resources/WebIDLParser.js" - ], - [ - "script", - "/resources/idlharness.js" - ], - [ - "script", - "/resources/testdriver.js" - ], - [ - "script", - "/resources/testdriver-vendor.js" - ] - ] - } - ] - ], - "wakelock-active-document.https.window.js": [ - "53745ea3c60e7322720d9082919950c798259f0f", - [ - "wake-lock/wakelock-active-document.https.window.html", - {} - ] - ], - "wakelock-disabled-by-feature-policy.https.sub.html": [ - "821ec62885d61b214f766b4c8e173f8b67855f38", - [ - null, - {} - ] - ], - "wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html": [ - "2b2e0c94cc744ff6c19f70397e4383fa2d809cff", - [ - null, - {} - ] - ], - "wakelock-enabled-by-feature-policy-attribute.https.sub.html": [ - "b8ab3b0301798bc7ceaed025e89b0a36dfa5b58c", - [ - null, - {} - ] - ], - "wakelock-enabled-by-feature-policy.https.sub.html": [ - "f908717ff410d736ccb42e89c3e95c4852e82696", - [ - null, - { - "testdriver": true - } - ] - ], - "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html": [ - "b15289beff4853765fdc30dfd0a3b35d48fd8619", - [ - null, - { - "testdriver": true - } - ] - ], - "wakelock-insecure-context.any.js": [ - "f32cc3c354354f99852bb198760cdbd9229355a4", - [ - "wake-lock/wakelock-insecure-context.any.html", - { - "script_metadata": [ - [ - "title", - "Wake Lock API is not exposed in an insecure context" - ] - ] - } - ], - [ - "wake-lock/wakelock-insecure-context.any.worker.html", - { - "script_metadata": [ - [ - "title", - "Wake Lock API is not exposed in an insecure context" - ] - ] - } - ] - ], - "wakelock-onrelease.https.html": [ - "88c0cdb654c8e700195c430aa74fb2238ce9db10", - [ - null, - { - "testdriver": true - } - ] - ], - "wakelock-request-denied.https.html": [ - "b222ef342a6566a9d424044713b1acf2666679eb", - [ - null, - { - "testdriver": true - } - ] - ], - "wakelock-screen-type-on-worker.https.worker.js": [ - "0201294e2365abae3e13fcfe21debfd26628236a", - [ - "wake-lock/wakelock-screen-type-on-worker.https.worker.html", - { - "script_metadata": [ - [ - "title", - "Screen wake lock should not be allowed in dedicated worker" - ] - ] - } - ] - ], - "wakelock-supported-by-feature-policy.html": [ - "a55eb54ba1c48ae7d5330ed1281029d71f0a23e9", - [ - null, - {} - ] - ], - "wakelock-type.https.any.js": [ - "3a1d8c465c7020594affe0cb81c67ea36839b640", - [ - "wake-lock/wakelock-type.https.any.html", - { - "script_metadata": [ - [ - "title", - "navigator.wakeLock.request() with invalid type" - ] - ] - } - ], - [ - "wake-lock/wakelock-type.https.any.worker.html", - { - "script_metadata": [ - [ - "title", - "navigator.wakeLock.request() with invalid type" - ] - ] - } - ] - ], - "wakelockpermissiondescriptor.https.html": [ - "88c95987f1ead6d0e194e3d1dcff6d4b5e852778", - [ - null, - { - "testdriver": true - } - ] - ] - }, "wasm": { "create_multiple_memory.worker.js": [ "f5733b7c8da79f81dbda7e2d22673a730e27a68d", diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini new file mode 100644 index 00000000000..f64b45fea6b --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-002.html] + [Hit test float] + expected: FAIL + diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini new file mode 100644 index 00000000000..baa9f1a7541 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-005.html] + [Miss clipped float] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..e38782d8c85 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini index 6ef8bb1049f..171592fc08f 100644 --- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -2,6 +2,3 @@ [elementsFromPoint on the root document for points in iframe elements] expected: FAIL - [elementsFromPoint on inner documents] - expected: FAIL - diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 329b4d4131b..2db03661a2f 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,24 +312,21 @@ [fetch(): separate response Content-Type: text/plain ] expected: NOTRUN - [<iframe>: separate response Content-Type: text/html */*] - expected: FAIL - [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL - [<iframe>: combined response Content-Type: text/html;" text/plain] + [<iframe>: separate response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: */* text/html] + [<iframe>: separate response Content-Type: text/plain */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*;charset=gbk] + [<iframe>: separate response Content-Type: text/html;" \\" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index b2ffc8abf78..2d5faa72ac7 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -53,9 +53,6 @@ [combined text/javascript ] expected: FAIL - [separate text/javascript x/x] - expected: FAIL - - [separate text/javascript error] + [separate text/javascript;charset=windows-1252 error text/javascript] expected: FAIL diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index 30e1b851fd4..70efd28ddfc 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,6 @@ [X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!] expected: FAIL + [X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini deleted file mode 100644 index 75d75b4cda2..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_2.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini deleted file mode 100644 index dc2e45516de..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_5.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index 6b68e9094e4..f4d11768961 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,4 +1,5 @@ [supported-elements.html] + expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL @@ -6,10 +7,10 @@ expected: FAIL [Host element with delegatesFocus including no focusable descendants should be skipped] - expected: FAIL + expected: TIMEOUT [Area element should support autofocus] - expected: FAIL + expected: NOTRUN [Host element with delegatesFocus should support autofocus] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index 9df1ac56f2a..963d4cd20ef 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_nonescaping-1.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index d43f38b40cd..45d8be1c898 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_nonescaping-2.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index e440b1e38c6..71edac2c5ed 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_nonescaping-3.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini index 0cef5158fae..edae5e5adcd 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini @@ -4,3 +4,6 @@ [The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] expected: TIMEOUT + [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini index d1775aae3d1..2f985b21244 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini @@ -158,3 +158,6 @@ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 40518 more errors.\n\tMax AbsError of 1.9880115985870361e+0 at index of 23190.\n\t[23190\]\t9.9948620796203613e-1\t-9.8852539062500000e-1\t1.9880115985870361e+0\t2.0110880483607065e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n] expected: FAIL + [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44050 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 42250.\n\t[42250\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n] + expected: FAIL + diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini deleted file mode 100644 index 663a1f8fa30..00000000000 --- a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[018.html] - expected: TIMEOUT - [origin of the script that invoked the method, javascript:] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini new file mode 100644 index 00000000000..fe8654e447c --- /dev/null +++ b/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini @@ -0,0 +1,4 @@ +[WorkerGlobalScope-close.html] + [Test sending a message after closing.] + expected: FAIL + diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini index f584fce5df1..268949ced5c 100644 --- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini @@ -1,5 +1,4 @@ [005.html] - expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html b/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html index a7c87e2331f..7883c8ebf23 100644 --- a/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html +++ b/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html @@ -2,7 +2,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> -assert_precondition('FederatedCredential' in window, "`FederatedCredential` is supported."); +assert_implements('FederatedCredential' in window, "`FederatedCredential` is supported."); // Ensure that the check is "same origin", not "same origin-domain". document.domain = window.location.hostname; diff --git a/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html b/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html index d86c6e09c70..b4afc1eb91e 100644 --- a/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html +++ b/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html @@ -2,7 +2,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> -assert_precondition('PasswordCredential' in window, "`PasswordCredential` is supported."); +assert_implements('PasswordCredential' in window, "`PasswordCredential` is supported."); // Ensure that the check is "same origin", not "same origin-domain". document.domain = window.location.hostname; diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html b/tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html new file mode 100644 index 00000000000..b32d24859ea --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<html> +<title>CSS Grid: grid-tempalte-{rows|colums} dynamic updates</title> +<link rel="author" title="Julien Chaffraix" href="mailto:jchaffraix@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizing"> +<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=112501"> +<link rel="stylesheet" href="/css/support/grid.css"> +<link rel="stylesheet" href="/css/support/alignment.css"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"/> +<meta name="assert" content="This test checks that grid-tempalte-{rows|colums} dynamic updates properly relayout the grid items."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script> +setup({ explicit_done: true }); + +function testLayout(gridElementID, gridTracks, size, last = false) +{ + var gridElement = document.getElementById(gridElementID); + gridElement.style.gridTemplateColumns = gridTracks.columns; + gridElement.style.gridTemplateRows = gridTracks.rows; + var gridItem = gridElement.firstChild.nextSibling; + gridItem.setAttribute("data-expected-width", size.width); + gridItem.setAttribute("data-expected-height", size.height); + checkLayout("#" + gridElementID, last); +} + +function updateRowsColumns() +{ + // In the constrained grid case, we will always end up sizing after the min width. This means we don't test max width changes as they would not be detectable. + testLayout("constrainedGrid", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '20' }); + testLayout("constrainedGrid", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '40' }); + testLayout("constrainedGrid", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '40' }); + testLayout("constrainedGrid", { 'rows': 'auto', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '20' }); + testLayout("constrainedGrid", { 'rows': 'auto', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '10' }); + testLayout("constrainedGrid", { 'rows': '70px', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '70' }); + + testLayout("constrainedGridUndefinedHeight", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '50' }); + testLayout("constrainedGridUndefinedHeight", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '50' }); + testLayout("constrainedGridUndefinedHeight", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '50' }); + testLayout("constrainedGridUndefinedHeight", { 'rows': 'auto', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '20' }); + testLayout("constrainedGridUndefinedHeight", { 'rows': 'auto', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '10' }); + testLayout("constrainedGridUndefinedHeight", { 'rows': '70px', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '70' }); + + testLayout("unconstrainedGrid", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(20px, 60px)' }, { 'width': '60', 'height': '50' }); + testLayout("unconstrainedGrid", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(20px, 40px)' }, { 'width': '40', 'height': '50' }); + testLayout("unconstrainedGrid", { 'rows': 'minmax(20px, 30px)', 'columns': 'minmax(20px, 40px)' }, { 'width': '40', 'height': '30' }); + testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(20px, 40px)' }, { 'width': '40', 'height': '20' }); + testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(20px, max-content)' }, { 'width': '120', 'height': '10' }); + testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(150px, max-content)' }, { 'width': '150', 'height': '10' }); + testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'auto' }, { 'width': '120', 'height': '10' }); + testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(min-content, 1fr) 3fr' }, { 'width': '250', 'height': '10' }); + testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(min-content, 3fr) 3fr' }, { 'width': '500', 'height': '10' }, true); +} +</script> +<body onload="document.fonts.ready.then(() => { updateRowsColumns(); })"> +<div class="constrainedContainer"> + <div class="grid" id="constrainedGrid" style="height: 100%"> + <div class="sizedToGridArea">XXXXX XXXXXX</div> + </div> +</div> + +<div class="constrainedContainer"> + <div class="grid" id="constrainedGridUndefinedHeight"> + <div class="sizedToGridArea">XXXXX XXXXXX</div> + </div> +</div> + +<div class="unconstrainedContainer"> + <div class="grid justifyContentStart" id="unconstrainedGrid"> + <div class="sizedToGridArea">XXXXX XXXXXX</div> + </div> +</div> + +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html b/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html new file mode 100644 index 00000000000..651f4278f06 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html @@ -0,0 +1,199 @@ +<!DOCTYPE html> +<title>CSS Grid: grid gutters as percentage.</title> +<link rel="author" title="Sergio Villar" href="mailto:svillar@igalia.com"/> +<link rel="help" href="https://drafts.csswg.org/css-grid-1/#gutters"/> +<meta name="assert" content="Check that when 'height' is indefinite, row gaps should be based on grid's 'auto' height."/> +<link rel="stylesheet" href="/css/support/grid.css"/> +<link rel="stylesheet" href="/css/support/width-keyword-classes.css"/> +<link rel="stylesheet" href="/css/support/height-keyword-classes.css"/> +<link rel="stylesheet" href="/fonts/ahem.css" type="text/css"/> +<style> +body { margin: 0; } +.grid { font: 10px/1 Ahem; position: relative; } +.widthAuto { width: auto; } +.heightAuto { height: auto; } +.width400 { width: 400px; } +.width200 { width: 200px; } +.height200 { height: 200px; } +.height100 { height: 100px; } +.columns100-100 { grid-template-columns: 100px 100px; } +.rows50-50 { grid-template-rows: 50px 50px; } +.autoRepeat { grid-template: repeat(auto-fill, 50px) / repeat(auto-fill, 100px); } +.columnGap10Percent { grid-column-gap: 10% } +.rowGap20Percent { grid-row-gap: 20% } +.positioned { position: absolute; width: 100%; height: 100%; } +</style> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script type="text/javascript"> + setup({ explicit_done: true }); +</script> + +<body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })"> +<div id="log"></div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which will reduce the available space for tracks; however, they can grow exceeding their content's max-width.</p> +<div class="width400"> + <div class="grid columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="20"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="180" data-expected-height="10">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="220" data-offset-y="0" data-expected-width="180" data-expected-height="10">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="14" data-expected-width="180" data-expected-height="10">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="220" data-offset-y="14" data-expected-width="180" data-expected-height="10">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'instrinsic' width, which reduce the available space for tracks; however, since we use 'fit-content' intrinsic size, first column's width is reduced and height increased to let its content to fit.</p> +<div class="width400"> + <div class="grid fit-content heightAuto columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="40"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="20">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="20">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="28" data-expected-width="80" data-expected-height="20">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="100" data-offset-y="28" data-expected-width="100" data-expected-height="20">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which will reduce the available space for tracks; however, they can grow exceeding their content's max-width.</p> +<div class="width400"> + <div class="grid fit-content widthAuto columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="20"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="180" data-expected-height="10">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="220" data-offset-y="0" data-expected-width="180" data-expected-height="10">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="14" data-expected-width="180" data-expected-height="10">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="220" data-offset-y="14" data-expected-width="180" data-expected-height="10">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'instrinsic' width, which reduce the available space for tracks; however, since we use 'fit-content' intrinsic size, first column's width is reduced and height increased to let its content to fit.</p> +<div class="width400"> + <div class="grid fit-content columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="40"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="20">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="20">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="28" data-expected-width="80" data-expected-height="20">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="100" data-offset-y="28" data-expected-width="100" data-expected-height="20">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which reduce the available space for tracks; however, they are fixed sized and fit.</p> +<div class="width400"> + <div class="grid columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="100"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'intrinsic' width, which reduce the available space for tracks; however, they are fixed sized and don't fit so they overflow the grid container.</p> +<div class="width400"> + <div class="grid fit-content heightAuto columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which reduce the available space for tracks; however, they are fixed sized and fit.</p> +<div class="width400"> + <div class="grid fit-content widthAuto columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="100"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Both row and column gaps are based on definite sizes, but they will reduce the available space for tracks; however, since the container's specified inline size is not enough, first column's width is reduced and height increased to let its content to fit.</p> +<div class="width400"> + <div class="grid width200 height100 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="40">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="40">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="60" data-expected-width="80" data-expected-height="40">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="100" data-offset-y="60" data-expected-width="100" data-expected-height="40">XXXXX X XX</div> + </div> +</div> + +<p>Both row and column gaps are based on definite sizes, but they will reduce the available space for tracks; however, they can grow exceeding their content's max-width.</p> +<div class="width400"> + <div class="grid width400 height200 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="200"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="180" data-expected-height="80">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="220" data-offset-y="0" data-expected-width="180" data-expected-height="80">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="120" data-expected-width="180" data-expected-height="80">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="220" data-offset-y="120" data-expected-width="180" data-expected-height="80">XXXXX X XX</div> + </div> +</div> + +<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, they are fixed sized and don't fit so they overflow the grid container.</p> +<div class="width400"> + <div class="grid width200 height100 columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, they are fixed sized and fit.</p> +<div class="width400"> + <div class="grid width400 height200 columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="200"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="90" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="90" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'instrinsic' width, which reduce the available space for tracks; however, since we use 'fit-content' intrinsic size, only 1 repeteation is allowed, so tracks are adjusted to fit in the intrinsic size reduced by the gaps.</p> +<div class="width400"> + <div class="grid fit-content autoRepeat columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="70"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="80" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="64" data-expected-width="100" data-expected-height="20">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="64" data-expected-width="80" data-expected-height="20">XXXXX X XX</div> + </div> +</div> + +<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, repeat auto-fill allows all of them to fit.</p> +<div class=""> + <div class="grid width400 height200 autoRepeat columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="200"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="firstRowThirdColumn" data-offset-x="280" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="90" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="90" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + <div class="secondRowThirdColumn" data-offset-x="280" data-offset-y="90" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, repeat auto-fill allows only 1 repetition.</p> +<div class=""> + <div class="grid width200 height100 autoRepeat columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100"> + <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="80" data-expected-height="50">XX XXX X X</div> + <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="30">X XX XXX X</div> + <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="80" data-expected-height="30">XXXXX X XX</div> + </div> +</div> + +<p>Grid with positioned items. Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which reduce the available space for tracks; however, they are fixed sized and fit.</p> +<div class="width400"> + <div class="grid columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="100"> + <div class="positioned onlyFirstRowOnlyFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="positioned onlyFirstRowOnlySecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="positioned onlySecondRowOnlyFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="positioned onlySecondRowOnlySecondColumn" data-offset-x="140" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +<p>Grid with positioned items. Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, they are fixed sized and don't fit so they overflow the grid container.</p> +<div class=""> + <div class="grid width200 height100 columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100"> + <div class="positioned onlyFirstRowOnlyFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div> + <div class="positioned onlyFirstRowOnlySecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div> + <div class="positioned onlySecondRowOnlyFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div> + <div class="positioned onlySecondRowOnlySecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div> + </div> +</div> + +</body> diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html new file mode 100644 index 00000000000..7968af0b256 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>Empty ruby base container</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net"> +<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout"> +<link rel="match" href="empty-ruby-base-container-ref.html"> +<style> +a { position: absolute; } +</style> +<div style="font-size: 64px; line-height: 3">a<ruby><a> </a><rt>b</rt></ruby>c</div> diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html new file mode 100644 index 00000000000..b7c5d12963a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>Empty ruby base container</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net"> +<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout"> +<link rel="match" href="empty-ruby-base-container-ref.html"> +<style> +a { float: right; } +</style> +<div style="font-size: 64px; line-height: 3">a<ruby><a> </a><rt>b</rt></ruby>c</div> diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html new file mode 100644 index 00000000000..025859ea744 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>Empty ruby text container</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net"> +<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout"> +<link rel="match" href="empty-ruby-text-container-ref.html"> +<style> +a { position: absolute; } +</style> +<div style="font-size: 64px; line-height: 5">a<ruby><rb>b</rb><rtc><a> </a></rtc><rt>c</rt></ruby>d</div> diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html new file mode 100644 index 00000000000..88bcf42736e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>Empty ruby text container</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net"> +<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout"> +<link rel="match" href="empty-ruby-text-container-ref.html"> +<style> +a { float: right; } +</style> +<div style="font-size: 64px; line-height: 5">a<ruby><rb>b</rb><rtc><a> </a></rtc><rt>c</rt></ruby>d</div> diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html new file mode 100644 index 00000000000..8ddca2fc5bf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html @@ -0,0 +1,81 @@ +<!doctype html> +<meta charset=utf-8> +<title>CSS test reference</title> + +<style> +.r { display: ruby; } +.rbc { display: ruby-base-container; } +.rb { display: ruby-base; } +.rtc { display: ruby-text-container; } +.rt { display: ruby-text; } + +.r { font: 50px/1 monospace; } + +.rb { background: pink; } +.rt { background: orange; } +</style> + +<p>Test passes if, in each of the base/annotations pairs below, there is no gap between the pink box of the base and the orange box of the annotation.</p> + +<span class=r> + <span class="rbc pv"> + <span class=rb>b1</span> + </span> + <span class="rtc pv"> + <span class=rt>a1</span> + </span> +</span> + +<span class=r> + <span class="rbc ph"> + <span class=rb>b2</span> + </span> + <span class="rtc ph"> + <span class=rt>a2</span> + </span> +</span> + +<span class=r> + <span class="rbc bv"> + <span class=rb>b3</span> + </span> + <span class="rtc bv"> + <span class=rt>a3</span> + </span> +</span> + +<span class=r> + <span class="rbc bh"> + <span class=rb>b4</span> + </span> + <span class="rtc bh"> + <span class=rt>a4</span> + </span> +</span> + +<span class=r> + <span class="rbc mv"> + <span class=rb>b5</span> + </span> + <span class="rtc mv"> + <span class=rt>a5</span> + </span> +</span> + +<span class=r> + <span class="rbc mh"> + <span class=rb>b6</span> + </span> + <span class="rtc mh"> + <span class=rt>a6</span> + </span> +</span> + +<span class=r> + <span class="rbc ph pv mh mv bh bv"> + <span class=rb>b7</span> + </span> + <span class="rtc ph pv mh mv bh bv"> + <span class=rt>a7</span> + </span> +</span> diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html new file mode 100644 index 00000000000..1fa2befaf8a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html @@ -0,0 +1,94 @@ +<!doctype html> +<meta charset=utf-8> +<title>CSS Ruby test: no m/b/p/ effect on base/annotation containers</title> +<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net"> +<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout"> +<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-style"> +<link rel="match" href="ruby-box-model-001-ref.html"> +<meta name=assert content="the content box of base (resp annotation) container boxes should be tightly rapping around their content, and stacked up without gap. Margins/Borders/Padding on the base (resp annotation) container boxes do not apply."> + +<style> +.r { display: ruby; } +.rbc { display: ruby-base-container; } +.rb { display: ruby-base; } +.rtc { display: ruby-text-container; } +.rt { display: ruby-text; } + +.pv { padding-top: 100px; padding-bottom: 100px; } +.ph { padding-left: 100px; padding-right: 100px; } +.bv, .bh { border-style: solid; border-color: transparent; } +.bv { border-top-width: 100px; border-bottom-width: 100px; } +.bh { border-left-width: 100px; border-right-width: 100px; } +.mv { margin-top: 100px; margin-bottom: 100px; } +.mh { margin-left: 100px; margin-right: 100px; } + +.r { font: 50px/1 monospace; } + +.rb { background: pink; } +.rt { background: orange; } +</style> + +<p>Test passes if, in each of the base/annotations pairs below, there is no gap between the pink box of the base and the orange box of the annotation.</p> + +<span class=r> + <span class="rbc pv"> + <span class=rb>b1</span> + </span> + <span class="rtc pv"> + <span class=rt>a1</span> + </span> +</span> + +<span class=r> + <span class="rbc ph"> + <span class=rb>b2</span> + </span> + <span class="rtc ph"> + <span class=rt>a2</span> + </span> +</span> + +<span class=r> + <span class="rbc bv"> + <span class=rb>b3</span> + </span> + <span class="rtc bv"> + <span class=rt>a3</span> + </span> +</span> + +<span class=r> + <span class="rbc bh"> + <span class=rb>b4</span> + </span> + <span class="rtc bh"> + <span class=rt>a4</span> + </span> +</span> + +<span class=r> + <span class="rbc mv"> + <span class=rb>b5</span> + </span> + <span class="rtc mv"> + <span class=rt>a5</span> + </span> +</span> + +<span class=r> + <span class="rbc mh"> + <span class=rb>b6</span> + </span> + <span class="rtc mh"> + <span class=rt>a6</span> + </span> +</span> + +<span class=r> + <span class="rbc ph pv mh mv bh bv"> + <span class=rb>b7</span> + </span> + <span class="rtc ph pv mh mv bh bv"> + <span class=rt>a7</span> + </span> +</span> diff --git a/tests/wpt/web-platform-tests/docs/assets/custom.css b/tests/wpt/web-platform-tests/docs/assets/custom.css new file mode 100644 index 00000000000..a5f59ce7721 --- /dev/null +++ b/tests/wpt/web-platform-tests/docs/assets/custom.css @@ -0,0 +1,7 @@ +div.body { + min-width: auto; +} + +#video-introduction-transcript iframe { + max-width: 100%; +}
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html new file mode 100644 index 00000000000..939c618227b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html @@ -0,0 +1,111 @@ +<!doctype html> +<html> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> +<script> +const FRAME_URL = 'resources/coep-frame.html' +const SCOPE = new URL(FRAME_URL, location).pathname; +const SCRIPT = 'resources/sw.js?'; + +// This is similar to +// none-sw-from-require-corp.https.html, but there is one difference: +// In this file, the frame controlled by the service worker comes from +// the service worker, but on none-sw-from-require-corp.https.html +// the main document comes from the network directly. Hence the tests +// here test whether COEP is set correctly for documents coming from +// service workers. + +function remote(path) { + const REMOTE_ORIGIN = get_host_info().HTTPS_REMOTE_ORIGIN; + return new URL(path, REMOTE_ORIGIN + '/html/cross-origin-embedder-policy/'); +} + +let registration; +let frame; + +promise_test(async (t) => { + registration = await service_worker_unregister_and_register(t, SCRIPT, SCOPE); + await wait_for_state(t, registration.installing, 'activated') + frame = await with_iframe(FRAME_URL); +}, 'setup'); + + +promise_test(async (t) => { + const w = frame.contentWindow; + await w.fetch('resources/nothing-same-origin-corp.txt', {mode: 'no-cors'}); +}, 'making a same-origin request for CORP: same-origin'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await w.fetch('/common/blank.html', {mode: 'no-cors'}); +}, 'making a same-origin request for no CORP'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await w.fetch('resources/nothing-cross-origin-corp.txt', {mode: 'no-cors'}); +}, 'making a same-origin request for CORP: cross-origin'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await promise_rejects_js( + t, w.TypeError, + w.fetch(remote('resources/nothing-same-origin-corp.txt'), {mode: 'no-cors'})); +}, 'making a cross-origin request for CORP: same-origin'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await promise_rejects_js( + t, w.TypeError, w.fetch(remote('/common/blank.html'), {mode: 'no-cors'})); +}, 'making a cross-origin request for no CORP'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await w.fetch( + remote('resources/nothing-cross-origin-corp.txt'), + {mode: 'no-cors'}); +}, 'making a cross-origin request for CORP: cross-origin'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await promise_rejects_js( + t, w.TypeError, + w.fetch(remote('resources/nothing-same-origin-corp.txt?passthrough'), + {mode: 'no-cors'})); +}, 'making a cross-origin request for CORP: same-origin [PASS THROUGH]'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await promise_rejects_js( + t, w.TypeError, + w.fetch(remote('/common/blank.html?passthrough'), {mode: 'no-cors'})); +}, 'making a cross-origin request for no CORP [PASS THROUGH]'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await w.fetch( + remote('resources/nothing-cross-origin-corp.txt?passthrough'), + {mode: 'no-cors'}); +}, 'making a cross-origin request for CORP: cross-origin [PASS THROUGH]'); + +promise_test(async (t) => { + const w = frame.contentWindow; + await promise_rejects_js( + t, w.TypeError, w.fetch(remote('/common/blank.html'), {mode: 'cors'})); +}, 'making a cross-origin request with CORS without ACAO'); + +promise_test(async (t) => { + const w = frame.contentWindow; + const URL = remote( + '/common/blank.html?pipe=header(access-control-allow-origin,*'); + await w.fetch(URL, {mode: 'cors'}); +}, 'making a cross-origin request with CORS'); + +promise_test(async () => { + frame.remove(); + await registration.unregister(); +}, 'teardown'); + +</script> +</html> diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html index f8d8af7a469..42d5e6cc335 100644 --- a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html +++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html @@ -458,50 +458,5 @@ promise_test(async (t) => { checkCorpReportExistence(reports, blockedDueToCoep, iframe.src); checkCorpReportExistence(reports, redirect, iframe.src); checkReportNonExistence(reports, dest, iframe.src); -}, 'subresource CORP in a passthrough iframe hosted by a service worker without COEP'); - -promise_test(async (t) => { - const iframe_src = `resources/reporting-empty-frame.html`; - // Register a service worker that controls an iframe. - const registration = await service_worker_unregister_and_register( - t, 'resources/sw.js', iframe_src); - t.add_cleanup(() => registration.unregister()); - await wait_for_state(t, registration.installing, 'activated'); - - const iframe = document.createElement('iframe'); - t.add_cleanup(() => iframe.remove()); - - iframe.src = iframe_src; - document.body.appendChild(iframe); - await new Promise(resolve => { - iframe.addEventListener('load', resolve, {once: true}); - }); - - async function fetchInIframe(url) { - const init = { mode: 'no-cors', cache: 'no-store' }; - // Ignore errors. - return iframe.contentWindow.fetch(url, init).catch(() => {}); - } - - const suffix = 'subresource-corp-respondwith-fetch-sw'; - const sameOriginUrl = `/common/text-plain.txt?${suffix}`; - const blockedByPureCorp = `${REMOTE_ORIGIN}${BASE}/nothing-same-origin-corp.txt?${suffix}`; - const blockedDueToCoep = `${REMOTE_ORIGIN}/common/text-plain.txt?abc&${suffix}`; - const dest = `${REMOTE_ORIGIN}/common/text-plain.txt?xyz&${suffix}`; - const redirect = `/common/redirect.py?location=${encodeURIComponent(dest)}&${suffix}`; - - fetchInIframe(sameOriginUrl); - fetchInIframe(blockedByPureCorp); - fetchInIframe(blockedDueToCoep) - fetchInIframe(redirect); - - // Wait until |reports| is ready. - await wait(1000); - - checkReportNonExistence(reports, sameOriginUrl, iframe.src); - checkReportNonExistence(reports, blockedByPureCorp, iframe.src); - checkCorpReportExistence(reports, blockedDueToCoep, iframe.src); - checkCorpReportExistence(reports, redirect, iframe.src); - checkReportNonExistence(reports, dest, iframe.src); -}, 'subresource CORP in a respondWith(fetch) iframe hosted by a service worker without COEP'); +}, 'subresource CORP in an iframe hosted by a service worker without COEP'); </script>$ diff --git a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl index 429b80e0668..1eb30a06024 100644 --- a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl +++ b/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) -// Source: Screen Wake Lock API (https://w3c.github.io/wake-lock/) +// Source: Screen Wake Lock API (https://w3c.github.io/screen-wake-lock/) [SecureContext] partial interface Navigator { diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html new file mode 100644 index 00000000000..be7f5aa173d --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title><mo> dynamic form</title> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> + <style> + math, math * { + font: 60px/1 Ahem; + } + mo { + color: blue; + } + </style> + </head> + <body> + <p> + <math> + <mn>1</mn><mo id="infix_attach_prefix" form="prefix">+</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mo id="prefix_attach_infix" form="infix">+</mo><mn>3</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="infix_remove">+</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mo id="prefix_remove">+</mo><mn>3</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="infix_set_to_prefix" form="prefix">+</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mo id="prefix_set_to_infix" form="infix">+</mo><mn>3</mn> + </math> + </p> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html new file mode 100644 index 00000000000..7cf986f3169 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <head> + <meta charset="utf-8"> + <title><mo> dynamic form</title> + <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#operator-fence-separator-or-accent-mo"> + <meta name="assert" content="Verifies that the form (and thus spacing) can be changed dynamically"> + <link rel="match" href="mo-form-dynamic-002-ref.html"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> + <style> + math, math * { + font: 60px/1 Ahem; + } + mo { + color: blue; + } + </style> + <script> + window.addEventListener("load", () => { + document.getElementById("infix_attach_prefix").setAttribute("form", "prefix"); + document.getElementById("prefix_attach_infix").setAttribute("form", "infix"); + document.getElementById("infix_remove").removeAttribute("form"); + document.getElementById("prefix_remove").removeAttribute("form"); + document.getElementById("infix_set_to_prefix").setAttribute("form", "prefix"); + document.getElementById("prefix_set_to_infix").setAttribute("form", "infix"); + document.documentElement.classList.remove("reftest-wait"); + }); + </script> + </head> + <body> + <!-- Prefix and infix forms of "+" have different default spacing in + the operator dictionary. --> + <p> + <math> + <mn>1</mn><mo id="infix_attach_prefix">+</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mo id="prefix_attach_infix">+</mo><mn>3</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="infix_remove" form="prefix">+</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mo id="prefix_remove" form="infix">+</mo><mn>3</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="infix_set_to_prefix" form="postfix">+</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mo id="prefix_set_to_infix" form="postfix">+</mo><mn>3</mn> + </math> + </p> + <script src="/mathml/support/feature-detection.js"></script> + <script>MathMLFeatureDetection.ensure_for_match_reftest("has_operator_spacing");</script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html new file mode 100644 index 00000000000..85cabd287d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title><mo> dynamic lspace rspace (reference)</title> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> + <style> + math, math * { + font: 60px/1 Ahem; + } + mo { + color: blue; + } + </style> + </head> + <body> + <p> + <math> + <mn>1</mn><mo id="mo_attach_lspace" lspace="2em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_attach_rspace" rspace="3em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_modify_lspace" lspace="4em" rspace="1em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_modify_rspace" lspace="1em" rspace="5em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_remove_lspace" rspace="1em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_remove_rspace" lspace="1em">X</mo><mn>2</mn> + </math> + </p> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html new file mode 100644 index 00000000000..0898e48b5c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html @@ -0,0 +1,64 @@ +<!DOCTYPE html> +<html class="reftest-wait"> + <head> + <meta charset="utf-8"> + <title><mo> dynamic lspace rspace</title> + <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#operator-fence-separator-or-accent-mo"> + <meta name="assert" content="Verifies dynamic setting of lspace and rspace"> + <link rel="match" href="mo-lspace-rspace-dynamic-ref.html"> + <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> + <style> + math, math * { + font: 60px/1 Ahem; + } + mo { + color: blue; + } + </style> + <script> + window.addEventListener("load", () => { + document.getElementById("mo_attach_lspace").setAttribute("lspace", "2em"); + document.getElementById("mo_attach_rspace").setAttribute("rspace", "3em"); + document.getElementById("mo_modify_lspace").setAttribute("lspace", "4em"); + document.getElementById("mo_modify_rspace").setAttribute("rspace", "5em"); + document.getElementById("mo_remove_lspace").removeAttribute("lspace"); + document.getElementById("mo_remove_rspace").removeAttribute("rspace"); + document.documentElement.classList.remove("reftest-wait"); + }); + </script> + </head> + <body> + <p> + <math> + <mn>1</mn><mo id="mo_attach_lspace">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_attach_rspace">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_modify_lspace" lspace="1em" rspace="1em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_modify_rspace" lspace="1em" rspace="1em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_remove_lspace" lspace="1em" rspace="1em">X</mo><mn>2</mn> + </math> + </p> + <p> + <math> + <mn>1</mn><mo id="mo_remove_rspace" lspace="1em" rspace="1em">X</mo><mn>2</mn> + </math> + </p> + <script src="/mathml/support/feature-detection.js"></script> + <script>MathMLFeatureDetection.ensure_for_match_reftest("has_operator_spacing");</script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html new file mode 100644 index 00000000000..daefd1f2b8a --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html @@ -0,0 +1,153 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Dynamic stretch properties</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#dictionary-based-attributes"> +<meta name="assert" content="Verify stretchy, symmetric, largeop, minsize and maxsize are updated dynamically."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + math { + font: 25px/1 Ahem; + } + @font-face { + font-family: operators; + src: url("/fonts/math/operators.woff"); + } + mo { + font-family: operators; + } +</style> +<script> + setup({ explicit_done: true }); + window.addEventListener("load", () => { document.fonts.ready.then(runTests); }); + + function runTests() { + + var epsilon = 1; + var emToPx = 25; + var element; + + test(function() { + element = document.getElementById("minsize_attach"); + element.setAttribute("minsize", "4em"); + assert_approx_equals(element.getBoundingClientRect().height, 4 * emToPx, epsilon, "attach"); + + element = document.getElementById("minsize_modify"); + element.setAttribute("minsize", "5em"); + assert_approx_equals(element.getBoundingClientRect().height, 5 * emToPx, epsilon, "modify"); + + element = document.getElementById("minsize_remove"); + element.removeAttribute("minsize"); + assert_approx_equals(element.getBoundingClientRect().height, 1 * emToPx, epsilon, "remove"); + }, `minsize`); + + test(function() { + element = document.getElementById("maxsize_attach"); + element.setAttribute("maxsize", "4em"); + assert_approx_equals(element.getBoundingClientRect().height, 4 * emToPx, epsilon, "attach"); + + element = document.getElementById("maxsize_modify"); + element.setAttribute("maxsize", "5em"); + assert_approx_equals(element.getBoundingClientRect().height, 5 * emToPx, epsilon, "modify"); + + element = document.getElementById("maxsize_remove"); + element.removeAttribute("maxsize"); + assert_approx_equals(element.getBoundingClientRect().height, 6 * emToPx, epsilon, "remove"); + }, `maxsize`); + + test(function() { + element = document.getElementById("largeop_set_true"); + element.setAttribute("largeop", "true"); + assert_approx_equals(element.getBoundingClientRect().height, 2 * emToPx, epsilon, "set true"); + + element = document.getElementById("largeop_set_false"); + element.setAttribute("largeop", "false"); + assert_approx_equals(element.getBoundingClientRect().height, 1 * emToPx, epsilon, "set false"); + }, `largeop`); + + test(function() { + element = document.getElementById("symmetric_set_true"); + element.setAttribute("symmetric", "true"); + assert_approx_equals(element.getBoundingClientRect().height, 6 * emToPx, epsilon, "set true"); + + element = document.getElementById("symmetric_set_false"); + element.setAttribute("symmetric", "false"); + assert_approx_equals(element.getBoundingClientRect().height, 3 * emToPx, epsilon, "set false"); + }, `symmetric`); + + test(function() { + element = document.getElementById("stretchy_set_true"); + element.setAttribute("stretchy", "true"); + assert_approx_equals(element.getBoundingClientRect().height, 3 * emToPx, epsilon, "set true"); + + element = document.getElementById("stretchy_set_false"); + element.setAttribute("stretchy", "false"); + assert_approx_equals(element.getBoundingClientRect().height, 1 * emToPx, epsilon, "set false"); + }, `stretchy`); + + done(); + } +</script> +</head> +<body> + <div id="log"></div> + <p> + <math> + <mrow> + <mspace width="1em" height="1em" style="background: blue"/> + <mo id="minsize_attach" stretchy="true" symmetric="false">⥯</mo> + <mo id="minsize_modify" minsize="3em" stretchy="true" symmetric="false">⥯</mo> + <mo id="minsize_remove" minsize="2em" stretchy="true" symmetric="false">⥯</mo> + <mn><!-- not space like --></mn> + </mrow> + </math> + </p> + <p> + <math> + <mrow> + <mspace width="1em" height="6em" style="background: blue"/> + <mo id="maxsize_attach" stretchy="true" symmetric="false">⥯</mo> + <mo id="maxsize_modify" maxsize="3em" stretchy="true" symmetric="false">⥯</mo> + <mo id="maxsize_remove" maxsize="2em" stretchy="true" symmetric="false">⥯</mo> + <mn><!-- not space like --></mn> + </mrow> + </math> + </p> + <p> + <math displaystyle="true"> + <mspace width="1em" height="1em" style="background: blue"/> + <mrow> + <mo id="largeop_set_true" largeop="false" stretchy="false">⥯</mo> + <mn><!-- not space like --></mn> + </mrow> + <mrow> + <mo id="largeop_set_false" largeop="true" stretchy="false">⥯</mo> + <mn><!-- not space like --></mn> + </mrow> + </math> + </p> + <p> + <math> + <mrow> + <mspace width="1em" height="3em" style="background: blue"/> + <mo id="symmetric_set_true" symmetric="false" stretchy="true">⥯</mo> + <mo id="symmetric_set_false" symmetric="true" stretchy="true">⥯</mo> + <mn><!-- not space like --></mn> + </mrow> + </math> + </p> + <p> + <math> + <mrow> + <mspace width="1em" height="3em" style="background: blue"/> + <mo id="stretchy_set_true" symmetric="false" stretchy="false">⥯</mo> + <mo id="stretchy_set_false" symmetric="false" stretchy="true">⥯</mo> + <mn><!-- not space like --></mn> + </mrow> + </math> + </p> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html index f47bfad1fee..ece84ee693a 100644 --- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <head> <meta charset="utf-8"> <title>visibility</title> @@ -16,6 +16,19 @@ <math><mo style="visibility: hidden">3</mo></math> <math><mtext style="visibility: hidden">4</mtext></math> <math><ms style="visibility: hidden">5</ms></math> + <div id="dynamic"> + <math><mi>1</mi></math> + <math><mn>2</mn></math> + <math><mo>3</mo></math> + <math><mtext>4</mtext></math> + <math><ms>5</ms></math> + </div> </div> + <script> + window.addEventListener("load", () => { + document.getElementById("dynamic").style.visibility = "hidden"; + document.documentElement.classList.remove("reftest-wait"); + }); + </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html index f3afb79c157..5e41b9c7831 100644 --- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <head> <meta charset="utf-8"> <title>visibility</title> @@ -13,8 +13,17 @@ <p>Test passes if you see a green square.</p> <div style="background: green; color: red; width: 200px; height: 200px;"> <math><mfrac style="visibility: hidden"><mn>1</mn><mn>2</mn></mfrac></math> + <div id="dynamic"> + <math><mfrac><mn>1</mn><mn>2</mn></mfrac></math> + </div> </div> <script src="/mathml/support/feature-detection.js"></script> + <script> + window.addEventListener("load", () => { + document.getElementById("dynamic").style.visibility = "hidden"; + document.documentElement.classList.remove("reftest-wait"); + }); + </script> <script>MathMLFeatureDetection.ensure_for_match_reftest("has_mfrac");</script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html index cfeed644cbe..afa4c4184ce 100644 --- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <head> <meta charset="utf-8"> <title>visibility</title> @@ -14,8 +14,18 @@ <div style="background: green; color: red; width: 200px; height: 200px;"> <math><msqrt style="visibility: hidden"><mn>1</mn></msqrt></math> <math><mroot style="visibility: hidden"><mn>2</mn><mn>3</mn></mroot></math> + <div id="dynamic"> + <math><msqrt><mn>1</mn></msqrt></math> + <math><mroot><mn>2</mn><mn>3</mn></mroot></math> + </div> </div> <script src="/mathml/support/feature-detection.js"></script> + <script> + window.addEventListener("load", () => { + document.getElementById("dynamic").style.visibility = "hidden"; + document.documentElement.classList.remove("reftest-wait"); + }); + </script> <script>MathMLFeatureDetection.ensure_for_match_reftest("has_msqrt");</script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html index 8173b9cd2ef..ed4a4aeb09d 100644 --- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <head> <meta charset="utf-8"> <title>visibility</title> @@ -26,7 +26,29 @@ <math><menclose notation="downdiagonalstrike" style="visibility: hidden"><mn>12</mn></menclose></math> <math><menclose notation="longdiv" style="visibility: hidden"><mn>13</mn></menclose></math> <math><menclose notation="circle" style="visibility: hidden"><mn>14</mn></menclose></math> + <div id="dynamic"> + <math><menclose notation="left"><mn>1</mn></menclose></math> + <math><menclose notation="right"><mn>2</mn></menclose></math> + <math><menclose notation="top"><mn>3</mn></menclose></math> + <math><menclose notation="bottom"><mn>4</mn></menclose></math> + <math><menclose notation="box"><mn>5</mn></menclose></math> + <math><menclose notation="roundedbox"><mn>6</mn></menclose></math> + <math><menclose notation="actuarial"><mn>7</mn></menclose></math> + <math><menclose notation="madruwb"><mn>8</mn></menclose></math> + <math><menclose notation="horizontalstrike"><mn>9</mn></menclose></math> + <math><menclose notation="verticalstrike"><mn>10</mn></menclose></math> + <math><menclose notation="updiagonalstrike"><mn>11</mn></menclose></math> + <math><menclose notation="downdiagonalstrike"><mn>12</mn></menclose></math> + <math><menclose notation="longdiv"><mn>13</mn></menclose></math> + <math><menclose notation="circle"><mn>14</mn></menclose></math> + </div> </div> + <script> + window.addEventListener("load", () => { + document.getElementById("dynamic").style.visibility = "hidden"; + document.documentElement.classList.remove("reftest-wait"); + }); + </script> <script src="/mathml/support/feature-detection.js"></script> <script>MathMLFeatureDetection.ensure_for_match_reftest("has_menclose");</script> </body> diff --git a/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js b/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js index a2337e50dbc..a992f93eb53 100644 --- a/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js +++ b/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js @@ -17,7 +17,7 @@ async function createFile(testCase, fileName) { const writtenBytes = new Uint8Array(writeSharedArrayBuffer); writtenBytes.set([64, 65, 66, 67]); const writeCount = await file.write(writtenBytes, 0); - assert_precondition(writeCount == 4); + assert_equals(writeCount, 4); return file; } diff --git a/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js b/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js index 001fa57a2c0..0cfc9de2ec6 100644 --- a/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js +++ b/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js @@ -15,7 +15,7 @@ function createFileSync(testCase, fileName) { const writtenBytes = Uint8Array.from([64, 65, 66, 67]); const writeCount = file.write(writtenBytes, 0); - assert_precondition(writeCount == 4); + assert_equals(writeCount, 4); return file; } diff --git a/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js b/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js index 22eea20c312..abc2031d5f9 100644 --- a/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js +++ b/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js @@ -17,7 +17,7 @@ async function createFile(testCase, fileName) { const writtenBytes = new Uint8Array(writeSharedArrayBuffer); writtenBytes.set([64, 65, 66, 67]); const writeCount = await file.write(writtenBytes, 0); - assert_precondition(writeCount == 4); + assert_equals(writeCount, 4); return file; } diff --git a/tests/wpt/web-platform-tests/wake-lock/META.yml b/tests/wpt/web-platform-tests/screen-wake-lock/META.yml index 0123ccef855..b311993d82e 100644 --- a/tests/wpt/web-platform-tests/wake-lock/META.yml +++ b/tests/wpt/web-platform-tests/screen-wake-lock/META.yml @@ -1,4 +1,4 @@ -spec: https://w3c.github.io/wake-lock/ +spec: https://w3c.github.io/screen-wake-lock/ suggested_reviewers: - Honry - marcoscaceres diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js b/tests/wpt/web-platform-tests/screen-wake-lock/idlharness.https.window.js index 60c25f3386e..370696e90b3 100644 --- a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js +++ b/tests/wpt/web-platform-tests/screen-wake-lock/idlharness.https.window.js @@ -8,8 +8,8 @@ 'use strict'; idl_test( - ['wake-lock'], - ['dom', 'html', 'permissions'], + ['screen-wake-lock'], + ['dom', 'html'], async idl_array => { idl_array.add_objects({ Navigator: ['navigator'] }); diff --git a/tests/wpt/web-platform-tests/wake-lock/resources/page1.html b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page1.html index 7fc080d380c..7fc080d380c 100644 --- a/tests/wpt/web-platform-tests/wake-lock/resources/page1.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page1.html diff --git a/tests/wpt/web-platform-tests/wake-lock/resources/page2.html b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page2.html index 7fc080d380c..7fc080d380c 100644 --- a/tests/wpt/web-platform-tests/wake-lock/resources/page2.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page2.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-active-document.https.window.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-active-document.https.window.js index 53745ea3c60..724ce091969 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-active-document.https.window.js +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-active-document.https.window.js @@ -18,14 +18,14 @@ promise_test(async t => { // We first got to page1.html, grab a WakeLock object. const wakeLock1 = await getWakeLockObject( iframe, - "/wake-lock/resources/page1.html" + "/screen-wake-lock/resources/page1.html" ); // Save the DOMException of page1.html before navigating away. const frameDOMException1 = iframe.contentWindow.DOMException; // We navigate the iframe again, putting wakeLock1's document into an inactive state. const wakeLock2 = await getWakeLockObject( iframe, - "/wake-lock/resources/page2.html" + "/screen-wake-lock/resources/page2.html" ); // Now, wakeLock1's relevant global object's document is no longer active. // So, call .request(), and make sure it rejects appropriately. @@ -47,7 +47,7 @@ promise_test(async t => { // Load the outer iframe (we don't care about the awaited request) await getWakeLockObject( outerIframe, - "/wake-lock/resources/page1.html" + "/screen-wake-lock/resources/page1.html" ); // Now we create the inner iframe @@ -59,7 +59,7 @@ promise_test(async t => { // load innerIframe, and get the WakeLock instance const wakeLock = await getWakeLockObject( innerIframe, - "/wake-lock/resources/page2.html" + "/screen-wake-lock/resources/page2.html" ); // Save DOMException from innerIframe before navigating away. const innerIframeDOMException = innerIframe.contentWindow.DOMException; @@ -68,7 +68,7 @@ promise_test(async t => { // Wait for the load event to fire. await new Promise(resolve => { outerIframe.addEventListener("load", resolve); - outerIframe.src = "/wake-lock/resources/page2.html"; + outerIframe.src = "/screen-wake-lock/resources/page2.html"; }); // Now, request's relevant global object's document is still active diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html index 821ec62885d..821ec62885d 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers index 5d910ce6df8..5d910ce6df8 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-document-hidden-manual.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-document-hidden-manual.https.html index 2ac6bce20d8..550dc831cbc 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-document-hidden-manual.https.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-document-hidden-manual.https.html @@ -2,7 +2,7 @@ <meta charset="utf-8"> <meta name="timeout" content="long"> <title>Screen wake locks respect page visibility changes</title> -<link rel="help" href="https://w3c.github.io/wake-lock/#dfn-requesting-the-wake-lock"> +<link rel="help" href="https://w3c.github.io/screen-wake-lock/#handling-document-loss-of-visibility"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html index 2b2e0c94cc7..2b2e0c94cc7 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html index b8ab3b03017..b8ab3b03017 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html index f908717ff41..f908717ff41 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers index 7810751f805..7810751f805 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html index b15289beff4..b15289beff4 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers index 6bc94277cf9..6bc94277cf9 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-insecure-context.any.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-insecure-context.any.js index f32cc3c3543..f32cc3c3543 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-insecure-context.any.js +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-insecure-context.any.js diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-onrelease.https.html index 88c0cdb654c..88c0cdb654c 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-onrelease.https.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-request-denied.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-request-denied.https.html index b222ef342a6..b222ef342a6 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-request-denied.https.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-request-denied.https.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-screen-type-on-worker.https.worker.js index 0201294e236..0201294e236 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-screen-type-on-worker.https.worker.js diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-supported-by-feature-policy.html index a55eb54ba1c..a55eb54ba1c 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-supported-by-feature-policy.html diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js index 3a1d8c465c7..3a1d8c465c7 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelockpermissiondescriptor.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelockpermissiondescriptor.https.html index 88c95987f1e..e6d0d0b07ed 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelockpermissiondescriptor.https.html +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelockpermissiondescriptor.https.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<link rel="help" href="https://w3c.github.io/wake-lock/#the-wakelockpermissiondescriptor-dictionary"> +<link rel="help" href="https://w3c.github.io/screen-wake-lock/#the-screen-wake-lock-powerful-feature"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/resources/testdriver.js"></script> @@ -13,13 +13,4 @@ promise_test(async t => { assert_equals(status.state, "denied"); }); }, "PermissionDescriptor with name='screen-wake-lock' works"); - -promise_test(async t => { - await test_driver.set_permission({name: 'system-wake-lock'}, 'denied', false); - - return navigator.permissions.query({ name: 'system-wake-lock' }).then(status => { - assert_class_string(status, "PermissionStatus"); - assert_equals(status.state, "denied"); - }); -}, "PermissionDescriptor with name='system-wake-lock' works"); </script> diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js b/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js deleted file mode 100644 index 76f5352721d..00000000000 --- a/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js +++ /dev/null @@ -1,13 +0,0 @@ -// META: script=/resources/testdriver.js -// META: script=/resources/testdriver-vendor.js - -// https://w3c.github.io/wake-lock/ - -'use strict'; - -promise_test(async t => { - await test_driver.set_permission( - { name: 'system-wake-lock' }, 'granted', false); - - await fetch_tests_from_worker(new Worker('resources/idlharness-worker.js')); -}, 'Run idlharness tests in a worker.'); diff --git a/tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js b/tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js deleted file mode 100644 index b84ed44a8c8..00000000000 --- a/tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js +++ /dev/null @@ -1,24 +0,0 @@ -'use strict'; - -// https://w3c.github.io/wake-lock/ - -importScripts("/resources/testharness.js"); -importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js"); - -idl_test( - ['wake-lock'], - ['dom', 'html', 'permissions'], - async idl_array => { - idl_array.add_objects({ WorkerNavigator: ['navigator'] }); - - idl_array.add_objects({ - WakeLock: ['navigator.wakeLock'], - WakeLockSentinel: ['sentinel'], - }); - - self.sentinel = await navigator.wakeLock.request('system'); - self.sentinel.release(); - } -); - -done(); |