diff options
Diffstat (limited to 'tests')
66 files changed, 746 insertions, 208 deletions
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 deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-002.html] - [Hit test float] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini index 6425f4beda1..cb2edcb5dcd 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini @@ -5,9 +5,6 @@ [[data-expected-height\] 7] expected: FAIL - [[data-expected-height\] 1] - expected: FAIL - - [[data-expected-height\] 2] + [[data-expected-height\] 4] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini new file mode 100644 index 00000000000..b9867f577df --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini @@ -0,0 +1,2 @@ +[z-index-does-not-apply.html] + 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/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini deleted file mode 100644 index 2ca05f57bb0..00000000000 --- a/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[HTMLMediaElement.html] - expected: TIMEOUT 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 24b243191a4..26d9a6ee392 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 @@ -318,15 +318,21 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] - expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] + [<iframe>: combined response Content-Type: text/html;" text/plain] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*;charset=gbk] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: combined response Content-Type: text/html;" \\" 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 b2ffc8abf78..d2df9b78483 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,3 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript error] - 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 deleted file mode 100644 index 87b07c3e670..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[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_5.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini new file mode 100644 index 00000000000..dc2e45516de --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_5.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + 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-loading-lazy-load-event.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini new file mode 100644 index 00000000000..695d4c26829 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini @@ -0,0 +1,7 @@ +[iframe-loading-lazy-load-event.tentative.html] + [In-viewport loading=lazy visibility:hidden iframe does not block the load event] + expected: FAIL + + [In-viewport loading=lazy iframe does not block the load event] + expected: FAIL + 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..7d2b5231af2 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: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini deleted file mode 100644 index bcd2fd0eab8..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[077.html] - [ adding several types of scripts through the DOM and removing some of them confuses scheduler ] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini deleted file mode 100644 index fca4d908c89..00000000000 --- a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[module-static-import-delayed.html] - [document.write in an imported module] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini index 5ddb9bfeff6..a1effd5f801 100644 --- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini +++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini @@ -1,10 +1,9 @@ [promise-job-entry.html] - expected: TIMEOUT [Fulfillment handler on fulfilled promise] expected: FAIL [Rejection handler on pending-then-rejected promise] - expected: TIMEOUT + expected: FAIL [Sanity check: this all works as expected with no promises involved] expected: FAIL @@ -16,5 +15,5 @@ expected: FAIL [Fulfillment handler on pending-then-fulfilled promise] - expected: TIMEOUT + expected: FAIL 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 66bd350083b..a56bad443a2 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,4 +1,5 @@ [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/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini new file mode 100644 index 00000000000..663a1f8fa30 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/webmessaging/with-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/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/webmessaging/without-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/workers/baseurl/alpha/import-in-moduleworker.html.ini b/tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini index bfd4d6dd2d6..bf2a1d61bab 100644 --- a/tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini +++ b/tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini @@ -1,5 +1,4 @@ [import-in-moduleworker.html] - expected: ERROR [Base URL in module dedicated workers: import] expected: FAIL 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 f7619c106b1..f0627fca7c7 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -24109,6 +24109,36 @@ }, "html": { "rendering": { + "non-replaced-elements": { + "tables": { + "table-row-pagination-001-print.html": [ + "3a14558a8b21f78a3de04b13b1b0e1f86cecb11c", + [ + null, + [ + [ + "/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html", + "==" + ] + ], + {} + ] + ], + "table-row-pagination-002-print.html": [ + "bc1c42088fd809a4325ab5ecba487bf895fddd98", + [ + null, + [ + [ + "/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html", + "==" + ] + ], + {} + ] + ] + } + }, "the-details-element": { "details-page-break-after-1-print.html": [ "cb7fc466d09226fd7833a4d8066fb64fae755392", @@ -166000,6 +166030,19 @@ {} ] ], + "abspos-008.tentative.html": [ + "c81e9fcf40547bf34c47ab11ca3fda307f5f77ed", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "auto-margins-001.tentative.html": [ "9e89ab6ca7f5220ea030aa537bcb3b64f156043d", [ @@ -166260,6 +166303,19 @@ {} ] ], + "block-aspect-ratio-020.tentative.html": [ + "3cb076252b0a356774cd4f9257c8561973a5d5d0", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "flex-aspect-ratio-001.tentative.html": [ "3b477e299ad763a1c0108e16f05981c76c25bb77", [ @@ -192728,6 +192784,19 @@ ], {} ] + ], + "z-index-does-not-apply.html": [ + "26d3c49de0f6b767bb12e48cb188571388ad4544", + [ + null, + [ + [ + "/css/css-transforms/z-index-does-not-apply-ref.html", + "==" + ] + ], + {} + ] ] }, "css-transitions": { @@ -192917,6 +192986,19 @@ {} ] ], + "appearance-progress-bar-002.html": [ + "719b2dc220d253faa756e615d58ca947e73479f1", + [ + null, + [ + [ + "/css/css-ui/appearance-progress-bar-002-ref.html", + "==" + ] + ], + {} + ] + ], "appearance-push-button-001.html": [ "3aecbb079809bb0f1e8c2a0786dee51bc6eb61d4", [ @@ -310497,6 +310579,10 @@ "translate-ref.html": [ "20fb4ffb5b61ef9a561650995fcc057b763af659", [] + ], + "z-index-does-not-apply-ref.html": [ + "f3b68dd6c953c90d85a795d5e140ce0fe91ca941", + [] ] }, "css-transitions": { @@ -310776,6 +310862,10 @@ "5c5cdb42e7078b18ed1e4f58f34747ce76d50c02", [] ], + "appearance-progress-bar-002-ref.html": [ + "cc081a4559c57d2610710cd03c0c562309803516", + [] + ], "appearance-revert-ref.html": [ "26aa6e87198152487416b3b09f2dd92f8f31f3ec", [] @@ -332832,6 +332922,14 @@ "e5279080f0875ef323774a4c1d83e4242f47b3fa", [] ], + "table-row-pagination-001-print-ref.html": [ + "2aa94109ad6db97080b978572e44e14f9d0ed52d", + [] + ], + "table-row-pagination-002-print-ref.html": [ + "91400fcc1eafa8ab86a8254154c80286fca0cf2c", + [] + ], "table-width-150percent-ref.html": [ "820c360e391694732cce6cac0648a04a0f89f64d", [] @@ -337887,6 +337985,10 @@ "46fad3522ed2539d04a688cc4f5d05c8e76ef24f", [] ], + "is-input-pending.idl": [ + "191fafdb96c8c7502e5a297719562053cf23907d", + [] + ], "js-self-profiling.idl": [ "0153e652360e2586a11ba6d808d38bfe59fe159e", [] @@ -338208,7 +338310,7 @@ [] ], "webauthn.idl": [ - "5627180867581a2ef5940bd06c828a5f6157daf2", + "9de7f64919d6a5f674bd684423491ddacbd2f96e", [] ], "webdriver.idl": [ @@ -343461,7 +343563,7 @@ [] ], "webxr-test.js": [ - "715ebc2fed43472c9640071709a95efa9b3e9bce", + "7854b4f85ff907c718eca4fc3bc2f94d9b6c5895", [] ], "webxr-test.js.headers": [ @@ -385729,6 +385831,13 @@ {} ] ], + "remove-float-then-abspos-in-inline.html": [ + "5cf8084c638b5cfd77443e22054e8fddc34aa925", + [ + null, + {} + ] + ], "zero-space-between-floats-001.html": [ "a7796011b0191e18ac24dee8ac94d2e878752201", [ @@ -389342,6 +389451,13 @@ {} ] ], + "display-first-line-001.html": [ + "fd8501a06814e94db68a55243e02eef302456726", + [ + null, + {} + ] + ], "display-list-item-height-after-dom-change.html": [ "f8d6e85cee2325f3ae51a950a276430d26c04189", [ @@ -461542,6 +461658,13 @@ {} ] ], + "iframe-loading-lazy-load-event.tentative.html": [ + "bf98bf7585cf608e6ebb46d025663e22bce8324c", + [ + null, + {} + ] + ], "iframe-loading-lazy-multiple-times.tentative.html": [ "89e41e61bf7fcac2b5f35990f7ad70a9fdab8424", [ @@ -473465,6 +473588,26 @@ ] ] }, + "is-input-pending": { + "idlharness.window.js": [ + "e6bb26a5a710d0dbd35bddae78143b433cb5bb1b", + [ + "is-input-pending/idlharness.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ] + ] + } + ] + ] + }, "js": { "behaviours": { "SetPrototypeOf-window.html": [ @@ -527216,7 +527359,7 @@ "webxr": { "anchors": { "ar_anchor_states.https.html": [ - "907da06880e9fe7908a32afbf2ddcb642e174b41", + "06bc6798839a5eff01792325d8a5c90921f6c2e3", [ null, {} 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 deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-002.html] - [Hit test float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - 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/css-transforms/z-index-does-not-apply.html.ini b/tests/wpt/metadata/css/css-transforms/z-index-does-not-apply.html.ini new file mode 100644 index 00000000000..b9867f577df --- /dev/null +++ b/tests/wpt/metadata/css/css-transforms/z-index-does-not-apply.html.ini @@ -0,0 +1,2 @@ +[z-index-does-not-apply.html] + 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/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini deleted file mode 100644 index 2ca05f57bb0..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[HTMLMediaElement.html] - expected: TIMEOUT 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 53457d776c4..3b2356d80fb 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -318,15 +318,21 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] - expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] + [<iframe>: combined response Content-Type: text/html;" text/plain] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*;charset=gbk] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html */*] + expected: FAIL + + [<iframe>: combined response Content-Type: text/html;" \\" 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 b2ffc8abf78..d2df9b78483 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,3 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript error] - 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 deleted file mode 100644 index 87b07c3e670..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[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_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini new file mode 100644 index 00000000000..dc2e45516de --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_5.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + 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-loading-lazy-load-event.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini new file mode 100644 index 00000000000..695d4c26829 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini @@ -0,0 +1,7 @@ +[iframe-loading-lazy-load-event.tentative.html] + [In-viewport loading=lazy visibility:hidden iframe does not block the load event] + expected: FAIL + + [In-viewport loading=lazy iframe does not block the load event] + expected: FAIL + 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..2568040e6e5 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: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini deleted file mode 100644 index bcd2fd0eab8..00000000000 --- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[077.html] - [ adding several types of scripts through the DOM and removing some of them confuses scheduler ] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini deleted file mode 100644 index fca4d908c89..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[module-static-import-delayed.html] - [document.write in an imported module] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini index 5ddb9bfeff6..a1effd5f801 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini @@ -1,10 +1,9 @@ [promise-job-entry.html] - expected: TIMEOUT [Fulfillment handler on fulfilled promise] expected: FAIL [Rejection handler on pending-then-rejected promise] - expected: TIMEOUT + expected: FAIL [Sanity check: this all works as expected with no promises involved] expected: FAIL @@ -16,5 +15,5 @@ expected: FAIL [Fulfillment handler on pending-then-fulfilled promise] - expected: TIMEOUT + expected: FAIL 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 66bd350083b..a56bad443a2 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,4 +1,5 @@ [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/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini new file mode 100644 index 00000000000..663a1f8fa30 --- /dev/null +++ b/tests/wpt/metadata/webmessaging/with-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/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata/webmessaging/without-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/workers/baseurl/alpha/import-in-moduleworker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini index bfd4d6dd2d6..bf2a1d61bab 100644 --- a/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini +++ b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini @@ -1,5 +1,4 @@ [import-in-moduleworker.html] - expected: ERROR [Base URL in module dedicated workers: import] expected: FAIL 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/css/CSS2/floats/remove-float-then-abspos-in-inline.html b/tests/wpt/web-platform-tests/css/CSS2/floats/remove-float-then-abspos-in-inline.html new file mode 100644 index 00000000000..5cf8084c638 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/floats/remove-float-then-abspos-in-inline.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<title>Removing floats changed to positioned object should not crash</title> +<link rel="author" href="kojii@chromium.org"> +<link rel="help" href="https://crbug.com/1101277"> +<meta name="assert" content="Removing floats changed to positioned object should not crash"> +<style> +.float { + float: left; +} +.abs { + position: absolute; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> + <div id="container">text<span id="target" class="float"></span></div> +</body> +<script> +test(() => { + document.body.offsetTop; + let target = document.getElementById('target'); + + // Change `#target` from floating object to positioned object. + target.className = 'abs'; + document.body.offsetTop; + + // and remove it. + target.remove(); +}, 'No crash or DCHECK failure'); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html b/tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html new file mode 100644 index 00000000000..fd8501a0681 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Display: first-line and first-letter pseudo-elements</title> +<link rel="help" href="https://www.w3.org/TR/css-display-3/#placement"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> + #t1::first-letter { float: left; display: flex; font-size: 30px } + #t2::first-letter { float: left; font-size: 30px } + #t3::first-letter { display: flex; font-size: 30px } + #t4::first-letter { font-size: 30px } + #t5::first-line { float: left; display: flex; font-size: 30px } + #t6::first-line { float: left; font-size: 30px } + #t7::first-line { display: flex; font-size: 30px } + #t8::first-line { font-size: 30px } +</style> +<div id="t1">First letter is float and flex.</div> +<div id="t2">First letter is float but not flex.</div> +<div id="t3">First letter is flex but not float.</div> +<div id="t4">First letter not float or flex.</div> +<div id="t5">First line is float and flex.</div> +<div id="t6">First line is float but not flex.</div> +<div id="t7">First line is flex but not float.</div> +<div id="t8">First line is not float or flex.</div> +<script> + function getFistLetterDisplayFor(id) { + return window.getComputedStyle(document.getElementById(id), "::first-letter").display; + } + function getFistLineDisplayFor(id) { + return window.getComputedStyle(document.getElementById(id), "::first-line").display; + } + test(function() { + assert_equals(getFistLetterDisplayFor("t1"), "block"); + assert_equals(getFistLetterDisplayFor("t2"), "block"); + assert_equals(getFistLetterDisplayFor("t3"), "inline"); + assert_equals(getFistLetterDisplayFor("t4"), "inline"); + assert_equals(getFistLineDisplayFor("t5"), "inline"); + assert_equals(getFistLineDisplayFor("t6"), "inline"); + assert_equals(getFistLineDisplayFor("t7"), "inline"); + assert_equals(getFistLineDisplayFor("t8"), "inline"); + }, "display of first-letter and first-line"); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html new file mode 100644 index 00000000000..c81e9fcf405 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<title>CSS aspect-ratio: abspos div inline size with max-height</title> +<link rel="author" title="Google LLC" href="https://www.google.com/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio"> +<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5257"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" /> +<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size"> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + +<div style="position: relative; height: 100px; position: relative;"> + <div style="position: absolute; aspect-ratio: 1/1; max-height: 100%; background: green; color: green;"> + <!-- max-size 200px, min-size: 20px --> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html new file mode 100644 index 00000000000..3cb076252b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<title>CSS aspect-ratio: abspos div inline size with max-height</title> +<link rel="author" title="Google LLC" href="https://www.google.com/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio"> +<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5257"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" /> +<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size"> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + +<div style="height: 100px;"> + <div style="aspect-ratio: 1/1; max-height: 100%; background: green;"> + <!-- max-size 200px, min-size: 20px --> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + <div style="width: 20px; height: 10px; vertical-align: bottom;"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html new file mode 100644 index 00000000000..f3b68dd6c95 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html @@ -0,0 +1,10 @@ +<!doctype html> +<title>CSS test reference</title> +<style> + div { + background: green; + width: 100px; + height: 100px; + } +</style> +<div></div> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html new file mode 100644 index 00000000000..26d3c49de0f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html @@ -0,0 +1,25 @@ +<!doctype html> +<title>z-index doesn't apply to transformed content which is not positioned</title> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="author" title="Mozilla" href="https://mozilla.org"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1256980"> +<link rel="help" href="https://drafts.csswg.org/css2/visuren.html#z-index"> +<link rel="match" href="z-index-does-not-apply-ref.html"> +<style> + #a, #b { + background: green; + width: 100px; + height: 100px; + } + #a { + background: red; + z-index: 2; + transform: translateX(0); + } + #b { + z-index: 1; + transform: translateY(-100px); + } +</style> +<div id="a"></div> +<div id="b"></div> diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html new file mode 100644 index 00000000000..cc081a4559c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html @@ -0,0 +1,4 @@ +<!doctype html> +<title>CSS Test Reference</title> +<progress style="appearance:auto"> +<progress style="appearance:none"> diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html new file mode 100644 index 00000000000..719b2dc220d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html @@ -0,0 +1,16 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Basic User Interface Test: progress dynamic appearance</title> +<link rel="help" href="https://drafts.csswg.org/css-ui-4/#appearance-switching"> +<link rel="match" href="appearance-progress-bar-002-ref.html"> +<style> + #progress1 { appearance: none } + #progress2 { appearance: auto } +</style> +<progress id="progress1"> +<progress id="progress2"> +<script> + document.body.offsetTop; + progress1.style.appearance = "auto"; + progress2.style.appearance = "none"; +</script> diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html new file mode 100644 index 00000000000..2aa94109ad6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta charset="utf-8"> +<title>Testing row split</title> +<style type="text/css"> +@page { size:5in 3in; margin:0.5in; } +html,body { + color:black; + background-color:white; + font-size:16px; + padding:0; + margin:0; + height:100%; +} +div { height:160%; } +p { height: 50%; margin:0; } +</style> +</head> +<body> + +<div> +<p></p> +<p>1</p> +</div> + + +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html new file mode 100644 index 00000000000..3a14558a8b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML> +<html> +<head> +<link rel="match" href="table-row-pagination-001-print-ref.html"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#tables-2"> +<link rel="help" href="https://drafts.csswg.org/css-break/"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012"> +<meta charset="utf-8"> +<title>Testing row split</title> +<style type="text/css"> +@page { size:5in 3in; margin:0.5in; } +html,body { + color:black; + background-color:white; + font-size:16px; + padding:0; + margin:0; + height:100%; +} +table { height:160%; width:100%; } +td { height:50%; width:100%; } +</style> +</head> +<body> + +<table border="0" cellspacing="0" cellpadding="0"> +<tr><td></td></tr> +<tr><td valign="top">1</td></tr> +</table> + + +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html new file mode 100644 index 00000000000..91400fcc1ea --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<style> +@page { size:5in 3in; margin:0.5in; } +</style> +</head> +<body> + <div style="height:3in">Tall div. (Scroll to end.)</div> + <div>IS THIS TEXT VISIBLE IN PRINT PREVIEW?</div> + <div>[clear:left]</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html new file mode 100644 index 00000000000..bc1c42088fd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<link rel="match" href="table-row-pagination-002-print-ref.html"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#tables-2"> +<link rel="help" href="https://drafts.csswg.org/css-break/"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=963441"> +<style> +@page { size:5in 3in; margin:0.5in; } +</style> +</head> +<body> + <div style="float: left"> + <table cellpadding=0 cellspacing=0> + <tr> + <td> + <div style="height:3in">Tall div. (Scroll to end.)</div> + <div>IS THIS TEXT VISIBLE IN PRINT PREVIEW?</div> + </td> + </tr> + </table> + </div> + <div style="clear: left">[clear:left]</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html new file mode 100644 index 00000000000..bf98bf7585c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<head> + <title>In-viewport loading=lazy iframes do not block the window load event</title> + <link rel="author" title="Dom Farolino" href="mailto:dom@chromium.org"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../resources/common.js"></script> +</head> + +<body> + <!-- This image blocks the window load event for 1 second --> + <img src="/common/square.png?pipe=trickle(d1)"> + + <!-- These iframes must load because they intersect the viewport, but they must + not block the window load event, because they are loading=lazy --> + <iframe id="visible" loading="lazy" + src="resources/subframe.html?visible&pipe=trickle(d3)"></iframe> + <iframe id="visibility_hidden" style="visibility:hidden;" loading="lazy" + src="resources/subframe.html?visibility_hidden&pipe=trickle(d3)"></iframe> +</body> + +<script> + const visible_iframe = document.querySelector('#visible'); + const hidden_iframe = document.querySelector('#visibility_hidden'); + + const visible_iframe_t = + async_test('In-viewport loading=lazy iframe does not block the load event'); + + const hidden_iframe_t = + async_test('In-viewport loading=lazy visibility:hidden iframe does not ' + + 'block the load event'); + + let has_window_loaded = false; + window.addEventListener("load", () => { + has_window_loaded = true; + }); + + visible_iframe.onload = visible_iframe_t.step_func_done(() => { + assert_true(has_window_loaded, + "The visible iframe should not block the load event"); + }); + + hidden_iframe.onload = hidden_iframe_t.step_func_done(() => { + assert_true(has_window_loaded, + "The hidden iframe should not block the load event"); + }); +</script> diff --git a/tests/wpt/web-platform-tests/interfaces/is-input-pending.idl b/tests/wpt/web-platform-tests/interfaces/is-input-pending.idl new file mode 100644 index 00000000000..191fafdb96c --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/is-input-pending.idl @@ -0,0 +1,22 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into reffy-reports +// (https://github.com/tidoust/reffy-reports) +// Source: Early detection of input events (https://wicg.github.io/is-input-pending/) + +dictionary IsInputPendingOptionsInit { + boolean includeContinuous = "false"; +}; + +[Exposed=Window] +interface IsInputPendingOptions { + constructor(optional IsInputPendingOptionsInit isInputPendingOptionsInit = {}); + attribute boolean includeContinuous; +}; + +[Exposed=Window] interface Scheduling { + boolean isInputPending(optional IsInputPendingOptions isInputPendingOptions); +}; + +partial interface Navigator { + readonly attribute Scheduling scheduling; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/webauthn.idl b/tests/wpt/web-platform-tests/interfaces/webauthn.idl index 56271808675..9de7f64919d 100644 --- a/tests/wpt/web-platform-tests/interfaces/webauthn.idl +++ b/tests/wpt/web-platform-tests/interfaces/webauthn.idl @@ -115,8 +115,6 @@ dictionary AuthenticationExtensionsClientInputs { dictionary AuthenticationExtensionsClientOutputs { }; -typedef record<DOMString, DOMString> AuthenticationExtensionsAuthenticatorInputs; - dictionary CollectedClientData { required DOMString type; required DOMString challenge; @@ -192,6 +190,29 @@ partial dictionary AuthenticationExtensionsClientOutputs { CredentialPropertiesOutput credProps; }; +dictionary AuthenticationExtensionsPRFValues { + required ArrayBuffer first; + ArrayBuffer second; +}; + +dictionary AuthenticationExtensionsPRFInputs { + AuthenticationExtensionsPRFValues eval; + record<USVString, AuthenticationExtensionsPRFValues> evalByCredential; +}; + +partial dictionary AuthenticationExtensionsClientInputs { + AuthenticationExtensionsPRFInputs prf; +}; + +dictionary AuthenticationExtensionsPRFOutputs { + boolean enabled; + AuthenticationExtensionsPRFValues results; +}; + +partial dictionary AuthenticationExtensionsClientOutputs { + AuthenticationExtensionsPRFOutputs prf; +}; + partial dictionary AuthenticationExtensionsClientInputs { AuthenticationExtensionsLargeBlobInputs largeBlob; }; diff --git a/tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js b/tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js new file mode 100644 index 00000000000..e6bb26a5a71 --- /dev/null +++ b/tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js @@ -0,0 +1,15 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://wicg.github.io/is-input-pending/ + +idl_test( + ['is-input-pending'], + ['html', 'dom'], + async idl_array => { + idl_array.add_objects({ + IsInputPendingOptions: ['new IsInputPendingOptions'], + Scheduling: ['navigator.scheduling'], + }); + } +); diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js index 715ebc2fed4..7854b4f85ff 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js @@ -276,48 +276,9 @@ class FakeXRAnchorController { } } -class FakeXRAnchorCreationEvent extends Event { - constructor(type, eventInitDict) { - super(type, eventInitDict); - - this.success_ = false; - this.requestedAnchorOrigin_ = {}; - this.isAttachedToEntity_ = false; - this.anchorController_ = new FakeXRAnchorController(); - - if(eventInitDict.requestedAnchorOrigin != null) { - this.requestedAnchorOrigin_ = eventInitDict.requestedAnchorOrigin; - } - - if(eventInitDict.isAttachedToEntity != null) { - this.isAttachedToEntity_ = eventInitDict.isAttachedToEntity; - } - } - - get requestedAnchorOrigin() { - return this.requestedAnchorOrigin_; - } - - get isAttachedToEntity() { - return this.isAttachedToEntity_; - } - - get success() { - return this.success_; - } - - set success(value) { - this.success_ = value; - } - - get anchorController() { - return this.anchorController_; - } -} - // Implements XRFrameDataProvider and XRPresentationProvider. Maintains a mock // for XRPresentationProvider. Implements FakeXRDevice test API. -class MockRuntime extends EventTarget { +class MockRuntime { // Mapping from string feature names to the corresponding mojo types. // This is exposed as a member for extensibility. static featureToMojoMap = { @@ -339,8 +300,6 @@ class MockRuntime extends EventTarget { }; constructor(fakeDeviceInit, service) { - super(); - this.sessionClient_ = new device.mojom.XRSessionClientPtr(); this.presentation_provider_ = new MockXRPresentationProvider(); @@ -368,6 +327,8 @@ class MockRuntime extends EventTarget { this.anchor_controllers_ = new Map(); // ID of the next anchor to be assigned. this.next_anchor_id_ = 1; + // Anchor creation callback (initially null, can be set by tests). + this.anchor_creation_callback_ = null; let supportedModes = []; if (fakeDeviceInit.supportedModes) { @@ -568,6 +529,10 @@ class MockRuntime extends EventTarget { return source; } + setAnchorCreationCallback(callback) { + this.anchor_creation_callback_ = callback; + } + // Helper methods getNonImmersiveDisplayInfo() { const displayInfo = this.getImmersiveDisplayInfo(); @@ -706,50 +671,67 @@ class MockRuntime extends EventTarget { // XRFrameDataProvider implementation. getFrameData(options) { - const mojo_space_reset = this.send_mojo_space_reset_; - this.send_mojo_space_reset_ = false; + return new Promise((resolve) => { - const stage_parameters_updated = this.stageParametersUpdated_; - this.stageParametersUpdated_ = false; - if (this.pose_) { - this.pose_.poseIndex++; - } - - // Setting the input_state to null tests a slightly different path than - // the browser tests where if the last input source is removed, the device - // code always sends up an empty array, but it's also valid mojom to send - // up a null array. - let input_state = null; - if (this.input_sources_.size > 0) { - input_state = []; - for (const input_source of this.input_sources_.values()) { - input_state.push(input_source.getInputSourceState()); - } - } + const populatePose = () => { + const mojo_space_reset = this.send_mojo_space_reset_; + this.send_mojo_space_reset_ = false; - const frameData = { - pose: this.pose_, - mojoSpaceReset: mojo_space_reset, - inputState: input_state, - timeDelta: { - // window.performance.now() is in milliseconds, so convert to microseconds. - microseconds: window.performance.now() * 1000, - }, - frameId: this.next_frame_id_++, - bufferHolder: null, - bufferSize: {}, - stageParameters: this.stageParameters_, - stageParametersUpdated: stage_parameters_updated, - }; + const stage_parameters_updated = this.stageParametersUpdated_; + this.stageParametersUpdated_ = false; + if (this.pose_) { + this.pose_.poseIndex++; + } - this._calculateHitTestResults(frameData); + // Setting the input_state to null tests a slightly different path than + // the browser tests where if the last input source is removed, the device + // code always sends up an empty array, but it's also valid mojom to send + // up a null array. + let input_state = null; + if (this.input_sources_.size > 0) { + input_state = []; + for (const input_source of this.input_sources_.values()) { + input_state.push(input_source.getInputSourceState()); + } + } - this._calculateAnchorInformation(frameData); + const frameData = { + pose: this.pose_, + mojoSpaceReset: mojo_space_reset, + inputState: input_state, + timeDelta: { + // window.performance.now() is in milliseconds, so convert to microseconds. + microseconds: window.performance.now() * 1000, + }, + frameId: this.next_frame_id_, + bufferHolder: null, + bufferSize: {}, + stageParameters: this.stageParameters_, + stageParametersUpdated: stage_parameters_updated, + }; - this._injectAdditionalFrameData(options, frameData); + this.next_frame_id_++; - return Promise.resolve({ - frameData: frameData, + this._calculateHitTestResults(frameData); + + this._calculateAnchorInformation(frameData); + + this._injectAdditionalFrameData(options, frameData); + + resolve({frameData}); + }; + + if(this.sessionOptions_.mode == device.mojom.XRSessionMode.kInline) { + // Inline sessions should not have a delay introduced since it causes them + // to miss a vsync blink-side and delays propagation of changes that happened + // within a rAFcb by one frame (e.g. setViewerOrigin() calls would take 2 frames + // to propagate). + populatePose(); + } else { + // For immerive sessions, add additional delay to allow for anchor creation + // promises to run. + setTimeout(populatePose, 3); // note: according to MDN, the timeout is not exact + } }); } @@ -768,6 +750,7 @@ class MockRuntime extends EventTarget { closeDataProvider() { this.dataProviderBinding_.close(); + this.sessionOptions_ = null; } // XREnvironmentIntegrationProvider implementation: @@ -818,6 +801,15 @@ class MockRuntime extends EventTarget { createAnchor(nativeOriginInformation, nativeOriginFromAnchor) { return new Promise((resolve) => { + if(this.anchor_creation_callback_ == null) { + resolve({ + result : device.mojom.CreateAnchorResult.FAILURE, + anchorId : 0 + }); + + return; + } + const mojoFromNativeOrigin = this._getMojoFromNativeOrigin(nativeOriginInformation); if(mojoFromNativeOrigin == null) { resolve({ @@ -830,36 +822,45 @@ class MockRuntime extends EventTarget { const mojoFromAnchor = XRMathHelper.mul4x4(mojoFromNativeOrigin, nativeOriginFromAnchor); - const createAnchorEvent = new FakeXRAnchorCreationEvent("anchorcreate", { + const anchorCreationParameters = { requestedAnchorOrigin: mojoFromAnchor, isAttachedToEntity: false, - }); - - this.dispatchEvent(createAnchorEvent); - - if(createAnchorEvent.success) { - let anchor_controller = createAnchorEvent.anchorController; - const anchor_id = this.next_anchor_id_; - this.next_anchor_id_++; - - // If the test allowed the anchor creation, - // store the anchor controller & return success. - this.anchor_controllers_.set(anchor_id, anchor_controller); - anchor_controller.device = this; - anchor_controller.id = anchor_id; - - resolve({ - result : device.mojom.CreateAnchorResult.SUCCESS, - anchorId : anchor_id - }); - - return; - } + }; - resolve({ - result : device.mojom.CreateAnchorResult.FAILURE, - anchorId : 0 - }); + const anchorController = new FakeXRAnchorController(); + + this.anchor_creation_callback_(anchorCreationParameters, anchorController) + .then((result) => { + if(result) { + // If the test allowed the anchor creation, + // store the anchor controller & return success. + + const anchor_id = this.next_anchor_id_; + this.next_anchor_id_++; + + this.anchor_controllers_.set(anchor_id, anchorController); + anchorController.device = this; + anchorController.id = anchor_id; + + resolve({ + result : device.mojom.CreateAnchorResult.SUCCESS, + anchorId : anchor_id + }); + } else { + // The test has rejected anchor creation. + resolve({ + result : device.mojom.CreateAnchorResult.FAILURE, + anchorId : 0 + }); + } + }) + .catch(() => { + // The test threw an error, treat anchor creation as failed. + resolve({ + result : device.mojom.CreateAnchorResult.FAILURE, + anchorId : 0 + }); + }); }); } @@ -897,6 +898,7 @@ class MockRuntime extends EventTarget { const dataProviderRequest = mojo.makeRequest(dataProviderPtr); this.dataProviderBinding_ = new mojo.Binding( device.mojom.XRFrameDataProvider, this, dataProviderRequest); + this.sessionOptions_ = sessionOptions; const clientReceiver = mojo.makeRequest(this.sessionClient_); diff --git a/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html b/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html index 907da06880e..06bc6798839 100644 --- a/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html +++ b/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html @@ -32,11 +32,11 @@ const testFunctionGenerator = function(expectSucceeded, endSession, expectedErro let debug = xr_debug.bind(this, 'testAnchorStates'); - fakeDeviceController.addEventListener("anchorcreate", (anchorCreateEvent) => { + fakeDeviceController.setAnchorCreationCallback((parameters, controller) => { // All anchor creation requests that reach this stage should be marked as successful. // If this test is expected to fail, the failure will happen earlier in the anchor // creation process. - anchorCreateEvent.success = true; + return Promise.resolve(true); }); let watcherDone = new Event("watcherdone"); diff --git a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini index 07c1b8f8ea2..6d27ac4afa4 100644 --- a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini +++ b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini @@ -170,3 +170,15 @@ [WebGL test #52: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,255,0] expected: FAIL + [WebGL test #44: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,0,255,0] + expected: FAIL + + [WebGL test #42: attachment 5 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,255] + expected: FAIL + + [WebGL test #51: attachment 6 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,0] + expected: FAIL + + [WebGL test #50: attachment 5 should be 0,255,0,255\nat (4, 0) expected: 0,255,0,255 was 255,0,0,0] + expected: FAIL + |