diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini index 3b874fc1748..947e223fb28 100644 --- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini @@ -34,6 +34,3 @@ [Revoke blob URL after creating Request, will fetch] expected: FAIL - [Revoke blob URL after calling fetch, fetch should succeed] - expected: FAIL - diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 7d50948f31a..de5217e8a5c 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -131659,6 +131659,18 @@ {} ] ], + "css/css-multicol/multicol-breaking-005.html": [ + [ + "css/css-multicol/multicol-breaking-005.html", + [ + [ + "/css/css-multicol/multicol-breaking-005-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-multicol/multicol-breaking-nobackground-000.html": [ [ "css/css-multicol/multicol-breaking-nobackground-000.html", @@ -131719,6 +131731,18 @@ {} ] ], + "css/css-multicol/multicol-breaking-nobackground-005.html": [ + [ + "css/css-multicol/multicol-breaking-nobackground-005.html", + [ + [ + "/css/css-multicol/multicol-breaking-nobackground-005-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-multicol/multicol-clip-001.xht": [ [ "css/css-multicol/multicol-clip-001.xht", @@ -252929,6 +252953,9 @@ "css/css-multicol/multicol-breaking-004-ref.html": [ [] ], + "css/css-multicol/multicol-breaking-005-ref.html": [ + [] + ], "css/css-multicol/multicol-breaking-nobackground-000-ref.html": [ [] ], @@ -252944,6 +252971,9 @@ "css/css-multicol/multicol-breaking-nobackground-004-ref.html": [ [] ], + "css/css-multicol/multicol-breaking-nobackground-005-ref.html": [ + [] + ], "css/css-multicol/multicol-clip-001-ref.xht": [ [] ], @@ -265412,6 +265442,9 @@ "docs/reviewing-tests/reverting.md": [ [] ], + "docs/running-tests/android_webview.md": [ + [] + ], "docs/running-tests/chrome.md": [ [] ], @@ -275180,7 +275213,7 @@ "infrastructure/metadata/infrastructure/reftest/reftest_cycle_fail.html.ini": [ [] ], - "infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html": [ + "infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html.ini": [ [] ], "infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_full.html.ini": [ @@ -275426,9 +275459,6 @@ "interfaces/cssom.idl": [ [] ], - "interfaces/dedicated-workers.idl": [ - [] - ], "interfaces/dom.idl": [ [] ], @@ -317356,6 +317386,12 @@ {} ] ], + "css/css-font-loading/font-face-reject.html": [ + [ + "css/css-font-loading/font-face-reject.html", + {} + ] + ], "css/css-font-loading/fontfacesetloadevent-constructor.html": [ [ "css/css-font-loading/fontfacesetloadevent-constructor.html", @@ -320078,6 +320114,24 @@ {} ] ], + "css/css-inline/parsing/vertical-align-computed.html": [ + [ + "css/css-inline/parsing/vertical-align-computed.html", + {} + ] + ], + "css/css-inline/parsing/vertical-align-invalid.html": [ + [ + "css/css-inline/parsing/vertical-align-invalid.html", + {} + ] + ], + "css/css-inline/parsing/vertical-align-valid.html": [ + [ + "css/css-inline/parsing/vertical-align-valid.html", + {} + ] + ], "css/css-layout-api/at-supports-rule.https.html": [ [ "css/css-layout-api/at-supports-rule.https.html", @@ -320828,6 +320882,30 @@ {} ] ], + "css/css-multicol/animation/column-count-interpolation.html": [ + [ + "css/css-multicol/animation/column-count-interpolation.html", + {} + ] + ], + "css/css-multicol/animation/column-rule-color-interpolation.html": [ + [ + "css/css-multicol/animation/column-rule-color-interpolation.html", + {} + ] + ], + "css/css-multicol/animation/column-rule-width.html": [ + [ + "css/css-multicol/animation/column-rule-width.html", + {} + ] + ], + "css/css-multicol/animation/column-width-interpolation.html": [ + [ + "css/css-multicol/animation/column-width-interpolation.html", + {} + ] + ], "css/css-multicol/balance-table-with-fractional-height-row.html": [ [ "css/css-multicol/balance-table-with-fractional-height-row.html", @@ -322286,21 +322364,21 @@ {} ] ], - "css/css-scroll-snap/parsing/scroll-margin-block-computed.html": [ + "css/css-scroll-snap/parsing/scroll-margin-block-inline-computed.html": [ [ - "css/css-scroll-snap/parsing/scroll-margin-block-computed.html", + "css/css-scroll-snap/parsing/scroll-margin-block-inline-computed.html", {} ] ], - "css/css-scroll-snap/parsing/scroll-margin-block-invalid.html": [ + "css/css-scroll-snap/parsing/scroll-margin-block-inline-invalid.html": [ [ - "css/css-scroll-snap/parsing/scroll-margin-block-invalid.html", + "css/css-scroll-snap/parsing/scroll-margin-block-inline-invalid.html", {} ] ], - "css/css-scroll-snap/parsing/scroll-margin-block-valid.html": [ + "css/css-scroll-snap/parsing/scroll-margin-block-inline-valid.html": [ [ - "css/css-scroll-snap/parsing/scroll-margin-block-valid.html", + "css/css-scroll-snap/parsing/scroll-margin-block-inline-valid.html", {} ] ], @@ -322310,24 +322388,6 @@ {} ] ], - "css/css-scroll-snap/parsing/scroll-margin-inline-computed.html": [ - [ - "css/css-scroll-snap/parsing/scroll-margin-inline-computed.html", - {} - ] - ], - "css/css-scroll-snap/parsing/scroll-margin-inline-invalid.html": [ - [ - "css/css-scroll-snap/parsing/scroll-margin-inline-invalid.html", - {} - ] - ], - "css/css-scroll-snap/parsing/scroll-margin-inline-valid.html": [ - [ - "css/css-scroll-snap/parsing/scroll-margin-inline-valid.html", - {} - ] - ], "css/css-scroll-snap/parsing/scroll-margin-invalid.html": [ [ "css/css-scroll-snap/parsing/scroll-margin-invalid.html", @@ -322340,21 +322400,21 @@ {} ] ], - "css/css-scroll-snap/parsing/scroll-padding-block-computed.html": [ + "css/css-scroll-snap/parsing/scroll-padding-block-inline-computed.html": [ [ - "css/css-scroll-snap/parsing/scroll-padding-block-computed.html", + "css/css-scroll-snap/parsing/scroll-padding-block-inline-computed.html", {} ] ], - "css/css-scroll-snap/parsing/scroll-padding-block-invalid.html": [ + "css/css-scroll-snap/parsing/scroll-padding-block-inline-invalid.html": [ [ - "css/css-scroll-snap/parsing/scroll-padding-block-invalid.html", + "css/css-scroll-snap/parsing/scroll-padding-block-inline-invalid.html", {} ] ], - "css/css-scroll-snap/parsing/scroll-padding-block-valid.html": [ + "css/css-scroll-snap/parsing/scroll-padding-block-inline-valid.html": [ [ - "css/css-scroll-snap/parsing/scroll-padding-block-valid.html", + "css/css-scroll-snap/parsing/scroll-padding-block-inline-valid.html", {} ] ], @@ -322364,24 +322424,6 @@ {} ] ], - "css/css-scroll-snap/parsing/scroll-padding-inline-computed.html": [ - [ - "css/css-scroll-snap/parsing/scroll-padding-inline-computed.html", - {} - ] - ], - "css/css-scroll-snap/parsing/scroll-padding-inline-invalid.html": [ - [ - "css/css-scroll-snap/parsing/scroll-padding-inline-invalid.html", - {} - ] - ], - "css/css-scroll-snap/parsing/scroll-padding-inline-valid.html": [ - [ - "css/css-scroll-snap/parsing/scroll-padding-inline-valid.html", - {} - ] - ], "css/css-scroll-snap/parsing/scroll-padding-invalid.html": [ [ "css/css-scroll-snap/parsing/scroll-padding-invalid.html", @@ -322670,6 +322712,24 @@ {} ] ], + "css/css-shapes/animation/shape-image-threshold-interpolation.html": [ + [ + "css/css-shapes/animation/shape-image-threshold-interpolation.html", + {} + ] + ], + "css/css-shapes/animation/shape-margin-interpolation.html": [ + [ + "css/css-shapes/animation/shape-margin-interpolation.html", + {} + ] + ], + "css/css-shapes/animation/shape-outside-interpolation.html": [ + [ + "css/css-shapes/animation/shape-outside-interpolation.html", + {} + ] + ], "css/css-shapes/basic-shape-circle-ellipse-serialization.html": [ [ "css/css-shapes/basic-shape-circle-ellipse-serialization.html", @@ -333661,24 +333721,150 @@ {} ] ], - "dom/interface-objects.html": [ + "dom/idlharness.any.js": [ [ - "dom/interface-objects.html", - {} - ] - ], - "dom/interfaces.html": [ - [ - "dom/interfaces.html?exclude=Node", + "dom/idlharness.any.serviceworker.html", { + "script_metadata": [ + [ + "global", + "!window,worker" + ], + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ], + [ + "timeout", + "long" + ] + ], "timeout": "long" } ], [ - "dom/interfaces.html?include=Node", + "dom/idlharness.any.sharedworker.html", { + "script_metadata": [ + [ + "global", + "!window,worker" + ], + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ], + [ + "timeout", + "long" + ] + ], "timeout": "long" } + ], + [ + "dom/idlharness.any.worker.html", + { + "script_metadata": [ + [ + "global", + "!window,worker" + ], + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], + "dom/idlharness.window.js": [ + [ + "dom/idlharness.window.html?exclude=Node", + { + "script_metadata": [ + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ], + [ + "script", + "/common/subset-tests-by-key.js" + ], + [ + "variant", + "?include=Node" + ], + [ + "variant", + "?exclude=Node" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "dom/idlharness.window.html?include=Node", + { + "script_metadata": [ + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ], + [ + "script", + "/common/subset-tests-by-key.js" + ], + [ + "variant", + "?include=Node" + ], + [ + "variant", + "?exclude=Node" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], + "dom/interface-objects.html": [ + [ + "dom/interface-objects.html", + {} ] ], "dom/lists/DOMTokenList-Iterable.html": [ @@ -334635,6 +334821,12 @@ {} ] ], + "dom/nodes/aria-element-reflection.tentative.html": [ + [ + "dom/nodes/aria-element-reflection.tentative.html", + {} + ] + ], "dom/nodes/attributes.html": [ [ "dom/nodes/attributes.html", @@ -345758,15 +345950,6 @@ {} ] ], - "event-timing/bufferbeforeonload.html": [ - [ - "event-timing/bufferbeforeonload.html", - { - "testdriver": true, - "timeout": "long" - } - ] - ], "event-timing/buffered-flag.html": [ [ "event-timing/buffered-flag.html", @@ -345775,6 +345958,14 @@ } ] ], + "event-timing/click-timing.html": [ + [ + "event-timing/click-timing.html", + { + "testdriver": true + } + ] + ], "event-timing/crossiframe.html": [ [ "event-timing/crossiframe.html", @@ -345862,33 +346053,6 @@ } ] ], - "event-timing/observethenonload.html": [ - [ - "event-timing/observethenonload.html", - { - "testdriver": true, - "timeout": "long" - } - ] - ], - "event-timing/onloadthenobserve-firstInput.html": [ - [ - "event-timing/onloadthenobserve-firstInput.html", - { - "testdriver": true, - "timeout": "long" - } - ] - ], - "event-timing/onloadthenobserve.html": [ - [ - "event-timing/onloadthenobserve.html", - { - "testdriver": true, - "timeout": "long" - } - ] - ], "event-timing/only-observe-firstInput.html": [ [ "event-timing/only-observe-firstInput.html", @@ -354771,6 +354935,18 @@ {} ] ], + "html/semantics/document-metadata/the-base-element/base_target_does_not_affect_iframe_src_navigation.html": [ + [ + "html/semantics/document-metadata/the-base-element/base_target_does_not_affect_iframe_src_navigation.html", + {} + ] + ], + "html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html": [ + [ + "html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html", + {} + ] + ], "html/semantics/document-metadata/the-link-element/document-without-browsing-context.html": [ [ "html/semantics/document-metadata/the-link-element/document-without-browsing-context.html", @@ -367574,8 +367750,13 @@ [ "script", "/resources/idlharness.js" + ], + [ + "timeout", + "long" ] - ] + ], + "timeout": "long" } ] ], @@ -404136,6 +404317,12 @@ {} ] ], + "svg/animations/spaces-at-end-of-path-data.html": [ + [ + "svg/animations/spaces-at-end-of-path-data.html", + {} + ] + ], "svg/animations/svgangle-animation-deg-to-grad.html": [ [ "svg/animations/svgangle-animation-deg-to-grad.html", @@ -405372,6 +405559,18 @@ {} ] ], + "svg/pservers/parsing/stop-color-invalid.svg": [ + [ + "svg/pservers/parsing/stop-color-invalid.svg", + {} + ] + ], + "svg/pservers/parsing/stop-color-valid.svg": [ + [ + "svg/pservers/parsing/stop-color-valid.svg", + {} + ] + ], "svg/pservers/parsing/stop-opacity-computed.svg": [ [ "svg/pservers/parsing/stop-opacity-computed.svg", @@ -420624,12 +420823,6 @@ } ] ], - "workers/interfaces.worker.js": [ - [ - "workers/interfaces.worker.html", - {} - ] - ], "workers/interfaces/DedicatedWorkerGlobalScope/EventTarget.worker.js": [ [ "workers/interfaces/DedicatedWorkerGlobalScope/EventTarget.worker.html", @@ -445064,6 +445257,12 @@ {} ] ], + "webdriver/tests/take_element_screenshot/iframe.py": [ + [ + "webdriver/tests/take_element_screenshot/iframe.py", + {} + ] + ], "webdriver/tests/take_element_screenshot/screenshot.py": [ [ "webdriver/tests/take_element_screenshot/screenshot.py", @@ -445078,6 +445277,12 @@ } ] ], + "webdriver/tests/take_screenshot/iframe.py": [ + [ + "webdriver/tests/take_screenshot/iframe.py", + {} + ] + ], "webdriver/tests/take_screenshot/screenshot.py": [ [ "webdriver/tests/take_screenshot/screenshot.py", @@ -445096,7 +445301,7 @@ }, "paths": { ".azure-pipelines.yml": [ - "0776b1994f7fe4defc3a9439a106eadfbcce8133", + "06fe7999246ee7af31d11d266ff6c51f17c1fe12", "support" ], ".codecov.yml": [ @@ -455320,7 +455525,7 @@ "support" ], "audio-output/idlharness.https.window.js": [ - "f10e523bcdc530ee1dbd04a52541ac0b343e9376", + "c13b167296d8059b96bfa4704714051e341ee987", "testharness" ], "audio-output/setSinkId-manual.https.html": [ @@ -455560,7 +455765,7 @@ "support" ], "beacon/idlharness.any.js": [ - "958daf4865d1d7c9dfb621a163e15a8862330d2b", + "bf267ab8bdce52ce32df4ea3a53b30b6d35c8000", "testharness" ], "beacon/resources/beacon.py": [ @@ -553195,6 +553400,10 @@ "3ac9b655b0606783334ff91f9fba852df8efdbc1", "support" ], + "css/css-font-loading/font-face-reject.html": [ + "7b87a8121325f2e44d155df0c8d61f9ab48cb686", + "testharness" + ], "css/css-font-loading/fontface-descriptor-updates-ref.html": [ "513867b3503042886e51312bcfec20967f7384d4", "support" @@ -564451,6 +564660,18 @@ "663e2638d8b4869561ea24748c8e54077079371c", "testharness" ], + "css/css-inline/parsing/vertical-align-computed.html": [ + "24225084721b17dd78182242172e2ded2620a623", + "testharness" + ], + "css/css-inline/parsing/vertical-align-invalid.html": [ + "0565eb4a68d23514390b8b4af444a0ac15840e9f", + "testharness" + ], + "css/css-inline/parsing/vertical-align-valid.html": [ + "d51c759dcc5d7f7e2820751e7a5a7f39dcf91bf1", + "testharness" + ], "css/css-layout-api/META.yml": [ "c85c2d4ccc0b02f3e22ca444952fb7583d96e7c7", "support" @@ -566831,6 +567052,22 @@ "c30a19d001b530c304def61e1e6d55dc0f6b0318", "testharness" ], + "css/css-multicol/animation/column-count-interpolation.html": [ + "def34adc6c0ae83c3432b195663c877c28157a99", + "testharness" + ], + "css/css-multicol/animation/column-rule-color-interpolation.html": [ + "060c8416ffbe2e227ddde74bac415976a9337bdb", + "testharness" + ], + "css/css-multicol/animation/column-rule-width.html": [ + "d600d68ff1aa57c5fcb7759e7d3f3af0f119439c", + "testharness" + ], + "css/css-multicol/animation/column-width-interpolation.html": [ + "fdb26353b4946423f236988da5075c2af7aa49d3", + "testharness" + ], "css/css-multicol/balance-table-with-fractional-height-row.html": [ "434dc52ea3d731bd1393270372294cd007382e59", "testharness" @@ -567003,6 +567240,14 @@ "82931ac85165637a5114a8b41be14ccfcf2e1857", "reftest" ], + "css/css-multicol/multicol-breaking-005-ref.html": [ + "a22fda57c0b2759cce0e1e6ce72de7c07c22ed23", + "support" + ], + "css/css-multicol/multicol-breaking-005.html": [ + "18a1b78fc9a20b4e1c0c7fb605928ba9b476d9a1", + "reftest" + ], "css/css-multicol/multicol-breaking-nobackground-000-ref.html": [ "7a99354061cfeb982fffb921c850484dd02eac15", "support" @@ -567043,6 +567288,14 @@ "7b810423c91d862b80891902c4ba405975c0a493", "reftest" ], + "css/css-multicol/multicol-breaking-nobackground-005-ref.html": [ + "63296363bf99dfb790919cf04f022abeb8dd2419", + "support" + ], + "css/css-multicol/multicol-breaking-nobackground-005.html": [ + "2065949cc92c19ee9816ac2bf10b6a35cfc9a54d", + "reftest" + ], "css/css-multicol/multicol-clip-001-ref.xht": [ "d742ea716d38b186ce5598b4e7db28e6ae74985b", "support" @@ -573895,34 +574148,22 @@ "ee31847fddd16ec9d4a5b1e799c73461009f9e1a", "testharness" ], - "css/css-scroll-snap/parsing/scroll-margin-block-computed.html": [ - "b186e674ab7edbb15ebe2bb488f6833358dc5590", + "css/css-scroll-snap/parsing/scroll-margin-block-inline-computed.html": [ + "3bb0e740acf187969777e470a8f7e9ee2a648b02", "testharness" ], - "css/css-scroll-snap/parsing/scroll-margin-block-invalid.html": [ - "371c933aa0e12115d85f540752a15c9f0a139208", + "css/css-scroll-snap/parsing/scroll-margin-block-inline-invalid.html": [ + "b8a70b0d4890ab108de348f2866b79a2c3cea2c3", "testharness" ], - "css/css-scroll-snap/parsing/scroll-margin-block-valid.html": [ - "f4be8994f7ca1ded25510e78cb16bff683db7ae2", + "css/css-scroll-snap/parsing/scroll-margin-block-inline-valid.html": [ + "e675eeb427064d51af1b9b0c2e29a812d0ae5fce", "testharness" ], "css/css-scroll-snap/parsing/scroll-margin-computed.html": [ "ae7b6de5ddabb9fe2af83996960483b8d29f5882", "testharness" ], - "css/css-scroll-snap/parsing/scroll-margin-inline-computed.html": [ - "d9854713b55fabe80af36c4457bd202bab4ac4a8", - "testharness" - ], - "css/css-scroll-snap/parsing/scroll-margin-inline-invalid.html": [ - "eaeb97157a6287a967c07537d0ebbdb15ad6b49d", - "testharness" - ], - "css/css-scroll-snap/parsing/scroll-margin-inline-valid.html": [ - "a29ede3d32fbcedeaee5c96fcb9fcf449ec97bc1", - "testharness" - ], "css/css-scroll-snap/parsing/scroll-margin-invalid.html": [ "97beb0d295dcda5e18946bc1122a8aedc40ce796", "testharness" @@ -573931,36 +574172,24 @@ "be3499869159c5fb29f9859889f4f2354874853c", "testharness" ], - "css/css-scroll-snap/parsing/scroll-padding-block-computed.html": [ - "2021818dd33c246364c26a3ca4c182b7a4d252a8", + "css/css-scroll-snap/parsing/scroll-padding-block-inline-computed.html": [ + "6a66110cda3b871c5130dae896d54766d96769de", "testharness" ], - "css/css-scroll-snap/parsing/scroll-padding-block-invalid.html": [ - "206e6f5da89a7cc1ae411b57652d7bf1e266844a", + "css/css-scroll-snap/parsing/scroll-padding-block-inline-invalid.html": [ + "da995cfcc07ad43a489aa4e0205fa24d6e435e39", "testharness" ], - "css/css-scroll-snap/parsing/scroll-padding-block-valid.html": [ - "79f675acd5b530db6f0fc6d31a5f059651c8b1f6", + "css/css-scroll-snap/parsing/scroll-padding-block-inline-valid.html": [ + "a932bb6393db62a000092276128d9934b269fc25", "testharness" ], "css/css-scroll-snap/parsing/scroll-padding-computed.html": [ "f638138a7fdd5e84930cac36ea9bab56177fd5dd", "testharness" ], - "css/css-scroll-snap/parsing/scroll-padding-inline-computed.html": [ - "b70cf01b6fe227658f9df2b330856030d7cf8a70", - "testharness" - ], - "css/css-scroll-snap/parsing/scroll-padding-inline-invalid.html": [ - "0cf3fa7353f7123d0f27573c610ce42638c59d40", - "testharness" - ], - "css/css-scroll-snap/parsing/scroll-padding-inline-valid.html": [ - "3fb9003585a9d9cb4af7891cd77ca91f3b8f42c0", - "testharness" - ], "css/css-scroll-snap/parsing/scroll-padding-invalid.html": [ - "e060fcdc0ec064a255ff496fd329fab9917b73b4", + "c805ee2e55eda1ba713b5ba5432c8120410cdcbd", "testharness" ], "css/css-scroll-snap/parsing/scroll-padding-valid.html": [ @@ -574287,6 +574516,18 @@ "2e433aa66f914de66e36f0f4f99237254a7def29", "support" ], + "css/css-shapes/animation/shape-image-threshold-interpolation.html": [ + "edac744592f76704ba82b0c4a7e5a53c7db6ba79", + "testharness" + ], + "css/css-shapes/animation/shape-margin-interpolation.html": [ + "48b3d0c460794b18261ce7a6beedf980d8335d36", + "testharness" + ], + "css/css-shapes/animation/shape-outside-interpolation.html": [ + "3380acdba00db8e9440b33c60275f6fd6340d345", + "testharness" + ], "css/css-shapes/basic-shape-circle-ellipse-serialization.html": [ "5e4842d234f6af393a5ee04fa604a63f6db5cae1", "testharness" @@ -618423,6 +618664,10 @@ "277ccb047abb1b54448a3be76722412e0ddb1979", "support" ], + "docs/running-tests/android_webview.md": [ + "5d1cb26ecafa7fc4d1dd3644e3be1d53d2d0e7fb", + "support" + ], "docs/running-tests/chrome.md": [ "c56d3c56f846f0318e452765192df27beb05e2b9", "support" @@ -618440,7 +618685,7 @@ "support" ], "docs/running-tests/from-local-system.md": [ - "97a6b9e940f716877b33e546cb657e1462293c87", + "35c1905a0c5690171489e93e1635c793433c402a", "support" ], "docs/running-tests/from-web.md": [ @@ -618899,12 +619144,16 @@ "921fa07b3f6de0f9a579b75b14d6509039765205", "testharness" ], - "dom/interface-objects.html": [ - "936d63517eada5521f814fabdbd785a57b9640b2", + "dom/idlharness.any.js": [ + "5119f9f975414e4ef930026da6b83bbb1394017b", "testharness" ], - "dom/interfaces.html": [ - "111608bcaec1c39fa832474ebe014e8730a40c4e", + "dom/idlharness.window.js": [ + "7d87aeaa337ed7709875428641f78107395d9317", + "testharness" + ], + "dom/interface-objects.html": [ + "936d63517eada5521f814fabdbd785a57b9640b2", "testharness" ], "dom/lists/DOMTokenList-Iterable.html": [ @@ -619819,6 +620068,10 @@ "8d9ce2e3ff604ee43807ee0eb1962870439725a9", "testharness" ], + "dom/nodes/aria-element-reflection.tentative.html": [ + "974727f92aa315d727295fcf7b650bc24c507aab", + "testharness" + ], "dom/nodes/attributes.html": [ "dac191b54cb2cafdaf9a71a297d130e571cd5230", "testharness" @@ -622896,7 +623149,7 @@ "testharness" ], "encrypted-media/idlharness.https.html": [ - "6a2ae80a5384aa885d7a1545b19f41cc828c420e", + "b501bde9d25511b2ac38e0431b9211ed6083a4bf", "testharness" ], "encrypted-media/polyfill/cast-polyfill.js": [ @@ -623279,14 +623532,14 @@ "aa27fb61c310d91b629ff0d7b19cd01ce469e645", "support" ], - "event-timing/bufferbeforeonload.html": [ - "4b003a98f64ed99266f9bb12c09c4b5cde5afa32", - "testharness" - ], "event-timing/buffered-flag.html": [ "b9c63ffd8fdd6dca11211376538c65fa9571c437", "testharness" ], + "event-timing/click-timing.html": [ + "afe53bfc23c943a3f3a3679dffbab5edcf5a27ea", + "testharness" + ], "event-timing/crossiframe.html": [ "bb19c82a2a1d64e5edcdc965812488aab1a73652", "testharness" @@ -623299,18 +623552,6 @@ "8b5b6ed91369e1541eb2ccc644ba260627a4ced7", "manual" ], - "event-timing/observethenonload.html": [ - "8295aaf04128c3998a6ce30703bcf85c99a49865", - "testharness" - ], - "event-timing/onloadthenobserve-firstInput.html": [ - "3cd80e2eba1a748a68151a8bf45cfdc93a7b3f71", - "testharness" - ], - "event-timing/onloadthenobserve.html": [ - "4365f4837bcceb070f683db2ee1d2f2a7ea050d6", - "testharness" - ], "event-timing/only-observe-firstInput.html": [ "48df6ec9fc65a9eb8c4adf62f5fc7219b7c5a056", "testharness" @@ -627176,7 +627417,7 @@ "testharness" ], "geolocation-API/idlharness.window.js": [ - "f8c92c121352b6daffe3c3b289f49d3572292c10", + "fe4ac8895dfb6e889eded7d694e3c87905868b4f", "testharness" ], "geolocation-API/support.js": [ @@ -631520,7 +631761,7 @@ "testharness" ], "html/dom/interfaces.worker.js": [ - "f49198cd5c67a603f6fcd1fe33fdc9dd76b1f06b", + "b720d54f3d953633bd7abd1e73097a31a369e825", "testharness" ], "html/dom/new-harness.js": [ @@ -637403,6 +637644,14 @@ "eea1efe51d3c5d52aaa0c5147ffbc5945c71a3fd", "testharness" ], + "html/semantics/document-metadata/the-base-element/base_target_does_not_affect_iframe_src_navigation.html": [ + "b432698f210db32367c5b71bd5478a1b4adc33c4", + "testharness" + ], + "html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html": [ + "2914f1f77f554ae29313ec982cae4b1b80f48071", + "testharness" + ], "html/semantics/document-metadata/the-base-element/example.html": [ "49dc772f9161d60b63eb910e9f286f27bbdbdd76", "support" @@ -647712,11 +647961,11 @@ "testharness" ], "inert/inert-retargeting-iframe.tentative.html": [ - "c31cc88ccecce9212a0e7771c6cfe46479908d66", + "ddcb3ccb0d2c851fe3f1d07169de839465d12354", "testharness" ], "inert/inert-retargeting.tentative.html": [ - "6ef3b2a1b1b7ededf6072156bb85fc5b22d885fe", + "2280cf5a5d1fb16ef192310e4fb4f7d22b3702b3", "testharness" ], "infrastructure/META.yml": [ @@ -647851,7 +648100,7 @@ "472b33f7764bde6e2aea7bc2ccd8bf3739babad2", "support" ], - "infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html": [ + "infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html.ini": [ "69dc018f38990001626df54f1d067efd3421fdd0", "support" ], @@ -648236,7 +648485,7 @@ "support" ], "interfaces/IndexedDB.idl": [ - "f2625ebe53ddde37b5625802b7a417220e7cafbd", + "a8ef47e89ab707f037364afdccbbf572a6c1450a", "support" ], "interfaces/InputDeviceCapabilities.idl": [ @@ -648395,10 +648644,6 @@ "dc9b78fda6180dba6b7958c3429a77e0fb5048b2", "support" ], - "interfaces/dedicated-workers.idl": [ - "8d7255f2a564e3dd648592db59e84dc3529359d1", - "support" - ], "interfaces/dom.idl": [ "285e5f00b87e4033374024f705ccc78cd56364c7", "support" @@ -648484,7 +648729,7 @@ "support" ], "interfaces/input-events.idl": [ - "c10aa32bed093a27df7993d1d384a926b7a65536", + "5ddaae5b9d3db83caca699c847373e7deb421ac4", "support" ], "interfaces/intersection-observer.idl": [ @@ -648640,7 +648885,7 @@ "support" ], "interfaces/requestidlecallback.idl": [ - "812cc0ef81533136f537b2591cf6c1774bf525ba", + "c763b50bde782bb484564b49e25068fff88f782b", "support" ], "interfaces/resize-observer.idl": [ @@ -649440,7 +649685,7 @@ "testharness" ], "lint.whitelist": [ - "a6aa9466810d226208051c597a8c6c3c24337c1e", + "8ff3b81893231ad409e4dd41378a7826a848afb0", "support" ], "loading/lazyload/common.js": [ @@ -650804,7 +651049,7 @@ "support" ], "media-source/idlharness.window.js": [ - "28da56b32e692b0a43f9ab7e49cb395cba91ec6a", + "9300f67fe04f21454a96bb14f6f0b8a059d8e00d", "testharness" ], "media-source/import_tests.sh": [ @@ -651396,7 +651641,7 @@ "manual" ], "mediacapture-depth/idlharness.html": [ - "1afc6e5a05b2b8e0a288e7b680cf2920bdd1c525", + "963229aaca31dd8b92a07e1bb1da4c3eace7ad5b", "testharness" ], "mediacapture-fromelement/META.yml": [ @@ -651712,7 +651957,7 @@ "testharness" ], "mediacapture-streams/idlharness.https.window.js": [ - "5b255fca6b0b770ab6f849afe5d657c66052215a", + "594e1121b005ea3cd7ef1f30aa15fbed07dff1a4", "testharness" ], "mediasession/META.yml": [ @@ -661356,7 +661601,7 @@ "manual" ], "orientation-event/idlharness.https.window.js": [ - "ed8309d6480eaaec45e986a3391854d67b01ba2d", + "55cfed9276b480d7f70c616fa8d815f6ec925d66", "testharness" ], "orientation-event/ondeviceorientationabsolute.https.html": [ @@ -662324,7 +662569,7 @@ "support" ], "permissions/interfaces.any.js": [ - "b93453886930679c557a5c4a01651150b82670d9", + "ff0a969badace39c3c4466c4528e30c21355e132", "testharness" ], "permissions/test-background-fetch-permission.html": [ @@ -672692,7 +672937,7 @@ "testharness" ], "requestidlecallback/idlharness.window.js": [ - "2c9f6593208a4070d590fd81854ee78c5d20ce4d", + "69cd5a49b0432a65db9da267248a6f97d93cd0b9", "testharness" ], "requestidlecallback/resources/post_name_on_load.html": [ @@ -674264,7 +674509,7 @@ "testharness" ], "server-timing/idlharness.https.any.js": [ - "9c101e0f4cf2c5ef0196ac18342c8329755f794e", + "ded320f0f61f4de1132d5cfb76a7e74a16154f3c", "testharness" ], "server-timing/navigation_timing_idl.https.html": [ @@ -675736,7 +675981,7 @@ "testharness" ], "service-workers/service-worker/interfaces-sw.https.html": [ - "73ffb28b36ea38b7230a7042feb444fde0bcf2e9", + "7bff6ac107e3de0ae1207f477b9f940ad404cd21", "testharness" ], "service-workers/service-worker/interfaces-window.https.html": [ @@ -676676,7 +676921,7 @@ "support" ], "service-workers/service-worker/resources/interfaces-worker.sub.js": [ - "56bc8af445d5e7900b4573c35e6d680eff16c671", + "ac79ddc005688affe9acc67b83f43ef304f81c81", "support" ], "service-workers/service-worker/resources/invalid-blobtype-iframe.https.html": [ @@ -679252,7 +679497,7 @@ "testharness" ], "streams/writable-streams/aborting.any.js": [ - "ea47a55fa9ff61cdc2f0ac3caca1e98c7b2c719d", + "2f806464e1fdc40ab281062336f8b80a32c9d1ad", "testharness" ], "streams/writable-streams/bad-strategies.any.js": [ @@ -679264,7 +679509,7 @@ "testharness" ], "streams/writable-streams/brand-checks.any.js": [ - "66296ab3d356446b95b3b5aef30026a31a8eb092", + "17179e7936eda23a284e447bf9b877270016931d", "testharness" ], "streams/writable-streams/byte-length-queuing-strategy.any.js": [ @@ -679272,7 +679517,7 @@ "testharness" ], "streams/writable-streams/close.any.js": [ - "284bb16e1f5c6dca8e3657b85c42193f52ef3ac2", + "0762b83e5d1476c5e70d89957e784fc9d2f80cd0", "testharness" ], "streams/writable-streams/constructor.any.js": [ @@ -679296,7 +679541,7 @@ "testharness" ], "streams/writable-streams/properties.any.js": [ - "b991795a1898e9b1d479d1497009b889f0d786ce", + "81b40683c8b3cab4719ca53ac974c83548dca7ae", "testharness" ], "streams/writable-streams/reentrant-strategy.any.js": [ @@ -679783,6 +680028,10 @@ "40aa3461866cf4c32316d86216dcfe4298be7718", "testharness" ], + "svg/animations/spaces-at-end-of-path-data.html": [ + "235259beccadb2a7d52097918dbde91c07a49b5e", + "testharness" + ], "svg/animations/svgangle-animation-deg-to-grad.html": [ "7a8146336879a8dccaf8e663d7556e408a8e0048", "testharness" @@ -683239,6 +683488,14 @@ "b05a69f10b9e3614f7a588998ea06879df437da7", "testharness" ], + "svg/pservers/parsing/stop-color-invalid.svg": [ + "4eee5444867f6670155327d357dbe3feaea3b309", + "testharness" + ], + "svg/pservers/parsing/stop-color-valid.svg": [ + "80d6c23b83c35f6dfdbff49cce6fedd9066c77bd", + "testharness" + ], "svg/pservers/parsing/stop-opacity-computed.svg": [ "1ad1e98c5a84ebad5e0129164e0d5616b72e36fc", "testharness" @@ -689520,7 +689777,7 @@ "support" ], "tools/wptrunner/wptrunner/executors/executorwebdriver.py": [ - "898447df6f5b8059a209863f6b4f15f326ebd850", + "99d46108eb0ca8f21bed854a7c1fb3278e5e7351", "support" ], "tools/wptrunner/wptrunner/executors/executorwebkit.py": [ @@ -689736,7 +689993,7 @@ "support" ], "tools/wptrunner/wptrunner/webdriver_server.py": [ - "be991701434c3e693994ef4d274bd53f81a41439", + "8b711272c7befe890fab4824868118fc13275eca", "support" ], "tools/wptrunner/wptrunner/wptcommandline.py": [ @@ -695368,11 +695625,15 @@ "wdspec" ], "webdriver/tests/take_element_screenshot/__init__.py": [ - "cf3b21905b774d55e7aed660fd232d60a7f99973", + "9de8792460797f4a31ee50d112c7132a2c2714ad", "support" ], + "webdriver/tests/take_element_screenshot/iframe.py": [ + "d081a14cdeb56d43ee7d10e5b3ec23a53c98bedc", + "wdspec" + ], "webdriver/tests/take_element_screenshot/screenshot.py": [ - "35a1ffe75f042b6e2a995cf980ecaa19e97590e3", + "fd460b656ae307a289174f9180ecc9ed23f0da07", "wdspec" ], "webdriver/tests/take_element_screenshot/user_prompts.py": [ @@ -695380,11 +695641,15 @@ "wdspec" ], "webdriver/tests/take_screenshot/__init__.py": [ - "fe057a4932ef8202a685d4b580e6c49d67a40c1d", + "c07f8d167030d03abbb263ef08d8846bb7a71eba", "support" ], + "webdriver/tests/take_screenshot/iframe.py": [ + "5206f2fa1736f118e5a4b06906325da0e06158b3", + "wdspec" + ], "webdriver/tests/take_screenshot/screenshot.py": [ - "07879530120dfbf8203fe8c4827d2bf36fb3eedb", + "ca6e0272637d6b43413a733725299655858b4367", "wdspec" ], "webdriver/tests/take_screenshot/user_prompts.py": [ @@ -695528,7 +695793,7 @@ "support" ], "webgpu/framework/version.js": [ - "b9ec1b4f9f36069cd843e2f275723c9000a849fb", + "9be025609f36ae16b7395de98c355f6872a9d660", "support" ], "webgpu/runtime/wpt.js": [ @@ -695572,11 +695837,11 @@ "support" ], "webgpu/suites/cts/command_buffer/render/basic.spec.js": [ - "bb201dbe846a7113b32dbeb4b2c3cbe5ba39e8b5", + "83bb026d963d105e3e73ae118664d9951d246710", "support" ], "webgpu/suites/cts/command_buffer/render/rendering.spec.js": [ - "762285d1bcccc81f5b7c4a389cf16523451f5927", + "c8a7d7f5738b6efd199e96fadb937a64bd603d99", "support" ], "webgpu/suites/cts/examples.spec.js": [ @@ -701520,7 +701785,7 @@ "support" ], "workers/README.md": [ - "b78a05ebdbe81f7a5d46082ccfa2fed771fe63b1", + "58ee7cca1ab3e9856e380eaccde042d5700c2603", "support" ], "workers/SharedWorker-MessageEvent-source.any.js": [ @@ -702179,10 +702444,6 @@ "04c63a3a5f6d9bd3b71d94142f65a1825358b8ed", "testharness" ], - "workers/interfaces.worker.js": [ - "fc9f3606faee5aa65ceeae002e2c8398a4092109", - "testharness" - ], "workers/interfaces/DedicatedWorkerGlobalScope/EventTarget.worker.js": [ "954c46c07ecabc47c3c79dadc1052e13382f66e1", "testharness" 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 deleted file mode 100644 index e6e1f29e274..00000000000 --- a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[matchMedia-display-none-iframe.html] - expected: ERROR diff --git a/tests/wpt/metadata/dom/idlharness.any.js.ini b/tests/wpt/metadata/dom/idlharness.any.js.ini new file mode 100644 index 00000000000..8e43fa29136 --- /dev/null +++ b/tests/wpt/metadata/dom/idlharness.any.js.ini @@ -0,0 +1,131 @@ +[idlharness.any.worker.html] + [AbortController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Event interface: new CustomEvent("foo") must inherit property "srcElement" with the proper type] + expected: FAIL + + [Event interface: new Event("foo") must inherit property "composed" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] + expected: FAIL + + [Event interface: operation composedPath()] + expected: FAIL + + [AbortSignal must be primary interface of new AbortController().signal] + expected: FAIL + + [AbortController interface object name] + expected: FAIL + + [Event interface: new Event("foo") must inherit property "srcElement" with the proper type] + expected: FAIL + + [Event interface: attribute composed] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object] + expected: FAIL + + [Stringification of new AbortController().signal] + expected: FAIL + + [AbortSignal interface: existence and properties of interface object] + expected: FAIL + + [CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any)] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + + [Event interface: attribute srcElement] + expected: FAIL + + [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type] + expected: FAIL + + [AbortSignal interface object name] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object] + expected: FAIL + + [Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type] + expected: FAIL + + [Stringification of new AbortController()] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "signal" with the proper type] + expected: FAIL + + [AbortController interface: operation abort()] + expected: FAIL + + [AbortController interface: existence and properties of interface object] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "abort()" with the proper type] + expected: FAIL + + [AbortSignal interface: attribute aborted] + expected: FAIL + + [AbortController interface: attribute signal] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type] + expected: FAIL + + [Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbortSignal interface: attribute onabort] + expected: FAIL + + [AbortController interface object length] + expected: FAIL + + [AbortSignal interface object length] + expected: FAIL + + [EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [Event interface: new Event("foo") must inherit property "composedPath()" with the proper type] + expected: FAIL + + [AbortController must be primary interface of new AbortController()] + expected: FAIL + + +[idlharness.any.sharedworker.html] + [idlharness] + expected: FAIL + + +[idlharness.any.serviceworker.html] + [idlharness] + expected: FAIL + diff --git a/tests/wpt/metadata/dom/idlharness.window.js.ini b/tests/wpt/metadata/dom/idlharness.window.js.ini new file mode 100644 index 00000000000..4731be73de9 --- /dev/null +++ b/tests/wpt/metadata/dom/idlharness.window.js.ini @@ -0,0 +1,543 @@ +[idlharness.window.html?include=Node] + [Node interface: calling isSameNode(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "TEXT_NODE" with the proper type] + expected: FAIL + + [Node interface: calling removeChild(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: calling isEqualNode(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "lookupPrefix(DOMString)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "nextSibling" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isSameNode(Node)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "nodeType" with the proper type] + expected: FAIL + + [Node interface: calling replaceChild(Node, Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type] + expected: FAIL + + [Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "cloneNode(boolean)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ENTITY_NODE" with the proper type] + expected: FAIL + + [Node interface: calling contains(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "CDATA_SECTION_NODE" with the proper type] + expected: FAIL + + [Node interface: calling cloneNode(boolean) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "appendChild(Node)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "parentNode" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "removeChild(Node)" with the proper type] + expected: FAIL + + [Node interface: element must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type] + expected: FAIL + + [Node interface: new Document() must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "baseURI" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "compareDocumentPosition(Node)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "replaceChild(Node, Node)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isEqualNode(Node)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "COMMENT_NODE" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ATTRIBUTE_NODE" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_NODE" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "childNodes" with the proper type] + expected: FAIL + + [Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: document.doctype must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "parentElement" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isDefaultNamespace(DOMString)" with the proper type] + expected: FAIL + + [Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ownerDocument" with the proper type] + expected: FAIL + + [Node interface: calling appendChild(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: calling insertBefore(Node, Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ELEMENT_NODE" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "lookupNamespaceURI(DOMString)" with the proper type] + expected: FAIL + + [Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: xmlDoc must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "firstChild" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "normalize()" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "contains(Node)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "getRootNode(GetRootNodeOptions)" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_TYPE_NODE" with the proper type] + expected: FAIL + + [Node interface: attribute isConnected] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "hasChildNodes()" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isConnected" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "lastChild" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "previousSibling" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "insertBefore(Node, Node)" with the proper type] + expected: FAIL + + [Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ENTITY_REFERENCE_NODE" with the proper type] + expected: FAIL + + [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "NOTATION_NODE" with the proper type] + expected: FAIL + + +[idlharness.window.html?exclude=Node] + [Event interface: new CustomEvent("foo") must inherit property "srcElement" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] + expected: FAIL + + [Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type] + expected: FAIL + + [AbortSignal must be primary interface of new AbortController().signal] + expected: FAIL + + [Element interface: element must inherit property "assignedSlot" with the proper type] + expected: FAIL + + [StaticRange interface: existence and properties of interface prototype object] + expected: FAIL + + [AbortController interface object name] + expected: FAIL + + [Event interface: attribute composed] + expected: FAIL + + [Element interface: operation after([object Object\],[object Object\])] + expected: FAIL + + [Text interface: attribute assignedSlot] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [DOMTokenList interface: iterable] + expected: FAIL + + [Document interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [AbortSignal interface: existence and properties of interface object] + expected: FAIL + + [Element interface: attribute shadowRoot] + expected: FAIL + + [Element interface: operation append([object Object\],[object Object\])] + expected: FAIL + + [StaticRange interface object name] + expected: FAIL + + [Document interface: attribute origin] + expected: FAIL + + [Document interface: operation append([object Object\],[object Object\])] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] + expected: FAIL + + [EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + + [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbstractRange interface: attribute startContainer] + expected: FAIL + + [AbortSignal interface object name] + expected: FAIL + + [Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type] + expected: FAIL + + [DOMTokenList interface: document.body.classList must inherit property "supports(DOMString)" with the proper type] + expected: FAIL + + [StaticRange interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [Element interface: operation attachShadow(ShadowRootInit)] + expected: FAIL + + [Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type] + expected: FAIL + + [AbortController interface: operation abort()] + expected: FAIL + + [AbortController interface: existence and properties of interface object] + expected: FAIL + + [CharacterData interface: operation replaceWith([object Object\],[object Object\])] + expected: FAIL + + [AbortController interface: attribute signal] + expected: FAIL + + [EventTarget interface: document.querySelector("[id\]").attributes[0\] must inherit property "dispatchEvent(Event)" with the proper type] + expected: FAIL + + [Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError] + expected: FAIL + + [EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [DocumentType interface: operation replaceWith([object Object\],[object Object\])] + expected: FAIL + + [StaticRange interface: existence and properties of interface object] + expected: FAIL + + [Event interface: new Event("foo") must inherit property "composedPath()" with the proper type] + expected: FAIL + + [AbortSignal interface: attribute aborted] + expected: FAIL + + [AbstractRange interface: existence and properties of interface prototype object] + expected: FAIL + + [Event interface: operation composedPath()] + expected: FAIL + + [EventTarget interface: calling dispatchEvent(Event) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [AbstractRange interface: attribute endContainer] + expected: FAIL + + [Event interface: new Event("foo") must inherit property "srcElement" with the proper type] + expected: FAIL + + [AbortController must be primary interface of new AbortController()] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [EventTarget interface: document.querySelector("[id\]").attributes[0\] must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] + expected: FAIL + + [CharacterData interface: operation remove()] + expected: FAIL + + [Event interface: attribute srcElement] + expected: FAIL + + [Range interface: existence and properties of interface object] + expected: FAIL + + [CharacterData interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Element interface: element must inherit property "attachShadow(ShadowRootInit)" with the proper type] + expected: FAIL + + [Element interface: element must inherit property "slot" with the proper type] + expected: FAIL + + [AbstractRange interface object length] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "signal" with the proper type] + expected: FAIL + + [DocumentType interface: operation before([object Object\],[object Object\])] + expected: FAIL + + [AbortSignal interface object length] + expected: FAIL + + [Window interface: attribute event] + expected: FAIL + + [AbortController interface: new AbortController() must inherit property "abort()" with the proper type] + expected: FAIL + + [AbstractRange interface: attribute collapsed] + expected: FAIL + + [AbstractRange interface: attribute startOffset] + expected: FAIL + + [Document interface: operation prepend([object Object\],[object Object\])] + expected: FAIL + + [DocumentType interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [AbortController interface object length] + expected: FAIL + + [Range interface: existence and properties of interface prototype object] + expected: FAIL + + [Element interface: operation before([object Object\],[object Object\])] + expected: FAIL + + [AbstractRange interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [DOMTokenList interface: operation supports(DOMString)] + expected: FAIL + + [EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError] + expected: FAIL + + [AbstractRange interface: existence and properties of interface object] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object] + expected: FAIL + + [CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any)] + expected: FAIL + + [Element interface: attribute slot] + expected: FAIL + + [AbstractRange interface object name] + expected: FAIL + + [DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type] + expected: FAIL + + [Element interface: operation prepend([object Object\],[object Object\])] + expected: FAIL + + [Event interface: document.createEvent("Event") must inherit property "composedPath()" with the proper type] + expected: FAIL + + [DOMTokenList interface: calling supports(DOMString) on document.body.classList with too few arguments must throw TypeError] + expected: FAIL + + [StaticRange interface object length] + expected: FAIL + + [DocumentType interface: operation after([object Object\],[object Object\])] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: xmlDoc must inherit property "origin" with the proper type] + expected: FAIL + + [AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type] + expected: FAIL + + [AbortController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [AbortSignal interface: attribute onabort] + expected: FAIL + + [EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object\],[object Object\]) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError] + expected: FAIL + + [AbortSignal interface: existence and properties of interface prototype object] + expected: FAIL + + [Event interface: new Event("foo") must inherit property "composed" with the proper type] + expected: FAIL + + [NodeFilter interface: existence and properties of interface object] + expected: FAIL + + [Element interface: attribute assignedSlot] + expected: FAIL + + [Element interface: operation remove()] + expected: FAIL + + [AbstractRange interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Stringification of new AbortController().signal] + expected: FAIL + + [DocumentFragment interface: operation prepend([object Object\],[object Object\])] + expected: FAIL + + [DocumentFragment interface: operation append([object Object\],[object Object\])] + expected: FAIL + + [AbstractRange interface: attribute endOffset] + expected: FAIL + + [NodeList interface: iterable] + expected: FAIL + + [CharacterData interface: operation before([object Object\],[object Object\])] + expected: FAIL + + [EventTarget interface: document.querySelector("[id\]").attributes[0\] must inherit property "addEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type] + expected: FAIL + + [Stringification of new AbortController()] + expected: FAIL + + [CharacterData interface: operation after([object Object\],[object Object\])] + expected: FAIL + + [StaticRange interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Event interface: document.createEvent("Event") must inherit property "composed" with the proper type] + expected: FAIL + + [Attr interface: existence and properties of interface object] + expected: FAIL + + [DocumentType interface: operation remove()] + expected: FAIL + + [Document interface: new Document() must inherit property "origin" with the proper type] + expected: FAIL + + [Element interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Attr interface: existence and properties of interface prototype object] + expected: FAIL + + [Event interface: document.createEvent("Event") must inherit property "srcElement" with the proper type] + expected: FAIL + + [Element interface: operation replaceWith([object Object\],[object Object\])] + expected: FAIL + + [Element interface: element must inherit property "shadowRoot" with the proper type] + expected: FAIL + diff --git a/tests/wpt/metadata/dom/nodes/aria-element-reflection.tentative.html.ini b/tests/wpt/metadata/dom/nodes/aria-element-reflection.tentative.html.ini new file mode 100644 index 00000000000..606c3e6418e --- /dev/null +++ b/tests/wpt/metadata/dom/nodes/aria-element-reflection.tentative.html.ini @@ -0,0 +1,28 @@ +[aria-element-reflection.tentative.html] + [aria-activedescendant element reflection] + expected: FAIL + + [Deleting a reflected element should return null for the IDL attribute and cause the content attribute to become stale.] + expected: FAIL + + [If the content attribute is set directly, the IDL attribute getter always returns the first element whose ID matches the content attribute.] + expected: FAIL + + [Changing the ID of an element causes the content attribute to become out of sync.] + expected: FAIL + + [aria-errormessage] + expected: FAIL + + [Setting an element reference that crosses into a shadow tree is disallowed, but setting one that is in a shadow inclusive ancestor is allowed.] + expected: FAIL + + [Setting the IDL attribute to an element which is not the first element in DOM order with its ID causes the content attribute to be an empty string] + expected: FAIL + + [aria-details] + expected: FAIL + + [Reparenting an element into a descendant shadow scope nullifies the element reference.] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 14a49ab586d..72cf300d494 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -315,18 +315,12 @@ [ + diff --git a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html new file mode 100644 index 00000000000..2914f1f77f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-base-element/base_target_does_not_affect_location_assignment.html @@ -0,0 +1,10 @@ + + + + + diff --git a/tests/wpt/web-platform-tests/inert/inert-retargeting-iframe.tentative.html b/tests/wpt/web-platform-tests/inert/inert-retargeting-iframe.tentative.html index c31cc88ccec..ddcb3ccb0d2 100644 --- a/tests/wpt/web-platform-tests/inert/inert-retargeting-iframe.tentative.html +++ b/tests/wpt/web-platform-tests/inert/inert-retargeting-iframe.tentative.html @@ -158,7 +158,7 @@ function expectEventsOn(events, element) { } element.addEventListener(event, f, { capture: true, once: true }); - setTimeout(() => { + step_timeout(() => { element.removeEventListener(event, f, { capture: true }); reject("did not get " + event + " on " + element.id); }, 1000); @@ -181,7 +181,7 @@ function unexpectEventsOn(events, element) { } element.addEventListener(event, f, { capture: true, once: true }); - setTimeout(() => { + step_timeout(() => { element.removeEventListener(event, f, { capture: true }); resolve(); }, 1000); diff --git a/tests/wpt/web-platform-tests/inert/inert-retargeting.tentative.html b/tests/wpt/web-platform-tests/inert/inert-retargeting.tentative.html index 6ef3b2a1b1b..2280cf5a5d1 100644 --- a/tests/wpt/web-platform-tests/inert/inert-retargeting.tentative.html +++ b/tests/wpt/web-platform-tests/inert/inert-retargeting.tentative.html @@ -159,7 +159,7 @@ function expectEventsOn(events, element) { } element.addEventListener(event, f, { capture: true, once: true }); - setTimeout(() => { + step_timeout(() => { element.removeEventListener(event, f, { capture: true }); reject("did not get " + event + " on " + element.id); }, 1000); @@ -182,7 +182,7 @@ function unexpectEventsOn(events, element) { } element.addEventListener(event, f, { capture: true, once: true }); - setTimeout(() => { + step_timeout(() => { element.removeEventListener(event, f, { capture: true }); resolve(); }, 1000); diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html.ini similarity index 100% rename from tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html rename to tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_chain_ini.html.ini diff --git a/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl b/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl index f2625ebe53d..a8ef47e89ab 100644 --- a/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl +++ b/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl @@ -29,7 +29,7 @@ interface IDBOpenDBRequest : IDBRequest { }; [Exposed=(Window,Worker), - Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)] + Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict = {})] interface IDBVersionChangeEvent : Event { readonly attribute unsigned long long oldVersion; readonly attribute unsigned long long? newVersion; @@ -70,8 +70,9 @@ interface IDBDatabase : EventTarget { optional IDBTransactionMode mode = "readonly"); void close(); - [NewObject] IDBObjectStore createObjectStore(DOMString name, - optional IDBObjectStoreParameters options); + [NewObject] IDBObjectStore createObjectStore( + DOMString name, + optional IDBObjectStoreParameters options = {}); void deleteObjectStore(DOMString name); // Event handlers: @@ -115,7 +116,7 @@ interface IDBObjectStore { [NewObject] IDBIndex createIndex(DOMString name, (DOMString or sequence) keyPath, - optional IDBIndexParameters options); + optional IDBIndexParameters options = {}); void deleteIndex(DOMString name); }; diff --git a/tests/wpt/web-platform-tests/interfaces/dedicated-workers.idl b/tests/wpt/web-platform-tests/interfaces/dedicated-workers.idl deleted file mode 100644 index 8d7255f2a56..00000000000 --- a/tests/wpt/web-platform-tests/interfaces/dedicated-workers.idl +++ /dev/null @@ -1,133 +0,0 @@ -// ----------------------------------------------------------------------------- -// DOM -// ----------------------------------------------------------------------------- -[Constructor(), Exposed=(Window,Worker)] -interface EventTarget { - void addEventListener(DOMString type, EventListener? callback, optional (AddEventListenerOptions or boolean) options); - void removeEventListener(DOMString type, EventListener? callback, optional (EventListenerOptions or boolean) options); - boolean dispatchEvent(Event event); -}; - -callback interface EventListener { - void handleEvent(Event event); -}; - -dictionary EventListenerOptions { - boolean capture = false; -}; - -dictionary AddEventListenerOptions : EventListenerOptions { - boolean passive = false; - boolean once = false; -}; - -// ----------------------------------------------------------------------------- -// HTML -// ----------------------------------------------------------------------------- -[TreatNonCallableAsNull] -callback EventHandlerNonNull = any (Event event); -typedef EventHandlerNonNull? EventHandler; - -[TreatNonCallableAsNull] -callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error); -typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; - -[Exposed=Worker] -interface WorkerGlobalScope : EventTarget { - readonly attribute WorkerGlobalScope self; - readonly attribute WorkerLocation location; - readonly attribute WorkerNavigator navigator; - void importScripts(USVString... urls); - - attribute OnErrorEventHandler onerror; - attribute EventHandler onlanguagechange; - attribute EventHandler onoffline; - attribute EventHandler ononline; - attribute EventHandler onrejectionhandled; - attribute EventHandler onunhandledrejection; -}; - -[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker] -interface DedicatedWorkerGlobalScope : WorkerGlobalScope { - [Replaceable] readonly attribute DOMString name; - - void postMessage(any message, optional sequence transfer = []); - - void close(); - - attribute EventHandler onmessage; - attribute EventHandler onmessageerror; -}; - -typedef (DOMString or Function) TimerHandler; - -[Exposed=(Window,Worker)] -interface mixin WindowOrWorkerGlobalScope { - [Replaceable] readonly attribute USVString origin; - - // base64 utility methods - DOMString btoa(DOMString data); - DOMString atob(DOMString data); - - // timers - long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments); - void clearTimeout(optional long handle = 0); - long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments); - void clearInterval(optional long handle = 0); - - // ImageBitmap - Promise createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options); - Promise createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options); -}; -WorkerGlobalScope includes WindowOrWorkerGlobalScope; - -[Exposed=Worker] -interface WorkerNavigator {}; -WorkerNavigator includes NavigatorID; -WorkerNavigator includes NavigatorLanguage; -WorkerNavigator includes NavigatorOnLine; -WorkerNavigator includes NavigatorConcurrentHardware; - -[Exposed=(Window,Worker)] -interface mixin NavigatorID { - readonly attribute DOMString appCodeName; // constant "Mozilla" - readonly attribute DOMString appName; // constant "Netscape" - readonly attribute DOMString appVersion; - readonly attribute DOMString platform; - readonly attribute DOMString product; // constant "Gecko" - [Exposed=Window] readonly attribute DOMString productSub; - readonly attribute DOMString userAgent; - [Exposed=Window] readonly attribute DOMString vendor; - [Exposed=Window] readonly attribute DOMString vendorSub; // constant "" - - // also has additional members in a partial interface -}; - -[Exposed=(Window,Worker)] -interface mixin NavigatorLanguage { - readonly attribute DOMString language; - readonly attribute FrozenArray languages; -}; - -[Exposed=(Window,Worker)] -interface mixin NavigatorOnLine { - readonly attribute boolean onLine; -}; - -[Exposed=(Window,Worker)] -interface mixin NavigatorConcurrentHardware { - readonly attribute unsigned long long hardwareConcurrency; -}; - -[Exposed=Worker] -interface WorkerLocation { - stringifier readonly attribute USVString href; - readonly attribute USVString origin; - readonly attribute USVString protocol; - readonly attribute USVString host; - readonly attribute USVString hostname; - readonly attribute USVString port; - readonly attribute USVString pathname; - readonly attribute USVString search; - readonly attribute USVString hash; -}; diff --git a/tests/wpt/web-platform-tests/interfaces/input-events.idl b/tests/wpt/web-platform-tests/interfaces/input-events.idl index c10aa32bed0..5ddaae5b9d3 100644 --- a/tests/wpt/web-platform-tests/interfaces/input-events.idl +++ b/tests/wpt/web-platform-tests/interfaces/input-events.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) -// Source: Input Events Level 1 (https://cdn.staticaly.com/gh/w3c/input-events/v1/index.html) +// Source: Input Events Level 2 (https://w3c.github.io/input-events/) partial interface InputEvent { readonly attribute DataTransfer? dataTransfer; diff --git a/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl b/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl index 812cc0ef815..c763b50bde7 100644 --- a/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl +++ b/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl @@ -4,7 +4,7 @@ // Source: Cooperative Scheduling of Background Tasks (https://w3c.github.io/requestidlecallback/) partial interface Window { - unsigned long requestIdleCallback(IdleRequestCallback callback, optional IdleRequestOptions options); + unsigned long requestIdleCallback(IdleRequestCallback callback, optional IdleRequestOptions options = {}); void cancelIdleCallback(unsigned long handle); }; diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist index a6aa9466810..8ff3b818932 100644 --- a/tests/wpt/web-platform-tests/lint.whitelist +++ b/tests/wpt/web-platform-tests/lint.whitelist @@ -820,9 +820,6 @@ WEB-PLATFORM.TEST:signed-exchange/resources/*.sxg WEB-PLATFORM.TEST:signed-exchange/appcache/resources/*.sxg WEB-PLATFORM.TEST:signed-exchange/resources/generate-test-sxgs.sh -SET TIMEOUT: inert/inert-retargeting.tentative.html -SET TIMEOUT: inert/inert-retargeting-iframe.tentative.html - # https://github.com/web-platform-tests/wpt/issues/16455 MISSING DEPENDENCY: idle-detection/interceptor.https.html MISSING DEPENDENCY: sms/sms_provider.js diff --git a/tests/wpt/web-platform-tests/media-source/idlharness.window.js b/tests/wpt/web-platform-tests/media-source/idlharness.window.js index 28da56b32e6..9300f67fe04 100644 --- a/tests/wpt/web-platform-tests/media-source/idlharness.window.js +++ b/tests/wpt/web-platform-tests/media-source/idlharness.window.js @@ -1,5 +1,6 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js +// META: timeout=long // https://w3c.github.io/media-source/ @@ -9,8 +10,6 @@ idl_test( ['media-source'], ['dom', 'html', 'url'], async idl_array => { - self.audio = document.createElement('audio'); - self.video = document.createElement('video'); idl_array.add_objects({ MediaSource: ['mediaSource'], SourceBuffer: ['sourceBuffer'], diff --git a/tests/wpt/web-platform-tests/mediacapture-depth/idlharness.html b/tests/wpt/web-platform-tests/mediacapture-depth/idlharness.html index 1afc6e5a05b..963229aaca3 100644 --- a/tests/wpt/web-platform-tests/mediacapture-depth/idlharness.html +++ b/tests/wpt/web-platform-tests/mediacapture-depth/idlharness.html @@ -4,7 +4,7 @@ Media Capture Depth Stream Extensions IDL test - + @@ -15,15 +15,13 @@
diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/idlharness.https.window.js b/tests/wpt/web-platform-tests/mediacapture-streams/idlharness.https.window.js index 5b255fca6b0..594e1121b00 100644 --- a/tests/wpt/web-platform-tests/mediacapture-streams/idlharness.https.window.js +++ b/tests/wpt/web-platform-tests/mediacapture-streams/idlharness.https.window.js @@ -5,50 +5,44 @@ // https://w3c.github.io/mediacapture-main/ - -promise_test(async () => { - const srcs = ['mediacapture-streams','dom','html']; - const [idl, dom, html] = await Promise.all( - srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text()))); - - const idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(html); - idl_array.add_dependency_idls(dom); - - const devices = []; - // Errors will be surfaced in idlharness.js's test_object below. - try { - const list = await navigator.mediaDevices.enumerateDevices(); - for (const item of list) { - switch (item.kind) { - case 'audioinput': - case 'videoinput': - case 'audiooutput': - self[item.kind] = item; - devices.push(item.kind); - default: - assert_unreached( - 'media.kind should be one of "audioinput", "videoinput", or "audiooutput".'); +idl_test( + ['mediacapture-streams'], + ['dom', 'html'], + async idl_array => { + const inputDevices = []; + const outputDevices = []; + try { + const list = await navigator.mediaDevices.enumerateDevices(); + for (const device of list) { + if (device.kind in self) { + continue; + } + assert_in_array(device.kind, ['audioinput', 'videoinput', 'audiooutput']); + self[device.kind] = device; + if (device.kind.endsWith('input')) { + inputDevices.push(device.kind); + } else { + outputDevices.push(device.kind); + } } - } - } catch (e) {} + } catch (e) {} - try { - self.stream = await navigator.mediaDevices.getUserMedia({audio: true}); - self.track = stream.getTracks()[0]; - self.trackEvent = new MediaStreamTrackEvent("type", { - track: track, + try { + self.stream = await navigator.mediaDevices.getUserMedia({audio: true}); + self.track = stream.getTracks()[0]; + self.trackEvent = new MediaStreamTrackEvent("type", { + track: track, + }); + } catch (e) {} + + idl_array.add_objects({ + InputDeviceInfo: inputDevices, + MediaStream: ['stream', 'new MediaStream()'], + Navigator: ['navigator'], + MediaDevices: ['navigator.mediaDevices'], + MediaDeviceInfo: outputDevices, + MediaStreamTrack: ['track'], + MediaStreamTrackEvent: ['trackEvent'], }); - } catch (e) { throw e} - - idl_array.add_objects({ - InputDeviceInfo: devices, - MediaStream: ['stream', 'new MediaStream()'], - Navigator: ['navigator'], - MediaDevices: ['navigator.mediaDevices'], - MediaStreamTrack: ['track'], - MediaStreamTrackEvent: ['trackEvent'], - }); - idl_array.test(); -}, 'mediacapture-streams interfaces.'); + } +); diff --git a/tests/wpt/web-platform-tests/orientation-event/idlharness.https.window.js b/tests/wpt/web-platform-tests/orientation-event/idlharness.https.window.js index ed8309d6480..55cfed9276b 100644 --- a/tests/wpt/web-platform-tests/orientation-event/idlharness.https.window.js +++ b/tests/wpt/web-platform-tests/orientation-event/idlharness.https.window.js @@ -5,19 +5,14 @@ 'use strict'; -promise_test(async () => { - const idl = await fetch('/interfaces/orientation-event.idl').then(r => r.text()); - const dom = await fetch('/interfaces/dom.idl').then(r => r.text()); - const html = await fetch('/interfaces/html.idl').then(r => r.text()); - - var idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(html); - idl_array.add_dependency_idls(dom); - idl_array.add_objects({ - Window: ['window'], - DeviceOrientationEvent: ['new DeviceOrientationEvent("foo")'], - DeviceMotionEvent: ['new DeviceMotionEvent("foo")'], - }); - idl_array.test(); -}, 'orientation-event interfaces'); +idl_test( + ['orientation-event'], + ['html', 'dom'], + idl_array => { + idl_array.add_objects({ + Window: ['window'], + DeviceOrientationEvent: ['new DeviceOrientationEvent("foo")'], + DeviceMotionEvent: ['new DeviceMotionEvent("foo")'], + }); + } +); diff --git a/tests/wpt/web-platform-tests/permissions/interfaces.any.js b/tests/wpt/web-platform-tests/permissions/interfaces.any.js index b9345388693..ff0a969bada 100644 --- a/tests/wpt/web-platform-tests/permissions/interfaces.any.js +++ b/tests/wpt/web-platform-tests/permissions/interfaces.any.js @@ -1,41 +1,27 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js -"use strict"; - -if (self.importScripts) { - importScripts("/resources/testharness.js"); - importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js"); -} - // https://w3c.github.io/permissions/#idl-index -promise_test(async () => { - const idl = await fetch("/interfaces/permissions.idl").then(r => r.text()); - const dom = await fetch("/interfaces/dom.idl").then(r => r.text()); - const html = await fetch("/interfaces/html.idl").then(r => r.text()); +"use strict"; - const idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(dom); - idl_array.add_dependency_idls(html); +idl_test( + ['permissions'], + ['html', 'dom'], + async idl_array => { + try { + self.permissionStatus = await navigator.permissions.query({ name: "geolocation" }); + } catch (e) {} - try { - self.permissionStatus = await navigator.permissions.query({ name: "geolocation" }); - self.permissionStatus = await navigator.permissions.query({ name: "background-fetch" }); - } catch (e) { - // Will be surfaced in idlharness.js's test_object below. + if (self.GLOBAL.isWorker()) { + idl_array.add_objects({ WorkerNavigator: ['navigator'] }); + } else { + idl_array.add_objects({ Navigator: ['navigator'] }); + } + + idl_array.add_objects({ + Permissions: ['navigator.permissions'], + PermissionStatus: ['permissionStatus'] + }); } - - if (self.GLOBAL.isWorker()) { - idl_array.add_objects({ WorkerNavigator: ['navigator'] }); - } else { - idl_array.add_objects({ Navigator: ['navigator'] }); - } - - idl_array.add_objects({ - Permissions: ['navigator.permissions'], - PermissionStatus: ['permissionStatus'] - }); - idl_array.test(); -}, "Test IDL implementation of Permissions API"); +); diff --git a/tests/wpt/web-platform-tests/requestidlecallback/idlharness.window.js b/tests/wpt/web-platform-tests/requestidlecallback/idlharness.window.js index 2c9f6593208..69cd5a49b04 100644 --- a/tests/wpt/web-platform-tests/requestidlecallback/idlharness.window.js +++ b/tests/wpt/web-platform-tests/requestidlecallback/idlharness.window.js @@ -1,30 +1,24 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js -async_test(function() { - const srcs = ['requestidlecallback', 'html', 'dom']; - Promise.all(srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text()))) - .then(([idl, html, dom]) => { - var idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(html); - idl_array.add_dependency_idls(dom); - idl_array.add_objects({Window: ['window']}); +// https://w3c.github.io/requestidlecallback/ - let deadline; - const execIDLTest = this.step_func_done(function() { - idl_array.add_objects({IdleDeadline: [deadline]}); - idl_array.test(); - }); +'use strict'; - if (!window.requestIdleCallback) { - execIDLTest(); - } else { - const callback = this.step_func(d => { - deadline = d; - execIDLTest(); - }); - requestIdleCallback(callback, { timeout: 100 }); - } +idl_test( + ['requestidlecallback'], + ['html', 'dom'], + async idl_array => { + idl_array.add_objects({ + IdleDeadline: ['deadline'], + Window: ['window'], }); -}, 'IdleDeadline object setup'); + + await new Promise(resolve => { + requestIdleCallback(d => { + self.deadline = d; + resolve(); + }, { timeout: 100 }); + }); + } +); diff --git a/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js b/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js index 9c101e0f4cf..ded320f0f61 100644 --- a/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js +++ b/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js @@ -5,17 +5,12 @@ // https://w3c.github.io/server-timing/ -promise_test(async () => { - const idl = await fetch('/interfaces/server-timing.idl').then(r => r.text()); - const res = await fetch('/interfaces/resource-timing.idl').then(r => r.text()); - const perf = await fetch('/interfaces/performance-timeline.idl').then(r => r.text()); - - const idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(res); - idl_array.add_dependency_idls(perf); - idl_array.add_objects({ - Performance: ['performance'], - }); - idl_array.test(); -}, 'Test server-timing IDL implementation'); +idl_test( + ['server-timing'], + ['resource-timing', 'performance-timeline'], + idl_array => { + idl_array.add_objects({ + Performance: ['performance'], + }); + } +); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html index 73ffb28b36e..7bff6ac107e 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-sw.https.html @@ -7,7 +7,7 @@ 'use strict'; // NOTE: affected when 'resources/interfaces-worker.sub.js' srcs change: -// const srcs = ['dom', 'html', 'service-workers', 'dedicated-workers']; +// const srcs = ['dom', 'html', 'service-workers']; service_worker_test( 'resources/interfaces-worker.sub.js', 'Interfaces and attributes in ServiceWorkerGlobalScope'); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js index 56bc8af445d..ac79ddc0056 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/interfaces-worker.sub.js @@ -5,8 +5,8 @@ importScripts('/resources/WebIDLParser.js'); importScripts('/resources/idlharness.js'); promise_test(async (t) => { - const srcs = ['dom', 'html', 'service-workers', 'dedicated-workers']; - const [dom, html, serviceWorkerIdl, dedicated] = await Promise.all( + const srcs = ['dom', 'html', 'service-workers']; + const [dom, html, serviceWorkerIdl] = await Promise.all( srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text()))); var idlArray = new IdlArray(); @@ -24,7 +24,6 @@ promise_test(async (t) => { 'Cache', 'CacheStorage', ]}); - idlArray.add_dependency_idls(dedicated); idlArray.add_dependency_idls(dom); idlArray.add_dependency_idls(html); idlArray.add_objects({ diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/aborting.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/aborting.any.js index ea47a55fa9f..2f806464e1f 100644 --- a/tests/wpt/web-platform-tests/streams/writable-streams/aborting.any.js +++ b/tests/wpt/web-platform-tests/streams/writable-streams/aborting.any.js @@ -114,7 +114,8 @@ promise_test(() => { return writer.abort('a').then(value => { assert_equals(value, undefined, 'fulfillment value must be undefined'); }); -}, 'Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value'); +}, 'Fulfillment value of writer.abort() call must be undefined even if the underlying sink returns a non-undefined ' + + 'value'); promise_test(t => { const ws = new WritableStream({ diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js index 66296ab3d35..17179e7936e 100644 --- a/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js +++ b/tests/wpt/web-platform-tests/streams/writable-streams/brand-checks.any.js @@ -14,6 +14,7 @@ function fakeWS() { return Object.setPrototypeOf({ get locked() { return false; }, abort() { return Promise.resolve(); }, + close() { return Promise.resolve(); }, getWriter() { return fakeWSDefaultWriter(); } }, WritableStream.prototype); } @@ -64,6 +65,11 @@ promise_test(t => { [fakeWS(), realWSDefaultWriter(), realWSDefaultController(), undefined, null]); }, 'WritableStream.prototype.abort enforces a brand check'); +promise_test(t => { + return methodRejectsForAll(t, WritableStream.prototype, 'close', + [fakeWS(), realWSDefaultWriter(), realWSDefaultController(), undefined, null]); +}, 'WritableStream.prototype.close enforces a brand check'); + test(() => { methodThrowsForAll(WritableStream.prototype, 'getWriter', [fakeWS(), realWSDefaultWriter(), realWSDefaultController(), undefined, null]); diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/close.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/close.any.js index 284bb16e1f5..0762b83e5d1 100644 --- a/tests/wpt/web-platform-tests/streams/writable-streams/close.any.js +++ b/tests/wpt/web-platform-tests/streams/writable-streams/close.any.js @@ -20,7 +20,7 @@ promise_test(() => { const closePromise = writer.close(); return closePromise.then(value => assert_equals(value, undefined, 'fulfillment value must be undefined')); -}, 'fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined ' + +}, 'fulfillment value of writer.close() call must be undefined even if the underlying sink returns a non-undefined ' + 'value'); promise_test(() => { @@ -411,3 +411,60 @@ promise_test(() => { return ready; }); }, 'ready promise should be initialised as fulfilled for a writer on a closed stream'); + +promise_test(() => { + const ws = new WritableStream(); + ws.close(); + const writer = ws.getWriter(); + return writer.closed; +}, 'close() on a writable stream should work'); + +promise_test(t => { + const ws = new WritableStream(); + ws.getWriter(); + return promise_rejects(t, new TypeError(), ws.close(), 'close should reject'); +}, 'close() on a locked stream should reject'); + +promise_test(t => { + const ws = new WritableStream({ + start(controller) { + controller.error(error1); + } + }); + return promise_rejects(t, error1, ws.close(), 'close should reject with error1'); +}, 'close() on an erroring stream should reject'); + +promise_test(t => { + const ws = new WritableStream({ + start(controller) { + controller.error(error1); + } + }); + const writer = ws.getWriter(); + return promise_rejects(t, error1, writer.closed, 'closed should reject with the error').then(() => { + writer.releaseLock(); + return promise_rejects(t, new TypeError(), ws.close(), 'close should reject'); + }); +}, 'close() on an errored stream should reject'); + +promise_test(t => { + const ws = new WritableStream(); + const writer = ws.getWriter(); + return writer.close().then(() => { + return promise_rejects(t, new TypeError(), ws.close(), 'close should reject'); + }); +}, 'close() on an closed stream should reject'); + +promise_test(t => { + const ws = new WritableStream({ + close() { + return new Promise(() => {}); + } + }); + + const writer = ws.getWriter(); + writer.close(); + writer.releaseLock(); + + return promise_rejects(t, new TypeError(), ws.close(), 'close should reject'); +}, 'close() on a stream with a pending close should reject'); diff --git a/tests/wpt/web-platform-tests/streams/writable-streams/properties.any.js b/tests/wpt/web-platform-tests/streams/writable-streams/properties.any.js index b991795a189..81b40683c8b 100644 --- a/tests/wpt/web-platform-tests/streams/writable-streams/properties.any.js +++ b/tests/wpt/web-platform-tests/streams/writable-streams/properties.any.js @@ -45,6 +45,10 @@ const expected = { type: 'method', length: 1 }, + close: { + type: 'method', + length: 0 + }, getWriter: { type: 'method', length: 0 diff --git a/tests/wpt/web-platform-tests/svg/animations/spaces-at-end-of-path-data.html b/tests/wpt/web-platform-tests/svg/animations/spaces-at-end-of-path-data.html new file mode 100644 index 00000000000..235259becca --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/animations/spaces-at-end-of-path-data.html @@ -0,0 +1,29 @@ + + +Allow trailing empty entry in value list + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/parsing/stop-color-invalid.svg b/tests/wpt/web-platform-tests/svg/pservers/parsing/stop-color-invalid.svg new file mode 100644 index 00000000000..4eee5444867 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/parsing/stop-color-invalid.svg @@ -0,0 +1,24 @@ + + SVG Paint Servers: parsing stop-color with invalid values + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/parsing/stop-color-valid.svg b/tests/wpt/web-platform-tests/svg/pservers/parsing/stop-color-valid.svg new file mode 100644 index 00000000000..80d6c23b83c --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/parsing/stop-color-valid.svg @@ -0,0 +1,24 @@ + + SVG Paint Servers: parsing stop-color with valid values + + + + + + + + + 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 898447df6f5..99d46108eb0 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 @@ -1,6 +1,7 @@ import json import os import socket +import sys import threading import time import traceback @@ -232,10 +233,14 @@ class WebDriverProtocol(Protocol): def teardown(self): self.logger.debug("Hanging up on WebDriver session") try: - self.webdriver.quit() - except Exception: - pass - del self.webdriver + self.webdriver.end() + except Exception as e: + message = str(getattr(e, "message", "")) + if message: + message += "\n" + message += traceback.format_exc(e) + self.logger.debug(message) + self.webdriver = None def is_alive(self): try: @@ -277,7 +282,10 @@ class WebDriverRun(object): # it can if self._run fails to set self.result due to raising self.result = False, ("INTERNAL-ERROR", "self._run didn't set a result") else: - self.result = False, ("EXTERNAL-TIMEOUT", None) + message = "Waiting on browser:\n" + # get a traceback for the current stack of the executor thread + message += "".join(traceback.format_stack(sys._current_frames()[executor.ident])) + self.result = False, ("EXTERNAL-TIMEOUT", message) return self.result diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/webdriver_server.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/webdriver_server.py index be991701434..8b711272c7b 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/webdriver_server.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/webdriver_server.py @@ -81,6 +81,7 @@ class WebDriverServer(object): self._proc.wait() def stop(self, force=False): + self.logger.debug("Stopping WebDriver") if self.is_alive: return self._proc.kill() return not self.is_alive diff --git a/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/__init__.py b/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/__init__.py index cf3b21905b7..9de87924607 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/__init__.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/__init__.py @@ -1,12 +1,12 @@ def element_rect(session, element): return session.execute_script(""" - let devicePixelRatio = window.devicePixelRatio; - let rect = arguments[0].getBoundingClientRect(); + let {devicePixelRatio} = window; + let {left, top, width, height} = arguments[0].getBoundingClientRect(); return { - x: Math.floor((rect.left + window.pageXOffset) * devicePixelRatio), - y: Math.floor((rect.top + window.pageYOffset) * devicePixelRatio), - width: Math.floor(rect.width * devicePixelRatio), - height: Math.floor(rect.height * devicePixelRatio), + x: Math.floor((left + window.pageXOffset) * devicePixelRatio), + y: Math.floor((top + window.pageYOffset) * devicePixelRatio), + width: Math.floor(width * devicePixelRatio), + height: Math.floor(height * devicePixelRatio), }; """, args=(element,)) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/iframe.py b/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/iframe.py new file mode 100644 index 00000000000..d081a14cdeb --- /dev/null +++ b/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/iframe.py @@ -0,0 +1,54 @@ +import pytest + +from tests.support.asserts import assert_success +from tests.support.image import png_dimensions +from tests.support.inline import iframe, inline + +from . import element_rect + + +DEFAULT_CSS_STYLE = """ + +""" + +DEFAULT_CONTENT = "
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
" + + +def take_element_screenshot(session, element_id): + return session.transport.send( + "GET", + "session/{session_id}/element/{element_id}/screenshot".format( + session_id=session.session_id, + element_id=element_id, + ) + ) + + +@pytest.mark.parametrize("domain", ["", "alt"], ids=["same_origin", "cross_origin"]) +def test_source_origin(session, url, domain): + session.url = inline("""{0}{1}""".format(DEFAULT_CSS_STYLE, DEFAULT_CONTENT)) + element = session.find.css("div", all=False) + rect = element_rect(session, element) + + response = take_element_screenshot(session, element.id) + reference_screenshot = assert_success(response) + assert png_dimensions(reference_screenshot) == (rect["width"], rect["height"]) + + iframe_content = "{}".format(DEFAULT_CONTENT) + session.url = inline("""{0}{1}""".format( + DEFAULT_CSS_STYLE, iframe(iframe_content, domain=domain))) + frame_element = session.find.css("iframe", all=False) + frame_rect = element_rect(session, frame_element) + + response = take_element_screenshot(session, frame_element.id) + screenshot = assert_success(response) + assert png_dimensions(screenshot) == (frame_rect["width"], frame_rect["height"]) + + assert screenshot == reference_screenshot diff --git a/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/screenshot.py b/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/screenshot.py index 35a1ffe75f0..fd460b656ae 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/screenshot.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/take_element_screenshot/screenshot.py @@ -1,4 +1,4 @@ -from tests.support.asserts import assert_error, assert_png, assert_success +from tests.support.asserts import assert_error, assert_success from tests.support.image import png_dimensions from tests.support.inline import inline @@ -35,7 +35,6 @@ def test_format_and_dimensions(session): rect = element_rect(session, element) response = take_element_screenshot(session, element.id) - value = assert_success(response) + screenshot = assert_success(response) - assert_png(value) - assert png_dimensions(value) == (rect["width"], rect["height"]) + assert png_dimensions(screenshot) == (rect["width"], rect["height"]) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/__init__.py b/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/__init__.py index fe057a4932e..c07f8d16703 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/__init__.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/__init__.py @@ -1,2 +1,9 @@ -def document_dimensions(session): - return tuple(session.execute_script("return [window.innerWidth, window.innerHeight];")) +def viewport_dimensions(session): + return tuple(session.execute_script(""" + let {devicePixelRatio, innerHeight, innerWidth} = window; + + return [ + Math.floor(innerWidth * devicePixelRatio), + Math.floor(innerHeight * devicePixelRatio) + ]; + """)) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/iframe.py b/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/iframe.py new file mode 100644 index 00000000000..5206f2fa173 --- /dev/null +++ b/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/iframe.py @@ -0,0 +1,45 @@ +import pytest + +from tests.support.asserts import assert_success +from tests.support.image import png_dimensions +from tests.support.inline import iframe, inline + +from . import viewport_dimensions + + +DEFAULT_CSS_STYLE = """ + +""" + +DEFAULT_CONTENT = "
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
" + + +def take_screenshot(session): + return session.transport.send( + "GET", "session/{session_id}/screenshot".format(**vars(session))) + + +@pytest.mark.parametrize("domain", ["", "alt"], ids=["same_origin", "cross_origin"]) +def test_source_origin(session, url, domain): + session.url = inline("""{0}{1}""".format(DEFAULT_CSS_STYLE, DEFAULT_CONTENT)) + + response = take_screenshot(session) + reference_screenshot = assert_success(response) + assert png_dimensions(reference_screenshot) == viewport_dimensions(session) + + iframe_content = "{}".format(DEFAULT_CONTENT) + session.url = inline("""{0}{1}""".format( + DEFAULT_CSS_STYLE, iframe(iframe_content, domain=domain))) + + response = take_screenshot(session) + screenshot = assert_success(response) + assert png_dimensions(screenshot) == viewport_dimensions(session) + + assert screenshot == reference_screenshot diff --git a/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/screenshot.py b/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/screenshot.py index 07879530120..ca6e0272637 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/screenshot.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/take_screenshot/screenshot.py @@ -2,7 +2,7 @@ from tests.support.asserts import assert_error, assert_png, assert_success from tests.support.image import png_dimensions from tests.support.inline import inline -from . import document_dimensions +from . import viewport_dimensions def take_screenshot(session): @@ -22,4 +22,4 @@ def test_format_and_dimensions(session): value = assert_success(response) assert_png(value) - assert png_dimensions(value) == document_dimensions(session) + assert png_dimensions(value) == viewport_dimensions(session) diff --git a/tests/wpt/web-platform-tests/webgpu/framework/version.js b/tests/wpt/web-platform-tests/webgpu/framework/version.js index b9ec1b4f9f3..9be025609f3 100644 --- a/tests/wpt/web-platform-tests/webgpu/framework/version.js +++ b/tests/wpt/web-platform-tests/webgpu/framework/version.js @@ -1,3 +1,3 @@ // AUTO-GENERATED - DO NOT EDIT. See tools/gen_version. -export const version = '84ef21bec576c9272e64e08727dbdf75a2b0e9d8'; +export const version = 'f690ac56a3291801e817433f43877132bb531d5f'; diff --git a/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/basic.spec.js b/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/basic.spec.js index bb201dbe846..83bb026d963 100644 --- a/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/basic.spec.js +++ b/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/basic.spec.js @@ -22,7 +22,7 @@ g.test('clear', async t => { }, usage: GPUTextureUsage.COPY_SRC | GPUTextureUsage.OUTPUT_ATTACHMENT }); - const colorAttachmentView = colorAttachment.createDefaultView(); + const colorAttachmentView = colorAttachment.createView(); const encoder = t.device.createCommandEncoder({}); const pass = encoder.beginRenderPass({ colorAttachments: [{ diff --git a/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/rendering.spec.js b/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/rendering.spec.js index 762285d1bcc..c8a7d7f5738 100644 --- a/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/rendering.spec.js +++ b/tests/wpt/web-platform-tests/webgpu/suites/cts/command_buffer/render/rendering.spec.js @@ -20,7 +20,7 @@ g.test('fullscreen quad', async t => { }, usage: GPUTextureUsage.COPY_SRC | GPUTextureUsage.OUTPUT_ATTACHMENT }); - const colorAttachmentView = colorAttachment.createDefaultView(); + const colorAttachmentView = colorAttachment.createView(); const vertexModule = t.device.createShaderModule({ code: /* GLSL( diff --git a/tests/wpt/web-platform-tests/workers/README.md b/tests/wpt/web-platform-tests/workers/README.md index b78a05ebdbe..58ee7cca1ab 100644 --- a/tests/wpt/web-platform-tests/workers/README.md +++ b/tests/wpt/web-platform-tests/workers/README.md @@ -6,6 +6,9 @@ These are the workers (`Worker`, `SharedWorker`) tests for the See also [testharness.js API > Web Workers](https://web-platform-tests.org/writing-tests/testharness-api.html#web-workers). +Note that because workers are defined in the HTML Standard, the idlharness.js +tests are in [/html/dom]([/html/dom) instead of here. + ## Writing `*.any.js` The easiest and most recommended way to write tests for workers diff --git a/tests/wpt/web-platform-tests/workers/interfaces.worker.js b/tests/wpt/web-platform-tests/workers/interfaces.worker.js deleted file mode 100644 index fc9f3606fae..00000000000 --- a/tests/wpt/web-platform-tests/workers/interfaces.worker.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -importScripts("/resources/testharness.js"); -importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js"); - -var request = new XMLHttpRequest(); -request.onload = function() { - var idlArray = new IdlArray(); - var idls = request.responseText; - idlArray.add_idls(idls); - idlArray.add_objects({ - DedicatedWorkerGlobalScope: ['self'], - WorkerNavigator: ['self.navigator'], - WorkerLocation: ['self.location'], - }); - idlArray.test(); - done(); -}; -request.open("GET", "/interfaces/dedicated-workers.idl"); -request.send();