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..3a3d15b8406 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 @@ -14,6 +14,9 @@ [Revoke blob URL after creating Request, will fetch] expected: FAIL + [Revoke blob URL after calling fetch, fetch should succeed] + expected: FAIL + [url-with-fetch.any.html] [Untitled] diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 1daa1046e79..85e13c0b839 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -11347,6 +11347,12 @@ {} ] ], + "event-timing/event-timing-observer-manual.html": [ + [ + "/event-timing/event-timing-observer-manual.html", + {} + ] + ], "feature-policy/experimental-features/vertical-scroll-disabled-frame-no-scroll-manual.tentative.html": [ [ "/feature-policy/experimental-features/vertical-scroll-disabled-frame-no-scroll-manual.tentative.html", @@ -15823,54 +15829,6 @@ {} ] ], - "svg/import/painting-marker-01-f-manual.svg": [ - [ - "/svg/import/painting-marker-01-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-02-f-manual.svg": [ - [ - "/svg/import/painting-marker-02-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-03-f-manual.svg": [ - [ - "/svg/import/painting-marker-03-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-04-f-manual.svg": [ - [ - "/svg/import/painting-marker-04-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-05-f-manual.svg": [ - [ - "/svg/import/painting-marker-05-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-06-f-manual.svg": [ - [ - "/svg/import/painting-marker-06-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-07-f-manual.svg": [ - [ - "/svg/import/painting-marker-07-f-manual.svg", - {} - ] - ], - "svg/import/painting-marker-properties-01-f-manual.svg": [ - [ - "/svg/import/painting-marker-properties-01-f-manual.svg", - {} - ] - ], "svg/import/painting-render-01-b-manual.svg": [ [ "/svg/import/painting-render-01-b-manual.svg", @@ -128103,6 +128061,18 @@ {} ] ], + "css/css-multicol/multicol-span-all-004.html": [ + [ + "/css/css-multicol/multicol-span-all-004.html", + [ + [ + "/css/css-multicol/multicol-span-all-004-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-multicol/multicol-span-all-block-sibling-003.xht": [ [ "/css/css-multicol/multicol-span-all-block-sibling-003.xht", @@ -133063,6 +133033,18 @@ {} ] ], + "css/css-ruby/ruby-layout-internal-boxes.html": [ + [ + "/css/css-ruby/ruby-layout-internal-boxes.html", + [ + [ + "/css/css-ruby/ruby-layout-internal-boxes-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html": [ [ "/css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html", @@ -141271,6 +141253,42 @@ {} ] ], + "css/css-text/white-space/text-space-collapse-discard-001.xht": [ + [ + "/css/css-text/white-space/text-space-collapse-discard-001.xht", + [ + [ + "/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht", + "==" + ] + ], + {} + ] + ], + "css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht": [ + [ + "/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht", + [ + [ + "/css/css-text/white-space/reference/text-space-collapse-preserve-breaks-001-ref.xht", + "==" + ] + ], + {} + ] + ], + "css/css-text/white-space/text-space-trim-trim-inner-001.xht": [ + [ + "/css/css-text/white-space/text-space-trim-trim-inner-001.xht", + [ + [ + "/css/css-text/white-space/reference/text-space-trim-trim-inner-001-ref.xht", + "==" + ] + ], + {} + ] + ], "css/css-text/white-space/textarea-break-spaces-001.html": [ [ "/css/css-text/white-space/textarea-break-spaces-001.html", @@ -141483,42 +141501,6 @@ {} ] ], - "css/css-text/white-space/white-space-collapsing-discard-001.xht": [ - [ - "/css/css-text/white-space/white-space-collapsing-discard-001.xht", - [ - [ - "/css/css-text/white-space/reference/white-space-collapsing-discard-001-ref.xht", - "==" - ] - ], - {} - ] - ], - "css/css-text/white-space/white-space-collapsing-preserve-breaks-001.xht": [ - [ - "/css/css-text/white-space/white-space-collapsing-preserve-breaks-001.xht", - [ - [ - "/css/css-text/white-space/reference/white-space-collapsing-preserve-breaks-001-ref.xht", - "==" - ] - ], - {} - ] - ], - "css/css-text/white-space/white-space-collapsing-trim-inner-001.xht": [ - [ - "/css/css-text/white-space/white-space-collapsing-trim-inner-001.xht", - [ - [ - "/css/css-text/white-space/reference/white-space-collapsing-trim-inner-001-ref.xht", - "==" - ] - ], - {} - ] - ], "css/css-text/white-space/white-space-empty-text-sibling.html": [ [ "/css/css-text/white-space/white-space-empty-text-sibling.html", @@ -155623,6 +155605,18 @@ {} ] ], + "css/css-ui/text-overflow-ruby.html": [ + [ + "/css/css-ui/text-overflow-ruby.html", + [ + [ + "/css/css-ui/text-overflow-ruby-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-values/attr-color-invalid-cast.html": [ [ "/css/css-values/attr-color-invalid-cast.html", @@ -168039,6 +168033,30 @@ {} ] ], + "css/filter-effects/backdrop-filter-fixed-clip.html": [ + [ + "/css/filter-effects/backdrop-filter-fixed-clip.html", + [ + [ + "/css/filter-effects/backdrop-filter-fixed-clip-ref.html", + "==" + ] + ], + {} + ] + ], + "css/filter-effects/backdrop-filter-isolation-fixed.html": [ + [ + "/css/filter-effects/backdrop-filter-isolation-fixed.html", + [ + [ + "/css/filter-effects/backdrop-filter-isolation-ref.html", + "==" + ] + ], + {} + ] + ], "css/filter-effects/backdrop-filter-isolation-isolate.html": [ [ "/css/filter-effects/backdrop-filter-isolation-isolate.html", @@ -191683,6 +191701,102 @@ {} ] ], + "svg/painting/marker-001.svg": [ + [ + "/svg/painting/marker-001.svg", + [ + [ + "/svg/painting/marker-001-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-002.svg": [ + [ + "/svg/painting/marker-002.svg", + [ + [ + "/svg/painting/marker-002-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-003.svg": [ + [ + "/svg/painting/marker-003.svg", + [ + [ + "/svg/painting/marker-003-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-004.svg": [ + [ + "/svg/painting/marker-004.svg", + [ + [ + "/svg/painting/marker-004-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-005.svg": [ + [ + "/svg/painting/marker-005.svg", + [ + [ + "/svg/painting/marker-005-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-006.svg": [ + [ + "/svg/painting/marker-006.svg", + [ + [ + "/svg/painting/marker-006-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-007.svg": [ + [ + "/svg/painting/marker-007.svg", + [ + [ + "/svg/painting/marker-007-ref.svg", + "==" + ] + ], + {} + ] + ], + "svg/painting/marker-008.svg": [ + [ + "/svg/painting/marker-008.svg", + [ + [ + "/svg/painting/marker-008-ref.svg", + "==" + ] + ], + {} + ] + ], "svg/painting/reftests/markers-orient-001.svg": [ [ "/svg/painting/reftests/markers-orient-001.svg", @@ -192223,6 +192337,18 @@ {} ] ], + "svg/shapes/reftests/disabled-shapes-01.svg": [ + [ + "/svg/shapes/reftests/disabled-shapes-01.svg", + [ + [ + "/svg/shapes/reftests/support/empty.svg", + "==" + ] + ], + {} + ] + ], "svg/shapes/reftests/pathlength-001.svg": [ [ "/svg/shapes/reftests/pathlength-001.svg", @@ -224490,6 +224616,11 @@ {} ] ], + "content-security-policy/inheritance/support/srcdoc-child-frame.html": [ + [ + {} + ] + ], "content-security-policy/inside-worker/support/connect-src-allow.sub.js": [ [ {} @@ -224645,6 +224776,11 @@ {} ] ], + "content-security-policy/navigation/support/frame-with-csp.sub.html": [ + [ + {} + ] + ], "content-security-policy/navigation/support/test_csp_self_window.sub.html": [ [ {} @@ -263580,6 +263716,11 @@ {} ] ], + "css/css-multicol/multicol-span-all-004-ref.html": [ + [ + {} + ] + ], "css/css-multicol/multicol-span-all-block-sibling-3-ref.xht": [ [ {} @@ -265795,6 +265936,11 @@ {} ] ], + "css/css-ruby/ruby-layout-internal-boxes-ref.html": [ + [ + {} + ] + ], "css/css-scoping/META.yml": [ [ {} @@ -269005,6 +269151,21 @@ {} ] ], + "css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht": [ + [ + {} + ] + ], + "css/css-text/white-space/reference/text-space-collapse-preserve-breaks-001-ref.xht": [ + [ + {} + ] + ], + "css/css-text/white-space/reference/text-space-trim-trim-inner-001-ref.xht": [ + [ + {} + ] + ], "css/css-text/white-space/reference/textarea-pre-wrap-001-ref.html": [ [ {} @@ -269030,21 +269191,6 @@ {} ] ], - "css/css-text/white-space/reference/white-space-collapsing-discard-001-ref.xht": [ - [ - {} - ] - ], - "css/css-text/white-space/reference/white-space-collapsing-preserve-breaks-001-ref.xht": [ - [ - {} - ] - ], - "css/css-text/white-space/reference/white-space-collapsing-trim-inner-001-ref.xht": [ - [ - {} - ] - ], "css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-001-ref.html": [ [ {} @@ -272300,6 +272446,11 @@ {} ] ], + "css/css-ui/text-overflow-ruby-ref.html": [ + [ + {} + ] + ], "css/css-values/META.yml": [ [ {} @@ -275945,6 +276096,11 @@ {} ] ], + "css/filter-effects/backdrop-filter-fixed-clip-ref.html": [ + [ + {} + ] + ], "css/filter-effects/backdrop-filter-isolation-ref.html": [ [ {} @@ -281665,6 +281821,11 @@ {} ] ], + "custom-elements/resources/custom-elements-helpers.js": [ + [ + {} + ] + ], "custom-elements/resources/empty-html-document.html": [ [ {} @@ -284090,6 +284251,26 @@ {} ] ], + "event-timing/resources/event-timing-crossiframe-childframe.html": [ + [ + {} + ] + ], + "event-timing/resources/event-timing-observer-manual-childframe.html": [ + [ + {} + ] + ], + "event-timing/resources/event-timing-support.js": [ + [ + {} + ] + ], + "event-timing/resources/slow-image.py": [ + [ + {} + ] + ], "eventsource/META.yml": [ [ {} @@ -303890,11 +304071,6 @@ {} ] ], - "resource-timing/resources/buffer-full-utilities.js": [ - [ - {} - ] - ], "resource-timing/resources/empty.js": [ [ {} @@ -304255,11 +304431,6 @@ {} ] ], - "resources/custom-elements-helpers.js": [ - [ - {} - ] - ], "resources/idlharness.js": [ [ {} @@ -308415,6 +308586,11 @@ {} ] ], + "service-workers/service-worker/resources/trickle.py": [ + [ + {} + ] + ], "service-workers/service-worker/resources/unregister-controller-page.html": [ [ {} @@ -308430,6 +308606,11 @@ {} ] ], + "service-workers/service-worker/resources/update-fetch-worker.py": [ + [ + {} + ] + ], "service-workers/service-worker/resources/update-max-aged-worker-imported-script.py": [ [ {} @@ -309310,6 +309491,46 @@ {} ] ], + "svg/painting/marker-001-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-002-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-003-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-004-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-005-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-006-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-007-ref.svg": [ + [ + {} + ] + ], + "svg/painting/marker-008-ref.svg": [ + [ + {} + ] + ], "svg/painting/reftests/markers-orient-001-ref.svg": [ [ {} @@ -309530,6 +309751,11 @@ {} ] ], + "svg/shapes/reftests/support/empty.svg": [ + [ + {} + ] + ], "svg/styling/render/transform-box-ref.svg": [ [ {} @@ -328043,6 +328269,26 @@ } ] ], + "IndexedDB/idb-explicit-commit-throw.any.js": [ + [ + "/IndexedDB/idb-explicit-commit-throw.any.html", + {} + ], + [ + "/IndexedDB/idb-explicit-commit-throw.any.worker.html", + {} + ] + ], + "IndexedDB/idb-explicit-commit.any.js": [ + [ + "/IndexedDB/idb-explicit-commit.any.html", + {} + ], + [ + "/IndexedDB/idb-explicit-commit.any.worker.html", + {} + ] + ], "IndexedDB/idb_binary_key_conversion.htm": [ [ "/IndexedDB/idb_binary_key_conversion.htm", @@ -333963,6 +334209,12 @@ {} ] ], + "content-security-policy/inheritance/iframe-srcdoc-inheritance.html": [ + [ + "/content-security-policy/inheritance/iframe-srcdoc-inheritance.html", + {} + ] + ], "content-security-policy/inheritance/iframe.html": [ [ "/content-security-policy/inheritance/iframe.html", @@ -334305,6 +334557,18 @@ {} ] ], + "content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html": [ + [ + "/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html", + {} + ] + ], + "content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html": [ + [ + "/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html", + {} + ] + ], "content-security-policy/navigation/to-javascript-url-frame-src.html": [ [ "/content-security-policy/navigation/to-javascript-url-frame-src.html", @@ -337753,6 +338017,12 @@ {} ] ], + "css/css-break/page-break-legacy-shorthands.html": [ + [ + "/css/css-break/page-break-legacy-shorthands.html", + {} + ] + ], "css/css-break/parsing/box-decoration-break-computed.html": [ [ "/css/css-break/parsing/box-decoration-break-computed.html", @@ -341915,6 +342185,18 @@ {} ] ], + "css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html": [ + [ + "/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html", + {} + ] + ], + "css/css-shadow-parts/invalidation-change-part-name-idl-setter.html": [ + [ + "/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html", + {} + ] + ], "css/css-shadow-parts/invalidation-change-part-name.html": [ [ "/css/css-shadow-parts/invalidation-change-part-name.html", @@ -341927,6 +342209,12 @@ {} ] ], + "css/css-shadow-parts/part-name-idl.html": [ + [ + "/css/css-shadow-parts/part-name-idl.html", + {} + ] + ], "css/css-shadow-parts/simple.html": [ [ "/css/css-shadow-parts/simple.html", @@ -347119,6 +347407,12 @@ {} ] ], + "css/css-variables/variable-exponential-blowup.html": [ + [ + "/css/css-variables/variable-exponential-blowup.html", + {} + ] + ], "css/css-variables/variable-first-letter.html": [ [ "/css/css-variables/variable-first-letter.html", @@ -349825,6 +350119,12 @@ {} ] ], + "custom-elements/perform-microtask-checkpoint-before-construction.html": [ + [ + "/custom-elements/perform-microtask-checkpoint-before-construction.html", + {} + ] + ], "custom-elements/pseudo-class-defined.html": [ [ "/custom-elements/pseudo-class-defined.html", @@ -361297,6 +361597,70 @@ {} ] ], + "event-timing/event-timing-bufferbeforeonload.html": [ + [ + "/event-timing/event-timing-bufferbeforeonload.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-crossiframe.html": [ + [ + "/event-timing/event-timing-crossiframe.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-observethenonload.html": [ + [ + "/event-timing/event-timing-observethenonload.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-onloadthenobserve-firstInput.html": [ + [ + "/event-timing/event-timing-onloadthenobserve-firstInput.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-onloadthenobserve.html": [ + [ + "/event-timing/event-timing-onloadthenobserve.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-only-observe-firstInput.html": [ + [ + "/event-timing/event-timing-only-observe-firstInput.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-retrievability.html": [ + [ + "/event-timing/event-timing-retrievability.html", + { + "testdriver": true + } + ] + ], + "event-timing/event-timing-timingconditions.html": [ + [ + "/event-timing/event-timing-timingconditions.html", + { + "testdriver": true + } + ] + ], "eventsource/dedicated-worker/eventsource-close.htm": [ [ "/eventsource/dedicated-worker/eventsource-close.htm", @@ -362907,6 +363271,12 @@ {} ] ], + "fetch/api/request/destination/fetch-destination-prefetch.https.html": [ + [ + "/fetch/api/request/destination/fetch-destination-prefetch.https.html", + {} + ] + ], "fetch/api/request/destination/fetch-destination-worker.https.html": [ [ "/fetch/api/request/destination/fetch-destination-worker.https.html", @@ -377785,6 +378155,12 @@ {} ] ], + "intersection-observer/empty-root-margin.html": [ + [ + "/intersection-observer/empty-root-margin.html", + {} + ] + ], "intersection-observer/idlharness.window.js": [ [ "/intersection-observer/idlharness.window.html", @@ -378391,6 +378767,18 @@ {} ] ], + "media-capabilities/decodingInfoEncryptedMedia.http.html": [ + [ + "/media-capabilities/decodingInfoEncryptedMedia.http.html", + {} + ] + ], + "media-capabilities/decodingInfoEncryptedMedia.https.html": [ + [ + "/media-capabilities/decodingInfoEncryptedMedia.https.html", + {} + ] + ], "media-capabilities/encodingInfo.html": [ [ "/media-capabilities/encodingInfo.html", @@ -392277,6 +392665,12 @@ {} ] ], + "payment-request/constructor_convert_method_data.https.html": [ + [ + "/payment-request/constructor_convert_method_data.https.html", + {} + ] + ], "payment-request/historical.https.html": [ [ "/payment-request/historical.https.html", @@ -403389,72 +403783,6 @@ {} ] ], - "resource-timing/buffer-full-add-after-full-event.html": [ - [ - "/resource-timing/buffer-full-add-after-full-event.html", - {} - ] - ], - "resource-timing/buffer-full-add-entries-during-callback-that-drop.html": [ - [ - "/resource-timing/buffer-full-add-entries-during-callback-that-drop.html", - {} - ] - ], - "resource-timing/buffer-full-add-entries-during-callback.html": [ - [ - "/resource-timing/buffer-full-add-entries-during-callback.html", - {} - ] - ], - "resource-timing/buffer-full-add-then-clear.html": [ - [ - "/resource-timing/buffer-full-add-then-clear.html", - {} - ] - ], - "resource-timing/buffer-full-decrease-buffer-during-callback.html": [ - [ - "/resource-timing/buffer-full-decrease-buffer-during-callback.html", - {} - ] - ], - "resource-timing/buffer-full-increase-buffer-during-callback.html": [ - [ - "/resource-timing/buffer-full-increase-buffer-during-callback.html", - {} - ] - ], - "resource-timing/buffer-full-inspect-buffer-during-callback.html": [ - [ - "/resource-timing/buffer-full-inspect-buffer-during-callback.html", - {} - ] - ], - "resource-timing/buffer-full-set-to-current-buffer.html": [ - [ - "/resource-timing/buffer-full-set-to-current-buffer.html", - {} - ] - ], - "resource-timing/buffer-full-store-and-clear-during-callback.html": [ - [ - "/resource-timing/buffer-full-store-and-clear-during-callback.html", - {} - ] - ], - "resource-timing/buffer-full-then-increased.html": [ - [ - "/resource-timing/buffer-full-then-increased.html", - {} - ] - ], - "resource-timing/buffer-full-when-populate-entries.html": [ - [ - "/resource-timing/buffer-full-when-populate-entries.html", - {} - ] - ], "resource-timing/clear_resource_timing_functionality.html": [ [ "/resource-timing/clear_resource_timing_functionality.html", @@ -403480,7 +403808,9 @@ "resource-timing/resource-timing.html": [ [ "/resource-timing/resource-timing.html", - {} + { + "timeout": "long" + } ] ], "resource-timing/resource_TAO_cross_origin_redirect_chain.html": [ @@ -403639,6 +403969,12 @@ {} ] ], + "resource-timing/resource_timing_buffer_full_when_populate_entries.html": [ + [ + "/resource-timing/resource_timing_buffer_full_when_populate_entries.html", + {} + ] + ], "resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html": [ [ "/resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html", @@ -403663,6 +403999,12 @@ {} ] ], + "resource-timing/resource_timing_store_and_clear_during_callback.html": [ + [ + "/resource-timing/resource_timing_store_and_clear_during_callback.html", + {} + ] + ], "resource-timing/single-entry-per-resource.html": [ [ "/resource-timing/single-entry-per-resource.html", @@ -405537,6 +405879,12 @@ {} ] ], + "service-workers/service-worker/update-on-navigation.https.html": [ + [ + "/service-workers/service-worker/update-on-navigation.https.html", + {} + ] + ], "service-workers/service-worker/update-recovery.https.html": [ [ "/service-workers/service-worker/update-recovery.https.html", @@ -408173,6 +408521,12 @@ {} ] ], + "svg/shapes/scripted/disabled-shapes-not-hit.svg": [ + [ + "/svg/shapes/scripted/disabled-shapes-not-hit.svg", + {} + ] + ], "svg/struct/UnknownElement/interface.svg": [ [ "/svg/struct/UnknownElement/interface.svg", @@ -408197,6 +408551,90 @@ {} ] ], + "svg/text/parsing/inline-size-invalid.svg": [ + [ + "/svg/text/parsing/inline-size-invalid.svg", + {} + ] + ], + "svg/text/parsing/inline-size-valid.svg": [ + [ + "/svg/text/parsing/inline-size-valid.svg", + {} + ] + ], + "svg/text/parsing/shape-inside-invalid.svg": [ + [ + "/svg/text/parsing/shape-inside-invalid.svg", + {} + ] + ], + "svg/text/parsing/shape-inside-valid.svg": [ + [ + "/svg/text/parsing/shape-inside-valid.svg", + {} + ] + ], + "svg/text/parsing/shape-margin-invalid.svg": [ + [ + "/svg/text/parsing/shape-margin-invalid.svg", + {} + ] + ], + "svg/text/parsing/shape-margin-valid.svg": [ + [ + "/svg/text/parsing/shape-margin-valid.svg", + {} + ] + ], + "svg/text/parsing/shape-subtract-invalid.svg": [ + [ + "/svg/text/parsing/shape-subtract-invalid.svg", + {} + ] + ], + "svg/text/parsing/shape-subtract-valid.svg": [ + [ + "/svg/text/parsing/shape-subtract-valid.svg", + {} + ] + ], + "svg/text/parsing/text-anchor-invalid.svg": [ + [ + "/svg/text/parsing/text-anchor-invalid.svg", + {} + ] + ], + "svg/text/parsing/text-anchor-valid.svg": [ + [ + "/svg/text/parsing/text-anchor-valid.svg", + {} + ] + ], + "svg/text/parsing/text-decoration-fill-invalid.svg": [ + [ + "/svg/text/parsing/text-decoration-fill-invalid.svg", + {} + ] + ], + "svg/text/parsing/text-decoration-fill-valid.svg": [ + [ + "/svg/text/parsing/text-decoration-fill-valid.svg", + {} + ] + ], + "svg/text/parsing/text-decoration-stroke-invalid.svg": [ + [ + "/svg/text/parsing/text-decoration-stroke-invalid.svg", + {} + ] + ], + "svg/text/parsing/text-decoration-stroke-valid.svg": [ + [ + "/svg/text/parsing/text-decoration-stroke-valid.svg", + {} + ] + ], "svg/types/elements/SVGGeometryElement-rect.svg": [ [ "/svg/types/elements/SVGGeometryElement-rect.svg", @@ -416447,6 +416885,12 @@ {} ] ], + "webxr/xrFrame_lifetime.https.html": [ + [ + "/webxr/xrFrame_lifetime.https.html", + {} + ] + ], "webxr/xrSession_cancelAnimationFrame.https.html": [ [ "/webxr/xrSession_cancelAnimationFrame.https.html", @@ -440825,6 +441269,12 @@ {} ] ], + "webdriver/tests/permissions/set.py": [ + [ + "/webdriver/tests/permissions/set.py", + {} + ] + ], "webdriver/tests/refresh/refresh.py": [ [ "/webdriver/tests/refresh/refresh.py", @@ -440965,7 +441415,7 @@ "support" ], ".taskcluster.yml": [ - "35aad403ce7e49616d76258c2d07c574bb066ec4", + "c4d20d3ed0d58c92645d0e0660f9ff3ac98ad705", "support" ], ".travis.yml": [ @@ -445708,6 +446158,14 @@ "36b7863fe05d72a1a3e1ba9bb3fc803838409065", "testharness" ], + "IndexedDB/idb-explicit-commit-throw.any.js": [ + "3b8d148d76c1e9cd59486b4b612bfc7641023c37", + "testharness" + ], + "IndexedDB/idb-explicit-commit.any.js": [ + "b2dec751b1a8f1e82fce2db965b78f26d416073e", + "testharness" + ], "IndexedDB/idb_binary_key_conversion.htm": [ "b55e6324b349987750816d49efb9eb908a845724", "testharness" @@ -447001,11 +447459,11 @@ "testharness" ], "IndexedDB/support-promises.js": [ - "433af5092701d617e2964f7d1ea3ea089b50c441", + "8195be341e18860865c072bc78a1efa1f25f2d56", "support" ], "IndexedDB/support.js": [ - "5edbdacbcc7d0cf27d0e3330198b55d50540345e", + "d3b2bb7d1212dd6de0379bf2dce0b23e45f7c7cb", "support" ], "IndexedDB/transaction-abort-generator-revert.html": [ @@ -470780,6 +471238,10 @@ "3b54528d56a445e6ef723371f5bb7a858ee016c8", "testharness" ], + "content-security-policy/inheritance/iframe-srcdoc-inheritance.html": [ + "e05150762faa6affa644876961f004723ab2806a", + "testharness" + ], "content-security-policy/inheritance/iframe.html": [ "6f5d0f75260113a4d565a6320996345972d9e38c", "testharness" @@ -470796,6 +471258,10 @@ "27aa5f4a1023ffd9c975acc42cf7b89b9fff2faf", "support" ], + "content-security-policy/inheritance/support/srcdoc-child-frame.html": [ + "9148be203d30ea043a56b38305877142735a4c49", + "support" + ], "content-security-policy/inheritance/window.html": [ "86f2e4bc13f7fe811810d74550174a6acba57c68", "testharness" @@ -471140,6 +471606,10 @@ "21c4fb33ce2d66db750d92a892e3871bd5d9b576", "testharness" ], + "content-security-policy/navigation/support/frame-with-csp.sub.html": [ + "b4d5b82e46cb3c1b43c7b450b5f1022e5617dbd2", + "support" + ], "content-security-policy/navigation/support/test_csp_self_window.sub.html": [ "ab0f8f82e3951a412824d066f670af17377dcec5", "support" @@ -471148,6 +471618,14 @@ "dd418ec7648ba3f5603b0e070460ac171b8bc4d4", "support" ], + "content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html": [ + "d2289257a888efe0f35e296922948bdbf5f70394", + "testharness" + ], + "content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html": [ + "4cbb37ee68fb83890d5f4881c4e1a78f013eaa52", + "testharness" + ], "content-security-policy/navigation/to-javascript-url-frame-src.html": [ "79b881cfcd41dc05b3be1a3d27988914280f89b7", "testharness" @@ -539248,6 +539726,10 @@ "d3a4018cd809fc09eb68c1b25f4dda4736e64131", "reftest" ], + "css/css-break/page-break-legacy-shorthands.html": [ + "7eaa18f5435e87362e85bc0963c512cdf3904c9a", + "testharness" + ], "css/css-break/parsing/box-decoration-break-computed.html": [ "86c7edba88ca35f4de5761d3379ed5bb5eae0a23", "testharness" @@ -559632,6 +560114,14 @@ "fb4a508f50a309fb44c8d653cf84d1abdb22d838", "reftest" ], + "css/css-multicol/multicol-span-all-004-ref.html": [ + "beecede21082bf18500205e274a27ca53840594e", + "support" + ], + "css/css-multicol/multicol-span-all-004.html": [ + "e9165658c11fea62e4f714fc4643f33853e95500", + "reftest" + ], "css/css-multicol/multicol-span-all-block-sibling-003.xht": [ "bd2cdd6cdab0fc15c2e16e2237f6b025230332c4", "reftest" @@ -562953,43 +563443,43 @@ "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html": [ - "c5bf371b4534b5a20a30567cac077a22e0eee443", + "46199c4b2d6d39669dc388c7af9bb47715d823f7", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-002.html": [ - "3eebbb59353a81717d3f26c88fe944e17c8a55dd", + "d5c804015ec274b5006c130d90813e1862152888", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-003.html": [ - "7e58388b578037d1dbf9fc2c2a76664ae00196ea", + "f268cf114222ba2b760a4c8f2c29359565c6c610", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-004.html": [ - "6116a051f0f64830806c367c080f94f0f184b2dc", + "8a43f30e9b88214dab7a24b95aed4530ac165921", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-005.html": [ - "8f68a72b6c17772aaeae87be304ed6e35f0d61e6", + "645979cdec09e075473eb4972ae7ce31df7a62cd", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-006.html": [ - "aece6e657e586fb0b47ca31f7d1eacb396d6c2b3", + "bf6dadd9a7ad89add33da278493548368cd18cbc", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-007.html": [ - "d29a53e388278c211cecc7c9516ba4cca7bbd9b9", + "dfeb2316129ab646b6d36d9452bdca9ac40a47bb", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-008.html": [ - "2d3ff1166f8658018e1a9fd770c2a81d335466d9", + "ba4c800553f669071f2ee86f5e0dc1fb5b8aefe4", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-009.html": [ - "1386902cc383abba79314f8a18288dc27ecc7dcc", + "4f1ac1cd37afe1fd335a9c9f41f9b16ae36a19e2", "manual" ], "css/css-regions/interactivity/keyboard/regions-keyboard-events-010.html": [ - "d6923427a97935071dd6405c654fea459810cdde", + "d4a6a8a1221643721a301fc06bfecb83c7b9e273", "manual" ], "css/css-regions/interactivity/keyboard/support/css/regions-keyboard.css": [ @@ -563001,39 +563491,39 @@ "support" ], "css/css-regions/interactivity/mouse/regions-mouse-events-001.html": [ - "8f688b66ed20c4f7d24e5fca1624ee5f7d6884d8", + "30c2e35bd4e182564bab3351f3d521f229ebe922", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-002.html": [ - "fe25c2760f95e560b351db0a38ec2f8c333ed75f", + "81fee6722f163bc7977e13c443dda5d5fa2e267a", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-003.html": [ - "bfe7ba3c6e53f092b80a51c83cee3200912f087c", + "fc206aa0259a3b49165c63d638b8c680e2e9b2e4", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-004.html": [ - "171d97cee3411bac3d7963e35cc34b8722bae28d", + "cd57f96fc12b388141e462829005cb72688ca8f6", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-005.html": [ - "1e632339a2250e57f1d191462bc8ab828681fe13", + "1e728935e593faf95ed6f0347f30d89d309825cb", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-006.html": [ - "3b345287316e20edaccd8141c31f12a3c39b5f5b", + "de5751bdd4341a1dda2a6b2b2d235cbe34ca44ab", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-007.html": [ - "642ea2e67579f5e4e768636b5f05f0fcf505193d", + "95547892b051eb0eebd2fedd8b4837fc83cc33d9", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-008.html": [ - "90c974219c3fd013fc486fdb42901ddd03d6ab49", + "a374cae7293f2a33efd88d92e3c633edfa7e1c59", "manual" ], "css/css-regions/interactivity/mouse/regions-mouse-events-009.html": [ - "72636dcd11cf7d31ef3bb717ed56aa077131eb28", + "5b224addddf4fe91090d1376ff75df31036d1fbd", "manual" ], "css/css-regions/interactivity/mouse/support/css/regions-mouse-events.css": [ @@ -563245,7 +563735,7 @@ "support" ], "css/css-regions/interactivity/selection/support/js/selection-test-helper.js": [ - "486ebbc41ce29f02db693f328f2d6efa0298f38b", + "0dba0ef5fb3aaa4c6390023c16d1387937e1476a", "support" ], "css/css-regions/multicolumn/reference/regions-multicol-003-ref.html": [ @@ -564032,6 +564522,14 @@ "80f49f0dbcf3e3a76ba6f740243e19a5f627bfd2", "visual" ], + "css/css-ruby/ruby-layout-internal-boxes-ref.html": [ + "7c89ee60e980076df9d49ad676cf34b496333831", + "support" + ], + "css/css-ruby/ruby-layout-internal-boxes.html": [ + "cfd271233e20402a20d7e66d174d6b2f05072c4d", + "reftest" + ], "css/css-scoping/META.yml": [ "826341652122a40956ccc74288e23f952f1f40e8", "support" @@ -564489,43 +564987,55 @@ "support" ], "css/css-shadow-parts/all-hosts.html": [ - "e6646c08433972704baeb836fa27b7dece5fe915", + "218535dcbab541a9c277b0c9dccec7c335093c09", "testharness" ], "css/css-shadow-parts/chaining-invalid-selector.html": [ - "11309329008de69399902e918b0b7671e62d5d3e", + "cb34a7b4609cac7162b480f26f8ff4abc373191b", "testharness" ], "css/css-shadow-parts/complex-matching.html": [ - "575edabcc4589d51616221010816b44bb7f7ee12", + "f8f063d850fcaa8b405f25e8b8eeee93c9664941", "testharness" ], "css/css-shadow-parts/complex-non-matching.html": [ - "036713faf0f693aaa9c375dac41c6767290673db", + "6e5bc69c5d2378d6a9a93e76e5cb84e18566737a", "testharness" ], "css/css-shadow-parts/different-host.html": [ - "c8b5f86327a9df4950faa3bbbc0dca44c43b6297", + "7fe9744af9584c07ffff6c408574002896e8c134", "testharness" ], "css/css-shadow-parts/host-stylesheet.html": [ - "ee8f4e72742b4e097321c7fa9a1ef984f130d9e6", + "2e65c4b1b57bd9959c68e85e11b442c67f2c5a42", "testharness" ], "css/css-shadow-parts/inner-host.html": [ - "8c8cec75531f6d5f2de2f7695e3636a71e132dea", + "2dfd4b0510a758c73bf8ac8291088d39077578d7", + "testharness" + ], + "css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html": [ + "2f9fffb86eacb088365fc592e31c58238e8321dc", + "testharness" + ], + "css/css-shadow-parts/invalidation-change-part-name-idl-setter.html": [ + "52af22af7695157709836e0174655d04dcfccf94", "testharness" ], "css/css-shadow-parts/invalidation-change-part-name.html": [ - "7e7a310f6b0cf2d6de93a97ffe73ae043f9c8fa1", + "47630d956f9bf3053ec3ed8a2d04223bdd8720a9", "testharness" ], "css/css-shadow-parts/invalidation-complex-selector.html": [ - "e1f10e57dc9a2e2060af6a23223fca29d6279c9c", + "5b1fd800790c4e14ec8fbc34bd24eb6c2eb31ab0", + "testharness" + ], + "css/css-shadow-parts/part-name-idl.html": [ + "fc3282a6e944950548eeda66a78d453ec1a552f3", "testharness" ], "css/css-shadow-parts/simple.html": [ - "3733669130126221568ec7794666a6c19e54109d", + "a7f17d9670b137995b0dfc6f43221e16b988376d", "testharness" ], "css/css-shadow-parts/support/shadow-helper.js": [ @@ -571136,6 +571646,18 @@ "35c568bbcac27aab56cf283a366969a9799b921b", "support" ], + "css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht": [ + "b07483773f14211db10bbdd83d1735ca07b9ea6e", + "support" + ], + "css/css-text/white-space/reference/text-space-collapse-preserve-breaks-001-ref.xht": [ + "3fa9f07ed13d146517d221c6e04012a3d5b433c7", + "support" + ], + "css/css-text/white-space/reference/text-space-trim-trim-inner-001-ref.xht": [ + "19e42688a2d94abe4444bff9b573210ac73978c5", + "support" + ], "css/css-text/white-space/reference/textarea-pre-wrap-001-ref.html": [ "d09873a64634fb1b1cb00cc0bb6f9bea07874651", "support" @@ -571156,18 +571678,6 @@ "9f579f29e0c897c744e1b06d5d2d60e85612f823", "support" ], - "css/css-text/white-space/reference/white-space-collapsing-discard-001-ref.xht": [ - "9042b04f3d1fe2fd09693974952e325d0b6a595a", - "support" - ], - "css/css-text/white-space/reference/white-space-collapsing-preserve-breaks-001-ref.xht": [ - "645f28b602feb0caa4b8232488c76d6a436e9768", - "support" - ], - "css/css-text/white-space/reference/white-space-collapsing-trim-inner-001-ref.xht": [ - "01ce8eae718170c4eb65e9629f6618e9458a1aca", - "support" - ], "css/css-text/white-space/reference/white-space-pre-wrap-trailing-spaces-001-ref.html": [ "8db147766bc3fa769df5601b8b32964fb59bcbc1", "support" @@ -571252,6 +571762,18 @@ "1147e4b04111a99b095bcb8755b6b4677111a5f9", "reftest" ], + "css/css-text/white-space/text-space-collapse-discard-001.xht": [ + "4f5b829c9005fe11b9a6ebe5e41958e6ebc77261", + "reftest" + ], + "css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht": [ + "75c968125e1929164181130a5932e3a1cee9df13", + "reftest" + ], + "css/css-text/white-space/text-space-trim-trim-inner-001.xht": [ + "fef31185383f9ac64f1dcf12760aecd3809c99d6", + "reftest" + ], "css/css-text/white-space/textarea-break-spaces-001.html": [ "b109f45913ca9db04157ade71d90803fa56826b5", "reftest" @@ -571336,18 +571858,6 @@ "22f914ad605f012450b1a4bb69b57c656797031b", "testharness" ], - "css/css-text/white-space/white-space-collapsing-discard-001.xht": [ - "d259b3bfa30958804d9f8e541e66641b75aa5881", - "reftest" - ], - "css/css-text/white-space/white-space-collapsing-preserve-breaks-001.xht": [ - "7de1ba8892c4d3b9b283e56d1e998dae897b4033", - "reftest" - ], - "css/css-text/white-space/white-space-collapsing-trim-inner-001.xht": [ - "f524c821a59a3712616e8ebaf75591e7e744731a", - "reftest" - ], "css/css-text/white-space/white-space-empty-text-sibling.html": [ "50439df433cea8d4191989cb3d5444ff9f8d15c1", "reftest" @@ -577213,15 +577723,15 @@ "support" ], "css/css-transitions/before-DOMContentLoaded-001.html": [ - "152f77760cf3e98df9d6db8a358285669de3d342", + "8298e81a23cdbc378e0bff016e468d2826aa417d", "testharness" ], "css/css-transitions/before-load-001.html": [ - "ee633cf37c46aa0f867fcaa1a6818cbb098e89e8", + "47045e8843487ce70aacca8fd02b847c46553b90", "testharness" ], "css/css-transitions/changing-while-transition.html": [ - "2e7d0bb1bf75d3f9bc14d7d7f6a64f5757136ea3", + "a7981471a5cbae472f46511eca21439b46d73159", "testharness" ], "css/css-transitions/currentcolor-animation-001.html": [ @@ -577229,7 +577739,7 @@ "testharness" ], "css/css-transitions/detached-container-001.html": [ - "efbc34f77740dce56a29871ecccfc20240381ad5", + "545324b0bd74d7ca398581666babf3ec04798b88", "testharness" ], "css/css-transitions/event-dispatch.tentative.html": [ @@ -577265,7 +577775,7 @@ "testharness" ], "css/css-transitions/hidden-container-001.html": [ - "4d17d4ad41e73c4c5e7830d10973384614353ce5", + "567ae61e328726cd36a2e0f9f7aef934935ff845", "testharness" ], "css/css-transitions/historical.html": [ @@ -577325,39 +577835,39 @@ "testharness" ], "css/css-transitions/properties-value-001.html": [ - "9182930ed78f9ff2adbc4754a8613fc0316b868a", + "35a1e7ec788ab235a6c4c9bb6176092a48575067", "testharness" ], "css/css-transitions/properties-value-002.html": [ - "7298070b1e35d82ede14f059b8799e057671a771", + "a1f91682e0cb3c27877b03e7a3ca1cebb6ad7619", "testharness" ], "css/css-transitions/properties-value-003.html": [ - "23385d158175574da5424679ba0510d1bbe9cfe5", + "eb7035aad7d8c82fcb511fc74f1e3823afd44e08", "testharness" ], "css/css-transitions/properties-value-auto-001.html": [ - "087f6bbb3fa7b9012353625a4ca996472f7d2663", + "dd077f05f5d40a0ac85f78b26eb92446d9417393", "testharness" ], "css/css-transitions/properties-value-implicit-001.html": [ - "4d93083434d93219a45470cfc9300ea9add46621", + "c8e5d249c0bbde5e6720182f5caa902d438552f1", "testharness" ], "css/css-transitions/properties-value-inherit-001.html": [ - "2de40b4cc4e0302847713642f598d8cd5a502f95", + "55823b1a1e65c3b0f0719cef1a816db9b0f8d273", "testharness" ], "css/css-transitions/properties-value-inherit-002.html": [ - "f2741bd16e10ee9f23140c53b3a7c1d9bced5744", + "ed3f0a1fd2888f17aa3c80c2d640f09c5f03a3b5", "testharness" ], "css/css-transitions/properties-value-inherit-003.html": [ - "43d0229613a2becff3f7a5829e5dcd777c7a4362", + "046ba43c41f2732b3c67aa8c3881904e1532a517", "testharness" ], "css/css-transitions/pseudo-elements-001.html": [ - "cf1d2545b243fe6f34ef6f57cb307f9db44130ef", + "ae9db1e5c6328f84f3bcd30a898401d37af84dfd", "testharness" ], "css/css-transitions/pseudo-elements-002.html": [ @@ -577481,7 +577991,7 @@ "support" ], "css/css-transitions/support/runParallelAsyncHarness.js": [ - "6403d40df3c141015998a9fd78a26e02670949df", + "fa3b09c7d8413cddf887680551434c9cdebfe780", "support" ], "css/css-transitions/support/square-purple.png": [ @@ -581664,6 +582174,14 @@ "a8795599ec3cdfe71090b06e1a6ad19941dd21b1", "support" ], + "css/css-ui/text-overflow-ruby-ref.html": [ + "ae5267aa9ef6ef2e5a3ddb90542b01cdffc02585", + "support" + ], + "css/css-ui/text-overflow-ruby.html": [ + "c8abebb7206b57444051937c171b2884ec750403", + "reftest" + ], "css/css-ui/text-overflow.html": [ "50af0313de5fd78476c92155161c5d2b35519e3f", "manual" @@ -582264,6 +582782,10 @@ "037aa314dab4644acd684e845488bb77e88ba69a", "testharness" ], + "css/css-variables/variable-exponential-blowup.html": [ + "513a6f1628f17d31211b75ce4351b7dc95523a87", + "testharness" + ], "css/css-variables/variable-first-letter.html": [ "da6daba42f6d3bd2297ea7e0e5dfe9365c4090c9", "testharness" @@ -590261,11 +590783,11 @@ "reftest" ], "css/filter-effects/backdrop-filter-basic-opacity-ref.html": [ - "26d7715e15f3a8af09d697982df020b367e556e3", + "e0c76c093547d300f9d552e33671fc5b45715929", "support" ], "css/filter-effects/backdrop-filter-basic-opacity.html": [ - "e3ad8a20afafce2d03e64668a3bdee9c3f3c1446", + "4cc5f335bf9ecdc30bff74b318e7ba26e179ffff", "reftest" ], "css/filter-effects/backdrop-filter-basic-ref.html": [ @@ -590300,6 +590822,18 @@ "1e29d725ebcd8d78350ba2a2fcff50b3b239f88a", "reftest" ], + "css/filter-effects/backdrop-filter-fixed-clip-ref.html": [ + "1fa59677ff773ba435415be897fbffc8d46dd351", + "support" + ], + "css/filter-effects/backdrop-filter-fixed-clip.html": [ + "2550eb148cee6bc32156adf8e0671d3e0336196c", + "reftest" + ], + "css/filter-effects/backdrop-filter-isolation-fixed.html": [ + "c812d1f67436fd91fbb3ddfc5d3f147d8f265baa", + "reftest" + ], "css/filter-effects/backdrop-filter-isolation-isolate.html": [ "99fa69d03fa6fac067a375a951ccb292183dc8df", "reftest" @@ -590937,11 +591471,11 @@ "testharness" ], "css/geometry/DOMMatrix-002.html": [ - "d5f1137a413ce747f40792b06504255d151bd97b", + "2b39cce9adc0b83dfd8603355ddbf01504718d04", "testharness" ], "css/geometry/DOMMatrix-003.html": [ - "9b77f1966d6fb7d668bb907576781c8be60ac8fa", + "d363b504bd5dd404612914afccc881774d5c63d0", "testharness" ], "css/geometry/DOMMatrix-a-f-alias.html": [ @@ -591013,7 +591547,7 @@ "testharness" ], "css/geometry/historical.html": [ - "4f8e65e98e5748498e7ac4c01c63afe5e08a29a5", + "ddc3c777a0133b7e8153afbf821ff48d2b0a01fd", "testharness" ], "css/geometry/interfaces.html": [ @@ -602812,6 +603346,10 @@ "6992dd6df6a1b9b75e84d13c8bfc6857b12cee54", "testharness" ], + "custom-elements/perform-microtask-checkpoint-before-construction.html": [ + "83d823ad9f1b69dad00b7eb8457c0d490bcf2487", + "testharness" + ], "custom-elements/pseudo-class-defined.html": [ "60d88cffb517c0062db338e5ba89e98f7748c280", "testharness" @@ -602936,6 +603474,10 @@ "82e0f59c93022fcd6321c6b8ad1f8d7014b74382", "testharness" ], + "custom-elements/resources/custom-elements-helpers.js": [ + "6f73fe20d0fbf25eed2fbfec530fb516e83cc214", + "support" + ], "custom-elements/resources/empty-html-document.html": [ "eaca3f49fd15840a3688a10a91b56524566893c5", "support" @@ -602949,11 +603491,11 @@ "support" ], "custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html": [ - "b8f00aaa161d1dee32783b69b06cd1b65968b6f1", + "5582bca4bb3a5396bd245031df4ddf8f2b7d1d91", "testharness" ], "custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html": [ - "addcdf3cec582fb0f2d2714668c41dbb0296a113", + "9dccd4ca24df3c2cae5fef4ee209ab195546192f", "testharness" ], "custom-elements/upgrading.html": [ @@ -603161,7 +603703,7 @@ "support" ], "docs/_writing-tests/testdriver.md": [ - "ad059eb43c75942c11444a600ae563a427f7b57d", + "a53a418fe3e39c543edd9361f3bd54a2a2581574", "support" ], "docs/_writing-tests/testharness-api.md": [ @@ -607616,6 +608158,58 @@ "feede41dcef66e8842a081b6053b4e57515f9c1c", "support" ], + "event-timing/event-timing-bufferbeforeonload.html": [ + "223f5ed0fb5ce643d9f121f9af136e88a5d9e34d", + "testharness" + ], + "event-timing/event-timing-crossiframe.html": [ + "0e77b3822f5c6290b0bb185d30abb6815fbe0af9", + "testharness" + ], + "event-timing/event-timing-observer-manual.html": [ + "c0bd6f3feec00d25f56bb6cc8c9ea4fb4e931d23", + "manual" + ], + "event-timing/event-timing-observethenonload.html": [ + "3d72e6aa8f612768dbcb8f8689873f80a55c5e76", + "testharness" + ], + "event-timing/event-timing-onloadthenobserve-firstInput.html": [ + "16f48411f9f12f17407c29098b97ce5479daed0f", + "testharness" + ], + "event-timing/event-timing-onloadthenobserve.html": [ + "7dc113247cd8cd7ffe452edeaffcc07ba67e516e", + "testharness" + ], + "event-timing/event-timing-only-observe-firstInput.html": [ + "2f24d519c892175a65f431394400ece359e916e7", + "testharness" + ], + "event-timing/event-timing-retrievability.html": [ + "f38761b469da693f2c14a62c96a4671098cbd4e5", + "testharness" + ], + "event-timing/event-timing-timingconditions.html": [ + "1e5dd2fd65cde654f9223ee3a9180a5adfeb4a57", + "testharness" + ], + "event-timing/resources/event-timing-crossiframe-childframe.html": [ + "7491fd88cb3c8cbfa849620e3690e4a42e454b9e", + "support" + ], + "event-timing/resources/event-timing-observer-manual-childframe.html": [ + "99853661bde3e32b04d9cb623f4b1e25d0cb70d1", + "support" + ], + "event-timing/resources/event-timing-support.js": [ + "a2a583c8989cddf93ebceaf3d1fe5ca65bf1fc87", + "support" + ], + "event-timing/resources/slow-image.py": [ + "5c2d1b1fc5d8e6518e6db1bca6f1947d615979d3", + "support" + ], "eventsource/META.yml": [ "92f1036338515da7807fdbde7ab0a26f509cc986", "support" @@ -609024,12 +609618,16 @@ "1778bf2581a29e1ae049869f4a56e030339159e6", "testharness" ], + "fetch/api/request/destination/fetch-destination-prefetch.https.html": [ + "db99202df87af6d6d8d5565eb4c5f3486d55f72a", + "testharness" + ], "fetch/api/request/destination/fetch-destination-worker.https.html": [ "8421d4ac9ef66e743af2c834ecf466b07a14d16f", "testharness" ], "fetch/api/request/destination/fetch-destination.https.html": [ - "5d9f71735913e95db014ee4c2555b94dde70f368", + "27b510268dde9f24b2500756f5d55940cd98d884", "testharness" ], "fetch/api/request/destination/resources/dummy": [ @@ -630697,7 +631295,7 @@ "support" ], "interfaces/css-fonts.idl": [ - "1256e6cf5b8978ba98b7ead9cccd3307f67bc0ac", + "d9e6d21d4ed05235c274d236f6a3f63284c8b9e8", "support" ], "interfaces/css-images.idl": [ @@ -630917,7 +631515,7 @@ "support" ], "interfaces/payment-request.idl": [ - "baf9ee36db9c898e500609dcdaf152ccbfbc704a", + "63a9ccccad4d57356760a65cadbdd3faec47bce4", "support" ], "interfaces/performance-timeline.idl": [ @@ -630977,7 +631575,7 @@ "support" ], "interfaces/screen-capture.idl": [ - "f00660bd904e8ad3fcdf0fa9cf66c49e5d918767", + "612480cb080dfa3052186558732cc4ec1768f036", "support" ], "interfaces/screen-orientation.idl": [ @@ -631021,7 +631619,7 @@ "support" ], "interfaces/trusted-types.tentative.idl": [ - "a3a635b99270381643f16e13ff47facb85cbfb07", + "564200133b7015fb9b03094b71b3ce7ee3ee8c57", "support" ], "interfaces/uievents.idl": [ @@ -631065,7 +631663,7 @@ "support" ], "interfaces/web-nfc.idl": [ - "2728840b95f606c9ebf6353ae8e8e98cc9efa04e", + "699a31623a335641b8b8be21040f7f80df6555fa", "support" ], "interfaces/web-share.idl": [ @@ -631117,7 +631715,7 @@ "support" ], "interfaces/webxr.idl": [ - "ffa9ed4e91abde01ef1b442d2e8c5daa8a40305d", + "5561369931f749224f2dcf87d5fc921af64d82b2", "support" ], "interfaces/worklets.idl": [ @@ -631160,6 +631758,10 @@ "b9fa24b87808abc158307e8c69afeeb5ce3c1907", "testharness" ], + "intersection-observer/empty-root-margin.html": [ + "48c9aa4d535fa0b65c04cf2622e471cbade224b4", + "testharness" + ], "intersection-observer/idlharness.window.js": [ "2059e1ce638b5f2cac4e4f013c567a56894599a0", "testharness" @@ -632049,7 +632651,15 @@ "support" ], "media-capabilities/decodingInfo.html": [ - "cb14e2b516f89d8e9083345be1d242bdeb436e6c", + "fb6e785ac9694c81224f9edf85b4fa803069c553", + "testharness" + ], + "media-capabilities/decodingInfoEncryptedMedia.http.html": [ + "3fc15a64d810ab8dd1161f79c2724ffecdc30262", + "testharness" + ], + "media-capabilities/decodingInfoEncryptedMedia.https.html": [ + "ca94d0b6499e2f81b715eaee0d4213b66b7d8b7d", "testharness" ], "media-capabilities/encodingInfo.html": [ @@ -642997,7 +643607,7 @@ "manual" ], "payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [ - "ec0aa96dddb46b26617064ab54e9d02e2a588cbb", + "feaaef66adf8a433868d33bcf722525af6c0d2ba", "testharness" ], "payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html": [ @@ -643108,6 +643718,10 @@ "f08491150ac7ee6d69520a936eb2868d60393c57", "manual" ], + "payment-request/constructor_convert_method_data.https.html": [ + "56866b43a481e738c844537cb9c355e9638a29fa", + "testharness" + ], "payment-request/historical.https.html": [ "cbd29d4cff8698365c05acfe75504de5ec7e1aec", "testharness" @@ -653837,53 +654451,9 @@ "support" ], "resource-timing/SyntheticResponse.py": [ - "a17a3e9c1a2ffe5770a6536433c9d075ae94d252", + "19a788178a1958fd2abd130443f79031c32a8e1a", "support" ], - "resource-timing/buffer-full-add-after-full-event.html": [ - "07897b5d28dfb281463dc49dc5481d2a1de187b5", - "testharness" - ], - "resource-timing/buffer-full-add-entries-during-callback-that-drop.html": [ - "d61d2af05c6730c57703e7ba9482067689e78fbb", - "testharness" - ], - "resource-timing/buffer-full-add-entries-during-callback.html": [ - "b37c47b23fb5026480683594b964ee712abbe708", - "testharness" - ], - "resource-timing/buffer-full-add-then-clear.html": [ - "710852ced55f716a348cc9e6865d7a8b7048a46a", - "testharness" - ], - "resource-timing/buffer-full-decrease-buffer-during-callback.html": [ - "e6de33ded1b73345a763692a1bac9138c8f208de", - "testharness" - ], - "resource-timing/buffer-full-increase-buffer-during-callback.html": [ - "b46d2d65690a886837b8ea7621f3926081552d97", - "testharness" - ], - "resource-timing/buffer-full-inspect-buffer-during-callback.html": [ - "d46d4692a55b9cbef1aa5f882f38887e1f7940e9", - "testharness" - ], - "resource-timing/buffer-full-set-to-current-buffer.html": [ - "1e5486ec2cdfc442876ba1f5b2c524985e70e5b5", - "testharness" - ], - "resource-timing/buffer-full-store-and-clear-during-callback.html": [ - "f0791cba6b39fb4b7e1af09077772f1ee3b42744", - "testharness" - ], - "resource-timing/buffer-full-then-increased.html": [ - "2265077fc15a277c3352da215fa5ac8a276c60aa", - "testharness" - ], - "resource-timing/buffer-full-when-populate-entries.html": [ - "00d2ae0e4426f4644f70e921751fffc327de46d6", - "testharness" - ], "resource-timing/clear_resource_timing_functionality.html": [ "eaf21b483ccd6ec63bcb8dc87c9e19a4305bf43d", "testharness" @@ -653901,11 +654471,11 @@ "testharness" ], "resource-timing/resource-timing.html": [ - "9f899f7ac4f0886f30d0b4bcb183dfbf00e1be19", + "ad97044a6291912880046a4e784af13d28ab2f71", "testharness" ], "resource-timing/resource-timing.js": [ - "9167013a5adb29c6ef37d17613ce7a35a2f07350", + "58bf19b52bfb23c8aaf8a05ba671eb3fee9c7eb3", "support" ], "resource-timing/resource_TAO_cross_origin_redirect_chain.html": [ @@ -654012,6 +654582,10 @@ "ce745237c0657c7045b00d9c7b8e71770ed490fc", "testharness" ], + "resource-timing/resource_timing_buffer_full_when_populate_entries.html": [ + "3e62b199a32b1cb7ff5eafc7fc690b379409b660", + "testharness" + ], "resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html": [ "e42c19d05e081ec3673606b4f0d686f0e69e65d8", "testharness" @@ -654028,6 +654602,10 @@ "d9fbf944f6c65b7a247b4764ee39e6aa33bc465d", "testharness" ], + "resource-timing/resource_timing_store_and_clear_during_callback.html": [ + "218fc0c2bcd5f987c2aee511bb66fd338476215f", + "testharness" + ], "resource-timing/resources/TAOResponse.py": [ "fefc75b7b7fc68872b36f56bcb0fa59dd41d2918", "support" @@ -654044,10 +654622,6 @@ "820f8cace2143bfc45c0c301e84b6c29b8630068", "support" ], - "resource-timing/resources/buffer-full-utilities.js": [ - "b143da7b325f0ad24a2f9ad67db7ba31d0aa912c", - "support" - ], "resource-timing/resources/empty.js": [ "3b44754e301ded90e559f6343df641e476803542", "support" @@ -654344,10 +654918,6 @@ "6805c323df5a975231648b830e33ce183c3cbbd3", "support" ], - "resources/custom-elements-helpers.js": [ - "6f73fe20d0fbf25eed2fbfec530fb516e83cc214", - "support" - ], "resources/idlharness.js": [ "926a615e59c9cd6f602c6e700494d1600ac6d0a5", "support" @@ -657517,7 +658087,7 @@ "testharness" ], "service-workers/service-worker/navigation-redirect.https.html": [ - "e8b8e9afd5820acf9422d11f4410c0158fa31732", + "d7d3d5259a454d923d1e89004fcf55ce7e2e6bda", "testharness" ], "service-workers/service-worker/navigation-timing.https.html": [ @@ -658473,7 +659043,7 @@ "support" ], "service-workers/service-worker/resources/performance-timeline-worker.js": [ - "cac327c34bf9df184913c561b584b038f3504c94", + "a752b436524e628959e35c9de73e15ccc7dd783f", "support" ], "service-workers/service-worker/resources/postmessage-blob-url.js": [ @@ -658720,6 +659290,10 @@ "4d7af1ff9ca77c85696f35368ff3a7a1c4b2480b", "support" ], + "service-workers/service-worker/resources/trickle.py": [ + "319ecd21f4503ccf2f9326bdf53c010089eee5d2", + "support" + ], "service-workers/service-worker/resources/unregister-controller-page.html": [ "18a95ee892b1c9ee7ca597cb2655e6c4504a7912", "support" @@ -658732,6 +659306,10 @@ "dabeec077f77d5e8d1924eb5f3bd5d8667b129f5", "support" ], + "service-workers/service-worker/resources/update-fetch-worker.py": [ + "f28e1c094e501d1837dc7585e44b9b9e938e3344", + "support" + ], "service-workers/service-worker/resources/update-max-aged-worker-imported-script.py": [ "b9a8a4af079ab3b01300e1a090413594e80b6218", "support" @@ -658940,6 +659518,10 @@ "71fe1730e0d68e4e7e0949cfa408d3c2d4ed9d39", "testharness" ], + "service-workers/service-worker/update-on-navigation.https.html": [ + "5273420b90fc97fcd441ac057a99ee5b31c84a30", + "testharness" + ], "service-workers/service-worker/update-recovery.https.html": [ "17608d2ef790e2ea97a43f56b86a28ef0e647604", "testharness" @@ -659881,7 +660463,7 @@ "testharness" ], "speech-api/webspeech.js": [ - "93830e648b2e16e325295ec8cd5cd2db7f00baf0", + "6eeb5d9447d4f74a565326de0b2435f1968e100c", "support" ], "storage/META.yml": [ @@ -661564,38 +662146,6 @@ "a508b69b98b00b811af4201d2aefb3b3f0fbbf7e", "manual" ], - "svg/import/painting-marker-01-f-manual.svg": [ - "bedf37f78124ad9714c91ed9172a465f38eacb2d", - "manual" - ], - "svg/import/painting-marker-02-f-manual.svg": [ - "ee37ddc0a8ecc98325a3a6ba3bd64654115e3017", - "manual" - ], - "svg/import/painting-marker-03-f-manual.svg": [ - "220935193287731b5f86da9540f36f64259edc84", - "manual" - ], - "svg/import/painting-marker-04-f-manual.svg": [ - "6abd8cefb5162bdec52448ebc52852706f76f35e", - "manual" - ], - "svg/import/painting-marker-05-f-manual.svg": [ - "72aab38205a1444faf92a331057f8e75d217029a", - "manual" - ], - "svg/import/painting-marker-06-f-manual.svg": [ - "3a4ebc63c026520bcfd39afdcefe9a7989db7b4d", - "manual" - ], - "svg/import/painting-marker-07-f-manual.svg": [ - "19aaa47fb2b00cc97b5fc0ed3fc7c34e9f77759b", - "manual" - ], - "svg/import/painting-marker-properties-01-f-manual.svg": [ - "cbac3a7dbf62f16c6b942f01e82560f908091de8", - "manual" - ], "svg/import/painting-render-01-b-manual.svg": [ "6367fb093f24f9ebaa997075d593f0109d68f8a3", "manual" @@ -662972,6 +663522,70 @@ "4499b9249a84a9d7de4a5a101993ad14f9cc21c9", "testharness" ], + "svg/painting/marker-001-ref.svg": [ + "09bc3b7f77cf6a633d48f26df5968f1f799db3ea", + "support" + ], + "svg/painting/marker-001.svg": [ + "dbcfd5b43206e030860a8f53af4a54fac40622be", + "reftest" + ], + "svg/painting/marker-002-ref.svg": [ + "1b1446ce1132e1ba8a751f122cc5b530ed1c0dce", + "support" + ], + "svg/painting/marker-002.svg": [ + "790edd1cabac6d6dcb0085c1e508aa763443be5f", + "reftest" + ], + "svg/painting/marker-003-ref.svg": [ + "a9cdc59cf3805a4b47330bcd09bd5244632bcd07", + "support" + ], + "svg/painting/marker-003.svg": [ + "b4bebec5879831fc4fb756742f25b1ca382e9826", + "reftest" + ], + "svg/painting/marker-004-ref.svg": [ + "aaad02c732f16272a32c96bca8b1a696952c9857", + "support" + ], + "svg/painting/marker-004.svg": [ + "7f106961db833ce922e1adad57e1e1d8da50fdcc", + "reftest" + ], + "svg/painting/marker-005-ref.svg": [ + "6e4ae279540ed46cdfc18a57e1f453fa11185e8b", + "support" + ], + "svg/painting/marker-005.svg": [ + "640b3545deb4ba62fbebfc32dbea1a0e41db57ee", + "reftest" + ], + "svg/painting/marker-006-ref.svg": [ + "09bc3b7f77cf6a633d48f26df5968f1f799db3ea", + "support" + ], + "svg/painting/marker-006.svg": [ + "61af077f29f206415e0fa1af9f66534a515bbe6d", + "reftest" + ], + "svg/painting/marker-007-ref.svg": [ + "be4df3a410ec6151a96ada360236539cd594f878", + "support" + ], + "svg/painting/marker-007.svg": [ + "c7812203787a02db8f8e8ae005b4be54605dbf7e", + "reftest" + ], + "svg/painting/marker-008-ref.svg": [ + "b4f329b3bc292327db841ccec1f94cfa344333d9", + "support" + ], + "svg/painting/marker-008.svg": [ + "47f70336a6f6774805c08c99f37e8ee7c32ecc10", + "reftest" + ], "svg/painting/parsing/color-interpolation-invalid.svg": [ "11fd05be070350c13fabbc3f2627ae80a381f389", "testharness" @@ -663568,6 +664182,10 @@ "27d01efc64b9345f7deaeb6960c3d4b7ce8386b1", "reftest" ], + "svg/shapes/reftests/disabled-shapes-01.svg": [ + "d92eea169a6904c969fa0d6df363324194a1b335", + "reftest" + ], "svg/shapes/reftests/pathlength-001-ref.svg": [ "0ec9e0353ae4bcdf12acbdfe0e3aa85c22565054", "support" @@ -663592,10 +664210,18 @@ "506952f54b4b0b59d10a106af50ae61062873e99", "reftest" ], + "svg/shapes/reftests/support/empty.svg": [ + "0c7be4e2da4480937124138e7dee3e26bd018abe", + "support" + ], "svg/shapes/rx-ry-not-inherited.svg": [ "ff943e8b5c4718f57d99e6e520a7897e8356537b", "testharness" ], + "svg/shapes/scripted/disabled-shapes-not-hit.svg": [ + "5a621d9f21dcaf4da0c3edab2d3ba11f261a9e6b", + "testharness" + ], "svg/struct/UnknownElement/interface.svg": [ "862e5fde273a5b8ad467f8e062b3bb9ec16e5242", "testharness" @@ -663636,6 +664262,62 @@ "1f4609d7ac6c5384f68d109733be01c7ea915df4", "testharness" ], + "svg/text/parsing/inline-size-invalid.svg": [ + "19fd6f64724aa4084f021a23d01a0be1750ea025", + "testharness" + ], + "svg/text/parsing/inline-size-valid.svg": [ + "3b01cd3448886cf4fb8269e133eb87e92ce98efc", + "testharness" + ], + "svg/text/parsing/shape-inside-invalid.svg": [ + "15734576dfac27bd616c5f74f4b3f4e5fcf65866", + "testharness" + ], + "svg/text/parsing/shape-inside-valid.svg": [ + "5846917c0013fc38c0a17f939d6ea11688aebf28", + "testharness" + ], + "svg/text/parsing/shape-margin-invalid.svg": [ + "0bf74701928192f59d20b60c10341a17cb6d9355", + "testharness" + ], + "svg/text/parsing/shape-margin-valid.svg": [ + "2ba50afb8a1337fc29b8dc58d5c5eb4202578dcf", + "testharness" + ], + "svg/text/parsing/shape-subtract-invalid.svg": [ + "fb2caef25c4797323dc839d48cd5fe546d022843", + "testharness" + ], + "svg/text/parsing/shape-subtract-valid.svg": [ + "3be94fb8499b1a776298399f07cc1baa069581d4", + "testharness" + ], + "svg/text/parsing/text-anchor-invalid.svg": [ + "69a6a58971264821b3f9d12ce1f8110a34d40fa0", + "testharness" + ], + "svg/text/parsing/text-anchor-valid.svg": [ + "eca651e12275f3ec4ad3e4ee7a89d3ee1d44b721", + "testharness" + ], + "svg/text/parsing/text-decoration-fill-invalid.svg": [ + "19da0821730d5062e006e45eadb3cd3726318302", + "testharness" + ], + "svg/text/parsing/text-decoration-fill-valid.svg": [ + "d2f9447a169d140bacd301d235707c02b30ba81d", + "testharness" + ], + "svg/text/parsing/text-decoration-stroke-invalid.svg": [ + "8d44d6f1c33898fca4a81924ba0d3e05cd3ed7d4", + "testharness" + ], + "svg/text/parsing/text-decoration-stroke-valid.svg": [ + "df64cc9ec3d387f26238b66b92c9f356f2f23e09", + "testharness" + ], "svg/text/reftests/text-complex-001-ref.svg": [ "5ade69dce1de95954861271c0e523767230ae275", "support" @@ -664141,11 +664823,11 @@ "support" ], "tools/docker/Dockerfile": [ - "61393e72ac0534402c4ab139b843a32dcf28d6c1", + "20f6ef26c7ae54acf48cdba353d5b1970e97c989", "support" ], "tools/docker/start.sh": [ - "9bf40ddb9301296e5f22c444ee8efb5bd8ea10d3", + "34a0f3c2206dc689543e1cab6fb5ddbc763880aa", "support" ], "tools/gitignore/__init__.py": [ @@ -669121,7 +669803,7 @@ "support" ], "tools/wptrunner/wptrunner/browsers/chrome.py": [ - "061e549685cad2f58b45bbad572325cbdfe87d8c", + "c46f33c116941ec01fe9f1c16902078dbe1e8711", "support" ], "tools/wptrunner/wptrunner/browsers/chrome_android.py": [ @@ -669137,7 +669819,7 @@ "support" ], "tools/wptrunner/wptrunner/browsers/fennec.py": [ - "46faf1b4ac22027ad469af6915b96654447aa9c7", + "457565e84d8a3306e5035e00ac3d2f0f5daa6637", "support" ], "tools/wptrunner/wptrunner/browsers/firefox.py": [ @@ -669209,7 +669891,7 @@ "support" ], "tools/wptrunner/wptrunner/executors/executormarionette.py": [ - "45b832dda54306469ef460777a1034db9e20555b", + "84bde160890a9c228511444f7d0f6d20b4347029", "support" ], "tools/wptrunner/wptrunner/executors/executoropera.py": [ @@ -669961,7 +670643,7 @@ "testharness" ], "trusted-types/TrustedTypePolicyFactory-isXXX.tentative.html": [ - "c03b4b81d0322f6b628adb6616bace84a8214aa1", + "fada29a209b777eb6b34cb14fceb0bfd2d249142", "testharness" ], "trusted-types/Window-TrustedTypes.tentative.html": [ @@ -674712,6 +675394,10 @@ "ce8a0d60f7df192e21c6abbad1871bb0ac8f5f78", "wdspec" ], + "webdriver/tests/permissions/set.py": [ + "fe16599a1e88a3931a857cea0a86313c3ef0541c", + "wdspec" + ], "webdriver/tests/refresh/__init__.py": [ "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", "support" @@ -680304,6 +680990,10 @@ "535b0bcbbc282ee5aaa7500cbd3a35ba21fed3d4", "testharness" ], + "webxr/xrFrame_lifetime.https.html": [ + "887ff933526292cbcd7a8218660b1911859ed7b4", + "testharness" + ], "webxr/xrSession_cancelAnimationFrame.https.html": [ "26c0e95605468634c9bc65bf959260e594998a2d", "testharness" diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini index 9c755658999..990f3fbd8c2 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini @@ -296,3 +296,42 @@ [Matching font-style: 'oblique 0deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg'] expected: FAIL + [Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal'] + expected: FAIL + + [Matching font-style: 'oblique 20deg' should prefer 'oblique 20deg' over 'oblique 30deg 60deg'] + expected: FAIL + + [Matching font-weight: '399' should prefer '500 501' over '502 510'] + expected: FAIL + + [Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg'] + expected: FAIL + + [Matching font-stretch: '110%' should prefer '110% 120%' over '115% 116%'] + expected: FAIL + + [Matching font-stretch: '110%' should prefer '105%' over '100%'] + expected: FAIL + + [Matching font-style: 'oblique 20deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'] + expected: FAIL + + [Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic'] + expected: FAIL + + [Matching font-weight: '500' should prefer '500' over '450 460'] + expected: FAIL + + [Matching font-style: 'italic' should prefer 'oblique 0deg' over 'oblique -60deg -30deg'] + expected: FAIL + + [Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg'] + expected: FAIL + + [Matching font-stretch: '90%' should prefer '60% 70%' over '110% 140%'] + expected: FAIL + + [Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-text/white-space/text-space-collapse-discard-001.xht.ini b/tests/wpt/metadata/css/css-text/white-space/text-space-collapse-discard-001.xht.ini new file mode 100644 index 00000000000..c7046e79914 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/text-space-collapse-discard-001.xht.ini @@ -0,0 +1,2 @@ +[text-space-collapse-discard-001.xht] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht.ini b/tests/wpt/metadata/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht.ini new file mode 100644 index 00000000000..343f85988a2 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht.ini @@ -0,0 +1,2 @@ +[text-space-collapse-preserve-breaks-001.xht] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/text-space-trim-trim-inner-001.xht.ini b/tests/wpt/metadata/css/css-text/white-space/text-space-trim-trim-inner-001.xht.ini new file mode 100644 index 00000000000..52470fe1c5b --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/text-space-trim-trim-inner-001.xht.ini @@ -0,0 +1,2 @@ +[text-space-trim-trim-inner-001.xht] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini index 8850ec200da..86ce5d7e7f6 100644 --- a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini +++ b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini @@ -74,3 +74,6 @@ [opacity end] expected: FAIL + [border-top-width end] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-ui/text-overflow-ruby.html.ini b/tests/wpt/metadata/css/css-ui/text-overflow-ruby.html.ini new file mode 100644 index 00000000000..d32ece38913 --- /dev/null +++ b/tests/wpt/metadata/css/css-ui/text-overflow-ruby.html.ini @@ -0,0 +1,2 @@ +[text-overflow-ruby.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-variables/variable-exponential-blowup.html.ini b/tests/wpt/metadata/css/css-variables/variable-exponential-blowup.html.ini new file mode 100644 index 00000000000..e7be20cdb5b --- /dev/null +++ b/tests/wpt/metadata/css/css-variables/variable-exponential-blowup.html.ini @@ -0,0 +1,2 @@ +[variable-exponential-blowup.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/filter-effects/backdrop-filter-basic-opacity.html.ini b/tests/wpt/metadata/css/filter-effects/backdrop-filter-basic-opacity.html.ini deleted file mode 100644 index 549ec344384..00000000000 --- a/tests/wpt/metadata/css/filter-effects/backdrop-filter-basic-opacity.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backdrop-filter-basic-opacity.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/filter-effects/backdrop-filter-fixed-clip.html.ini b/tests/wpt/metadata/css/filter-effects/backdrop-filter-fixed-clip.html.ini new file mode 100644 index 00000000000..b8c47131bc2 --- /dev/null +++ b/tests/wpt/metadata/css/filter-effects/backdrop-filter-fixed-clip.html.ini @@ -0,0 +1,2 @@ +[backdrop-filter-fixed-clip.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/filter-effects/backdrop-filter-isolation-fixed.html.ini b/tests/wpt/metadata/css/filter-effects/backdrop-filter-isolation-fixed.html.ini new file mode 100644 index 00000000000..372f0ca40b0 --- /dev/null +++ b/tests/wpt/metadata/css/filter-effects/backdrop-filter-isolation-fixed.html.ini @@ -0,0 +1,2 @@ +[backdrop-filter-isolation-fixed.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/geometry/DOMMatrix-002.html.ini b/tests/wpt/metadata/css/geometry/DOMMatrix-002.html.ini new file mode 100644 index 00000000000..76e8dec3644 --- /dev/null +++ b/tests/wpt/metadata/css/geometry/DOMMatrix-002.html.ini @@ -0,0 +1,4 @@ +[DOMMatrix-002.html] + [test scaleNonUniform() doesn't mutate] + expected: FAIL + diff --git a/tests/wpt/metadata/css/geometry/DOMMatrix-003.html.ini b/tests/wpt/metadata/css/geometry/DOMMatrix-003.html.ini index 1ac17f5fc02..ad397ee8c6d 100644 --- a/tests/wpt/metadata/css/geometry/DOMMatrix-003.html.ini +++ b/tests/wpt/metadata/css/geometry/DOMMatrix-003.html.ini @@ -6,3 +6,12 @@ [test rotateAxisAngle() ] expected: FAIL + [test scaleNonUniform() with sx] + expected: FAIL + + [test scaleNonUniform() with sx, sy] + expected: FAIL + + [test scaleNonUniform()] + expected: FAIL + diff --git a/tests/wpt/metadata/custom-elements/adopted-callback.html.ini b/tests/wpt/metadata/custom-elements/adopted-callback.html.ini index 73e6e4ebd5d..e35f704acf0 100644 --- a/tests/wpt/metadata/custom-elements/adopted-callback.html.ini +++ b/tests/wpt/metadata/custom-elements/adopted-callback.html.ini @@ -1,6 +1,5 @@ [adopted-callback.html] type: testharness - expected: ERROR [Inserting a custom element into a shadow tree in the document of the template elements must enqueue and invoke adoptedCallback] expected: FAIL diff --git a/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini b/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini index a0a5ea34e95..f682fd43fb6 100644 --- a/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini +++ b/tests/wpt/metadata/custom-elements/parser/parser-uses-registry-of-owner-document.html.ini @@ -1,6 +1,5 @@ [parser-uses-registry-of-owner-document.html] type: testharness - expected: ERROR [HTML parser must not instantiate custom elements inside template elements] expected: FAIL diff --git a/tests/wpt/metadata/custom-elements/perform-microtask-checkpoint-before-construction.html.ini b/tests/wpt/metadata/custom-elements/perform-microtask-checkpoint-before-construction.html.ini new file mode 100644 index 00000000000..001942e8a22 --- /dev/null +++ b/tests/wpt/metadata/custom-elements/perform-microtask-checkpoint-before-construction.html.ini @@ -0,0 +1,7 @@ +[perform-microtask-checkpoint-before-construction.html] + [HTML parser must perform a microtask checkpoint before constructing a custom element] + expected: FAIL + + [HTML parser must perform a microtask checkpoint before constructing a custom element during the adoption agency algorithm] + expected: FAIL + diff --git a/tests/wpt/metadata/custom-elements/reactions/Attr.html.ini b/tests/wpt/metadata/custom-elements/reactions/Attr.html.ini deleted file mode 100644 index 100071e64b6..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/Attr.html.ini +++ /dev/null @@ -1,7 +0,0 @@ -[Attr.html] - [value on Attr must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [value on Attr must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini b/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini index a10433e59ab..d60fba10180 100644 --- a/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini +++ b/tests/wpt/metadata/custom-elements/reactions/CSSStyleDeclaration.html.ini @@ -24,69 +24,3 @@ [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] expected: FAIL - [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] - expected: FAIL - - [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] - expected: FAIL - - [cssFloat on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] - expected: FAIL - - [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - - [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - - [cssFloat on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - - [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important but the style attribute is not observed] - expected: FAIL - - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed] - expected: FAIL - - [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] - expected: FAIL - - [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] - expected: FAIL - - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] - expected: FAIL - - [removeProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it removes a property from the observed style attribute] - expected: FAIL - - [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] - expected: FAIL - - [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - - [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - - [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - - [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] - expected: FAIL - - [removeProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it removes a property from the style attribute but the style attribute is not observed] - expected: FAIL - - [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] - expected: FAIL - - [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini b/tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini deleted file mode 100644 index 2d86a550652..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/ChildNode.html.ini +++ /dev/null @@ -1,22 +0,0 @@ -[ChildNode.html] - [before on ChildNode must enqueue a connected reaction] - expected: FAIL - - [replaceWith on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [before on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [after on ChildNode must enqueue a connected reaction] - expected: FAIL - - [remove on ChildNode must enqueue a disconnected reaction] - expected: FAIL - - [replaceWith on ChildNode must enqueue a connected reaction] - expected: FAIL - - [after on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini b/tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini deleted file mode 100644 index d04c6580c00..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/DOMStringMap.html.ini +++ /dev/null @@ -1,25 +0,0 @@ -[DOMStringMap.html] - [deleter on DOMStringMap must enqueue an attributeChanged reaction when removing an observed data attribute] - expected: FAIL - - [deleter on DOMStringMap must not enqueue an attributeChanged reaction when removing an unobserved data attribute] - expected: FAIL - - [setter on DOMStringMap must not enqueue an attributeChanged reaction when mutating the value of an unobserved data attribute] - expected: FAIL - - [setter on DOMStringMap must enqueue an attributeChanged reaction when adding an observed data attribute] - expected: FAIL - - [setter on DOMStringMap must not enqueue an attributeChanged reaction when adding an unobserved data attribute] - expected: FAIL - - [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute to the same value] - expected: FAIL - - [deleter on DOMStringMap must not enqueue an attributeChanged reaction when it does not remove a data attribute] - expected: FAIL - - [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini b/tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini deleted file mode 100644 index 3c7ad12dda7..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/DOMTokenList.html.ini +++ /dev/null @@ -1,58 +0,0 @@ -[DOMTokenList.html] - [add on DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute] - expected: FAIL - - [replace on DOMTokenList must not enqueue an attributeChanged reaction when replacing a value in an unobserved attribute] - expected: FAIL - - [toggle on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute] - expected: FAIL - - [add on DOMTokenList must not enqueue an attributeChanged reaction when adding a value to an unobserved attribute] - expected: FAIL - - [add on DOMTokenList must enqueue exactly one attributeChanged reaction when adding multiple values to an attribute] - expected: FAIL - - [remove on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute] - expected: FAIL - - [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when the setter is called with the original value of the attribute] - expected: FAIL - - [toggle on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an attribute] - expected: FAIL - - [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when adding an observed attribute] - expected: FAIL - - [add on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an existing attribute] - expected: FAIL - - [remove on DOMTokenList must enqueue an attributeChanged reaction even when removing a non-existent value from an attribute] - expected: FAIL - - [remove on DOMTokenList must not enqueue an attributeChanged reaction when removing a value from an unobserved attribute] - expected: FAIL - - [remove on DOMTokenList must enqueue exactly one attributeChanged reaction when removing multiple values to an attribute] - expected: FAIL - - [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when mutating the value of an observed attribute] - expected: FAIL - - [replace on DOMTokenList must enqueue an attributeChanged reaction when replacing a value in an attribute] - expected: FAIL - - [add on DOMTokenList must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when mutating the value of an unobserved attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/Element.html.ini b/tests/wpt/metadata/custom-elements/reactions/Element.html.ini index c07ed115685..89e0c322ef1 100644 --- a/tests/wpt/metadata/custom-elements/reactions/Element.html.ini +++ b/tests/wpt/metadata/custom-elements/reactions/Element.html.ini @@ -6,120 +6,3 @@ [slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [className on Element must enqueue an attributeChanged reaction when adding class content attribute] - expected: FAIL - - [id on Element must enqueue an attributeChanged reaction when adding id content attribute] - expected: FAIL - - [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [setAttributeNode on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [insertAdjacentHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element] - expected: FAIL - - [removeAttribute on Element must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [setAttributeNodeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [id on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [insertAdjacentHTML on Element must enqueue a connected reaction for a newly constructed custom element] - expected: FAIL - - [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [removeAttributeNode on Element must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [outerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element] - expected: FAIL - - [innerHTML on Element must enqueue a disconnected reaction] - expected: FAIL - - [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttribute on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [outerHTML on Element must enqueue a disconnected reaction] - expected: FAIL - - [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [outerHTML on Element must enqueue a connected reaction for a newly constructed custom element] - expected: FAIL - - [innerHTML on Element must enqueue a attributeChanged reaction for a newly constructed custom element] - expected: FAIL - - [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttributeNode on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [insertAdjacentElement on Element must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [className on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [removeAttributeNS on Element must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [innerHTML on Element must enqueue a connected reaction for a newly constructed custom element] - expected: FAIL - - [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [insertAdjacentElement on Element must enqueue a connected reaction] - expected: FAIL - - [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [setAttribute on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttributeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setAttributeNS on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini index dc21abf87a4..c9131336531 100644 --- a/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini +++ b/tests/wpt/metadata/custom-elements/reactions/HTMLButtonElement.html.ini @@ -1,61 +1,19 @@ [HTMLButtonElement.html] - [formMethod on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [formMethod on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] - expected: FAIL - - [formEnctype on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] - expected: FAIL - [formNoValidate on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] expected: FAIL - [formAction on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] - expected: FAIL - - [value on HTMLButtonElement must enqueue an attributeChanged reaction when adding value content attribute] - expected: FAIL - - [type on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [disabled on HTMLButtonElement must enqueue an attributeChanged reaction when adding disabled content attribute] expected: FAIL - [formTarget on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [disabled on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [formTarget on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] - expected: FAIL - - [formAction on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [autofocus on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL [formNoValidate on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [name on HTMLButtonElement must enqueue an attributeChanged reaction when adding name content attribute] - expected: FAIL - - [value on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [formEnctype on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [name on HTMLButtonElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [type on HTMLButtonElement must enqueue an attributeChanged reaction when adding a new attribute] - expected: FAIL - [autofocus on HTMLButtonElement must enqueue an attributeChanged reaction when adding autofocus content attribute] expected: FAIL diff --git a/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini index 2b36f6b11fb..44ad7d81adc 100644 --- a/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini +++ b/tests/wpt/metadata/custom-elements/reactions/HTMLElement.html.ini @@ -51,21 +51,3 @@ [innerText on HTMLElement must enqueue a disconnected reaction] expected: FAIL - [hidden on HTMLElement must enqueue an attributeChanged reaction when adding hidden content attribute] - expected: FAIL - - [hidden on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [lang on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [title on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [lang on HTMLElement must enqueue an attributeChanged reaction when adding lang content attribute] - expected: FAIL - - [title on HTMLElement must enqueue an attributeChanged reaction when adding title content attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini b/tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini deleted file mode 100644 index c6b12ecd4b0..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/NamedNodeMap.html.ini +++ /dev/null @@ -1,43 +0,0 @@ -[NamedNodeMap.html] - [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [removeNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/Node.html.ini b/tests/wpt/metadata/custom-elements/reactions/Node.html.ini deleted file mode 100644 index 601edd66abe..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/Node.html.ini +++ /dev/null @@ -1,43 +0,0 @@ -[Node.html] - [removeChild on ChildNode must enqueue a disconnected reaction] - expected: FAIL - - [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element with an observed attribute] - expected: FAIL - - [replaceChild on ChildNode must enqueue a connected reaction] - expected: FAIL - - [nodeValue on Node must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [cloneNode on Node must not enqueue an attributeChanged reaction when cloning an element with an unobserved attribute] - expected: FAIL - - [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element only for observed attributes] - expected: FAIL - - [appendChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [insertBefore on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [insertBefore on ChildNode must enqueue a connected reaction] - expected: FAIL - - [appendChild on ChildNode must enqueue a connected reaction] - expected: FAIL - - [textContent on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [textContent on Node must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [replaceChild on ChildNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [nodeValue on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini b/tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini deleted file mode 100644 index 0b869d22d0b..00000000000 --- a/tests/wpt/metadata/custom-elements/reactions/ParentNode.html.ini +++ /dev/null @@ -1,13 +0,0 @@ -[ParentNode.html] - [prepend on ParentNode must enqueue a connected reaction] - expected: FAIL - - [prepend on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [append on ParentNode must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [append on ParentNode must enqueue a connected reaction] - expected: FAIL - diff --git a/tests/wpt/metadata/custom-elements/reactions/Range.html.ini b/tests/wpt/metadata/custom-elements/reactions/Range.html.ini index 3e3df7352ff..a5696b0e0fe 100644 --- a/tests/wpt/metadata/custom-elements/reactions/Range.html.ini +++ b/tests/wpt/metadata/custom-elements/reactions/Range.html.ini @@ -3,30 +3,3 @@ [createContextualFragment on Range must construct a custom element] expected: FAIL - [cloneContents on Range must enqueue an attributeChanged reaction when cloning an element only for observed attributes] - expected: FAIL - - [cloneContents on Range must not enqueue an attributeChanged reaction when cloning an element with an unobserved attribute] - expected: FAIL - - [deleteContents on Range must enqueue a disconnected reaction] - expected: FAIL - - [extractContents on Range must enqueue a disconnected reaction] - expected: FAIL - - [insertNode on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [cloneContents on Range must enqueue an attributeChanged reaction when cloning an element with an observed attribute] - expected: FAIL - - [surroundContents on Range must enqueue a disconnected reaction, an adopted reaction, and a connected reaction when the custom element was in another document] - expected: FAIL - - [surroundContents on Range must enqueue a connected reaction] - expected: FAIL - - [insertNode on Range must enqueue a connected reaction] - expected: FAIL - diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index 32626f90fad..ba5f72cb6aa 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -509,7 +509,7 @@ [single-byte-decoder.html?XMLHttpRequest] - expected: CRASH + expected: TIMEOUT [ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)] expected: FAIL @@ -535,7 +535,91 @@ expected: FAIL [windows-1254: iso_8859-9:1989 (XMLHttpRequest)] - expected: FAIL + expected: TIMEOUT + + [windows-1258: cp1258 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1253: x-cp1253 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1256: cp1256 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: iso_8859-9 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: iso88599 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: iso-8859-9 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1258: x-cp1258 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1257: windows-1257 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: windows-1254 (XMLHttpRequest)] + expected: TIMEOUT + + [x-mac-cyrillic: x-mac-ukrainian (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: csisolatin5 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1257: cp1257 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1255: x-cp1255 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1257: x-cp1257 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: cp1254 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: iso8859-9 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1253: windows-1253 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1253: cp1253 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: l5 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: x-cp1254 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: latin5 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1252: x-cp1252 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1255: cp1255 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1254: iso-ir-148 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1258: windows-1258 (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1255: windows-1255 (XMLHttpRequest)] + expected: TIMEOUT + + [x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)] + expected: TIMEOUT + + [windows-1256: windows-1256 (XMLHttpRequest)] + expected: TIMEOUT [single-byte-decoder.html?TextDecoder] diff --git a/tests/wpt/metadata/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini b/tests/wpt/metadata/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini new file mode 100644 index 00000000000..0e36a7ba03c --- /dev/null +++ b/tests/wpt/metadata/fetch/api/request/destination/fetch-destination-prefetch.https.html.ini @@ -0,0 +1,7 @@ +[fetch-destination-prefetch.https.html] + [HTMLLinkElement with rel=prefetch fetches with an empty string Request.destination] + expected: FAIL + + [Initialize global state] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/api/request/request-cache-default-conditional.html.ini b/tests/wpt/metadata/fetch/api/request/request-cache-default-conditional.html.ini deleted file mode 100644 index fa136385f8a..00000000000 --- a/tests/wpt/metadata/fetch/api/request/request-cache-default-conditional.html.ini +++ /dev/null @@ -1,17 +0,0 @@ -[request-cache-default-conditional.html] - expected: TIMEOUT - [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Etag and stale response] - expected: NOTRUN - - [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Etag and fresh response] - expected: NOTRUN - - [RequestCache "default" mode with an If-Range header (following a request without additional headers) is treated similarly to "no-store" with Last-Modified and fresh response] - expected: TIMEOUT - - [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Last-Modified and fresh response] - expected: NOTRUN - - [RequestCache "default" mode with an If-Range header is treated similarly to "no-store" with Last-Modified and stale response] - expected: NOTRUN - 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 e1775377b64..18f786d4963 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -1,7 +1,7 @@ [response.window.html] expected: TIMEOUT [fetch(): combined response Content-Type: text/plain ] - expected: TIMEOUT + expected: FAIL [Response: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252] expected: NOTRUN @@ -64,7 +64,7 @@ expected: NOTRUN [fetch(): combined response Content-Type: text/html text/plain] - expected: NOTRUN + expected: FAIL [Request: combined response Content-Type: text/html;charset=gbk text/plain text/html] expected: NOTRUN @@ -76,13 +76,13 @@ expected: NOTRUN [Response: combined response Content-Type: text/plain ] - expected: NOTRUN + expected: FAIL [fetch(): combined response Content-Type: text/plain;charset=gbk text/plain] expected: NOTRUN [Request: combined response Content-Type: text/html text/plain] - expected: NOTRUN + expected: FAIL [ + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/inheritance/support/srcdoc-child-frame.html b/tests/wpt/web-platform-tests/content-security-policy/inheritance/support/srcdoc-child-frame.html new file mode 100644 index 00000000000..9148be203d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/inheritance/support/srcdoc-child-frame.html @@ -0,0 +1,19 @@ + + + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/navigation/support/frame-with-csp.sub.html b/tests/wpt/web-platform-tests/content-security-policy/navigation/support/frame-with-csp.sub.html new file mode 100644 index 00000000000..b4d5b82e46c --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/navigation/support/frame-with-csp.sub.html @@ -0,0 +1,2 @@ + +CHILD FRAME diff --git a/tests/wpt/web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html b/tests/wpt/web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html new file mode 100644 index 00000000000..d2289257a88 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-child-csp.html @@ -0,0 +1,18 @@ + + + + + + + +
+ + diff --git a/tests/wpt/web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html b/tests/wpt/web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html new file mode 100644 index 00000000000..4cbb37ee68f --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/navigation/to-javascript-parent-initiated-parent-csp.html @@ -0,0 +1,22 @@ + + + + + + + + +
+ + diff --git a/tests/wpt/web-platform-tests/css/css-break/page-break-legacy-shorthands.html b/tests/wpt/web-platform-tests/css/css-break/page-break-legacy-shorthands.html new file mode 100644 index 00000000000..7eaa18f5435 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/page-break-legacy-shorthands.html @@ -0,0 +1,75 @@ + + +Test for the page-break-* legacy shorthands. + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-004-ref.html b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-004-ref.html new file mode 100644 index 00000000000..beecede2108 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-004-ref.html @@ -0,0 +1,37 @@ + + + + CSS Multi-column Layout Test Reference: column-span:all should act like column-span:none in different block formatting context + + + + + + +
+
block1
+
+

non-spanner

+
+
+

non-spanner

+
+
+ Spanner +

non-spanner in a spanner

+
+
block2
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-004.html b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-004.html new file mode 100644 index 00000000000..e9165658c11 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-004.html @@ -0,0 +1,40 @@ + + + + CSS Multi-column Layout Test: column-span:all should act like column-span:none in different block formatting context + + + + + + + + + +
+
block1
+
+

non-spanner

+
+
+

non-spanner

+
+
+ Spanner +

non-spanner in a spanner

+
+
block2
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html index c5bf371b453..46199c4b2d6 100644 --- a/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html +++ b/tests/wpt/web-platform-tests/css/css-regions/interactivity/keyboard/regions-keyboard-events-001.html @@ -42,7 +42,7 @@ diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/chaining-invalid-selector.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/chaining-invalid-selector.html index 11309329008..cb34a7b4609 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/chaining-invalid-selector.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/chaining-invalid-selector.html @@ -26,11 +26,11 @@ - diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/complex-non-matching.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/complex-non-matching.html index 036713faf0f..6e5bc69c5d2 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/complex-non-matching.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/complex-non-matching.html @@ -18,11 +18,11 @@ The following text should be green:
- diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/different-host.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/different-host.html index c8b5f86327a..7fe9744af95 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/different-host.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/different-host.html @@ -18,11 +18,11 @@ The following text should be green: - diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/host-stylesheet.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/host-stylesheet.html index ee8f4e72742..2e65c4b1b57 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/host-stylesheet.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/host-stylesheet.html @@ -20,11 +20,11 @@ The following text should be green: - diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/inner-host.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/inner-host.html index 8c8cec75531..2dfd4b0510a 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/inner-host.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/inner-host.html @@ -25,16 +25,16 @@ The following text should be green: - diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html new file mode 100644 index 00000000000..2f9fffb86ea --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html @@ -0,0 +1,33 @@ + + + + CSS Shadow Parts - Invalidation Change Part Name IDL DOMTokenList + + + + + + + + + + + + + The following text should be green: +
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html new file mode 100644 index 00000000000..52af22af769 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html @@ -0,0 +1,31 @@ + + + + CSS Shadow Parts - Invalidation Change Part Name IDL Setter + + + + + + + + + + + + The following text should be green: +
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html index 7e7a310f6b0..47630d956f9 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html @@ -18,13 +18,13 @@ The following text should be green:
- diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html index e1f10e57dc9..5b1fd800790 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html @@ -18,13 +18,13 @@ The following text should be green:
- diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/part-name-idl.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/part-name-idl.html new file mode 100644 index 00000000000..fc3282a6e94 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/part-name-idl.html @@ -0,0 +1,53 @@ + + + + CSS Shadow Parts - Part Name IDL + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/simple.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/simple.html index 37336691301..a7f17d9670b 100644 --- a/tests/wpt/web-platform-tests/css/css-shadow-parts/simple.html +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/simple.html @@ -18,11 +18,11 @@ The following text should be green: - diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-collapsing-discard-001-ref.xht b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht similarity index 87% rename from tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-collapsing-discard-001-ref.xht rename to tests/wpt/web-platform-tests/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht index 9042b04f3d1..b07483773f1 100644 --- a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-collapsing-discard-001-ref.xht +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/text-space-collapse-discard-001-ref.xht @@ -2,7 +2,7 @@ - CSS Test: white-space-collapsing - discard - basic cases Reftest Reference + CSS Test: text-space-collapse - discard - basic cases Reftest Reference + + + +
+
+aabb +
+aa
bbbbbb
cc
+
+aabbbbbbcc +
+aabb +
+aa
bbbbbb
cc
+
+aabb +
+aa
bbbbbb
cc
+ +
+bb +
+
bbbbbb
cc
+
+bbbbbbcc +
+bb +
+
bbbbbb
cc
+
+bb +
+
bbbbbb
cc
+
+
+ +
+
+bb +
+
bbbbbb
cc
+
+bbbbbbcc +
+bb +
+
bbbbbb
cc
+
+bb +
+
bbbbbb
cc
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-ui/text-overflow-ruby.html b/tests/wpt/web-platform-tests/css/css-ui/text-overflow-ruby.html new file mode 100644 index 00000000000..c8abebb7206 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/text-overflow-ruby.html @@ -0,0 +1,85 @@ + + + + + CSS Basic User Interface Test: text-overflow:ellipsis and ruby + + + + + + + +
+
+aabb +
+aa
bbbbbb
cc
+
+aabbbbbbcc +
+aabb +
+aa
bbbbbb
cc
+
+aabb +
+aa
bbbbbb
cc
+ +
+bb +
+
bbbbbb
cc
+
+bbbbbbcc +
+bb +
+
bbbbbb
cc
+
+bb +
+
bbbbbb
cc
+
+
+ +
+
+bb +
+
bbbbbb
cc
+
+bbbbbbcc +
+bb +
+
bbbbbb
cc
+
+bb +
+
bbbbbb
cc
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-variables/variable-exponential-blowup.html b/tests/wpt/web-platform-tests/css/css-variables/variable-exponential-blowup.html new file mode 100644 index 00000000000..513a6f1628f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-variables/variable-exponential-blowup.html @@ -0,0 +1,28 @@ + +CSS Variables Test: Exponential blowup doesn't crash + + + + + + + +PASS if doesn't crash + diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity-ref.html index 26d7715e15f..e0c76c09354 100644 --- a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity-ref.html +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity-ref.html @@ -6,12 +6,11 @@
-

Expected: A green box and an overlapping black box, with a magenta
- overlapping region.

+

Expected: Just a single green box.

-
-
+ + diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity.html index e3ad8a20afa..4cc5f335bf9 100644 --- a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity.html +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-basic-opacity.html @@ -6,8 +6,7 @@
-

Expected: A green box and an overlapping black box, with a magenta
- overlapping region.

+

Expected: Just a single green box.

@@ -29,7 +28,7 @@ left: 50px; top: 50px; backdrop-filter: invert(1); - opacity: 0.5; + opacity: 0; } diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-fixed-clip-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-fixed-clip-ref.html new file mode 100644 index 00000000000..1fa59677ff7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-fixed-clip-ref.html @@ -0,0 +1,48 @@ + + +backdrop-filter: Should not filter outside of clip/scroll. + + + + +
+

Expected: A green box, overlapping red box, and a small, inset cyan box. The
+ cyan should not extend to the bottom/right edges of the red box.

+
+ +
+
+
+
+
+
+ + diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-fixed-clip.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-fixed-clip.html new file mode 100644 index 00000000000..2550eb148ce --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-fixed-clip.html @@ -0,0 +1,47 @@ + + +backdrop-filter: Should not filter outside of clip/scroll. + + + + +
+

Expected: A green box, overlapping red box, and a small, inset cyan box. The
+ cyan should not extend to the bottom/right edges of the red box.

+
+ +
+
+
+
+
+
+ + diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-isolation-fixed.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-isolation-fixed.html new file mode 100644 index 00000000000..c812d1f6743 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-isolation-fixed.html @@ -0,0 +1,42 @@ + + +backdrop-filter: Should not filter outside parent stacking context. + + + + +
+
+
+
+
+
+ + + + diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-002.html b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-002.html index d5f1137a413..2b39cce9adc 100644 --- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-002.html +++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-002.html @@ -37,6 +37,12 @@ checkDOMMatrix(matrix, initialMatrix()); },"test scale() doesn't mutate"); + test(function() { + var matrix = initialMatrix(); + matrix.scaleNonUniform(1,5); + checkDOMMatrix(matrix, initialMatrix()); + },"test scaleNonUniform() doesn't mutate"); + test(function() { var matrix = initialMatrix(); matrix.scale3d(3,2,1,1); diff --git a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-003.html b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-003.html index 9b77f1966d6..d363b504bd5 100644 --- a/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-003.html +++ b/tests/wpt/web-platform-tests/css/geometry/DOMMatrix-003.html @@ -139,6 +139,27 @@ checkDOMMatrix(result, expected); },"test scale() with offsets"); + test(function() { + var result = initialDOMMatrix().scaleNonUniform(); + var expected = initialDOMMatrix() + .scale(1, 1, 1, 0, 0, 0); + checkDOMMatrix(result, expected); + },"test scaleNonUniform()"); + + test(function() { + var result = initialDOMMatrix().scaleNonUniform(6); + var expected = initialDOMMatrix() + .scale(6, 1, 1, 0, 0, 0); + checkDOMMatrix(result, expected); + },"test scaleNonUniform() with sx"); + + test(function() { + var result = initialDOMMatrix().scaleNonUniform(5, 7); + var expected = initialDOMMatrix() + .scale(5, 7, 1, 0, 0, 0); + checkDOMMatrix(result, expected); + },"test scaleNonUniform() with sx, sy"); + test(function() { var result = initialDOMMatrix().scale3d(7, 5, 2, 3); var expected = initialDOMMatrix() diff --git a/tests/wpt/web-platform-tests/css/geometry/historical.html b/tests/wpt/web-platform-tests/css/geometry/historical.html index 4f8e65e98e5..ddc3c777a01 100644 --- a/tests/wpt/web-platform-tests/css/geometry/historical.html +++ b/tests/wpt/web-platform-tests/css/geometry/historical.html @@ -7,7 +7,6 @@ // Removed members [ // https://github.com/w3c/fxtf-drafts/commit/99e3212469026b2f2f50926a41912d110a1741b7 - ['DOMMatrixReadOnly', 'scaleNonUniform'], ['DOMMatrix', 'scaleNonUniformSelf'], // https://github.com/w3c/fxtf-drafts/commit/86da3dc961d442f9d8dc7ab59065a9804e109286 ['DOMMatrix', 'multiplyBy'], diff --git a/tests/wpt/web-platform-tests/custom-elements/perform-microtask-checkpoint-before-construction.html b/tests/wpt/web-platform-tests/custom-elements/perform-microtask-checkpoint-before-construction.html new file mode 100644 index 00000000000..83d823ad9f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/custom-elements/perform-microtask-checkpoint-before-construction.html @@ -0,0 +1,143 @@ + + + +Custom Elements: create an element for a token must perform a microtask checkpoint + + + + + + + + + + +
+ + + diff --git a/tests/wpt/web-platform-tests/resources/custom-elements-helpers.js b/tests/wpt/web-platform-tests/custom-elements/resources/custom-elements-helpers.js similarity index 100% rename from tests/wpt/web-platform-tests/resources/custom-elements-helpers.js rename to tests/wpt/web-platform-tests/custom-elements/resources/custom-elements-helpers.js diff --git a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html index b8f00aaa161..5582bca4bb3 100644 --- a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html +++ b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-construct.html @@ -8,7 +8,7 @@ - +
diff --git a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html index addcdf3cec5..9dccd4ca24d 100644 --- a/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html +++ b/tests/wpt/web-platform-tests/custom-elements/throw-on-dynamic-markup-insertion-counter-reactions.html @@ -8,7 +8,7 @@ - +
diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md index ad059eb43c7..a53a418fe3e 100644 --- a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md +++ b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver.md @@ -26,6 +26,41 @@ This function causes a sequence of actions to be sent to the browser. It is base The action can be a keyboard action, a pointer action or a pause. It returns a `Promise` that resolves after the actions have been sent or rejects if an error was thrown. +Test authors are encouraged to use the builder API to generate the sequence of actions. The builder +API can be accessed via the `new test_driver.Actions()` object. + +Example: + +```js +let text_box = document.getElementById("text"); + +let actions = new test_driver.Actions() + .pointerMove(0, 0, {origin: text_box}) + .pointerDown() + .pointerUp() + .addTick() + .keyDown("p") + .keyUp("p"); + +actions.send(); +``` + +Calling into `send()` is going to dispatch the action sequence (via `test_driver.action_sequence`) and also returns a `Promise` which should be handled however is appropriate in the test. The other functions in the `Actions()` object are going to modify the state of the object by adding a new action in the sequence and return the same object. So the functions can be easily chained as shown in the example above. Here is a list of helper functions in the `Actions` class: + +``` +pointerDown: Create a pointerDown event for the current default pointer source +pointerUp: Create a pointerUp event for the current default pointer source +pointerMove: Create a move event for the current default pointer source +keyDown: Create a keyDown event for the current default key source +keyUp: Create a keyUp event for the current default key source +pause: Add a pause to the current tick +addTick: Insert a new actions tick +setPointer: Set the current default pointer source (By detault the pointerType is mouse) +addPointer: Add a new pointer input source with the given name +setKeyboard: Set the current default key source +addKeyboard: Add a new key input source with the given name +``` + ### bless Usage: `test_driver.bless(intent, action)` diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-bufferbeforeonload.html b/tests/wpt/web-platform-tests/event-timing/event-timing-bufferbeforeonload.html new file mode 100644 index 00000000000..223f5ed0fb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-bufferbeforeonload.html @@ -0,0 +1,79 @@ + + + +Event Timing: buffer long-latency events before onload + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-crossiframe.html b/tests/wpt/web-platform-tests/event-timing/event-timing-crossiframe.html new file mode 100644 index 00000000000..0e77b3822f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-crossiframe.html @@ -0,0 +1,89 @@ + + + + + + Event Timing: entries should be observable by its own frame. + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-observer-manual.html b/tests/wpt/web-platform-tests/event-timing/event-timing-observer-manual.html new file mode 100644 index 00000000000..c0bd6f3feec --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-observer-manual.html @@ -0,0 +1,79 @@ + + + + + Event Timing: entries should be observable by its own frame. + + + + +

Description:

+

+

+ The goal of this manual test is to verify that observers that have + registered "event" entry type can observe the long-latency input events, + and verify the same behavior within iframe and in cross-frame scenario. +
+

+

Manual test steps:

+

+

+ Step 1: Click the "make busy" button to make main-thread busy for 2 seconds. +
+
+ Step 2: do several clicks on "click while busy" while busy to generate long-latency inputs. +
+
+ Step 3: observe in the "timeline" section that the long-latency clicks are captured by the observer. +
+
+ Step 4: do step 1 to step 3 for the iframe. Observe that the observers only observe input events within its frame. +
+

+
+

Actions:

+ + +
+

iframe:

+
+ +
+

Timeline:

+

+ + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-observethenonload.html b/tests/wpt/web-platform-tests/event-timing/event-timing-observethenonload.html new file mode 100644 index 00000000000..3d72e6aa8f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-observethenonload.html @@ -0,0 +1,103 @@ + + + +Event Timing: Performance observers can observe long-latency events + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-onloadthenobserve-firstInput.html b/tests/wpt/web-platform-tests/event-timing/event-timing-onloadthenobserve-firstInput.html new file mode 100644 index 00000000000..16f48411f9f --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-onloadthenobserve-firstInput.html @@ -0,0 +1,53 @@ + + + +Event Timing: buffer long-latency events before onload + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-onloadthenobserve.html b/tests/wpt/web-platform-tests/event-timing/event-timing-onloadthenobserve.html new file mode 100644 index 00000000000..7dc113247cd --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-onloadthenobserve.html @@ -0,0 +1,76 @@ + + + +Event Timing: long-latency events after onload and before observer +registration are lost + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-only-observe-firstInput.html b/tests/wpt/web-platform-tests/event-timing/event-timing-only-observe-firstInput.html new file mode 100644 index 00000000000..2f24d519c89 --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-only-observe-firstInput.html @@ -0,0 +1,49 @@ + + + +Event Timing: only observe the first input + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-retrievability.html b/tests/wpt/web-platform-tests/event-timing/event-timing-retrievability.html new file mode 100644 index 00000000000..f38761b469d --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-retrievability.html @@ -0,0 +1,42 @@ + + + +Event Timing: make sure event-timing entries are retrievable by existing perf APIs. + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/event-timing-timingconditions.html b/tests/wpt/web-platform-tests/event-timing/event-timing-timingconditions.html new file mode 100644 index 00000000000..1e5dd2fd65c --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/event-timing-timingconditions.html @@ -0,0 +1,58 @@ + + + +Event Timing only times certain types of trusted event. + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/resources/event-timing-crossiframe-childframe.html b/tests/wpt/web-platform-tests/event-timing/resources/event-timing-crossiframe-childframe.html new file mode 100644 index 00000000000..7491fd88cb3 --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/resources/event-timing-crossiframe-childframe.html @@ -0,0 +1,29 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/event-timing/resources/event-timing-observer-manual-childframe.html b/tests/wpt/web-platform-tests/event-timing/resources/event-timing-observer-manual-childframe.html new file mode 100644 index 00000000000..99853661bde --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/resources/event-timing-observer-manual-childframe.html @@ -0,0 +1,43 @@ + + + + + + + + +

Actions:

+

+ + +

+

Timeline:

+

+ + diff --git a/tests/wpt/web-platform-tests/event-timing/resources/event-timing-support.js b/tests/wpt/web-platform-tests/event-timing/resources/event-timing-support.js new file mode 100644 index 00000000000..a2a583c8989 --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/resources/event-timing-support.js @@ -0,0 +1,66 @@ +// Clicks on the element with the given ID. It adds an event handler to the element +// which ensures that the events have a long duration and reported by EventTiming +// where appropriate. Calls |callback| during event handler. +function clickOnElement(id, callback) { + const element = document.getElementById(id); + const rect = element.getBoundingClientRect(); + const xCenter = rect.x + rect.width / 2; + const yCenter = rect.y + rect.height / 2; + const leftButton = 0; + const clickHandler = () => { + mainThreadBusy(60); + if (callback) + callback(); + element.removeEventListener("click", clickHandler); + }; + element.addEventListener("click", clickHandler); + test_driver.click(element); +} + +function mainThreadBusy(duration) { + const now = performance.now(); + while (performance.now() < now + duration); +} + +// This method should receive an entry of type 'event'. |is_first| is true only +// when the event also happens to correspond to the first event. In this case, +// the timings of the 'firstInput' entry should be equal to those of this entry. +function verifyClickEvent(entry, is_first=false) { + assert_true(entry.cancelable); + assert_equals(entry.name, 'click'); + assert_equals(entry.entryType, 'event'); + assert_greater_than(entry.duration, 50, + "The entry's duration should be greater than 50ms."); + assert_greater_than(entry.processingStart, entry.startTime, + "The entry's processingStart should be greater than startTime."); + assert_greater_than_equal(entry.processingEnd, entry.processingStart, + "The entry's processingEnd must be at least as large as processingStart."); + assert_greater_than_equal(entry.duration, entry.processingEnd - entry.startTime, + "The entry's duration must be at least as large as processingEnd - startTime."); + if (is_first) { + let firstInputs = performance.getEntriesByType('firstInput'); + assert_equals(firstInputs.length, 1, 'There should be a single firstInput entry'); + let firstInput = firstInputs[0]; + assert_equals(firstInput.name, entry.name); + assert_equals(firstInput.entryType, 'firstInput'); + assert_equals(firstInput.startTime, entry.startTime); + assert_equals(firstInput.duration, entry.duration); + assert_equals(firstInput.processingStart, entry.processingStart); + assert_equals(firstInput.processingEnd, entry.processingEnd); + assert_equals(firstInput.cancelable, entry.cancelable); + } +} + +function wait() { + return new Promise((resolve, reject) => { + step_timeout(() => { + resolve(); + }, 0); + }); +} + +function clickAndBlockMain(id) { + return new Promise((resolve, reject) => { + clickOnElement(id, resolve); + }); +} diff --git a/tests/wpt/web-platform-tests/event-timing/resources/slow-image.py b/tests/wpt/web-platform-tests/event-timing/resources/slow-image.py new file mode 100644 index 00000000000..5c2d1b1fc5d --- /dev/null +++ b/tests/wpt/web-platform-tests/event-timing/resources/slow-image.py @@ -0,0 +1,7 @@ +import time + +def main(request, response): + # Sleep for 500ms to delay onload. + time.sleep(0.5) + response.headers.set("Cache-Control", "no-cache, must-revalidate"); + response.headers.set("Location", "data:image/gif;base64,R0lGODlhAQABAJAAAMjIyAAAACwAAAAAAQABAAACAgQBADs%3D"); diff --git a/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination-prefetch.https.html b/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination-prefetch.https.html new file mode 100644 index 00000000000..db99202df87 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination-prefetch.https.html @@ -0,0 +1,46 @@ + +Fetch destination test for prefetching + + + + + + diff --git a/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html b/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html index 5d9f7173591..27b510268dd 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html +++ b/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html @@ -425,18 +425,4 @@ promise_test(async t => { }); }, 'HTMLLinkElement with rel=preload and as=manifest fetches with a "manifest" Request.destination'); -// HTMLLinkElement with rel=prefetch - empty string destination -promise_test(async t => { - await new Promise((resolve, reject) => { - let node = frame.contentWindow.document.createElement("link"); - node.rel = "prefetch"; - node.onload = resolve; - node.onerror = reject; - node.href = "dummy?dest="; - frame.contentWindow.document.body.appendChild(node); - }).catch(() => { - assert_unreached("Fetch errored."); - }); -}, 'HTMLLinkElement with rel=prefetch fetches with an empty string Request.destination'); - diff --git a/tests/wpt/web-platform-tests/interfaces/css-fonts.idl b/tests/wpt/web-platform-tests/interfaces/css-fonts.idl index 1256e6cf5b8..d9e6d21d4ed 100644 --- a/tests/wpt/web-platform-tests/interfaces/css-fonts.idl +++ b/tests/wpt/web-platform-tests/interfaces/css-fonts.idl @@ -29,7 +29,7 @@ partial interface CSSRule { }; interface CSSFontPaletteValuesRule : CSSRule { - maplike; + maplike; attribute CSSOMString fontFamily; attribute CSSOMString basePalette; }; diff --git a/tests/wpt/web-platform-tests/interfaces/payment-request.idl b/tests/wpt/web-platform-tests/interfaces/payment-request.idl index baf9ee36db9..63a9ccccad4 100644 --- a/tests/wpt/web-platform-tests/interfaces/payment-request.idl +++ b/tests/wpt/web-platform-tests/interfaces/payment-request.idl @@ -68,6 +68,7 @@ enum PaymentShippingType { dictionary PaymentOptions { boolean requestPayerName = false; + boolean requestBillingAddress = false; boolean requestPayerEmail = false; boolean requestPayerPhone = false; boolean requestShipping = false; diff --git a/tests/wpt/web-platform-tests/interfaces/screen-capture.idl b/tests/wpt/web-platform-tests/interfaces/screen-capture.idl index f00660bd904..612480cb080 100644 --- a/tests/wpt/web-platform-tests/interfaces/screen-capture.idl +++ b/tests/wpt/web-platform-tests/interfaces/screen-capture.idl @@ -4,7 +4,12 @@ // Source: Screen Capture (https://w3c.github.io/mediacapture-screen-share/) partial interface MediaDevices { - Promise getDisplayMedia(optional MediaStreamConstraints constraints); + Promise getDisplayMedia(optional DisplayMediaStreamConstraints constraints); +}; + +dictionary DisplayMediaStreamConstraints { + (boolean or MediaTrackConstraints) video = true; + (boolean or MediaTrackConstraints) audio = false; }; partial dictionary MediaTrackSupportedConstraints { diff --git a/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl b/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl index a3a635b9927..564200133b7 100644 --- a/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl +++ b/tests/wpt/web-platform-tests/interfaces/trusted-types.tentative.idl @@ -27,18 +27,18 @@ interface TrustedURL { [Exposed=Window] interface TrustedTypePolicyFactory { - TrustedTypePolicy createPolicy(DOMString policyName, TrustedTypePolicyOptions policyOptions); + [Unforgeable] TrustedTypePolicy createPolicy(DOMString policyName, TrustedTypePolicyOptions policyOptions); // All the policy object names that have been created - sequence getPolicyNames(); + [Unforgeable] sequence getPolicyNames(); }; [Exposed=Window] interface TrustedTypePolicy { - readonly attribute DOMString name; - TrustedHTML createHTML(DOMString input); - TrustedScript createScript(DOMString input); - TrustedScriptURL createScriptURL(DOMString input); - TrustedURL createURL(DOMString input); + [Unforgeable] readonly attribute DOMString name; + [Unforgeable] TrustedHTML createHTML(DOMString input); + [Unforgeable] TrustedScript createScript(DOMString input); + [Unforgeable] TrustedScriptURL createScriptURL(DOMString input); + [Unforgeable] TrustedURL createURL(DOMString input); }; dictionary TrustedTypePolicyOptions { diff --git a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl index 2728840b95f..699a31623a3 100644 --- a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl +++ b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl @@ -33,9 +33,7 @@ typedef (DOMString or ArrayBuffer or NFCMessage) NFCPushMessage; [SecureContext] interface NFC { Promise push(NFCPushMessage message, optional NFCPushOptions options); - Promise cancelPush(optional NFCPushTarget target = "any"); Promise watch(MessageCallback callback, optional NFCWatchOptions options); - Promise cancelWatch(optional long id); }; callback MessageCallback = void (NFCMessage message); @@ -44,6 +42,7 @@ dictionary NFCPushOptions { NFCPushTarget target = "any"; unrestricted double timeout = Infinity; boolean ignoreRead = true; + AbortSignal? signal; }; enum NFCPushTarget { @@ -57,6 +56,7 @@ dictionary NFCWatchOptions { NFCRecordType recordType; USVString mediaType = ""; NFCWatchMode mode = "web-nfc-only"; + AbortSignal? signal; }; enum NFCWatchMode { diff --git a/tests/wpt/web-platform-tests/interfaces/webxr.idl b/tests/wpt/web-platform-tests/interfaces/webxr.idl index ffa9ed4e91a..5561369931f 100644 --- a/tests/wpt/web-platform-tests/interfaces/webxr.idl +++ b/tests/wpt/web-platform-tests/interfaces/webxr.idl @@ -5,7 +5,8 @@ [SecureContext, Exposed=Window] interface XR : EventTarget { // Methods - Promise requestDevice(); + Promise supportsSessionMode(XRSessionMode mode); + Promise requestSession(optional XRSessionCreationOptions parameters); // Events attribute EventHandler ondevicechange; @@ -16,14 +17,14 @@ partial interface Navigator { [SameObject] readonly attribute XR xr; }; -[SecureContext, Exposed=Window] interface XRDevice { - // Methods - Promise supportsSession(optional XRSessionCreationOptions options); - Promise requestSession(optional XRSessionCreationOptions options); +enum XRSessionMode { + "inline", + "immersive-vr", + "immersive-ar" }; dictionary XRSessionCreationOptions { - boolean immersive = false; + XRSessionMode mode = "inline"; XRPresentationContext outputContext; }; @@ -35,8 +36,7 @@ enum XREnvironmentBlendMode { [SecureContext, Exposed=Window] interface XRSession : EventTarget { // Attributes - readonly attribute XRDevice device; - readonly attribute boolean immersive; + readonly attribute XRSessionMode mode; readonly attribute XRPresentationContext outputContext; readonly attribute XREnvironmentBlendMode environmentBlendMode; @@ -60,6 +60,7 @@ enum XREnvironmentBlendMode { attribute EventHandler onresetpose; attribute EventHandler onend; attribute EventHandler onselect; + attribute EventHandler oninputsourceschange; attribute EventHandler onselectstart; attribute EventHandler onselectend; }; @@ -68,10 +69,9 @@ callback XRFrameRequestCallback = void (DOMHighResTimeStamp time, XRFrame frame) [SecureContext, Exposed=Window] interface XRFrame { readonly attribute XRSession session; - readonly attribute FrozenArray views; - XRDevicePose? getDevicePose(XRCoordinateSystem coordinateSystem); - XRInputPose? getInputPose(XRInputSource inputSource, XRCoordinateSystem coordinateSystem); + XRViewerPose? getViewerPose(XRFrameOfReference frameOfRef); + XRInputPose? getInputPose(XRInputSource inputSource, XRFrameOfReference frameOfRef); }; [SecureContext, Exposed=Window] interface XRCoordinateSystem : EventTarget { @@ -108,6 +108,7 @@ enum XREye { [SecureContext, Exposed=Window] interface XRView { readonly attribute XREye eye; readonly attribute Float32Array projectionMatrix; + readonly attribute Float32Array viewMatrix; }; [SecureContext, Exposed=Window] interface XRViewport { @@ -117,10 +118,9 @@ enum XREye { readonly attribute long height; }; -[SecureContext, Exposed=Window] interface XRDevicePose { - readonly attribute Float32Array poseModelMatrix; - - Float32Array getViewMatrix(XRView view); +[SecureContext, Exposed=Window] interface XRViewerPose { + readonly attribute Float32Array poseMatrix; + readonly attribute FrozenArray views; }; enum XRHandedness { @@ -165,7 +165,6 @@ dictionary XRWebGLLayerInit { boolean depth = true; boolean stencil = false; boolean alpha = true; - boolean multiview = false; double framebufferScaleFactor = 1.0; }; @@ -180,7 +179,6 @@ interface XRWebGLLayer : XRLayer { readonly attribute boolean depth; readonly attribute boolean stencil; readonly attribute boolean alpha; - readonly attribute boolean multiview; readonly attribute WebGLFramebuffer framebuffer; readonly attribute unsigned long framebufferWidth; @@ -195,11 +193,11 @@ interface XRWebGLLayer : XRLayer { }; partial dictionary WebGLContextAttributes { - XRDevice compatibleXRDevice = null; + boolean xrCompatible = null; }; partial interface mixin WebGLRenderingContextBase { - Promise setCompatibleXRDevice(XRDevice device); + Promise makeXRCompatible(); }; [SecureContext, Exposed=Window] interface XRPresentationContext { diff --git a/tests/wpt/web-platform-tests/intersection-observer/empty-root-margin.html b/tests/wpt/web-platform-tests/intersection-observer/empty-root-margin.html new file mode 100644 index 00000000000..48c9aa4d535 --- /dev/null +++ b/tests/wpt/web-platform-tests/intersection-observer/empty-root-margin.html @@ -0,0 +1,28 @@ + + + + + + +
+ + diff --git a/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.html b/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.html index cb14e2b516f..fb6e785ac96 100644 --- a/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.html +++ b/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.html @@ -286,6 +286,7 @@ promise_test(t => { assert_equals(typeof ability.supported, "boolean"); assert_equals(typeof ability.smooth, "boolean"); assert_equals(typeof ability.powerEfficient, "boolean"); + assert_equals(typeof ability.keySystemAccess, "object"); }); }, "Test that decodingInfo returns a valid MediaCapabilitiesInfo objects"); diff --git a/tests/wpt/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.http.html b/tests/wpt/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.http.html new file mode 100644 index 00000000000..3fc15a64d81 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.http.html @@ -0,0 +1,31 @@ + +MediaCapabilities.decodingInfo() for encrypted media (non-secure context) + + + diff --git a/tests/wpt/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.https.html b/tests/wpt/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.https.html new file mode 100644 index 00000000000..ca94d0b6499 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-capabilities/decodingInfoEncryptedMedia.https.html @@ -0,0 +1,205 @@ + +MediaCapabilities.decodingInfo() for encrypted media + + + diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html index ec0aa96dddb..feaaef66adf 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html @@ -17,7 +17,6 @@ test(() => { assert_idl_attribute(event, "methodDetails"); const { test } = event.methodDetails; assert_equals(test, "pass"); - assert_equals(event.methodDetails, methodDetails); }, "Must have a methodDetails IDL attribute, which is initialized with to the methodName dictionary value"); test(() => { diff --git a/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html b/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html new file mode 100644 index 00000000000..56866b43a48 --- /dev/null +++ b/tests/wpt/web-platform-tests/payment-request/constructor_convert_method_data.https.html @@ -0,0 +1,73 @@ + +Validates PaymentMethodData's data member during construction + + + + diff --git a/tests/wpt/web-platform-tests/resource-timing/SyntheticResponse.py b/tests/wpt/web-platform-tests/resource-timing/SyntheticResponse.py index a17a3e9c1a2..19a788178a1 100644 --- a/tests/wpt/web-platform-tests/resource-timing/SyntheticResponse.py +++ b/tests/wpt/web-platform-tests/resource-timing/SyntheticResponse.py @@ -4,7 +4,9 @@ import time def main(request, response): index = request.request_path.index("?") args = request.request_path[index+1:].split("&") - headersSent = 0 + headers = [] + statusSent = False + headersSent = False for arg in args: if arg.startswith("ignored"): continue @@ -13,14 +15,28 @@ def main(request, response): elif arg.startswith("redirect:"): return (302, "WEBPERF MARKETING"), [("Location", urllib.unquote(arg[9:]))], "TEST" elif arg.startswith("mime:"): - response.headers.set("Content-Type", urllib.unquote(arg[5:])) + headers.append(("Content-Type", urllib.unquote(arg[5:]))) elif arg.startswith("send:"): text = urllib.unquote(arg[5:]) - if headersSent == 0: - response.write_status_headers() - headersSent = 1 + + if not statusSent: + # Default to a 200 status code. + response.writer.write_status(200) + statusSent = True + if not headersSent: + for key, value in headers: + response.writer.write_header(key, value) + response.writer.end_headers() + headersSent = True response.writer.write_content(text) + elif arg.startswith("status:"): + code = int(urllib.unquote(arg[7:])) + response.writer.write_status(code) + statusSent = True + elif arg == "flush": + response.writer.flush() + # else: # error " INVALID ARGUMENT %s" % arg diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-after-full-event.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-after-full-event.html deleted file mode 100644 index 07897b5d28d..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-after-full-event.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - -This test validates that setResourceTimingBufferFull behaves appropriately when set to the current buffer level. - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-entries-during-callback-that-drop.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-entries-during-callback-that-drop.html deleted file mode 100644 index d61d2af05c6..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-entries-during-callback-that-drop.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -This test validates that synchronously adding entries in onresourcetimingbufferfull callback results in these entries being properly handled. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-entries-during-callback.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-entries-during-callback.html deleted file mode 100644 index b37c47b23fb..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-entries-during-callback.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -This test validates that synchronously adding entries in onresourcetimingbufferfull callback results in these entries being properly handled. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-then-clear.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-then-clear.html deleted file mode 100644 index 710852ced55..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-add-then-clear.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -This test validates that synchronously adding entries in onresourcetimingbufferfull callback results in these entries being properly handled. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-decrease-buffer-during-callback.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-decrease-buffer-during-callback.html deleted file mode 100644 index e6de33ded1b..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-decrease-buffer-during-callback.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -This test validates that decreasing the buffer size in onresourcetimingbufferfull callback does not result in extra entries being dropped. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-increase-buffer-during-callback.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-increase-buffer-during-callback.html deleted file mode 100644 index b46d2d65690..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-increase-buffer-during-callback.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -This test validates increasing the buffer size in onresourcetimingbufferfull callback of resource timing. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-inspect-buffer-during-callback.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-inspect-buffer-during-callback.html deleted file mode 100644 index d46d4692a55..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-inspect-buffer-during-callback.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -This test validates the buffer doesn't contain more entries than it should inside onresourcetimingbufferfull callback. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-set-to-current-buffer.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-set-to-current-buffer.html deleted file mode 100644 index 1e5486ec2cd..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-set-to-current-buffer.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - -This test validates that setResourceTimingBufferFull behaves appropriately when set to the current buffer level. - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-store-and-clear-during-callback.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-store-and-clear-during-callback.html deleted file mode 100644 index f0791cba6b3..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-store-and-clear-during-callback.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -This test validates the behavior of read and clear operation in onresourcetimingbufferfull callback of resource timing. - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-then-increased.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-then-increased.html deleted file mode 100644 index 2265077fc15..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-then-increased.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - -This test validates that synchronously adding entries in onresourcetimingbufferfull callback results in these entries being properly handled. - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/buffer-full-when-populate-entries.html b/tests/wpt/web-platform-tests/resource-timing/buffer-full-when-populate-entries.html deleted file mode 100644 index 00d2ae0e442..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/buffer-full-when-populate-entries.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - -This test validates the functionality of onresourcetimingbufferfull in resource timing. - - - - - - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/resource-timing.html b/tests/wpt/web-platform-tests/resource-timing/resource-timing.html index 9f899f7ac4f..ad97044a629 100644 --- a/tests/wpt/web-platform-tests/resource-timing/resource-timing.html +++ b/tests/wpt/web-platform-tests/resource-timing/resource-timing.html @@ -2,6 +2,7 @@ Resource-Timing Level 1 + diff --git a/tests/wpt/web-platform-tests/resource-timing/resource-timing.js b/tests/wpt/web-platform-tests/resource-timing/resource-timing.js index 9167013a5ad..58bf19b52bf 100644 --- a/tests/wpt/web-platform-tests/resource-timing/resource-timing.js +++ b/tests/wpt/web-platform-tests/resource-timing/resource-timing.js @@ -224,6 +224,44 @@ window.onload = }); }); + // Ensure that responseStart only measures the time up to the first few + // bytes of the header response. This is tested by writing an HTTP 1.1 + // status line, followed by a flush, then a pause before the end of the + // headers. The tests makes sure that responseStart is not delayed by + // this pause. + [ + { initiator: "iframe", response: "(done)", mime: mimeHtml }, + { initiator: "xmlhttprequest", response: "(done)", mime: mimeText }, + { initiator: "script", response: '"";', mime: mimeScript }, + { initiator: "link", response: ".unused{}", mime: mimeCss }, + ] + .forEach(function (template) { + testCases.push({ + description: "'" + template.initiator + " " + serverStepDelay + "ms delay in headers does not affect responseStart'", + test: function (test) { + initiateFetch( + test, + template.initiator, + getSyntheticUrl("status:200" + + "&flush" + + "&" + serverStepDelay + "ms" + + "&mime:" + template.mime + + "&send:" + encodeURIComponent(template.response)), + function (initiator, entry) { + // Test that the delay between 'requestStart' and + // 'responseStart' does not include the added delay + // post-statusline. + assert_less_than( + entry.responseStart - entry.requestStart, + serverStepDelay, + "Delay after HTTP/1.1 status should not affect 'responseStart'."); + + test.done(); + }); + } + }); + }); + // Function to run the next case in the queue. var currentTestIndex = -1; function runNextCase() { diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries.html b/tests/wpt/web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries.html new file mode 100644 index 00000000000..3e62b199a32 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries.html @@ -0,0 +1,41 @@ + + + + + + +This test validates the functionality of onresourcetimingbufferfull in resource timing. + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback.html b/tests/wpt/web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback.html new file mode 100644 index 00000000000..218fc0c2bcd --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback.html @@ -0,0 +1,56 @@ + + + + +This test validates the behavior of read and clear operation in onresourcetimingbufferfull callback of resource timing. + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/buffer-full-utilities.js b/tests/wpt/web-platform-tests/resource-timing/resources/buffer-full-utilities.js deleted file mode 100644 index b143da7b325..00000000000 --- a/tests/wpt/web-platform-tests/resource-timing/resources/buffer-full-utilities.js +++ /dev/null @@ -1,58 +0,0 @@ -let appendScript = (src, resolve) => { - const script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = src; - script.onload = resolve; - document.body.appendChild(script); -} - -let xhrScript = src => { - var xhr = new XMLHttpRequest(); - xhr.open("GET", src, false); - xhr.send(null); -} - -let waitForNextTask = () => { - return new Promise(resolve => { - step_timeout(resolve, 0); - }); -}; - -let waitForEventToFire = () => { - return new Promise(resolve => { - let waitForIt = function() { - if (eventFired) { - eventFired = false; - resolve(); - } else { - step_timeout(waitForIt, 0); - } - } - step_timeout(waitForIt, 0); - }); -}; - -let clearBufferAndSetSize = size => { - performance.clearResourceTimings(); - performance.setResourceTimingBufferSize(size); -} - -let fillUpTheBufferWithSingleResource = src => { - return new Promise(resolve => { - // This resource gets buffered in the resource timing entry buffer. - appendScript(src, resolve); - }); -}; - -let loadResource = src => { - return new Promise(resolve => { - appendScript(src, resolve); - }); -}; - -let fillUpTheBufferWithTwoResources = async src => { - // These resources get buffered in the resource timing entry buffer. - await loadResource(src); - await loadResource(src + '?second'); -}; - diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html index e8b8e9afd58..d7d3d5259a4 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/navigation-redirect.https.html @@ -668,6 +668,24 @@ redirect_test( 'SW-fetched redirect to other-origin in-scope.'); +// SW responds with a fetch from a different url. +// SW: event.respondWith(fetch(params['url'])); +url2 = SCOPE1; +url1 = SCOPE1 + 'sw=fetch-url&url=' + encodeURIComponent(url2); +redirect_test( + url1, + url1, + [ + [ + {url: url1, resultingClientIdTag: 'x'} + ], + [], + [] + ], + 'x', + 'SW-fetched response from different URL, same-origin same-scope.'); + + // Opaque redirect. // SW: event.respondWith(fetch( // new Request(event.request.url, {redirect: 'manual'}))); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js index cac327c34bf..a752b436524 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js @@ -44,13 +44,19 @@ promise_test(function(test) { assert_greater_than(entry.startTime, 0); assert_greater_than(entry.responseEnd, entry.startTime); } - return new Promise(function(resolve) { + return Promise.race([ + new Promise(function(resolve) { performance.onresourcetimingbufferfull = _ => { resolve('bufferfull'); } performance.setResourceTimingBufferSize(expectedResources.length); - fetch('dummy.txt'); - }); + }), + + // Race the bufferfull event against another fetch. We should get the + // event before this completes. This allows us to detect a failure + // to dispatch the event without timing out the entire test. + fetch('dummy.txt').then(resp => resp.text()) + ]); }) .then(function(result) { assert_equals(result, 'bufferfull'); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/trickle.py b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/trickle.py new file mode 100644 index 00000000000..319ecd21f45 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/trickle.py @@ -0,0 +1,14 @@ +import time + +def main(request, response): + delay = float(request.GET.first("ms", 500)) / 1E3 + count = int(request.GET.first("count", 50)) + # Read request body + request.body + time.sleep(delay) + response.headers.set("Content-type", "text/plain") + response.write_status_headers() + time.sleep(delay); + for i in xrange(count): + response.writer.write_content("TEST_TRICKLE\n") + time.sleep(delay) diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/update-fetch-worker.py b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/update-fetch-worker.py new file mode 100644 index 00000000000..f28e1c094e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/update-fetch-worker.py @@ -0,0 +1,19 @@ +import time + +def main(request, response): + # no-cache itself to ensure the user agent finds a new version for each update. + headers = [('Cache-Control', 'no-cache, must-revalidate'), + ('Pragma', 'no-cache')] + + content_type = '' + extra_body = '' + + content_type = 'application/javascript' + headers.append(('Content-Type', content_type)) + + extra_body = "self.onfetch = (event) => { event.respondWith(fetch(event.request)); };" + + # Return a different script for each access. Use .time() and .clock() for + # best time resolution across different platforms. + return headers, '/* %s %s */ %s' % (time.time(), time.clock(), extra_body) + diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/update-on-navigation.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/update-on-navigation.https.html new file mode 100644 index 00000000000..5273420b90f --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/update-on-navigation.https.html @@ -0,0 +1,20 @@ + +Update on navigation + + + + diff --git a/tests/wpt/web-platform-tests/speech-api/webspeech.js b/tests/wpt/web-platform-tests/speech-api/webspeech.js index 93830e648b2..6eeb5d9447d 100644 --- a/tests/wpt/web-platform-tests/speech-api/webspeech.js +++ b/tests/wpt/web-platform-tests/speech-api/webspeech.js @@ -6,9 +6,8 @@ if (typeof(TIMEOUT_OVERRIDE) != 'undefined') { GLOBAL_TIMEOUT = TIMEOUT + 2000; // In milliseconds. setup({timeout: GLOBAL_TIMEOUT}); var onstarted = false; -var neverFireTest = async_test('Events that should not fire', - {timeout: TIMEOUT}); -var onstartTest = async_test('onstart', {timeout: TIMEOUT}); +var neverFireTest = async_test('Events that should not fire'); +var onstartTest = async_test('onstart'); var reco = new SpeechRecognition(); reco.onstart = onstartTest.step_func(function(event) { @@ -41,7 +40,7 @@ function CountTest(name, min, max) { this.min = min; this.max = max; this.sum = 0; - this.asyncTest = async_test(name, {timeout: TIMEOUT}); + this.asyncTest = async_test(name); this.count = function(increment) { this.sum += increment; }; @@ -77,7 +76,7 @@ function CycleTest(name) { this.name = name; this.count = 0; // Counts number of start / end cycles. this.started = false; // Tracks whether last event was a start or end event. - this.test = async_test(name + ' start/stop', {timeout: TIMEOUT}); + this.test = async_test(name + ' start/stop'); this.startEvent = function() { var cycle = this; diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-01-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-01-f-manual.svg deleted file mode 100644 index bedf37f7812..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-01-f-manual.svg +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - - - - - - -

- Tests the basic support for markers. -

-

- The top test examines the basic support for the marker element and style. The markers are purple rectangles. -

-

- The middle test examines the support for the different styles of marker properties. The - "marker-start" property defines the marker to use at the first vertex of the marked path, - in this case a purple rectangle. The "marker-end" property defines the marker to use at the - last vertex of the marked path, in this case a blue triangle. The "marker-mid" property - defines the marker to use at all vertices, other than the first and last, of the marked path, - in this case a green circle. -

-

- The bottom test examines the support for marker orientation along the - path direction. The second vertex, the top right corner of the path, has a marker that - is rotated 45 degrees, since that is the average of the horizontal and vertical segments - each side. The last vertex, the bottom right corner of the path, has a marker rotated 90 - degrees since that is the direction of the last path segment. -

- - -

- Run the test. No interaction required. -

-
- -

- For the three tests, there should be two identical paths with markers drawn. - The path on the left is rendered using the marker elements. The path on the - right is rendered using the equivalent SVG, showing what the marked path should - look like. -

-

- The rendered picture should match the reference image, except for possible - variations in the labelling text (per CSS2 rules). -

-
- - $RCSfile: painting-marker-01-f.svg,v $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Basic Markers - - - - - - - - - - - - - - - - - - - - Start, Middle and End - - - - - - - - - - - - - - - - - - - - Automatic Orientation - - - - - - - - - - - - - - - - - - - $Revision: 1.7 $ - - - - - diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-02-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-02-f-manual.svg deleted file mode 100644 index ee37ddc0a8e..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-02-f-manual.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - - - - - -

- Tests the rendering of markers, specifically property inheritance. For the four tests, there should - be two identical paths with markers drawn. -

-

- The top two tests examine the rendering of markers when the marker and the path - referencing it share the same parent and all painting properties are specfied on - that parent. The first test show inheritance of the 'fill' property and the - second the inheritance of the 'paint' property. In both tests, the marker - is painting using the same properties as the referencing object. Because of - scaling transformations on the marker, the stroke on the second test is thinner - than on the referencing object. -

-

- The third and fourth tests examine the rendering of markers in a situation where the - marker and referencing path do NOT share the same parent and painting - properties are specified both on the parent of the marked path and on the contents - of the marker itself. In both cases, the marker's parent specifies - fill="green" stroke="blue" stroke-width="8". For the third test, the marker contents - override with stroke="black". For the fourth test, the marker contents - override with fill="black". In neither case should you see - fill="orange" or stroke="blue" or "stroke="purple" on the markers as these properties - are specified on the ancestor of the referencing object or the referencing object itself - and thus shouldn't affect the marker. -

- - -

- Run the test. No interaction required. -

-
- -

- The path on the left is rendered using the marker elements. - The path on the right is rendered using the equivalent SVG, - showing what the marked path should look like. These should be - identical and match the image to the right. -

-
- - $RCSfile: painting-marker-02-f.svg,v $ - - - - - - - - - - - - - - - - - - Marker Rendering Properties - - - - - - - - Fill Property - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Stroke Property - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mixed Properties - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mixed Properties - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $Revision: 1.7 $ - - - - - diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-03-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-03-f-manual.svg deleted file mode 100644 index 22093519328..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-03-f-manual.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - -

- The SVG specification defines three properties to reference markers: marker-start, marker-mid, - marker-end. It also provides a shorthand property,marker. Using the marker property from a style sheet - is equivalent to using all three (start, mid, end). However, shorthand properties cannot be used as presentation attributes. -

- - -

- Run the test. No interaction required. -

-
- -

- The test passes if the two rows of shapes are identical, and that - all of the shapes have small blue markers (26 in total per row). -

-
- - $RCSfile: painting-marker-03-f.svg,v $ - - - - - - - - - - - - - - - - - - - 'marker' property test - - 'marker' property - - - - - - - - - 'marker-start', 'marker-mid' & 'marker-end' attribute - - - - - - - - - - $Revision: 1.6 $ - - - - - diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-04-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-04-f-manual.svg deleted file mode 100644 index 6abd8cefb51..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-04-f-manual.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - -

- The SVG specification defines three properties to reference markers: marker-start, marker-mid, - marker-end. It also provides a shorthand property,marker. Using the marker property from a style sheet - is equivalent to using all three (start, mid, end). However, shorthand properties cannot be used as presentation attributes. -

- - -

- Run the test. No interaction required. -

-
- -

- The test passes if the shapes in the top row have no markers, - while the shapes in the bottom rom have small blue markers - (26 in total). -

-
- - $RCSfile: painting-marker-04-f.svg,v $ - - - - - - - - - - - - - - - - - - 'marker' attribute test - - 'marker' attribute - - - - - - - - - 'marker-start', 'marker-mid' & 'marker-end' attributes - - - - - - - - - - $Revision: 1.7 $ - - - - diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-06-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-06-f-manual.svg deleted file mode 100644 index 3a4ebc63c02..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-06-f-manual.svg +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - - - -

- Tests the basic support for markers. For the three tests, there - should be two identical paths with markers drawn. The path on the left is - rendered using the marker elements. The path on the right is rendered using - the equivalent SVG, showing what the marked path should look like. -

-

- This test is similar to the painting-marker-01-f.svg test, but has some viewBox attributes - that have a non-zero offset. -

-

- The top test examines the basic support for the marker element and style. The markers are purple rectangles. -

-

- The middle test examines the support for the different styles of marker properties. The - "marker-start" property defines the marker to use at the first vertex of the marked path, - in this case a purple rectangle. The "marker-end" property defines the marker to use at the - last vertex of the marked path, in this case a blue triangle. The "marker-mid" property - defines the marker to use at all vertices, other than the first and last, of the marked path, - in this case a green circle. -

-

- The bottom test examines the support for marker orientation along the - path direction. The second vertex, the top right corner of the path, has a marker that - is rotated 45 degrees, since that is the average of the horizontal and vertical segments - each side. The last vertex, the bottom right corner of the path, has a marker rotated 90 - degrees since that is the direction of the last path segment. -

- - -

- Run the test. No interaction required. -

-
- -

- The rendered picture should match the reference image, except for possible - variations in the labelling text (per CSS2 rules). -

-
- - $RCSfile: painting-marker-06-f.svg,v $ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Basic Markers - - - - - - - - - - - - - - - - - - - - Start, Middle and End - - - - - - - - - - - - - - - - - - - - Automatic Orientation - - - - - - - - - - - - - - - - - - - $Revision: 1.9 $ - - - - - diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-07-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-07-f-manual.svg deleted file mode 100644 index 19aaa47fb2b..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-07-f-manual.svg +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - -

- A 'marker' element with 'display' set to 'none' on that - element or any ancestor is rendered when referenced by another element. -

- - -

- Run the test. No interaction required -

-
- -

- Test passes if there are two green triangles visible on the page. -

-
- - $RCSfile: painting-marker-07-f.svg,v $ - - - - - - - - - - - - - - - - - - - - - - - $Revision: 1.3 $ - - - - - diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-properties-01-f-manual.svg b/tests/wpt/web-platform-tests/svg/import/painting-marker-properties-01-f-manual.svg deleted file mode 100644 index cbac3a7dbf6..00000000000 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-properties-01-f-manual.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - -

- -

- - -

- -

-
- -

- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $Revision: 1.2 $ - - - - - - DRAFT - - diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-001-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-001-ref.svg new file mode 100644 index 00000000000..09bc3b7f77c --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-001-ref.svg @@ -0,0 +1,37 @@ + + Basic Markers + + + + + + + + + + + + Start, Middle and End + + + + + + + + + + + + Automatic Orientation + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-001.svg b/tests/wpt/web-platform-tests/svg/painting/marker-001.svg new file mode 100644 index 00000000000..dbcfd5b4320 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-001.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Basic Markers + + + Start, Middle and End + + + Automatic Orientation + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-002-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-002-ref.svg new file mode 100644 index 00000000000..1b1446ce113 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-002-ref.svg @@ -0,0 +1,43 @@ + + + Marker Rendering Properties + + + + + + Fill Property + + + + + + + + Stroke Property + + + + + + + + + + + + + + Mixed Properties + + + + Mixed Properties + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-002.svg b/tests/wpt/web-platform-tests/svg/painting/marker-002.svg new file mode 100644 index 00000000000..790edd1caba --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-002.svg @@ -0,0 +1,67 @@ + + + + + + + Marker Rendering Properties + + + + + + Fill Property + + + + + + + + Stroke Property + + + + + + + + + + + + + + Mixed Properties + + + + Mixed Properties + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-003-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-003-ref.svg new file mode 100644 index 00000000000..a9cdc59cf38 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-003-ref.svg @@ -0,0 +1,19 @@ + + + + + + + + 'marker' property test + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-003.svg b/tests/wpt/web-platform-tests/svg/painting/marker-003.svg new file mode 100644 index 00000000000..b4bebec5879 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-003.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + 'marker' property test + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-004-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-004-ref.svg new file mode 100644 index 00000000000..aaad02c732f --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-004-ref.svg @@ -0,0 +1,10 @@ + + 'marker' attribute test + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-004.svg b/tests/wpt/web-platform-tests/svg/painting/marker-004.svg new file mode 100644 index 00000000000..7f106961db8 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-004.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + 'marker' attribute test + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-005-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-005-ref.svg new file mode 100644 index 00000000000..6e4ae279540 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-005-ref.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test marker overflow + + + default + 'visible' + 'auto' + 'scroll' + 'hidden' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/import/painting-marker-05-f-manual.svg b/tests/wpt/web-platform-tests/svg/painting/marker-005.svg similarity index 57% rename from tests/wpt/web-platform-tests/svg/import/painting-marker-05-f-manual.svg rename to tests/wpt/web-platform-tests/svg/painting/marker-005.svg index 72aab38205a..640b3545deb 100644 --- a/tests/wpt/web-platform-tests/svg/import/painting-marker-05-f-manual.svg +++ b/tests/wpt/web-platform-tests/svg/painting/marker-005.svg @@ -1,54 +1,17 @@ - - - - - - - - - - - - -

- Test all the 'overflow' property values except 'inherit' on the 'marker' element. -

-

- Each column tests a value of the 'overflow' property. - The first row uses the 'marker' property to set the same marker on start-, mid- and end-points on the path. - The second row uses 'marker-start', 'marker-mid' and 'marker-end' to give each point its own marker. - The third row uses the 'marker' property like the first row, but here the marker has orient="auto" set. -

- - -

- Run the test. No interaction required. -

-
- -

- The test has passed if: + + + + + @@ -59,8 +22,8 @@ - - + + @@ -75,8 +38,8 @@ - - + + @@ -91,8 +54,8 @@ - - + + @@ -107,8 +70,8 @@ - - + + @@ -123,8 +86,8 @@ - - + + @@ -133,60 +96,60 @@ - Test marker overflow + Test marker overflow - + default 'visible' 'auto' @@ -195,7 +158,6 @@ - @@ -226,15 +188,4 @@ - - - $Revision: 1.7 $ - - - - diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-006-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-006-ref.svg new file mode 100644 index 00000000000..09bc3b7f77c --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-006-ref.svg @@ -0,0 +1,37 @@ + + Basic Markers + + + + + + + + + + + + Start, Middle and End + + + + + + + + + + + + Automatic Orientation + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-006.svg b/tests/wpt/web-platform-tests/svg/painting/marker-006.svg new file mode 100644 index 00000000000..61af077f29f --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-006.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Basic Markers + + + Start, Middle and End + + + Automatic Orientation + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-007-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-007-ref.svg new file mode 100644 index 00000000000..be4df3a410e --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-007-ref.svg @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-007.svg b/tests/wpt/web-platform-tests/svg/painting/marker-007.svg new file mode 100644 index 00000000000..c7812203787 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-007.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-008-ref.svg b/tests/wpt/web-platform-tests/svg/painting/marker-008-ref.svg new file mode 100644 index 00000000000..b4f329b3bc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-008-ref.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/painting/marker-008.svg b/tests/wpt/web-platform-tests/svg/painting/marker-008.svg new file mode 100644 index 00000000000..47f70336a6f --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/marker-008.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/shapes/reftests/disabled-shapes-01.svg b/tests/wpt/web-platform-tests/svg/shapes/reftests/disabled-shapes-01.svg new file mode 100644 index 00000000000..d92eea169a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/shapes/reftests/disabled-shapes-01.svg @@ -0,0 +1,50 @@ + + Disabled shapes are not rendered + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/shapes/reftests/support/empty.svg b/tests/wpt/web-platform-tests/svg/shapes/reftests/support/empty.svg new file mode 100644 index 00000000000..0c7be4e2da4 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/shapes/reftests/support/empty.svg @@ -0,0 +1 @@ + diff --git a/tests/wpt/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit.svg b/tests/wpt/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit.svg new file mode 100644 index 00000000000..5a621d9f21d --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit.svg @@ -0,0 +1,68 @@ + + Disabled shapes are not rendered and cannot be hit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/inline-size-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/inline-size-invalid.svg new file mode 100644 index 00000000000..19fd6f64724 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/inline-size-invalid.svg @@ -0,0 +1,24 @@ + + + SVG Text: parsing inline-size with invalid values + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/inline-size-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/inline-size-valid.svg new file mode 100644 index 00000000000..3b01cd34488 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/inline-size-valid.svg @@ -0,0 +1,25 @@ + + + SVG Text: parsing inline-size with valid values + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/shape-inside-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/shape-inside-invalid.svg new file mode 100644 index 00000000000..15734576dfa --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/shape-inside-invalid.svg @@ -0,0 +1,23 @@ + + + SVG Text: parsing shape-inside with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/shape-inside-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/shape-inside-valid.svg new file mode 100644 index 00000000000..5846917c001 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/shape-inside-valid.svg @@ -0,0 +1,27 @@ + + + SVG Text: parsing shape-inside with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/shape-margin-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/shape-margin-invalid.svg new file mode 100644 index 00000000000..0bf74701928 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/shape-margin-invalid.svg @@ -0,0 +1,23 @@ + + + SVG Text: parsing shape-margin with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/shape-margin-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/shape-margin-valid.svg new file mode 100644 index 00000000000..2ba50afb8a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/shape-margin-valid.svg @@ -0,0 +1,22 @@ + + + SVG Text: parsing shape-margin with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/shape-subtract-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/shape-subtract-invalid.svg new file mode 100644 index 00000000000..fb2caef25c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/shape-subtract-invalid.svg @@ -0,0 +1,23 @@ + + + SVG Text: parsing shape-subtract with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/shape-subtract-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/shape-subtract-valid.svg new file mode 100644 index 00000000000..3be94fb8499 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/shape-subtract-valid.svg @@ -0,0 +1,27 @@ + + + SVG Text: parsing shape-subtract with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/text-anchor-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/text-anchor-invalid.svg new file mode 100644 index 00000000000..69a6a589712 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/text-anchor-invalid.svg @@ -0,0 +1,20 @@ + + + SVG Text: parsing text-anchor with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/text-anchor-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/text-anchor-valid.svg new file mode 100644 index 00000000000..eca651e1227 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/text-anchor-valid.svg @@ -0,0 +1,21 @@ + + + SVG Text: parsing text-anchor with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-fill-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-fill-invalid.svg new file mode 100644 index 00000000000..19da0821730 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-fill-invalid.svg @@ -0,0 +1,23 @@ + + + SVG Text: parsing text-decoration-fill with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-fill-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-fill-valid.svg new file mode 100644 index 00000000000..d2f9447a169 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-fill-valid.svg @@ -0,0 +1,26 @@ + + + SVG Text: parsing text-decoration-fill with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-stroke-invalid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-stroke-invalid.svg new file mode 100644 index 00000000000..8d44d6f1c33 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-stroke-invalid.svg @@ -0,0 +1,23 @@ + + + SVG Text: parsing text-decoration-stroke with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-stroke-valid.svg b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-stroke-valid.svg new file mode 100644 index 00000000000..df64cc9ec3d --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/text/parsing/text-decoration-stroke-valid.svg @@ -0,0 +1,26 @@ + + + SVG Text: parsing text-decoration-stroke with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/tools/docker/Dockerfile b/tests/wpt/web-platform-tests/tools/docker/Dockerfile index 61393e72ac0..20f6ef26c7a 100644 --- a/tests/wpt/web-platform-tests/tools/docker/Dockerfile +++ b/tests/wpt/web-platform-tests/tools/docker/Dockerfile @@ -10,6 +10,7 @@ RUN apt-get -qqy update \ bzip2 \ ca-certificates \ dbus-x11 \ + earlyoom \ gdebi \ git \ locales \ diff --git a/tests/wpt/web-platform-tests/tools/docker/start.sh b/tests/wpt/web-platform-tests/tools/docker/start.sh index 9bf40ddb930..34a0f3c2206 100755 --- a/tests/wpt/web-platform-tests/tools/docker/start.sh +++ b/tests/wpt/web-platform-tests/tools/docker/start.sh @@ -17,6 +17,10 @@ REVISION=${3:-FETCH_HEAD} BROWSER=${4:-all} CHANNEL=${5:-nightly} +# Start userspace OOM killer: https://github.com/rfjakob/earlyoom +# It will report memory usage every minute and prefer to kill browsers. +sudo earlyoom -p -r 60 --prefer '(chrome|firefox)' --avoid 'python' & + cd ~ mkdir web-platform-tests diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py index 061e549685c..c46f33c1169 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py @@ -36,7 +36,6 @@ def executor_kwargs(test_type, server_config, cache_manager, run_info_data, executor_kwargs["close_after_done"] = True capabilities = { - "browserName": "chrome", "goog:chromeOptions": { "prefs": { "profile": { diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py index 46faf1b4ac2..457565e84d8 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py @@ -31,61 +31,11 @@ __wptrunner__ = {"product": "fennec", "run_info_extras": "run_info_extras", "update_properties": "update_properties"} -class FennecProfile(FirefoxProfile): - # WPT-specific prefs are set in FennecBrowser.start() - FirefoxProfile.preferences.update({ - # Make sure Shield doesn't hit the network. - "app.normandy.api_url": "", - # Increase the APZ content response timeout in tests to 1 minute. - "apz.content_response_timeout": 60000, - # Enable output for dump() and chrome console API - "browser.dom.window.dump.enabled": True, - "devtools.console.stdout.chrome": True, - # Disable safebrowsing components - "browser.safebrowsing.blockedURIs.enabled": False, - "browser.safebrowsing.downloads.enabled": False, - "browser.safebrowsing.passwords.enabled": False, - "browser.safebrowsing.malware.enabled": False, - "browser.safebrowsing.phishing.enabled": False, - # Do not restore the last open set of tabs if the browser has crashed - "browser.sessionstore.resume_from_crash": False, - # Disable Android snippets - "browser.snippets.enabled": False, - "browser.snippets.syncPromo.enabled": False, - "browser.snippets.firstrunHomepage.enabled": False, - # Do not allow background tabs to be zombified, otherwise for tests that - # open additional tabs, the test harness tab itself might get unloaded - "browser.tabs.disableBackgroundZombification": True, - # Disable e10s by default - "browser.tabs.remote.autostart": False, - # Don't warn when exiting the browser - "browser.warnOnQuit": False, - # Don't send Firefox health reports to the production server - "datareporting.healthreport.about.reportUrl": "http://%(server)s/dummy/abouthealthreport/", - # Automatically unload beforeunload alerts - "dom.disable_beforeunload": True, - # Disable the ProcessHangMonitor - "dom.ipc.reportProcessHangs": False, - # No slow script dialogs - "dom.max_chrome_script_run_time": 0, - "dom.max_script_run_time": 0, - # Make sure opening about:addons won"t hit the network - "extensions.webservice.discoverURL": "http://%(server)s/dummy/discoveryURL", - # No hang monitor - "hangmonitor.timeout": 0, - - "javascript.options.showInConsole": True, - # Ensure blocklist updates don't hit the network - "services.settings.server": "http://%(server)s/dummy/blocklist/", - # Disable password capture, so that tests that include forms aren"t - # influenced by the presence of the persistent doorhanger notification - "signon.rememberSignons": False, - }) - def check_args(**kwargs): pass + def browser_kwargs(test_type, run_info_data, config, **kwargs): return {"package_name": kwargs["package_name"], "device_serial": kwargs["device_serial"], @@ -183,12 +133,23 @@ class FennecBrowser(FirefoxBrowser): preferences = self.load_prefs() - self.profile = FennecProfile(preferences=preferences) + self.profile = FirefoxProfile(preferences=preferences) self.profile.set_preferences({"marionette.port": self.marionette_port, "dom.disable_open_during_load": False, "places.history.enabled": False, "dom.send_after_paint_to_content": True, "network.preload": True}) + if self.test_type == "reftest": + self.logger.info("Setting android reftest preferences") + self.profile.set_preferences({"browser.viewport.desktopWidth": 600, + # Disable high DPI + "layout.css.devPixelsPerPx": "1.0", + # Ensure that the full browser element + # appears in the screenshot + "apz.allow_zooming": False, + "android.widget_paints_background": False, + # Ensure that scrollbars are always painted + "ui.scrollbarFadeBeginDelay": 100000}) if self.install_fonts: self.logger.debug("Copying Ahem font to profile") diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py index 45b832dda54..84bde160890 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py @@ -292,7 +292,7 @@ class MarionetteStorageProtocolPart(StorageProtocolPart): let principal = ssm.createCodebasePrincipal(uri, {}); let qms = Components.classes["@mozilla.org/dom/quota-manager-service;1"] .getService(Components.interfaces.nsIQuotaManagerService); - qms.clearStoragesForPrincipal(principal, "default", true); + qms.clearStoragesForPrincipal(principal, "default", null, true); """ % url with self.marionette.using_context(self.marionette.CONTEXT_CHROME): self.marionette.execute_script(script) @@ -490,7 +490,7 @@ class MarionetteProtocol(Protocol): self.logger.debug("Marionette session started") def after_connect(self): - self.testharness.load_runner(self.executor.last_environment["protocol"]) + pass def teardown(self): try: @@ -634,6 +634,10 @@ class MarionetteTestharnessExecutor(TestharnessExecutor): if marionette is None: do_delayed_imports() + def setup(self, runner): + super(MarionetteTestharnessExecutor, self).setup(runner) + self.protocol.testharness.load_runner(self.last_environment["protocol"]) + def is_alive(self): return self.protocol.is_alive @@ -751,12 +755,14 @@ class MarionetteRefTestExecutor(RefTestExecutor): def teardown(self): try: self.implementation.teardown() - handle = self.protocol.marionette.window_handles[0] - self.protocol.marionette.switch_to_window(handle) + handles = self.protocol.marionette.window_handles + if handles: + self.protocol.marionette.switch_to_window(handles[0]) super(self.__class__, self).teardown() except Exception as e: # Ignore errors during teardown - self.logger.warning(traceback.format_exc(e)) + self.logger.warning("Exception during reftest teardown:\n%s" % + traceback.format_exc(e)) def is_alive(self): return self.protocol.is_alive diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-isXXX.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-isXXX.tentative.html index c03b4b81d03..fada29a209b 100644 --- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-isXXX.tentative.html +++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-isXXX.tentative.html @@ -82,37 +82,50 @@ assert_false(TrustedTypes.isURL(url3)); }, 'TrustedTypePolicyFactory.isURL requires the object to be created via policy.'); - // Redefinition tests - // TODO(vogelheim): Implement TrustedTypes (& policy objects) as 'frozen'. -/* test(t => { - assert_throws(new TypeError(), _ => { - TrustedTypes.isHTML = () => true; - }); - + // Redefinition tests, assign to property. + // (Assignments will through in the polyfill (because the objects are frozen) + // but will be silently dropped in the native implementation (because that's + // what [Unforgeable] does. Hence, the tests use try {..} catch {} to cover + // both situationsm rather than expect_throws(...).) + test(t => { + try { TrustedTypes.isHTML = () => 'fake'; } catch { } assert_false(TrustedTypes.isHTML({})); }, 'TrustedTypePolicyFactory.IsHTML cannot be redefined.'); test(t => { - assert_throws(new TypeError(), _ => { - TrustedTypes.isScript = () => true; - }); - + try { TrustedTypes.isScript = () => 'fake'; } catch { } assert_false(TrustedTypes.isScript({})); }, 'TrustedTypePolicyFactory.isScript cannot be redefined.'); test(t => { - assert_throws(new TypeError(), _ => { - TrustedTypes.isScriptURL = () => true; - }); - + try { TrustedTypes.isScriptURL = () => 'fake'; } catch { } assert_false(TrustedTypes.isScriptURL({})); }, 'TrustedTypePolicyFactory.isScriptURL cannot be redefined.'); test(t => { - assert_throws(new TypeError(), _ => { - TrustedTypes.isURL = () => true; - }); - + try { TrustedTypes.isURL = () => 'fake'; } catch { } assert_false(TrustedTypes.isURL({})); - }, 'TrustedTypePolicyFactory.isURL cannot be redefined.');*/ + }, 'TrustedTypePolicyFactory.isURL cannot be redefined.'); + + // Redefinition tests, via Object.defineProperty. + test(t => { + try { Object.defineProperty(TrustedTypes, 'isHTML', () => 'fake'); } catch { } + assert_false(TrustedTypes.isHTML({})); + }, 'TrustedTypePolicyFactory.IsHTML cannot be redefined via defineProperty.'); + + test(t => { + try { Object.defineProperty(TrustedTypes, 'isScript', () => 'fake'); } catch { } + assert_false(TrustedTypes.isScript({})); + }, 'TrustedTypePolicyFactory.isScript cannot be redefined via definePropert.'); + + test(t => { + try { Object.defineProperty(TrustedTypes, 'isScriptURL', () => 'fake'); } catch { } + assert_false(TrustedTypes.isScriptURL({})); + }, 'TrustedTypePolicyFactory.isScriptURL cannot be redefined via definePropert.'); + + test(t => { + try { Object.defineProperty(TrustedTypes, 'isURL', () => 'fake'); } catch { } + assert_false(TrustedTypes.isURL({})); + }, 'TrustedTypePolicyFactory.isURL cannot be redefined via definePropert.'); + diff --git a/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py b/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py new file mode 100644 index 00000000000..fe16599a1e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/webdriver/tests/permissions/set.py @@ -0,0 +1,135 @@ +from tests.support.asserts import assert_error, assert_success +import pytest + +def query(session, name): + script = """ + var done = arguments[0]; + navigator.permissions.query({ name: '%s' }) + .then(function(value) { + done({ status: 'success', value: value && value.state }); + }, function(error) { + done({ status: 'error', value: error && error.message }); + }); + """ % name + + return session.transport.send( + "POST", "/session/{session_id}/execute/async".format(**vars(session)), + {"script": script, "args": []}) + +# > 1. Let parameters be the parameters argument, converted to an IDL value of +# > type PermissionSetParameters. If this throws an exception, return a +# > WebDriver error with WebDriver error code invalid argument. +@pytest.mark.parametrize("parameters", [ + #{ "descriptor": { "name": "geolocation" }, "state": "granted" } + { "descriptor": { "name": 23 }, "state": "granted" }, + { "descriptor": { }, "state": "granted" }, + { "descriptor": { "name": "geolocation" }, "state": "Granted" }, + { "descriptor": 23, "state": "granted" }, + { "descriptor": "geolocation", "state": "granted" }, + { "descriptor": [ { "name": "geolocation" } ], "state": "granted" }, + [ { "descriptor": { "name": "geolocation" }, "state": "granted" } ], + { "descriptor": { "name": "geolocation" }, "state": "granted", "oneRealm": 23 } +]) +def test_invalid_parameters(session, parameters): + response = session.transport.send( + "POST", + "/session/{session_id}/permissions".format(**vars(session)), + parameters + ) + assert_error(response, "invalid argument") + +# > 6. If settings is a non-secure context and rootDesc.name isn't allowed in +# > non-secure contexts, return a WebDriver error with WebDriver error code +# > invalid argument. +@pytest.mark.parametrize("state", ["granted", "denied", "prompt"]) +def test_non_secure_context(session, url, state): + session.url = url("/common/blank.html", protocol="http") + response = session.transport.send( + "POST", "/session/{session_id}/permissions".format(**vars(session)), + { "descriptor": { "name": "push" }, "state": state } + ) + + assert_error(response, "invalid argument") + +@pytest.mark.parametrize("state", ["granted", "denied", "prompt"]) +@pytest.mark.parametrize("realmSetting", [ + { "oneRealm": True }, + { "oneRealm": False }, + {} +]) +def test_set_to_state(session, state, realmSetting): + parameters = { "descriptor": { "name": "geolocation" }, "state": state } + parameters.update(realmSetting) + response = session.transport.send( + "POST", "/session/{session_id}/permissions".format(**vars(session)), + parameters + ) + + try: + assert_success(response) + except AssertionError: + # > 4. If parameters.state is an inappropriate permission state for any + # > implementation-defined reason, return a WebDriver error with + # > WebDriver error code invalid argument. + assert_error(response, "invalid argument") + return + + assert response.body.get("value") == None + + response = query(session, "geolocation") + + assert_success(response) + result = response.body.get("value") + + assert isinstance(result, dict) + assert result.get("status") == "success" + assert result.get("value") == state + +# > 7. If parameters.oneRealm is true, [...] +# > 8. Otherwise, let targets be a list containing all environment settings +# > objects whose origin is the same as the origin of settings. +# +# Ensure that all realms are affected when `oneRealm` is not enabled. +@pytest.mark.parametrize("state", ["granted", "denied", "prompt"]) +@pytest.mark.parametrize("realmSetting", [ + { "oneRealm": False }, + {} +]) +def test_set_to_state_cross_realm(session, create_window, state, realmSetting): + original_window = session.window_handle + session.window_handle = create_window() + parameters = { "descriptor": { "name": "geolocation" }, "state": state } + parameters.update(realmSetting) + + response = session.transport.send( + "POST", "/session/{session_id}/permissions".format(**vars(session)), + parameters + ) + + try: + assert_success(response) + except AssertionError: + # > 4. If parameters.state is an inappropriate permission state for any + # > implementation-defined reason, return a WebDriver error with + # > WebDriver error code invalid argument. + assert_error(response, "invalid argument") + return + + assert response.body.get("value") == None + + session.window_handle = original_window + + response = query(session, "geolocation") + + assert_success(response) + result = response.body.get("value") + + assert isinstance(result, dict) + assert result.get("status") == "success" + assert result.get("value") == state + +# The following test is not implemented because UAs may vary in the way they +# modify permissions across realms, so the behavior of the `oneRealm` parameter +# cannot be asserted uniformly. +# def test_set_to_state_one_realm(): +# pass diff --git a/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html b/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html new file mode 100644 index 00000000000..887ff933526 --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/xrFrame_lifetime.https.html @@ -0,0 +1,57 @@ + + + + + + + + + \ No newline at end of file