diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini new file mode 100644 index 00000000000..4bfb0c2053a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-004.html] + [Miss float below something else] + 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 deleted file mode 100644 index baa9f1a7541..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-005.html] - [Miss clipped float] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini index 6425f4beda1..cb2edcb5dcd 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini @@ -5,9 +5,6 @@ [[data-expected-height\] 7] expected: FAIL - [[data-expected-height\] 1] - expected: FAIL - - [[data-expected-height\] 2] + [[data-expected-height\] 4] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini new file mode 100644 index 00000000000..4c79907309b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini @@ -0,0 +1,4 @@ +[CaretPosition-001.html] + [Element at (400, 100)] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini new file mode 100644 index 00000000000..e6e1f29e274 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini @@ -0,0 +1,2 @@ +[matchMedia-display-none-iframe.html] + expected: ERROR 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 92131edd34a..0a2b0ecfc1e 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 @@ -315,15 +315,15 @@ [<iframe>: separate response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] + [<iframe>: separate response Content-Type: text/html */*] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: */* text/html] + [<iframe>: combined response Content-Type: text/html;x=" text/plain] 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 5c001592859..b2ffc8abf78 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 @@ -56,6 +56,6 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript;charset=windows-1252 error text/javascript] + [separate text/javascript error] 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 aa6eb8f6085..7277f622b20 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,6 +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%20'NosniFF'] + [X-Content-Type-Options%3A%20%2Cnosniff] 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 new file mode 100644 index 00000000000..75d75b4cda2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_2.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini new file mode 100644 index 00000000000..735a9a75a2a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini @@ -0,0 +1,2 @@ +[cross-origin-objects-on-new-window.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 5c3ac06f42a..09ae27d7480 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -171,3 +171,6 @@ [XHTML img usemap="#hash-id"] expected: FAIL + [HTML (standards) IMG usemap="no-hash-name"] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index c6f45be1eb2..e63fe7c263e 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-2.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT 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 3080be9afc0..d913fcbb129 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: CRASH + expected: TIMEOUT [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 7a36937927c..f4f994c5d6f 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,4 +1,5 @@ [iframe_sandbox_popups_nonescaping-3.html] + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js.ini new file mode 100644 index 00000000000..f1dff84610d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js.ini @@ -0,0 +1,4 @@ +[checkpoint-importScripts.any.sharedworker.html] + expected: ERROR + +[checkpoint-importScripts.any.worker.html] 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-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index a56bad443a2..66bd350083b 100644 --- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,5 +1,4 @@ [realtimeanalyser-fft-scaling.html] - expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/017.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/017.html.ini @@ -0,0 +1,5 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT + diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini new file mode 100644 index 00000000000..663a1f8fa30 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini @@ -0,0 +1,5 @@ +[018.html] + expected: TIMEOUT + [origin of the script that invoked the method, javascript:] + expected: TIMEOUT + diff --git a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini deleted file mode 100644 index 80f9a4f15b8..00000000000 --- a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[Worker-constructor.html] - expected: ERROR diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index a18f9258d5e..b77f988f230 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -337959,6 +337959,10 @@ "checkpoint-after-error-event.js": [ "f415732aa68dd529dcdacc49fb0d0ca6816c1249", [] + ], + "resolve-then-throw.js": [ + "a841eb780a050a82acb3cd496f4f7ad04a8f3a5b", + [] ] } }, @@ -340137,10 +340141,6 @@ "document-fonts-ready.html.ini": [ "d074292053b6d580efda36155c1d82af699494bc", [] - ], - "html-elements.html.ini": [ - "67caa470342db6d2b46dab28464f2491f84dd7b2", - [] ] }, "browsers": { @@ -341060,7 +341060,7 @@ [] ], "trusted-types.tentative.idl": [ - "4e469c19b823bf3d452f480e086474e49741964a", + "df7bebae7bb6f5c1b62b908ede3ac3cdf112d520", [] ], "ua-client-hints.idl": [ @@ -341108,7 +341108,7 @@ [] ], "web-animations.idl": [ - "ae64bb867eb23d6c491d3e9fee743c7cf8963236", + "2f2b086e65cc981d47def182b46ad48ebb28f846", [] ], "web-bluetooth.idl": [ @@ -351130,7 +351130,7 @@ [] ], "safari-technology-preview.rb": [ - "63ad4e5425e593e6641bc36d4ac4fc1bbb9085d6", + "9219623d55f6e034703f5125ac7285e1ba68d7aa", [] ], "system_info.yml": [ @@ -357590,7 +357590,7 @@ [] ], "client.py": [ - "7f122c83dd99117678e574b7a7a81b6e976dbfd9", + "fe5189ec0b30a4e20642624c55e464ef40f2901d", [] ], "error.py": [ @@ -358115,7 +358115,7 @@ [] ], "executorwebdriver.py": [ - "2b3d53d7445706ae3ab601c42e2f17496f6868db", + "695b16b9cca19525a0656f66da45fe66c599fb8b", [] ], "executorwebkit.py": [ @@ -360340,7 +360340,7 @@ [] ], "conftest.py": [ - "d5fd320a696a507718299c765278edde6205608a", + "bd5db0cfeba7bbc8aaf23c3151109cf48094ff09", [] ] }, @@ -360390,10 +360390,6 @@ [] ], "support": { - "close_window.html": [ - "7a3619829d10de99268b35968e8dec8985575564", - [] - ], "input.html": [ "e2c6dadd1218e0a7d8b7d243a1c49b7f47092d77", [] @@ -360452,7 +360448,7 @@ [] ], "conftest.py": [ - "d5fd320a696a507718299c765278edde6205608a", + "bd5db0cfeba7bbc8aaf23c3151109cf48094ff09", [] ] }, @@ -360682,7 +360678,7 @@ [] ], "conftest.py": [ - "f34630c3cbc5de2700552e576bc7c797d2bd724f", + "b080761bde881d236aed87dbfcd03963051ba443", [] ] }, @@ -360722,11 +360718,11 @@ [] ], "fixtures.py": [ - "80ccfddf3d15ad739f7eca6a77fac79e2dcdcaef", + "364ede1c93b12debcfbb171cc0aada8a663dbab4", [] ], "helpers.py": [ - "8bc53e7b4030dfdc6a78d11cb95915ea081eae73", + "f857083b47743e0925e7baf8b0b964008be7923c", [] ], "html": { @@ -436294,7 +436290,7 @@ ] ], "script-resource-with-nonsniffable-types.tentative.sub.html": [ - "81e256003b685305551fb54bf729461024853cf4", + "6d490d55bce25f807b2fe84ad110ceb166f30f8f", [ null, {} @@ -470270,6 +470266,31 @@ null, {} ] + ], + "checkpoint-importScripts.any.js": [ + "8791a099b6ec875e5851d3f18c0b9c29a9eab83b", + [ + "html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "dedicatedworker,sharedworker" + ] + ] + } + ], + [ + "html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.worker.html", + { + "script_metadata": [ + [ + "global", + "dedicatedworker,sharedworker" + ] + ] + } + ] ] }, "module": { @@ -521287,7 +521308,7 @@ ] ], "setting-the-timeline-of-an-animation.html": [ - "dd8617503951aafd71015d591914a1b54e3907a7", + "7e98ef4260f778c4257203f92db39a6bdaa92871", [ null, {} @@ -525904,7 +525925,7 @@ ] ], "RTCPeerConnection-createDataChannel.html": [ - "87867664b58a6787bd96cfb85559b4f1171e263f", + "7ad8bf7d46ecd7a3702542d8b484132afcc94d63", [ null, { @@ -525973,7 +525994,7 @@ ] ], "RTCPeerConnection-iceGatheringState.html": [ - "d9e3f42d2c21003c5a6c5614c24398aa9e681c60", + "88acf348eb5eaf0e803a88381d1b5463647b7a9e", [ null, {} @@ -562281,14 +562302,14 @@ }, "close_window": { "close.py": [ - "f4e3b0481d3b3cbc93ba8b44c639934cf8eef9de", + "fa8236791067410c01bae081723ee26e237a476b", [ null, {} ] ], "user_prompts.py": [ - "22df9155e8e7bd3aa32fc96c7dd482972c490fd2", + "c0f9cc7610c21ea97064392eb2e09fce6f853bbc", [ null, { @@ -562408,7 +562429,7 @@ ] ], "navigate.py": [ - "ead4f5aa04befe664f17036de925fd9df7626470", + "9426ea089b0f24da8576ac39eab74abe4abe4786", [ null, {} @@ -562950,7 +562971,7 @@ }, "get_window_handles": { "get.py": [ - "07ff9d4d26fd3b7cff5620b5295ebe386a226cf2", + "b25d76ce588449cf3279aa61e4c1c39863e44d12", [ null, {} @@ -563334,7 +563355,7 @@ }, "permissions": { "set.py": [ - "349462dbb5037321e16b92b8055bd94c015ea11c", + "4dce1589641d9c35e729344ac548f3ba99bc084a", [ null, {} @@ -563492,14 +563513,14 @@ }, "switch_to_window": { "alerts.py": [ - "8824138c2d25c07232847062c4853d73075eb94e", + "2fc390e8641b980bc1c317db93f9f1166bcb8284", [ null, {} ] ], "switch.py": [ - "907be66a149e8196c87760544140636d9625bbb9", + "8fb80fb3238f99eae758658d7796b29c1f8db717", [ null, {} diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini new file mode 100644 index 00000000000..4bfb0c2053a --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-004.html] + [Miss float below something else] + 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 deleted file mode 100644 index baa9f1a7541..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-005.html] - [Miss clipped float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini index 076c791cd3d..94a3570d26b 100644 --- a/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini +++ b/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini @@ -8,9 +8,6 @@ [[data-expected-height\] 3] expected: FAIL - [[data-expected-height\] 1] - expected: FAIL - - [[data-expected-height\] 2] + [[data-expected-height\] 4] expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini new file mode 100644 index 00000000000..4c79907309b --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini @@ -0,0 +1,4 @@ +[CaretPosition-001.html] + [Element at (400, 100)] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini new file mode 100644 index 00000000000..e6e1f29e274 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini @@ -0,0 +1,2 @@ +[matchMedia-display-none-iframe.html] + expected: ERROR 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 5285b1d6cd2..4e3da8a6166 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -315,15 +315,15 @@ [<iframe>: separate response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] + [<iframe>: separate response Content-Type: text/html */*] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: */* text/html] + [<iframe>: combined response Content-Type: text/html;x=" text/plain] 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 5c001592859..b2ffc8abf78 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -56,6 +56,6 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript;charset=windows-1252 error text/javascript] + [separate text/javascript error] 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 aa6eb8f6085..7277f622b20 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,6 +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%20'NosniFF'] + [X-Content-Type-Options%3A%20%2Cnosniff] 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 new file mode 100644 index 00000000000..75d75b4cda2 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_2.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini new file mode 100644 index 00000000000..735a9a75a2a --- /dev/null +++ b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini @@ -0,0 +1,2 @@ +[cross-origin-objects-on-new-window.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 1de3f8d68b2..98163335e40 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -172,3 +172,6 @@ [XHTML img usemap="http://example.org/#garbage-before-hash-id"] expected: FAIL + [HTML (standards) IMG usemap="no-hash-name"] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index c6f45be1eb2..e63fe7c263e 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-2.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT 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 963d4cd20ef..9df1ac56f2a 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: CRASH + expected: TIMEOUT [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 dc856a3d5a3..e440b1e38c6 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,5 +1,6 @@ [iframe_sandbox_popups_nonescaping-3.html] type: testharness + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js.ini new file mode 100644 index 00000000000..f1dff84610d --- /dev/null +++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js.ini @@ -0,0 +1,4 @@ +[checkpoint-importScripts.any.sharedworker.html] + expected: ERROR + +[checkpoint-importScripts.any.worker.html] 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-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index a56bad443a2..66bd350083b 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,5 +1,4 @@ [realtimeanalyser-fft-scaling.html] - expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata/webmessaging/with-ports/017.html.ini b/tests/wpt/metadata/webmessaging/with-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata/webmessaging/with-ports/017.html.ini @@ -0,0 +1,5 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata/webmessaging/without-ports/018.html.ini new file mode 100644 index 00000000000..663a1f8fa30 --- /dev/null +++ b/tests/wpt/metadata/webmessaging/without-ports/018.html.ini @@ -0,0 +1,5 @@ +[018.html] + expected: TIMEOUT + [origin of the script that invoked the method, javascript:] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini deleted file mode 100644 index 80f9a4f15b8..00000000000 --- a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[Worker-constructor.html] - expected: ERROR diff --git a/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html b/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html index 81e256003b6..6d490d55bce 100644 --- a/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html +++ b/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html @@ -42,12 +42,7 @@ function test(mime_type, is_blocking_expected) { }); // www1 is cross-origin, so the HTTP response is CORB-eligible. - // - // TODO(lukasza@chromium.org): Once https://crbug.com/888079 and - // https://crbug.com/1098938 are fixed, we should use a cross-*origin* - // rather than cross-*site* URL below (e.g. s/hosts[alt]/domains/g). - // See also https://crbug.com/918660 for more context. - var src_prefix = "http://{{hosts[alt][www1]}}:{{ports[http][0]}}/fetch/corb/resources/sniffable-resource.py"; + var src_prefix = "http://{{domains[www1]}}:{{ports[http][0]}}/fetch/corb/resources/sniffable-resource.py"; body = `window['${script_has_run_token}'] = true;` script.src = src_prefix + "?type=" + mime_type + "&body=" + encodeURIComponent(body); document.body.appendChild(script) diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js new file mode 100644 index 00000000000..8791a099b6e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/microtasks/checkpoint-importScripts.any.js @@ -0,0 +1,40 @@ +// META: global=dedicatedworker,sharedworker + +// The `then` handlers for `Promise.resolve()` are evaluated in the first +// microtasks checkpoint after `Promise.resolve()`. + +// ---------------------------------------------------------------- +// Check when microtasks checkpoint is performed around importScripts(). + +// The expectation is: the `then` handlers are evaluated after the script +// calling importScripts() is finished, not immediately after importScripts(). +// Although #clean-up-after-running-script is executed as a part of +// #run-a-classic-script for importScripts()ed scripts, but at that time +// microtasks checkpoint is NOT performed because JavaScript execution context +// stack is not empty. + +self.log = []; + +// Microtasks should be executed before +// #run-a-classic-script/#run-a-module-script is completed, and thus before +// script evaluation scheduled by setTimeout(). +async_test(t => { + self.addEventListener('error', + t.unreached_func('error event should not be fired')); + + t.step_timeout(() => { + assert_array_equals(log, [ + 'importScripts()ed script', + 'catch', + 'promise' + ]); + t.done(); + }, + 0); +}, "Promise resolved during importScripts()"); + +try { + importScripts('resources/resolve-then-throw.js'); +} catch (e) { + self.log.push('catch'); +} diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/microtasks/resources/resolve-then-throw.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/microtasks/resources/resolve-then-throw.js new file mode 100644 index 00000000000..a841eb780a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/microtasks/resources/resolve-then-throw.js @@ -0,0 +1,3 @@ +self.log.push('importScripts()ed script'); +Promise.resolve().then(() => self.log.push('promise')); +throw new Error('foo'); diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini deleted file mode 100644 index 67caa470342..00000000000 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini +++ /dev/null @@ -1,9 +0,0 @@ -[html-elements.html] - [Compare CSS span definitions (only valid if pre-reqs pass)] - expected: - if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=187052 - - - [Compare CSS div definitions (only valid if pre-reqs pass)] - expected: - if product == "safari" or product == "epiphany" or product == "webkit": FAIL # https://bugs.webkit.org/show_bug.cgi?id=187052 diff --git a/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl b/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl index 4e469c19b82..df7bebae7bb 100644 --- a/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl +++ b/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl @@ -30,7 +30,20 @@ typedef [StringContext=TrustedScriptURL] USVString ScriptURLString; SecureContext ] interface TrustedTypePolicyFactory : EventTarget { TrustedTypePolicy createPolicy(DOMString policyName, optional TrustedTypePolicyOptions policyOptions = {}); - // All the policy object names that have been created + boolean isHTML(any checkedObject); + boolean isScript(any checkedObject); + boolean isScriptURL(any checkedObject); + readonly attribute TrustedHTML emptyHTML; + readonly attribute TrustedScript emptyScript; + DOMString? getAttributeType(DOMString tagName, DOMString attribute, + optional DOMString elementNS, optional DOMString attrNs); + DOMString? getPropertyType(DOMString tagName, DOMString property, + optional DOMString elementNS); + + readonly attribute TrustedTypePolicy defaultPolicy; + object? getTypeMapping(optional DOMString ns); + + attribute EventHandler onbeforecreatepolicy; }; [ diff --git a/tests/wpt/web-platform-tests/interfaces/web-animations.idl b/tests/wpt/web-platform-tests/interfaces/web-animations.idl index ae64bb867eb..2f2b086e65c 100644 --- a/tests/wpt/web-platform-tests/interfaces/web-animations.idl +++ b/tests/wpt/web-platform-tests/interfaces/web-animations.idl @@ -24,7 +24,7 @@ interface Animation : EventTarget { optional AnimationTimeline? timeline); attribute DOMString id; attribute AnimationEffect? effect; - readonly attribute AnimationTimeline? timeline; + attribute AnimationTimeline? timeline; attribute double? startTime; attribute double? currentTime; attribute double playbackRate; diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb b/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb index 63ad4e5425e..9219623d55f 100644 --- a/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb +++ b/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb @@ -1,10 +1,10 @@ cask 'safari-technology-preview' do - if MacOS.version <= :mojave - version '108,001-15210-20200610-d35e22e0-d9fa-4503-9988-cf7b2b554e15' - sha256 '0299fd2f2836b170a8b633b00d289bcc6913716042e82251af4fa1d5394b87d5' + if MacOS.version <= :catalina + version '111,001-32177-20200728-f459b529-99a7-4707-a85c-e693ddb56eee' + sha256 'f95f72e8cf6a3160fad71411168c8f0eeb805ca1e7a7eec06b6e92d2a0ab6e85' else - version '108,001-16091-20200610-09f04256-ae36-4930-b7c4-b1333f8d8e5f' - sha256 '22a4d9ca7fb39227cbf4a83be13ad05973171cf88eb6bcc2fac4556a36017357' + version '111,001-32479-20200728-12c458d1-e348-4ec5-9d55-9e9bad9c805e' + sha256 '6b199cca77be7407f40a62bc1ec576a8751b24da15613dfc0a951ac3d996f45f' end url "https://secure-appldnld.apple.com/STP/#{version.after_comma}/SafariTechnologyPreview.dmg" @@ -13,7 +13,7 @@ cask 'safari-technology-preview' do homepage 'https://developer.apple.com/safari/download/' auto_updates true - depends_on macos: '>= :mojave' + depends_on macos: '>= :catalina' pkg 'Safari Technology Preview.pkg' diff --git a/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py b/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py index 7f122c83dd9..fe5189ec0b3 100644 --- a/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py +++ b/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py @@ -242,6 +242,15 @@ class Window(object): def __init__(self, session): self.session = session + @command + def close(self): + handles = self.session.send_session_command("DELETE", "window") + if handles is not None and len(handles) == 0: + # With no more open top-level browsing contexts, the session is closed. + self.session.session_id = None + + return handles + @property @command def rect(self): @@ -548,6 +557,13 @@ class Session(object): def source(self): return self.send_session_command("GET", "source") + @command + def new_window(self, type_hint=None): + body = {"type": type_hint} + value = self.send_session_command("POST", "window/new", body) + + return value["handle"] + @property @command def window_handle(self): @@ -569,15 +585,6 @@ class Session(object): return self.send_session_command("POST", url, body) - @command - def close(self): - handles = self.send_session_command("DELETE", "window") - if handles is not None and len(handles) == 0: - # With no more open top-level browsing contexts, the session is closed. - self.session_id = None - - return handles - @property @command def handles(self): diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py index 2b3d53d7445..695b16b9cca 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py @@ -112,7 +112,7 @@ class WebDriverTestharnessProtocolPart(TestharnessProtocolPart): for handle in handles: try: self.webdriver.window_handle = handle - self.webdriver.close() + self.webdriver.window.close() except client.NoSuchWindowException: pass self.webdriver.window_handle = self.runner_handle diff --git a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-timeline-of-an-animation.html b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-timeline-of-an-animation.html index dd861750395..7e98ef4260f 100644 --- a/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-timeline-of-an-animation.html +++ b/tests/wpt/web-platform-tests/web-animations/timing-model/animations/setting-the-timeline-of-an-animation.html @@ -60,7 +60,7 @@ test(t => { new Animation(new KeyframeEffect(createDiv(t), null, 100 * MS_PER_SEC), null); animation.startTime = document.timeline.currentTime; - assert_equals(animation.playState, 'idle'); + assert_equals(animation.playState, 'running'); animation.timeline = document.timeline; @@ -73,7 +73,7 @@ test(t => { new Animation(new KeyframeEffect(createDiv(t), null, 100 * MS_PER_SEC), null); animation.startTime = document.timeline.currentTime - 200 * MS_PER_SEC; - assert_equals(animation.playState, 'idle'); + assert_equals(animation.playState, 'running'); animation.timeline = document.timeline; diff --git a/tests/wpt/web-platform-tests/webdriver/tests/back/conftest.py b/tests/wpt/web-platform-tests/webdriver/tests/back/conftest.py index d5fd320a696..bd5db0cfeba 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/back/conftest.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/back/conftest.py @@ -4,15 +4,15 @@ from webdriver.error import NoSuchWindowException @pytest.fixture(name="session") -def fixture_session(capabilities, session, create_window): +def fixture_session(capabilities, session): """Prevent re-using existent history by running the test in a new window.""" original_handle = session.window_handle - session.window_handle = create_window() + session.window_handle = session.new_window() yield session try: - session.close() + session.window.close() except NoSuchWindowException: pass diff --git a/tests/wpt/web-platform-tests/webdriver/tests/close_window/close.py b/tests/wpt/web-platform-tests/webdriver/tests/close_window/close.py index f4e3b0481d3..fa823679106 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/close_window/close.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/close_window/close.py @@ -15,10 +15,10 @@ def test_no_browsing_context(session, closed_window): assert_error(response, "no such window") -def test_close_browsing_context(session, create_window): +def test_close_browsing_context(session): original_handles = session.handles - new_handle = create_window() + new_handle = session.new_window() session.window_handle = new_handle response = close(session) @@ -27,10 +27,10 @@ def test_close_browsing_context(session, create_window): assert new_handle not in handles -def test_close_browsing_context_with_dismissed_beforeunload_prompt(session, create_window): +def test_close_browsing_context_with_dismissed_beforeunload_prompt(session): original_handles = session.handles - new_handle = create_window() + new_handle = session.new_window() session.window_handle = new_handle session.url = inline(""" diff --git a/tests/wpt/web-platform-tests/webdriver/tests/close_window/user_prompts.py b/tests/wpt/web-platform-tests/webdriver/tests/close_window/user_prompts.py index 22df9155e8e..c0f9cc7610c 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/close_window/user_prompts.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/close_window/user_prompts.py @@ -11,10 +11,10 @@ def close(session): @pytest.fixture -def check_user_prompt_closed_without_exception(session, create_dialog, create_window): +def check_user_prompt_closed_without_exception(session, create_dialog): def check_user_prompt_closed_without_exception(dialog_type, retval): original_handle = session.window_handle - new_handle = create_window() + new_handle = session.new_window() session.window_handle = new_handle create_dialog(dialog_type, text=dialog_type) @@ -34,9 +34,9 @@ def check_user_prompt_closed_without_exception(session, create_dialog, create_wi @pytest.fixture -def check_user_prompt_closed_with_exception(session, create_dialog, create_window): +def check_user_prompt_closed_with_exception(session, create_dialog): def check_user_prompt_closed_with_exception(dialog_type, retval): - new_handle = create_window() + new_handle = session.new_window() session.window_handle = new_handle create_dialog(dialog_type, text=dialog_type) @@ -52,9 +52,9 @@ def check_user_prompt_closed_with_exception(session, create_dialog, create_windo @pytest.fixture -def check_user_prompt_not_closed_but_exception(session, create_dialog, create_window): +def check_user_prompt_not_closed_but_exception(session, create_dialog): def check_user_prompt_not_closed_but_exception(dialog_type): - new_handle = create_window() + new_handle = session.new_window() session.window_handle = new_handle create_dialog(dialog_type, text=dialog_type) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py b/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py index ead4f5aa04b..9426ea089b0 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py @@ -1,8 +1,7 @@ -import pytest - -from tests.support.asserts import assert_error, assert_success +from tests.support.asserts import assert_success from tests.support.inline import inline + def element_click(session, element): return session.transport.send( "POST", "session/{session_id}/element/{element_id}/click".format( @@ -93,12 +92,14 @@ def test_link_hash(session): """, args=(element,)) is True -def test_link_closes_window(session, create_window): - new_handle = create_window() +def test_link_closes_window(session, url): + new_handle = session.new_window() session.window_handle = new_handle - session.url = inline("""<a href="/webdriver/tests/element_click/support/close_window.html">asdf</a>""") + session.url = inline("""<a href="javascript:window.close()">Close me</a>""") element = session.find.css("a", all=False) + response = element_click(session, element) assert_success(response) + assert new_handle not in session.handles diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/support/close_window.html b/tests/wpt/web-platform-tests/webdriver/tests/element_click/support/close_window.html deleted file mode 100644 index 7a3619829d1..00000000000 --- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/support/close_window.html +++ /dev/null @@ -1,9 +0,0 @@ -<html> - <body onload="checkload()"> - <script> - function checkload() { - window.close() - } - </script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/webdriver/tests/forward/conftest.py b/tests/wpt/web-platform-tests/webdriver/tests/forward/conftest.py index d5fd320a696..bd5db0cfeba 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/forward/conftest.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/forward/conftest.py @@ -4,15 +4,15 @@ from webdriver.error import NoSuchWindowException @pytest.fixture(name="session") -def fixture_session(capabilities, session, create_window): +def fixture_session(capabilities, session): """Prevent re-using existent history by running the test in a new window.""" original_handle = session.window_handle - session.window_handle = create_window() + session.window_handle = session.new_window() yield session try: - session.close() + session.window.close() except NoSuchWindowException: pass diff --git a/tests/wpt/web-platform-tests/webdriver/tests/get_window_handles/get.py b/tests/wpt/web-platform-tests/webdriver/tests/get_window_handles/get.py index 07ff9d4d26f..b25d76ce588 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/get_window_handles/get.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/get_window_handles/get.py @@ -6,12 +6,11 @@ def get_window_handles(session): "GET", "session/{session_id}/window/handles".format(**vars(session))) -def test_no_browsing_context(session, create_window): +def test_no_browsing_context(session): window_handles = session.handles - new_handle = create_window() - session.window_handle = new_handle - session.close() + session.window_handle = session.new_window() + session.window.close() response = get_window_handles(session) assert_success(response, window_handles) @@ -26,9 +25,9 @@ def test_single_window(session): assert value[0] == session.window_handle -def test_multiple_windows(session, create_window): +def test_multiple_windows(session): original_handle = session.window_handle - new_handle = create_window() + new_handle = session.new_window() response = get_window_handles(session) value = assert_success(response) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py b/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py index 349462dbb50..4dce1589641 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py @@ -100,10 +100,10 @@ def test_set_to_state(session, url, state, realmSetting): {} ]) @pytest.mark.capabilities({"acceptInsecureCerts": True}) -def test_set_to_state_cross_realm(session, create_window, url, state, realmSetting): +def test_set_to_state_cross_realm(session, url, state, realmSetting): session.url = url("/common/blank.html", protocol="https") original_window = session.window_handle - session.window_handle = create_window() + session.window_handle = session.new_window() session.url = url("/common/blank.html", protocol="https") parameters = { "descriptor": { "name": "geolocation" }, "state": state } parameters.update(realmSetting) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/send_alert_text/conftest.py b/tests/wpt/web-platform-tests/webdriver/tests/send_alert_text/conftest.py index f34630c3cbc..b080761bde8 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/send_alert_text/conftest.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/send_alert_text/conftest.py @@ -4,10 +4,10 @@ from webdriver.error import NoSuchAlertException, NoSuchWindowException @pytest.fixture(name="session") -def fixture_session(capabilities, session, create_window): +def fixture_session(capabilities, session): """Prevent dialog rate limits by running the test in a new window.""" original_handle = session.window_handle - session.window_handle = create_window() + session.window_handle = session.new_window() yield session @@ -17,7 +17,7 @@ def fixture_session(capabilities, session, create_window): pass try: - session.close() + session.window.close() except NoSuchWindowException: pass diff --git a/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py b/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py index 80ccfddf3d1..364ede1c93b 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py @@ -87,18 +87,6 @@ def create_frame(session): return create_frame -@pytest.fixture -def create_window(session): - """Open new window and return the window handle.""" - def create_window(): - windows_before = session.handles - name = session.execute_script("window.open()") - assert len(session.handles) == len(windows_before) + 1 - new_windows = list(set(session.handles) - set(windows_before)) - return new_windows.pop() - return create_window - - @pytest.fixture def http(configuration): return HTTPRequest(configuration["host"], configuration["port"]) @@ -224,13 +212,13 @@ def create_dialog(session): @pytest.fixture -def closed_window(session, create_window): +def closed_window(session): original_handle = session.window_handle + new_handle = session.new_window() - new_handle = create_window() session.window_handle = new_handle - session.close() + session.window.close() assert new_handle not in session.handles, "Unable to close window {}".format(new_handle) yield new_handle diff --git a/tests/wpt/web-platform-tests/webdriver/tests/support/helpers.py b/tests/wpt/web-platform-tests/webdriver/tests/support/helpers.py index 8bc53e7b403..f857083b477 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/support/helpers.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/support/helpers.py @@ -70,7 +70,7 @@ def cleanup_session(session): for window in _windows(session, exclude=[current_window]): session.window_handle = window if len(session.handles) > 1: - session.close() + session.window.close() session.window_handle = current_window diff --git a/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/alerts.py b/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/alerts.py index 8824138c2d2..2fc390e8641 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/alerts.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/alerts.py @@ -11,10 +11,10 @@ def switch_to_window(session, handle): {"handle": handle}) -def test_retain_tab_modal_status(session, create_window): +def test_retain_tab_modal_status(session): handle = session.window_handle - new_handle = create_window() + new_handle = session.new_window() response = switch_to_window(session, new_handle) assert_success(response) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/switch.py b/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/switch.py index 907be66a149..8fb80fb3238 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/switch.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/switch_to_window/switch.py @@ -15,9 +15,7 @@ def test_null_parameter_value(session, http): assert_error(Response.from_http(response), "invalid argument") -def test_null_response_value(session, create_window): - new_handle = create_window() - - response = switch_to_window(session, new_handle) +def test_null_response_value(session): + response = switch_to_window(session, session.new_window()) value = assert_success(response) assert value is None diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html index 87867664b58..7ad8bf7d46e 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html @@ -707,6 +707,11 @@ for (const options of [{}, {negotiated: true, id: 0}]) { await createDataChannelPair(t, options, pc1); }, `addTrack, then creating ${mode}, should negotiate properly when max-bundle is used`); +/* +This test is disabled until https://github.com/w3c/webrtc-pc/issues/2562 +has been resolved; it presupposes that stopping the first transceiver +breaks the transport. + promise_test(async t => { const pc1 = new RTCPeerConnection({bundlePolicy: "max-bundle"}); const pc2 = new RTCPeerConnection(); @@ -726,6 +731,7 @@ for (const options of [{}, {negotiated: true, id: 0}]) { await dc1Closed; }, `Stopping the bundle-tag when there is a ${mode} in the bundle ` + `should kill the DataChannel`); +*/ } /* diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html index d9e3f42d2c2..88acf348eb5 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html @@ -137,8 +137,12 @@ await pc1.setLocalDescription(await pc1.createOffer()); await pc2.setRemoteDescription(pc1.localDescription); await pc2.setLocalDescription(await pc2.createAnswer()); + assert_equals(pc2.getTransceivers().length, 0, + 'PC2 transceivers should be invisible after negotiation'); await iceGatheringStateTransitions(pc2, 'new'); await pc1.setRemoteDescription(pc2.localDescription); + assert_equals(pc1.getTransceivers().length, 0, + 'PC1 transceivers should be invisible after negotiation'); await iceGatheringStateTransitions(pc1, 'new'); }, 'renegotiation that closes all transports should result in ICE gathering state "new"');