From e01fdde3cc0f11aeed21cf357af304076046cd63 Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Sun, 4 Jun 2023 01:56:00 +0000 Subject: [PATCH] Update web-platform-tests to revision b'4d1dc1971a0688048c804261711c639fe96ee187' --- .../inline-negative-margin-001.html.ini | 12 - .../flex-aspect-ratio-img-row-005.html.ini | 3 - .../overlay/overlay-user-agent-rules.html.ini | 12 + tests/wpt/metadata/MANIFEST.json | 995 ++++++++++++++---- tests/wpt/metadata/cors/basic.htm.ini | 10 - .../overlay/overlay-user-agent-rules.html.ini | 12 + .../fetch/api/basic/keepalive.any.js.ini | 1 - .../redirect/redirect-keepalive.any.js.ini | 1 - .../iframe.tentative.https.window.js.ini | 5 +- .../worker-blob-fetch.window.js.ini | 3 + ...n-fragment-scrolling-cross-origin.html.ini | 2 +- .../srcdoc/consecutive-srcdoc.html.ini | 3 +- .../failure-check-sequence.https.html.ini | 9 +- ...eshow-events-iframe-contentWindow.html.ini | 3 - .../navigate-to-unparseable-url.html.ini | 3 - ...tion-unload-cross-origin.sub.window.js.ini | 3 - ...ation-unload-same-origin-fragment.html.ini | 3 + ...avigation-unload-same-origin.window.js.ini | 3 + .../replace-before-load/a-click.html.ini | 3 + .../pageload-image-in-popup.html.ini | 3 - .../pushstate.html.ini | 3 + .../replacestate.html.ini | 3 + ...-blank-while-initial-load-pending.html.ini | 3 + ...creating_browsing_context_test_01.html.ini | 3 + .../2d.drawImage.animated.poster.html.ini | 3 - .../drawimage_zerosize-image.html.ini | 3 - .../2d.drawImage.animated.poster.html.ini | 3 - ...2d.drawImage.animated.poster.worker.js.ini | 3 - .../2d.drawImage.svg.worker.js.ini | 3 - ...d.drawImage.zerosource.image.worker.js.ini | 6 - .../offscreencanvas.commit.html.ini | 7 - .../offscreencanvas.commit.w.html.ini | 4 - .../autofocus-dialog.html.ini | 3 +- .../supported-elements.html.ini | 12 +- .../rendering/dimension-attributes.html.ini | 27 + .../media_fragment_seek.html.ini | 3 - ...rame_sandbox_popups_nonescaping-1.html.ini | 3 +- ...rame_sandbox_popups_nonescaping-2.html.ini | 3 +- ...rame_sandbox_popups_nonescaping-3.html.ini | 1 - .../non-active-document.html.ini | 6 - .../the-img-element/sizes/sizes-auto.html.ini | 126 +++ .../multipart-formdata.window.js.ini | 3 + ...rm-during-planned-navigation-task.html.ini | 4 + .../parsing/DOMContentLoaded-defer.html.ini | 3 + .../module-static-import-delayed.html.ini | 3 - ...ob-entry-different-function-realm.html.ini | 5 +- .../promise-rejection-events.html.ini | 3 +- .../webmessaging/with-ports/018.html.ini | 4 - .../webmessaging/without-ports/017.html.ini | 4 - .../webmessaging/without-ports/018.html.ini | 4 - ...-closed-websocket-connection.window.js.ini | 3 + ...th-open-websocket-connection.window.js.ini | 3 + ...s-3P-window.partitioned.tentative.html.ini | 4 - ...dicated-worker-from-blob-url.window.js.ini | 3 + .../simple_scroll_to_fragment.html.ini | 2 - .../web-platform-tests/.azure-pipelines.yml | 2 + .../accname/name/comp_embedded_control.html | 2 + .../name/comp_hidden_not_referenced.html | 2 + .../name/comp_host_language_label.html | 2 + .../accname/name/comp_label.html | 2 + .../accname/name/comp_labelledby.html | 2 + .../accname/name/comp_name_from_content.html | 2 + .../accname/name/comp_text_node.html | 2 + .../accname/name/comp_tooltip.html | 2 + .../accname/name/shadowdom/basic.html | 2 + .../accname/name/shadowdom/slot.html | 2 + .../resources/header-util.sub.js | 2 +- tests/wpt/web-platform-tests/cors/basic.htm | 6 +- .../style-query-with-unknown-width.html | 26 + .../parsing/font-variant-invalid.html | 5 + ...izing-check-grid-height-on-resize-ref.html | 38 + ...ck-sizing-check-grid-height-on-resize.html | 39 + ...ghlight-painting-underline-offset-001.html | 1 + .../css-target-text-decoration-001-ref.html | 15 + .../css-target-text-decoration-001.html | 26 + .../css-highlight-invalidation-001-ref.html | 16 + .../css-highlight-invalidation-001.html | 36 + .../parsing/list-style-computed.sub.html | 8 +- .../animations/clip-path-composition.html | 4 +- .../css-masking/clip-path/interpolation.html | 4 +- .../css-masking/parsing/clip-path-valid.html | 10 +- .../overlay/overlay-user-agent-rules.html | 42 + .../css/css-pseudo/first-letter-digraph.html | 5 +- .../reference/first-letter-digraph-ref.html | 5 +- ...nts-in-scroll-event-handler.tentative.html | 53 + .../infinite-scroll-event.tentative.html | 13 +- .../input-scrollbar-color-ref.html | 5 + .../css-scrollbars/input-scrollbar-color.html | 12 + .../css-scrollbars/scrollbar-width-009.html | 60 ++ .../animation/shape-outside-composition.html | 4 +- ...ic-shape-circle-ellipse-serialization.html | 12 +- .../css-shapes/basic-shape-interpolation.html | 4 +- .../parsing/shape-outside-valid.html | 14 +- .../values/shape-outside-circle-000.html | 8 +- .../values/shape-outside-circle-006.html | 56 +- .../values/shape-outside-circle-010.html | 2 +- .../values/shape-outside-ellipse-000.html | 8 +- .../values/shape-outside-ellipse-006.html | 82 +- .../values/shape-outside-ellipse-010.html | 4 +- .../values/support/parsing-utils.js | 69 +- .../offset-path-interpolation-005.html | 26 + .../offset-path-interpolation-006.html | 2 +- .../motion/offset-path-coord-box-001-ref.html | 5 +- .../css/motion/offset-path-coord-box-001.html | 2 + .../motion/offset-path-coord-box-002-ref.html | 5 +- .../css/motion/offset-path-coord-box-002.html | 2 + .../motion/offset-path-coord-box-003-ref.html | 5 +- .../css/motion/offset-path-coord-box-003.html | 2 + .../motion/offset-path-geometry-box-ref.html | 2 +- .../css/motion/offset-path-ray-011-ref.html | 27 + .../css/motion/offset-path-ray-011.html | 29 + .../css/motion/offset-path-ray-012-ref.html | 27 + .../css/motion/offset-path-ray-012.html | 31 + .../css/motion/offset-path-ray-013-ref.html | 29 + .../css/motion/offset-path-ray-013.html | 31 + .../css/motion/offset-path-ray-014-ref.html | 29 + .../css/motion/offset-path-ray-014.html | 31 + .../offset-path-shape-circle-005-ref.html | 27 + .../motion/offset-path-shape-circle-005.html | 28 + .../offset-path-shape-ellipse-005-ref.html | 27 + .../motion/offset-path-shape-ellipse-005.html | 28 + .../motion/offset-path-shape-inset-001.html | 1 + .../parsing/offset-path-parsing-valid.html | 11 +- .../parsing/offset-position-computed.html | 3 +- .../offset-position-parsing-valid.html | 3 +- .../default-enabled-features-helper.js | 16 +- .../api/crashtests/body-window-destroy.html | 11 + .../resources/content-lengths.json | 16 + .../graphics-aria/graphics-roles.html | 2 + .../web-platform-tests/html-aam/roles.html | 5 +- .../html-aam/table-roles.html | 2 + .../pushstate-base.html | 18 + .../pushstate-whitespace.html | 20 + .../pushstate.html | 17 + .../replacestate-base.html | 18 + .../replacestate-whitespace.html | 20 + .../replacestate.html | 17 + .../document-write.https.window.js | 10 + .../document-write.https.window.js.headers | 1 + .../inheritance/resources/document-write.html | 40 + .../resources/document-write.html.headers | 1 + .../iframe-with-about-blank-iframe.html | 7 + ...frame-with-about-blank-iframe.html.headers | 1 + .../2d.drawImage.animated.apng.html | 31 - .../2d.drawImage.animated.poster.html | 33 - .../drawimage_zerosize-image.html | 33 - .../2d.drawImage.animated.poster.html | 26 - .../2d.drawImage.animated.poster.worker.js | 22 - .../2d.drawImage.svg.html | 15 +- .../2d.drawImage.svg.worker.js | 21 - .../2d.drawImage.zerosource.image.html | 22 +- .../2d.drawImage.zerosource.image.worker.js | 23 - .../offscreencanvas.commit.html | 42 - .../offscreencanvas.commit.w.html | 79 -- .../html/canvas/tools/PRESUBMIT.py | 2 - .../html/canvas/tools/gentestutilsunion.py | 258 +++-- .../html/canvas/tools/templates/reftest.html | 13 +- .../tools/templates/reftest_element.html | 22 +- .../tools/templates/reftest_offscreen.html | 16 +- .../tools/templates/reftest_worker.html | 10 +- .../tools/templates/testharness_element.html | 17 +- .../templates/testharness_offscreen.html | 9 +- .../tools/templates/testharness_worker.js | 6 +- .../drawing-images-to-the-canvas.yaml | 55 +- .../html/canvas/tools/yaml-new/filters.yaml | 12 +- .../html/canvas/tools/yaml-new/layers.yaml | 68 +- .../resources/iframe-test.js | 9 +- .../iframe-popup-to-so.https.html | 12 +- .../html/rendering/dimension-attributes.html | 13 +- .../relevant-mutations-lazy.html | 78 ++ .../the-img-element/relevant-mutations.html | 17 +- .../the-img-element/sizes/sizes-auto.html | 147 +++ .../sizes/support/sizes-iframed.sub.html | 1 - .../support/relevant-mutations.js | 15 + .../semantics/popovers/popover-focus.html | 13 + .../popovers/popover-light-dismiss.html | 27 + .../images/anim-poster-gr.png | Bin 422 -> 0 bytes .../interfaces/turtledove.idl | 1 + .../interfaces/webrtc-encoded-transform.idl | 2 +- ...-request-disallowed-when-hidden.https.html | 46 + ...policy-header-host-wildcard.https.sub.html | 14 + ...r-host-wildcard.https.sub.html.sub.headers | 1 + ...policy-header-port-wildcard.https.sub.html | 14 + ...r-port-wildcard.https.sub.html.sub.headers | 1 + ...s-policy-header-scheme-only.https.sub.html | 14 + ...der-scheme-only.https.sub.html.sub.headers | 1 + ...formed-wildcard.https.sub.html.sub.headers | 2 +- .../animation-inactive-outside-range-ref.html | 77 ++ ...animation-inactive-outside-range-test.html | 97 ++ .../animation-timeline-ignored.tentative.html | 38 +- ...ntrinsic-iteration-duration.tentative.html | 78 ++ .../scroll-timeline-range.html | 185 ++++ .../set-current-time-before-play.html | 50 +- .../setting-timeline.tentative.html | 61 +- .../timeline-offset-in-keyframe.html | 5 +- ...tication-disallowed-when-hidden.https.html | 57 - .../prerender/blob_object_url.html | 34 + .../prerender/fetch-blob.html | 2 +- .../prerender/restrictions.html | 2 +- ...GAnimatedEnumeration-SVGMarkerElement.html | 70 +- .../tools/wpt/virtualenv.py | 2 +- .../wptrunner/wptrunner/browsers/chrome.py | 3 + .../wptrunner/wptrunner/browsers/firefox.py | 5 +- .../browsers/webkitgtk_minibrowser.py | 2 + .../wptrunner/wptrunner/executors/base.py | 9 +- .../tools/wptrunner/wptrunner/testrunner.py | 9 +- .../url/resources/percent-encoding.json | 8 - .../url/resources/urltestdata.json | 46 + .../wai-aria/role/abstract-roles.html | 3 +- .../wai-aria/role/fallback-roles.html | 4 +- .../wai-aria/role/invalid-roles.html | 2 +- .../wai-aria/role/list-roles.html | 2 + .../wai-aria/role/region-roles.html | 2 + .../wai-aria/role/roles.html | 3 + .../wai-aria/role/synonym-roles.html | 2 + ...-setRemoteDescription-simulcast.https.html | 3 +- ...h-closed-webrtc-connection.https.window.js | 19 + ...ith-open-webrtc-connection.https.window.js | 20 + .../webrtc/protocol/simulcast-answer.html | 3 +- .../resources/webrtc-test-helpers.sub.js | 79 ++ .../setParameters-encodings.https.html | 3 +- .../webrtc/simulcast/simulcast.js | 28 +- ...with-closed-websocket-connection.window.js | 20 + ...e-with-open-websocket-connection.window.js | 21 + .../resources/websockets-test-helpers.sub.js | 25 + ...ed-webtransport-connection.https.window.js | 20 + ...en-webtransport-connection.https.window.js | 25 + .../webtransport-test-helpers.sub.js | 21 + ...-authentication-basic-cors-not-enabled.htm | 5 +- ...entication-cors-basic-setrequestheader.htm | 5 +- ...tication-cors-setrequestheader-no-cred.htm | 5 +- .../send-network-error-sync-events.sub.htm | 2 +- 232 files changed, 3953 insertions(+), 1188 deletions(-) create mode 100644 tests/wpt/metadata-layout-2020/css/css-position/overlay/overlay-user-agent-rules.html.ini create mode 100644 tests/wpt/metadata/css/css-position/overlay/overlay-user-agent-rules.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini create mode 100644 tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini create mode 100644 tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini create mode 100644 tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate.html.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate.html.ini create mode 100644 tests/wpt/metadata/html/browsers/the-window-object/navigate-to-about-blank-while-initial-load-pending.html.ini create mode 100644 tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_zerosize-image.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker.js.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.worker.js.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w.html.ini delete mode 100644 tests/wpt/metadata/html/semantics/embedded-content/media-elements/media_fragment_seek.html.ini create mode 100644 tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/sizes-auto.html.ini create mode 100644 tests/wpt/metadata/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini create mode 100644 tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini delete mode 100644 tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/with-ports/018.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/without-ports/017.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/without-ports/018.html.ini create mode 100644 tests/wpt/metadata/websockets/back-forward-cache-with-closed-websocket-connection.window.js.ini create mode 100644 tests/wpt/metadata/websockets/back-forward-cache-with-open-websocket-connection.window.js.ini delete mode 100644 tests/wpt/metadata/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini create mode 100644 tests/wpt/metadata/workers/dedicated-worker-from-blob-url.window.js.ini delete mode 100644 tests/wpt/mozilla/meta-layout-2020/mozilla/simple_scroll_to_fragment.html.ini create mode 100644 tests/wpt/web-platform-tests/css/css-contain/container-queries/style-query-with-unknown-width.html create mode 100644 tests/wpt/web-platform-tests/css/css-grid/masonry/tentative/track-sizing/masonry-track-sizing-check-grid-height-on-resize-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-grid/masonry/tentative/track-sizing/masonry-track-sizing-check-grid-height-on-resize.html create mode 100644 tests/wpt/web-platform-tests/css/css-highlight-api/painting/css-target-text-decoration-001-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-highlight-api/painting/css-target-text-decoration-001.html create mode 100644 tests/wpt/web-platform-tests/css/css-highlight-api/painting/invalidation/css-highlight-invalidation-001-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-highlight-api/painting/invalidation/css-highlight-invalidation-001.html create mode 100644 tests/wpt/web-platform-tests/css/css-position/overlay/overlay-user-agent-rules.html create mode 100644 tests/wpt/web-platform-tests/css/css-scroll-anchoring/adjustments-in-scroll-event-handler.tentative.html create mode 100644 tests/wpt/web-platform-tests/css/css-scrollbars/input-scrollbar-color-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-scrollbars/input-scrollbar-color.html create mode 100644 tests/wpt/web-platform-tests/css/css-scrollbars/scrollbar-width-009.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-011-ref.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-011.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-012-ref.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-012.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-013-ref.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-013.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-014-ref.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-ray-014.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-shape-circle-005-ref.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-shape-circle-005.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-shape-ellipse-005-ref.html create mode 100644 tests/wpt/web-platform-tests/css/motion/offset-path-shape-ellipse-005.html create mode 100644 tests/wpt/web-platform-tests/fetch/api/crashtests/body-window-destroy.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-base.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-whitespace.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-base.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-whitespace.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js create mode 100644 tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js.headers create mode 100644 tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html.headers create mode 100644 tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html.headers delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_zerosize-image.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker.js delete mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.worker.js delete mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js delete mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations-lazy.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-auto.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/support/relevant-mutations.js delete mode 100644 tests/wpt/web-platform-tests/images/anim-poster-gr.png create mode 100644 tests/wpt/web-platform-tests/payment-request/payment-request-disallowed-when-hidden.https.html create mode 100644 tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html create mode 100644 tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html.sub.headers create mode 100644 tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html create mode 100644 tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html.sub.headers create mode 100644 tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html create mode 100644 tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html.sub.headers create mode 100644 tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-ref.html create mode 100644 tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-test.html create mode 100644 tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html create mode 100644 tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/scroll-timeline-range.html delete mode 100644 tests/wpt/web-platform-tests/secure-payment-confirmation/authentication-disallowed-when-hidden.https.html create mode 100644 tests/wpt/web-platform-tests/speculation-rules/prerender/blob_object_url.html create mode 100644 tests/wpt/web-platform-tests/webrtc/back-forward-cache-with-closed-webrtc-connection.https.window.js create mode 100644 tests/wpt/web-platform-tests/webrtc/back-forward-cache-with-open-webrtc-connection.https.window.js create mode 100644 tests/wpt/web-platform-tests/webrtc/resources/webrtc-test-helpers.sub.js create mode 100644 tests/wpt/web-platform-tests/websockets/back-forward-cache-with-closed-websocket-connection.window.js create mode 100644 tests/wpt/web-platform-tests/websockets/back-forward-cache-with-open-websocket-connection.window.js create mode 100644 tests/wpt/web-platform-tests/websockets/resources/websockets-test-helpers.sub.js create mode 100644 tests/wpt/web-platform-tests/webtransport/back-forward-cache-with-closed-webtransport-connection.https.window.js create mode 100644 tests/wpt/web-platform-tests/webtransport/back-forward-cache-with-open-webtransport-connection.https.window.js diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini index ecd4976bf3a..afbbee3edb9 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini @@ -1,16 +1,4 @@ [inline-negative-margin-001.html] - [[data-expected-height\] 3] - expected: FAIL - - [[data-expected-height\] 4] - expected: FAIL - - [[data-expected-height\] 5] - expected: FAIL - - [[data-expected-height\] 6] - expected: FAIL - [[data-expected-height\] 7] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini index a8801ec9fe3..422b64b2c95 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini @@ -7,6 +7,3 @@ [img 3] expected: FAIL - - [img 4] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-position/overlay/overlay-user-agent-rules.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/overlay/overlay-user-agent-rules.html.ini new file mode 100644 index 00000000000..970e964ba2d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-position/overlay/overlay-user-agent-rules.html.ini @@ -0,0 +1,12 @@ +[overlay-user-agent-rules.html] + [HTML elements should have overlay:none !important from the user-agent.] + expected: FAIL + + [SVG elements should have overlay:none !important from the user-agent.] + expected: FAIL + + [Null namespace elements should have overlay:none !important from the user-agent.] + expected: FAIL + + [Arbitrary namespace elements should have overlay:none !important from the user-agent.] + expected: FAIL diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 5a898242a0a..8e22e1ee7e1 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -4947,6 +4947,13 @@ "fetch": { "api": { "crashtests": { + "body-window-destroy.html": [ + "646d3c5f8ce9e6591e6bd1eb2096e36d611a8899", + [ + null, + {} + ] + ], "request.html": [ "2d21930c3bbc8743ebfe5ad679e62f41a776ebde", [ @@ -189826,6 +189833,19 @@ ] }, "track-sizing": { + "masonry-track-sizing-check-grid-height-on-resize.html": [ + "06c2901f27bf8c8edabf434cf79bf7915e5dd09e", + [ + null, + [ + [ + "/css/css-grid/masonry/tentative/track-sizing/masonry-track-sizing-check-grid-height-on-resize-ref.html", + "==" + ] + ], + {} + ] + ], "masonry-track-sizing-explicit-block.html": [ "05f60893900f44753d4873e60d4b348bd6270a07", [ @@ -191033,7 +191053,7 @@ "css-highlight-api": { "painting": { "css-highlight-painting-underline-offset-001.html": [ - "14b238ce1700fc9e1fe1ea3745b0a818d5c615c1", + "534438089ca0afd4a565e615f43cd964db3a0eb6", [ null, [ @@ -191042,7 +191062,52 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 56 + ], + [ + 0, + 10 + ] + ] + ] + ] + } + ] + ], + "css-target-text-decoration-001.html": [ + "fa76c0bc4e7636c416ac876530f11d9a4e40050a", + [ + null, + [ + [ + "/css/css-highlight-api/painting/css-target-text-decoration-001-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 60 + ], + [ + 0, + 32 + ] + ] + ] + ] + } ] ], "custom-highlight-painting-001.html": [ @@ -191716,7 +191781,38 @@ ], {} ] - ] + ], + "invalidation": { + "css-highlight-invalidation-001.html": [ + "d885424765d3934eb2187d78a2f0791158441c8b", + [ + null, + [ + [ + "/css/css-highlight-api/painting/invalidation/css-highlight-invalidation-001-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 56 + ], + [ + 0, + 10 + ] + ] + ] + ] + } + ] + ] + } } }, "css-images": { @@ -218161,7 +218257,7 @@ ] ], "first-letter-digraph.html": [ - "b9bc10016d71a6b74803278c227787bdee6cda48", + "b539457cf0c5ddab61cb2c63ef45fab47057877e", [ null, [ @@ -222702,6 +222798,19 @@ } }, "css-scrollbars": { + "input-scrollbar-color.html": [ + "fa03b1391e44941bd2d37c8db1c7c518a1c181ff", + [ + null, + [ + [ + "/css/css-scrollbars/input-scrollbar-color-ref.html", + "==" + ] + ], + {} + ] + ], "scrollbar-width-paint-001.html": [ "3621a65b39ed7d9e3b0afea4e1770427b31534de", [ @@ -302455,7 +302564,7 @@ ] ], "offset-path-coord-box-001.html": [ - "527459c6fddcc4f5d4409f311e2fb7175df35531", + "d8392607569d045e04aa5474df11310c93b662f8", [ null, [ @@ -302468,7 +302577,7 @@ ] ], "offset-path-coord-box-002.html": [ - "0abe4169400e1f8504628b17bc11bf8cd8e62a1a", + "0446e2caa16c43ece32a0f3c0659c3d227f01ce9", [ null, [ @@ -302481,7 +302590,7 @@ ] ], "offset-path-coord-box-003.html": [ - "6605d8e9a0d21dee7270ea99291aff45ea17f2e2", + "d3ea7f92a8ed17521a957aebcd631906b0ceb86b", [ null, [ @@ -302636,6 +302745,58 @@ {} ] ], + "offset-path-ray-011.html": [ + "cf01e2b86ecdc3ea0b7033ffd6ab4fb8b236e3fe", + [ + null, + [ + [ + "/css/motion/offset-path-ray-011-ref.html", + "==" + ] + ], + {} + ] + ], + "offset-path-ray-012.html": [ + "7c921cfac85c6203a330dcf947b4fedbb2ad9408", + [ + null, + [ + [ + "/css/motion/offset-path-ray-012-ref.html", + "==" + ] + ], + {} + ] + ], + "offset-path-ray-013.html": [ + "196ff4efd6fb91265857e357cfbd0bdff689cd6c", + [ + null, + [ + [ + "/css/motion/offset-path-ray-013-ref.html", + "==" + ] + ], + {} + ] + ], + "offset-path-ray-014.html": [ + "42e431de3548315530abb0e4a35dc720cb57fb7c", + [ + null, + [ + [ + "/css/motion/offset-path-ray-014-ref.html", + "==" + ] + ], + {} + ] + ], "offset-path-ray-contain-001.html": [ "ba03f1115f6e782f558fbe4fcca0a89aa795e5fb", [ @@ -302785,6 +302946,19 @@ {} ] ], + "offset-path-shape-circle-005.html": [ + "0ca93306c609fbf77da660636b23d0aebfff2c02", + [ + null, + [ + [ + "/css/motion/offset-path-shape-circle-005-ref.html", + "==" + ] + ], + {} + ] + ], "offset-path-shape-ellipse-001.html": [ "b8254458d38d71038f47dd80ffddbd971190b665", [ @@ -302853,8 +303027,21 @@ {} ] ], + "offset-path-shape-ellipse-005.html": [ + "27eae4a5c491907c3455e5adae7c226190ee8f83", + [ + null, + [ + [ + "/css/motion/offset-path-shape-ellipse-005-ref.html", + "==" + ] + ], + {} + ] + ], "offset-path-shape-inset-001.html": [ - "dd96c42ebb33e585a9848e12b097dfadb82d7ccf", + "27f5e3fc7d6a24fdfdd973cddf528d732a7b04b6", [ null, [ @@ -321643,6 +321830,19 @@ }, "scroll-animations": { "css": { + "animation-inactive-outside-range-test.html": [ + "c0021a1fbc2cf9c7b25305120a3e1d64aa4a13c4", + [ + null, + [ + [ + "/scroll-animations/css/animation-inactive-outside-range-ref.html", + "==" + ] + ], + {} + ] + ], "animation-range-visual-test.html": [ "f675f5108aec2ef2eb27793efca6e7e6a88f3324", [ @@ -321906,7 +322106,7 @@ ] ], "set-current-time-before-play.html": [ - "cd3faeeee46cbe2b132e05f699a733621fa4005b", + "280346e755f0dede65035ca91731927726526b01", [ null, [ @@ -329075,7 +329275,7 @@ }, "support": { ".azure-pipelines.yml": [ - "efa5ee18a1dc79fdaf56abac879db39c85da5cd9", + "428411d04ab83f754150f2a955f82ee49ab6476b", [] ], ".gitattributes": [ @@ -332213,7 +332413,7 @@ [] ], "header-util.sub.js": [ - "c38e5aa59d8b2a995f907aeb91ef7e971104b7d9", + "bb5a63426d6c931181dd10e0cb89125b9e0ea472", [] ], "intercept-request.js": [ @@ -389321,6 +389521,10 @@ ] }, "track-sizing": { + "masonry-track-sizing-check-grid-height-on-resize-ref.html": [ + "71968864924cafa3166a352d15e4d0d1b81383d1", + [] + ], "masonry-track-sizing-explicit-block-ref.html": [ "993017919f39d72a8408de68b0c797e59ff3aebd", [] @@ -389743,6 +389947,10 @@ "3d01bccf55dd9c20e361551bc924d5c9353c503e", [] ], + "css-target-text-decoration-001-ref.html": [ + "5e9ef64579800a922d225ab9ca458555fe067dcc", + [] + ], "custom-highlight-painting-001-ref.html": [ "b058789f6de04c017dec9a37d8955485dcd6b7e9", [] @@ -389827,6 +390035,12 @@ "3a713aa8440c5877253ce9f612f2c90515f9dd60", [] ], + "invalidation": { + "css-highlight-invalidation-001-ref.html": [ + "a5ec6a59ae0be99bfcefeca724445544bd6228f8", + [] + ] + }, "resources": { "iframe-code.html": [ "a4a1829be229acb4c0cf75cbb0e2885060741d3f", @@ -395304,7 +395518,7 @@ [] ], "first-letter-digraph-ref.html": [ - "7dbefc9dbdbd32ea8b05a8d3ec87f24e7d4edcc1", + "4eef817d7062a58066cf952c0c7f830f0fc87d37", [] ], "first-line-with-inline-block-ref.html": [ @@ -395900,6 +396114,10 @@ "f7c0439e202113c9611405ae967b33c2b12cfcee", [] ], + "input-scrollbar-color-ref.html": [ + "389cf34b716ea17620c6a1d750ac5406945bf9ba", + [] + ], "scrollbar-width-paint-001-ref.html": [ "42295b1fb9d7d7ef8622c729265e344117c65cc2", [] @@ -396590,7 +396808,7 @@ "values": { "support": { "parsing-utils.js": [ - "b7c637746e0ef5cf48187156a462cb1b0ba588d9", + "354a64b53f538b2b1e8366b30961034e4b5d7fdd", [] ] } @@ -410149,19 +410367,19 @@ [] ], "offset-path-coord-box-001-ref.html": [ - "679b43fe705e67ff512b63c29a3f47b578623dbc", + "e9a7fbb808feefff1838dcd1476b1829231ddbba", [] ], "offset-path-coord-box-002-ref.html": [ - "a722ec3bd3e2e009b24a03eb6dd528be0ff13483", + "aad79d40d03a9643ac3b7771743acf927ea0800e", [] ], "offset-path-coord-box-003-ref.html": [ - "f6e6203f4a0caaa759c0dd4b2987121832d89a84", + "bf896aafac2a81dd209eac8519ead4f2732c3e87", [] ], "offset-path-geometry-box-ref.html": [ - "eb7646db6625d63ef2ee857c5e1e48ec527c9c9e", + "60870c815e140ac15502e723ea477678cdc848a7", [] ], "offset-path-ray-001-ref.html": [ @@ -410188,6 +410406,22 @@ "95b54368759342f3cf0611d256e06f9534b5562e", [] ], + "offset-path-ray-011-ref.html": [ + "9a477b269687e931b8bbf4bbd081e230e9b54dda", + [] + ], + "offset-path-ray-012-ref.html": [ + "dfb34bf784f07bcfa8cbe3c204df8af162f5ff8c", + [] + ], + "offset-path-ray-013-ref.html": [ + "d6bf4c037ba3853474132ede2193f1e7dc6183fd", + [] + ], + "offset-path-ray-014-ref.html": [ + "cd0fab44c3658956801a3fd75048f8faf521fa2d", + [] + ], "offset-path-ray-contain-001-ref.html": [ "05f54d9dc55dff6159df20d226eaf0753f351385", [] @@ -410224,6 +410458,10 @@ "86c67dcdedcb2625216cd064384545113f2a96fc", [] ], + "offset-path-shape-circle-005-ref.html": [ + "77fc954ad957d4caf87d383216613fa025f143c2", + [] + ], "offset-path-shape-ellipse-001-ref.html": [ "32236bbc239a98c6a512d64037fcda32a8c5e976", [] @@ -410240,6 +410478,10 @@ "fca4b190db514034fd7b3647cebda99d25aae0dc", [] ], + "offset-path-shape-ellipse-005-ref.html": [ + "98504d1a3858b778341f4cccc1b28e32461801be", + [] + ], "offset-path-shape-inset-001-ref.html": [ "52a9662841c5d56c7655d11329d82f65ac9d17e9", [] @@ -414947,7 +415189,7 @@ [] ], "default-enabled-features-helper.js": [ - "821ebf69e367b2cd95edf2e736fc4d44008442d4", + "5b4c292622f0ae1f073ea7e4ab257407ca6a7e77", [] ], "default-enabled-features-navigate.https.html": [ @@ -415972,7 +416214,7 @@ [] ], "content-lengths.json": [ - "dac9c82dc0978439841f4981eb3ffde1056aeaac", + "ac6f1a24680e0e23a6e40312a11eddf358328e39", [] ], "identical-duplicates.asis": [ @@ -419669,6 +419911,30 @@ [] ] }, + "inheritance": { + "document-write.https.window.js.headers": [ + "e007de4d7bfd8bd5a26b503f338e1da696ddb941", + [] + ], + "resources": { + "document-write.html": [ + "7a6ff3118eb268f9ca98d794477fb968a2005db7", + [] + ], + "document-write.html.headers": [ + "e007de4d7bfd8bd5a26b503f338e1da696ddb941", + [] + ], + "iframe-with-about-blank-iframe.html": [ + "b3f51252332f8d83f1371619293ba0bcd57633ae", + [] + ], + "iframe-with-about-blank-iframe.html.headers": [ + "e007de4d7bfd8bd5a26b503f338e1da696ddb941", + [] + ] + } + }, "origin-keyed-agent-clusters": { "1-iframe": { "parent-yes-child-no-port.sub.https.html.headers": [ @@ -422256,7 +422522,7 @@ }, "tools": { "PRESUBMIT.py": [ - "048e96b7012b70b276922ace2d7cdd811ebb3291", + "c7fb93ae6fd14e0006dda63ba5279524d6bad9b8", [] ], "gentest.py": [ @@ -422272,7 +422538,7 @@ [] ], "gentestutilsunion.py": [ - "cf154c41894bd9c0863ccf7d3619efc74e5e3871", + "0542e32571a0524090ab5800dbb258cb9acc2450", [] ], "name2dir-canvas.yaml": [ @@ -422289,31 +422555,31 @@ ], "templates": { "reftest.html": [ - "8f98e1648459bd6470f69705df7ed0b8fd9b0b18", + "4c9affbbbbf43535300a68cb22139fad5f2a1691", [] ], "reftest_element.html": [ - "25445af6a4f59bed783587428db3d95e41acc241", + "6684e9c615bdb74e0d4076a522d1c68912863ff2", [] ], "reftest_offscreen.html": [ - "4d8b7c9de548a1edc127af36b9085db1874dc9ae", + "1d0d93dfa1619399b61483ad15ab128af4473fe4", [] ], "reftest_worker.html": [ - "7ce9ca5b15962b2ac242d2c674946837cabcd8a5", + "e636d3634bab9d7e61c7ced53f14bd727746d304", [] ], "testharness_element.html": [ - "521fece50c4364a9ce74d83c4194e82c050628dc", + "b6bda2835e271e7cfa12bfc688e851caa9028644", [] ], "testharness_offscreen.html": [ - "a6de83c41954e8e7906ad20c06c94f485d32ae55", + "8ebbff77a6c13f18aca58c3be0859496cc49bb30", [] ], "testharness_worker.js": [ - "b6575b95a67b0efd71be46f9315da36c2f89399c", + "f1f04e7bb6bcf370e0db53f08dd38899e72e55ab", [] ] }, @@ -422393,7 +422659,7 @@ [] ], "drawing-images-to-the-canvas.yaml": [ - "91b92b0092fc9de2d6729215aa192aef6aca07dc", + "93c556288d7125988f3190c0ecd8e3ce2e71f3fe", [] ], "drawing-rectangles-to-the-canvas.yaml": [ @@ -422401,11 +422667,11 @@ [] ], "filters.yaml": [ - "9a90bed24820b7f3aad7f214641f441c2ed78ea1", + "a5c2b9864b6becd54f06d0639ddc96d46bfca263", [] ], "layers.yaml": [ - "e0d2b3d793b80d70eb31973820ab1564f99e83e3", + "8ca05bec84d72f48fdde9aa90e0d6ad1efceccd1", [] ], "line-styles.yaml": [ @@ -423076,7 +423342,7 @@ [] ], "iframe-test.js": [ - "f788cbd1ebdb7a76dff082d0a59649bf756310b2", + "f13e76869023ef5604ab7be083a37b6ff05b1b85", [] ], "popup-test.js": [ @@ -429575,7 +429841,7 @@ [] ], "sizes-iframed.sub.html": [ - "7602dd8fce1385cc35249436b5f947778fab2925", + "1f80ad2f917d1539ade5a02dcde3371dbd5cd07a", [] ] } @@ -429608,6 +429874,10 @@ "red-bg.css": [ "da9af10628dc6899242f4ab963b4b0ea60e01e9e", [] + ], + "relevant-mutations.js": [ + "7105b037084be829e6319ab730ed10b034c544cb", + [] ] }, "svg-img-with-external-stylesheet-ref.html": [ @@ -433873,10 +434143,6 @@ "925e2efc9a97ade490f04d57271adc10b2fe69b6", [] ], - "anim-poster-gr.png": [ - "6941207373e513cfe10729077f59d369c59e6046", - [] - ], "anim-tao.png": [ "925e2efc9a97ade490f04d57271adc10b2fe69b6", [] @@ -435824,7 +436090,7 @@ [] ], "turtledove.idl": [ - "8add667b57509d3ec86ff214de6ee7380721fe18", + "f5867e995a8d19efb967e4bccee0eccb011665f8", [] ], "ua-client-hints.idl": [ @@ -435984,7 +436250,7 @@ [] ], "webrtc-encoded-transform.idl": [ - "59710bf46c2e3b57f09aaacccb80eb2c48f33406", + "6dd2ba3fffa0072136dabf9826299c40d4557dc2", [] ], "webrtc-ice.idl": [ @@ -439516,6 +439782,18 @@ [] ], "experimental-features": { + "permissions-policy-header-host-wildcard.https.sub.html.sub.headers": [ + "81d0de836ea28cd372247a678ebda74455af352b", + [] + ], + "permissions-policy-header-port-wildcard.https.sub.html.sub.headers": [ + "b813167ee62e520952d295854538687157fb3cec", + [] + ], + "permissions-policy-header-scheme-only.https.sub.html.sub.headers": [ + "14d0868f2bb15fd71bdd1f81a880fc16cde522fa", + [] + ], "resources": { "common.js": [ "308f787da63d147b00356cf4817f8c33b162c6cb", @@ -439612,7 +439890,7 @@ [] ], "permissions-policy-header-policy-allowed-for-malformed-wildcard.https.sub.html.sub.headers": [ - "d9facde69e011fed8c5d5fdb5b24c66a121b2570", + "648e3ac75e69c4e2223e18c822440feb8bc76a07", [] ], "permissions-policy-header-policy-allowed-for-self.https.sub.html.sub.headers": [ @@ -443512,6 +443790,10 @@ [] ], "css": { + "animation-inactive-outside-range-ref.html": [ + "ea3215e359084b790f460f8d4537c08d353b5aaf", + [] + ], "animation-range-visual-test-ref.html": [ "c246f7f1b0a541aa3eb3cbdd01efd57d3018d5b9", [] @@ -457731,7 +458013,7 @@ [] ], "virtualenv.py": [ - "87f5d4281fe528c0d840f56e05f21bbc7d320402", + "c5e450331413b862c961d4fe4fcfca27020a66ab", [] ], "wpt.py": [ @@ -457837,7 +458119,7 @@ [] ], "chrome.py": [ - "3bdbf6f962c3a8de49cd70212ffed22692bfb2e5", + "b15d9ccb36995b68869555dc9cbbdeb2658bd39f", [] ], "chrome_android.py": [ @@ -457877,7 +458159,7 @@ [] ], "firefox.py": [ - "d2e386484f9255f616e73214f7568bd23a484b65", + "d9c9481f3275a9fdb73d9fdf1c5dbd284f1ebd27", [] ], "firefox_android.py": [ @@ -457923,7 +458205,7 @@ [] ], "webkitgtk_minibrowser.py": [ - "a574328c32633126fd7430c4757f3c6169f12ccd", + "4b247dd36e397c796d0623c57e6038f18663b474", [] ], "wktr.py": [ @@ -457949,7 +458231,7 @@ [] ], "base.py": [ - "3159bb3c3a2fbea5847aca9a58914cc58a6e2dd3", + "4b715a1f3171b3581016f3ec6d0ab19cbf449b6a", [] ], "executorchrome.py": [ @@ -458140,7 +458422,7 @@ [] ], "testrunner.py": [ - "b1346d51df1fe68d8813ec926fb440b026a06e28", + "d2ed58444ab0a2b27f64f2e846f4c8af658b9267", [] ], "tests": { @@ -459475,7 +459757,7 @@ [] ], "percent-encoding.json": [ - "bd81edbdc35ee3201d781278e64d5ea2db6b160b", + "eccd1db62fe60131fb12cbdf8c16e0354bcf7a98", [] ], "percent-encoding.py": [ @@ -459491,7 +459773,7 @@ [] ], "urltestdata.json": [ - "1aa42a514555dfa6c1007a2fa0b309fc3cc8b0ac", + "ec189871d908147b62af3a1b1de46ada73792c21", [] ] }, @@ -462619,11 +462901,15 @@ "RTCCertificate-postMessage-iframe.html": [ "9e52ba0c888a8d500072c1669599d88f64cb22c3", [] + ], + "webrtc-test-helpers.sub.js": [ + "48882b30ccc263c6fb72e9e910d3dbe9f06d8141", + [] ] }, "simulcast": { "simulcast.js": [ - "3aa0fc42870a9d5c99ba0bdb261c6e776ad71f95", + "1886531023d6a98c99c517a3ef0f4421714e92f1", [] ] }, @@ -462967,6 +463253,12 @@ } } }, + "resources": { + "websockets-test-helpers.sub.js": [ + "2680670cc691b14c25721d2dd474a2a4c15bac3f", + [] + ] + }, "security": { "check.py": [ "716b837f4942e9265637671682c71222e5712694", @@ -463163,7 +463455,7 @@ }, "resources": { "webtransport-test-helpers.sub.js": [ - "9f9127b22f96da1c8dc84465d33e5c5e476f4262", + "36788699e8bbbef020db6620c3e1ac142d6d74b8", [] ] } @@ -480895,7 +481187,7 @@ ], "name": { "comp_embedded_control.html": [ - "cfcd4d21c7bf5f67b3bc714523bbacd1f3071d69", + "09856ef662e90cba81059ad3c8a977e63b3781b5", [ null, { @@ -480904,7 +481196,7 @@ ] ], "comp_hidden_not_referenced.html": [ - "cfaebbb502d91c012d76f21c952ff273b2c05db8", + "84a2a2ca8026e3f82db1d66d6d4ffb1ddc3d13ef", [ null, { @@ -480913,7 +481205,7 @@ ] ], "comp_host_language_label.html": [ - "d2638b1ba75b746d001bba6a0cf87ce69fa2d4da", + "221ff0e9fb1a3f85083504d45d9fddbcab9db226", [ null, { @@ -480922,7 +481214,7 @@ ] ], "comp_label.html": [ - "9edd8000e949954c69bd354602f90f2ffea374b2", + "0c057862b3bf6c7a52d056b9c14a8ff7a68c2356", [ null, { @@ -480931,7 +481223,7 @@ ] ], "comp_labelledby.html": [ - "8e66362d81399fda31250c215551d01baa1376ed", + "ab17bff118741171a3be3c684d42d8c3b6aab0b6", [ null, { @@ -480940,7 +481232,7 @@ ] ], "comp_name_from_content.html": [ - "1390c6dcc805173c2b4c14a27e628c8afdc4ee17", + "0b40206a7ebc9af2fe49d72407f1d621b95346ad", [ null, { @@ -480949,7 +481241,7 @@ ] ], "comp_text_node.html": [ - "61f51cf4edc8804a2c2cd0296de5effda81d2b10", + "d63bdda82c0d1eec1ebc15c1292d1b512ea656eb", [ null, { @@ -480958,7 +481250,7 @@ ] ], "comp_tooltip.html": [ - "52e7b43cfc54c869bce321848efa3b5d93e5bc68", + "34718bd025f000a4b92e8f5f560f81b6c92d5a7c", [ null, { @@ -480968,7 +481260,7 @@ ], "shadowdom": { "basic.html": [ - "ca60986d337ca38865727fac3a3449fa3d2a719d", + "9746f2db47ac4941bf29e11f57262635fdc675ee", [ null, { @@ -480977,7 +481269,7 @@ ] ], "slot.html": [ - "9155a2eef3bdfb6c02b03826c9038ebca42239e6", + "41ccd5a57f452b0041510482b67207c0ef0e10c9", [ null, { @@ -500752,7 +501044,7 @@ ] ], "basic.htm": [ - "85d443190db2c2ea5151cb4a03b7332c43d646b0", + "cbdb4ca9aa79c9f4919720b29cdfe221df7f04e6", [ null, {} @@ -507234,6 +507526,13 @@ {} ] ], + "style-query-with-unknown-width.html": [ + "8b05d6c11200c94670a304cf4b490e6f590f6244", + [ + null, + {} + ] + ], "svg-foreignobject-child-container.html": [ "898fc22c2ba038a07b0907517d3e5e1cb421500a", [ @@ -511191,7 +511490,7 @@ ] ], "font-variant-invalid.html": [ - "c591acc3fcdfaac216a915ac4809f8a13fd9f9a4", + "93c7d6bb56ef89b1aaefe0f6c9f51c9c14a69186", [ null, {} @@ -515833,7 +516132,7 @@ ] ], "list-style-computed.sub.html": [ - "611fae5bf93636cd4d3402e91b1cd47148303617", + "f86915831e0577ca040afb473203ca089a90b5e4", [ null, {} @@ -516501,7 +516800,7 @@ ] ], "clip-path-composition.html": [ - "2275ae70a330e06214f3c612acdba186efde99cd", + "42c5988e045d6f1d5913c403a5a98a662a565680", [ null, {} @@ -516559,7 +516858,7 @@ ] ], "interpolation.html": [ - "da3981feed6ed681ee4a7d88b7ecd167b9fd5c7b", + "f580de9c76951a977a88da4375f61bb00bd77de5", [ null, {} @@ -516656,7 +516955,7 @@ ] ], "clip-path-valid.html": [ - "895cdfacac6cc8ac56e67738aed53e55be7b2fcf", + "fd268b429163854ecc5b64db8afc06ba0209f4b3", [ null, {} @@ -518045,6 +518344,13 @@ {} ] ], + "overlay-user-agent-rules.html": [ + "427eb8f7e40b4f4d574ed2b4b768812e9bcde62e", + [ + null, + {} + ] + ], "overlay-valid.html": [ "8d808ac6dcf582628f782b2e228b261a654ba212", [ @@ -519751,6 +520057,13 @@ {} ] ], + "adjustments-in-scroll-event-handler.tentative.html": [ + "84fd79cbcb91e2e906bfabca59941e42ea5db2d3", + [ + null, + {} + ] + ], "ancestor-change-heuristic.html": [ "21adfbb6b7a56c0a098eda1843897926afb363f5", [ @@ -519913,7 +520226,7 @@ ] ], "infinite-scroll-event.tentative.html": [ - "4bc222f4e72d890355c3f52a70b94ff9de1ac17f", + "e2a2998c52b73d4cf5783886148e7c7dea9fe9ec", [ null, {} @@ -520785,6 +521098,13 @@ {} ] ], + "scrollbar-width-009.html": [ + "494ffe344693ad80568d4513643e28eae13aad5e", + [ + null, + {} + ] + ], "scrollbar-width-keywords.html": [ "94ccd6ef6d550c83c97ba9525135cc309cc35842", [ @@ -521066,7 +521386,7 @@ ] ], "shape-outside-composition.html": [ - "0115148ec1adde1a32b1c1fb4b3c33ea8b56ece0", + "c1c29f1aa94880265d9d7329b16bdddcdba5146c", [ null, {} @@ -521081,14 +521401,14 @@ ] }, "basic-shape-circle-ellipse-serialization.html": [ - "5e4842d234f6af393a5ee04fa604a63f6db5cae1", + "715593d47b1330a325c6ba526f350f1bd7f2c3da", [ null, {} ] ], "basic-shape-interpolation.html": [ - "beea230697f0da8359447e6034835ba5766a9e24", + "5617ea28634e1e2f167b9e3e2c133b555ee4a8d8", [ null, {} @@ -521173,7 +521493,7 @@ ] ], "shape-outside-valid.html": [ - "c48974406b2cd18a851a62fc125ff7c6bd10a171", + "e5587c6b233a0c94568447777e95533ecbb50b29", [ null, {} @@ -521299,7 +521619,7 @@ ] ], "shape-outside-circle-000.html": [ - "a13570c1ff2ec6154c617922e65a84352c493be9", + "e2c735b3bbfe22938403eec2d13277edf14ee852", [ null, {} @@ -521341,7 +521661,7 @@ ] ], "shape-outside-circle-006.html": [ - "2fe988d626847cefd1d1a3a669cec701a2373e7a", + "15308ed9d1242331ff767bc03fa2a94ec160afab", [ null, {} @@ -521369,7 +521689,7 @@ ] ], "shape-outside-circle-010.html": [ - "6d6c11a7071569ef1bb0e71c8bdd740fd8b6a94d", + "609632e11ac9a37eaa3bd4c27f78b69cf4620dfb", [ null, {} @@ -521397,7 +521717,7 @@ ] ], "shape-outside-ellipse-000.html": [ - "532f794448cc8585dc69ee439ba576828e81f8a5", + "d74ed97a7667993932d4b3440c45bf18b1185615", [ null, {} @@ -521439,7 +521759,7 @@ ] ], "shape-outside-ellipse-006.html": [ - "4bd75a445a65d8923e0c3cd2c414bf81af192c24", + "69cd8aca78b17f88d2c3fa4bb547f2228b025dae", [ null, {} @@ -521467,7 +521787,7 @@ ] ], "shape-outside-ellipse-010.html": [ - "07cd1e593b75dac5054e08e82d3cd1885a883277", + "430d2621baff6b8f1381a988b2b04cde5c4f281e", [ null, {} @@ -535390,14 +535710,14 @@ ] ], "offset-path-interpolation-005.html": [ - "9924106f4b75ede89e5270a76fe217f85ef20050", + "13de65d8a73bc6eafcbffe6f3f0155f6ad6819e6", [ null, {} ] ], "offset-path-interpolation-006.html": [ - "a19908e4fffc2383a940e04ef0c00c486085cfee", + "5b95501909ceca7d55ebcab03654d942edb43756", [ null, {} @@ -535518,14 +535838,14 @@ ] ], "offset-path-parsing-valid.html": [ - "59a64b2116d603fa9ce79a614b8029033f2f1c42", + "8a22b9420eed7831dcf564b64db8f9ebe36b453e", [ null, {} ] ], "offset-position-computed.html": [ - "1cbdbdb0fe212c229c3b627cf6790a59a517a8bb", + "ebb8023e6c512f8f4cb305906c5b85a254b86895", [ null, {} @@ -535539,7 +535859,7 @@ ] ], "offset-position-parsing-valid.html": [ - "f71730f89eb52c8affb05ee7c7103eb20f6b2ab3", + "bc0d19a460f4f22f9a061ae6932f31637c7231d6", [ null, {} @@ -576952,7 +577272,7 @@ }, "graphics-aria": { "graphics-roles.html": [ - "159190ed833398d2410c5f4f2224f0b3a7dfd0a8", + "fd7fabbb6907d0ce1e1a9dcdbdd96c3bb398bdbe", [ null, { @@ -582035,6 +582355,50 @@ ] ] }, + "pushstate-replacestate-empty-string": { + "pushstate-base.html": [ + "ea95d812d7a4632c0ea1bcd1845e1785c61cf994", + [ + null, + {} + ] + ], + "pushstate-whitespace.html": [ + "72d9be6a9c4a2957b5ad85a7fdb1b460949f2ff8", + [ + null, + {} + ] + ], + "pushstate.html": [ + "1953709269efad04a3bc79b5755051860336dc2c", + [ + null, + {} + ] + ], + "replacestate-base.html": [ + "224e928de6ae6b66def650d74ede3c2757360730", + [ + null, + {} + ] + ], + "replacestate-whitespace.html": [ + "7261cdf3fa1c12bed536cf70b3eac408c368aef8", + [ + null, + {} + ] + ], + "replacestate.html": [ + "66b4cc6f82b59a0f36617983984465782e22ae5d", + [ + null, + {} + ] + ] + }, "traverse-during-beforeunload.html": [ "cb8cdca7ff80e4b13ec4c606ca65786a30d17d08", [ @@ -582564,6 +582928,20 @@ {} ] ], + "document-write.https.window.js": [ + "39dc3b1cc21f643344ec603123b49ba95709125a", + [ + "html/browsers/origin/inheritance/document-write.https.window.html", + { + "script_metadata": [ + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], "javascript-url.html": [ "7dfb1130ce5a6c8e3c0f506900620fe87b17ec4e", [ @@ -585099,13 +585477,6 @@ {} ] ], - "2d.drawImage.animated.apng.html": [ - "ffe19ce9bc4aec3fdc8073ca0ec65c2277f4dbde", - [ - null, - {} - ] - ], "2d.drawImage.animated.gif.html": [ "6330d06ade35721f9e20b79a396715a4196392ce", [ @@ -585113,13 +585484,6 @@ {} ] ], - "2d.drawImage.animated.poster.html": [ - "2d28bc12837973c78cf4c0b176698e1ed0056d7b", - [ - null, - {} - ] - ], "2d.drawImage.broken.html": [ "f6516a8ecccf5834ca3b06eb9c7cae583fa190d8", [ @@ -587948,13 +588312,6 @@ null, {} ] - ], - "drawimage_zerosize-image.html": [ - "1c4e74866ab2825c57fc16ad419e2ad59e80067c", - [ - null, - {} - ] ] }, "drawing-paths-to-the-canvas": { @@ -592723,20 +593080,6 @@ {} ] ], - "2d.drawImage.animated.poster.html": [ - "eccf14bfd044c98f0c9412f7c7d18359ae645b01", - [ - null, - {} - ] - ], - "2d.drawImage.animated.poster.worker.js": [ - "542c9382f64572be389a06249f376ec824c31c76", - [ - "html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker.html", - {} - ] - ], "2d.drawImage.broken.html": [ "a2afa05f01e3d7142acbb6028b90b5ffa9ecd0a3", [ @@ -592934,19 +593277,12 @@ ] ], "2d.drawImage.svg.html": [ - "cd293595fe8f4e714b4703ce394eeab184da5fce", + "c2ebd265cfaf36e01ad8beaa383a056d0dbc53b9", [ null, {} ] ], - "2d.drawImage.svg.worker.js": [ - "8293e89f247af9fe093b88b29daa32fe4da8c778", - [ - "html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.worker.html", - {} - ] - ], "2d.drawImage.transform.html": [ "ca148c1a685c81c792ad74103a0dbd1d9ab6c304", [ @@ -592997,19 +593333,12 @@ ] ], "2d.drawImage.zerosource.image.html": [ - "5dfb2f3002c24b1710ba800652790a8171cdb852", + "77182242d4c78de8262eaf6966dc20a2d17dcc5e", [ null, {} ] ], - "2d.drawImage.zerosource.image.worker.js": [ - "467beb4d12fac2c3251efeeb197547b065a96d27", - [ - "html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.html", - {} - ] - ], "2d.drawImage.zerosource.worker.js": [ "a80bfff5621c28b14a3d307a8bf33e40f8de8443", [ @@ -597173,20 +597502,6 @@ ] }, "the-offscreen-canvas": { - "offscreencanvas.commit.html": [ - "4ee68b430fda4fd786a9b790fb52ca4c94b291ba", - [ - null, - {} - ] - ], - "offscreencanvas.commit.w.html": [ - "7d1d2c85f9cf3a290345fc559621b12ca034efea", - [ - null, - {} - ] - ], "offscreencanvas.constructor.html": [ "a2ad1dcc7eee6dd20cfd6ab873814aea4d766985", [ @@ -607229,27 +607544,51 @@ ] ], "iframe-popup-to-so.https.html": [ - "740ff2595aa5891cfaf99a04cd281e71e4d4bc74", + "8cf2679e190129e91de8e2af4ceef5b064fedba4", [ - "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?1-2", + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?1-1", { "timeout": "long" } ], [ - "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?3-4", + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?2-2", { "timeout": "long" } ], [ - "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?5-6", + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?3-3", { "timeout": "long" } ], [ - "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?7-8", + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?4-4", + { + "timeout": "long" + } + ], + [ + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?5-5", + { + "timeout": "long" + } + ], + [ + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?6-6", + { + "timeout": "long" + } + ], + [ + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?7-7", + { + "timeout": "long" + } + ], + [ + "html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html?8-8", { "timeout": "long" } @@ -611371,7 +611710,7 @@ }, "rendering": { "dimension-attributes.html": [ - "f3dc8f8171807c3940930a25dff56b1245adee7f", + "1d94205e0b1ee6eab918ab7f32af7634ff5a0bf9", [ null, { @@ -617441,8 +617780,17 @@ {} ] ], + "relevant-mutations-lazy.html": [ + "d3784671b860c6f1e1662cf022f4a7519d27db75", + [ + null, + { + "timeout": "long" + } + ] + ], "relevant-mutations.html": [ - "2f1031bf83215e4c696ffaa526e978f6f956a28f", + "24e15543cd86533391710fe34d5f6c380ee96aee", [ null, { @@ -617499,6 +617847,13 @@ null, {} ] + ], + "sizes-auto.html": [ + "41385edd33f1e7cc1fdc1d882883e5725b5e4d2b", + [ + null, + {} + ] ] }, "source-media-outside-doc.html": [ @@ -621126,7 +621481,7 @@ ] ], "popover-focus.html": [ - "98bb065de7b8b894c803d9e6f0d5145515e207bb", + "230492022c045f20a4dad4dcb8a779930371429f", [ null, { @@ -621202,7 +621557,7 @@ ] ], "popover-light-dismiss.html": [ - "59a12a2c9ac18e8eefe603c481057074541109a5", + "0f206f1c700a5fd4def13f49ee927e4526fa1e56", [ null, { @@ -630972,7 +631327,7 @@ ] }, "roles.html": [ - "3609c26a23f9d826fa004c68835039ab051fedc9", + "ff4986370f474668484e24204fa5d8ab204bc81d", [ null, { @@ -630981,7 +631336,7 @@ ] ], "table-roles.html": [ - "d7865f5fccab6ff12fc592835512e613e883ef80", + "3f1a4eccd666eabfc718354e0d436da198469251", [ null, { @@ -646304,6 +646659,15 @@ {} ] ], + "payment-request-disallowed-when-hidden.https.html": [ + "aa59cde2ef0d579cbcc1e205b3d15f5b7c809c66", + [ + null, + { + "testdriver": true + } + ] + ], "payment-request-hasenrolledinstrument-method-protection.tentative.https.html": [ "4da11304a21427040f72317e3746feebb251d12e", [ @@ -647831,6 +648195,27 @@ {} ] ], + "permissions-policy-header-host-wildcard.https.sub.html": [ + "211ca7445df8dbf1be989b361dadaa420fbf54eb", + [ + null, + {} + ] + ], + "permissions-policy-header-port-wildcard.https.sub.html": [ + "adb657023eaf2c4e686adef2ea4dc8a751170c7c", + [ + null, + {} + ] + ], + "permissions-policy-header-scheme-only.https.sub.html": [ + "eab3e8f697fd2c0523e7228491d1dd7777f12841", + [ + null, + {} + ] + ], "private-state-token-redemption-default-permissions-policy.tentative.https.sub.html": [ "4962b42721dfdefafcc1674c5e64d178be841a1a", [ @@ -667124,7 +667509,7 @@ ] ], "animation-timeline-ignored.tentative.html": [ - "4a6624caf437d1f310d5228e14a6e0d773036ced", + "b9efbb428bd97f0de4331dbc7c88731c7067873e", [ null, {} @@ -667605,6 +667990,13 @@ } ] ], + "intrinsic-iteration-duration.tentative.html": [ + "4bcea1adba3d8466a9a5d9d5b432a713cc414994", + [ + null, + {} + ] + ], "pause-animation.html": [ "1f9641e2f8d61845d64bff98129985c42468cee7", [ @@ -667665,6 +668057,13 @@ {} ] ], + "scroll-timeline-range.html": [ + "cc844cb748e6f2b024f7a04392101b77f162c740", + [ + null, + {} + ] + ], "scroll-timeline-snapshotting.html": [ "1e43699d5bfea7f8331a090c01eddcae944b51cc", [ @@ -667696,7 +668095,7 @@ ] ], "setting-timeline.tentative.html": [ - "4a7e7366f791722c80003ad262135e8d1302afc1", + "5813de60fabf2f34881d0aad4356947109c4b983", [ null, {} @@ -667768,7 +668167,7 @@ ] ], "timeline-offset-in-keyframe.html": [ - "62a8d1387d38cb9abd11a6252fefbf7d0fd71f24", + "1168893854297560262e03c28bdf71580955b8ae", [ null, {} @@ -668077,15 +668476,6 @@ } ] ], - "authentication-disallowed-when-hidden.https.html": [ - "1c01fa0e89c133122952479e2e3b1a0632ce0007", - [ - null, - { - "testdriver": true - } - ] - ], "authentication-icon-data-url.https.html": [ "cd820d84c32116a400f76f059af97a0241cfcc37", [ @@ -676164,6 +676554,15 @@ } ] ], + "blob_object_url.html": [ + "fe673d86392903bd8627596e43979398ec65cd5e", + [ + null, + { + "timeout": "long" + } + ] + ], "cache-storage.https.html": [ "b2044a40780def8f74a0e3dcd4d108546d033001", [ @@ -676273,7 +676672,7 @@ ] ], "fetch-blob.html": [ - "7f8d55704934ba8ebd0a8fafab16934c815ad05d", + "098a5a5128926a039ffa1d433c13a55ad0c2670c", [ null, { @@ -676966,7 +677365,7 @@ ] ], "restrictions.html": [ - "5019d4b280cfe523aea11b7a4bee1fdb9fd7ddb6", + "1990dfa1fc4ce5322a1d264ca36743ccf4883a9c", [ null, { @@ -685551,7 +685950,7 @@ ] ], "SVGAnimatedEnumeration-SVGMarkerElement.html": [ - "dfc9dd248007c9e87ca8177167f4b4f1cf9f2e75", + "61c44d0d178a47f6cbca1864d299d1e1c13ceaf7", [ null, {} @@ -691005,7 +691404,7 @@ ], "role": { "abstract-roles.html": [ - "8a98ba74ead17698a48957c88e98601925f4e8e0", + "520ecf2dbb398d3978543b915813257e9c7a7b1c", [ null, { @@ -691023,7 +691422,7 @@ ] ], "fallback-roles.html": [ - "eb6e89b29aec91cd0ca106488e6237cc1731c60c", + "6f42fa693e55eb37f8d014bc2c9001c1a5bcbb72", [ null, { @@ -691041,7 +691440,7 @@ ] ], "invalid-roles.html": [ - "e7d38dc8c950c53a9f15610a1f8eff64f177d8c4", + "da2370583a2267cb078e1ecda4fe3b57905acd76", [ null, { @@ -691050,7 +691449,7 @@ ] ], "list-roles.html": [ - "5d9787f04bfdcbdb236e38583b01401269419b9a", + "da097ce67e8932b6d4ec4d9a533b8b8fdf43b20c", [ null, { @@ -691059,7 +691458,7 @@ ] ], "region-roles.html": [ - "d087f8f69bd0a071f531082e815fc6db4f2c7c60", + "d80570a97bcdddff7ba6669b792d76de72836913", [ null, { @@ -691077,7 +691476,7 @@ ] ], "roles.html": [ - "72c9cdd0cd35eb063491dd93801d6c2b5eb55fac", + "844da3ce47b0f3ec55ed489b24d27f0bdfc3f380", [ null, { @@ -691086,7 +691485,7 @@ ] ], "synonym-roles.html": [ - "59d913a60a3719e4f24d369cd4baeda95e409537", + "06a6a776f45bb11584cac9fffde2d7def82a7b68", [ null, { @@ -706857,7 +707256,7 @@ ] ], "RTCPeerConnection-setRemoteDescription-simulcast.https.html": [ - "98b5d2bab7aa9429352a1842360c6c6a8a75c189", + "c5d46cedfd8a34c2a4085804aa43c9f8d8b6222b", [ null, {} @@ -707142,6 +707541,74 @@ {} ] ], + "back-forward-cache-with-closed-webrtc-connection.https.window.js": [ + "320803adec29361de02f2537c72c231aa290458b", + [ + "webrtc/back-forward-cache-with-closed-webrtc-connection.https.window.html", + { + "script_metadata": [ + [ + "title", + "Testing BFCache support for page with closed WebRTC connection." + ], + [ + "script", + "/common/dispatcher/dispatcher.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js" + ], + [ + "script", + "resources/webrtc-test-helpers.sub.js" + ] + ] + } + ] + ], + "back-forward-cache-with-open-webrtc-connection.https.window.js": [ + "4a4807d5141123cd1cf7e85cc1c8e29623944f59", + [ + "webrtc/back-forward-cache-with-open-webrtc-connection.https.window.html", + { + "script_metadata": [ + [ + "title", + "Testing BFCache support for page with open WebRTC connection." + ], + [ + "script", + "/common/dispatcher/dispatcher.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js" + ], + [ + "script", + "resources/webrtc-test-helpers.sub.js" + ] + ] + } + ] + ], "getstats.html": [ "d6a692bb7860b9c6bd7699ba4e99ea8010922c08", [ @@ -707412,7 +707879,7 @@ ] ], "simulcast-answer.html": [ - "5e19bc08ff5d7fa4860e8e53e4a0611e00d3c6c1", + "f3732ca44c9b7872f26e90aedc2ae05f653343f4", [ null, {} @@ -707548,7 +708015,7 @@ ] ], "setParameters-encodings.https.html": [ - "ac04ca55fb1f34ee51641bb05048de0bff0d57ea", + "86274a0c5a3da8b05c852e7b421951b90eb6e290", [ null, { @@ -715555,6 +716022,82 @@ } ] ], + "back-forward-cache-with-closed-websocket-connection.window.js": [ + "30b8e63a2cd595d1186c1d4737d150dec157b755", + [ + "websockets/back-forward-cache-with-closed-websocket-connection.window.html", + { + "script_metadata": [ + [ + "title", + "Testing BFCache support for page with closed WebSocket connection." + ], + [ + "script", + "/common/dispatcher/dispatcher.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js" + ], + [ + "script", + "/websockets/constants.sub.js" + ], + [ + "script", + "resources/websockets-test-helpers.sub.js" + ] + ] + } + ] + ], + "back-forward-cache-with-open-websocket-connection.window.js": [ + "2baf38f303c3dfd3902b07f05c25523d9c1adfb0", + [ + "websockets/back-forward-cache-with-open-websocket-connection.window.html", + { + "script_metadata": [ + [ + "title", + "Testing BFCache support for page with open WebSocket connection." + ], + [ + "script", + "/common/dispatcher/dispatcher.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js" + ], + [ + "script", + "/websockets/constants.sub.js" + ], + [ + "script", + "resources/websockets-test-helpers.sub.js" + ] + ] + } + ] + ], "basic-auth.any.js": [ "9fbdc5d5cede4050d414bed45a3b8c55689c6c08", [ @@ -719959,6 +720502,82 @@ ] }, "webtransport": { + "back-forward-cache-with-closed-webtransport-connection.https.window.js": [ + "5cc7e93a2e14d5453e5f44630dac8745380d4c47", + [ + "webtransport/back-forward-cache-with-closed-webtransport-connection.https.window.html", + { + "script_metadata": [ + [ + "title", + "Testing BFCache support for page with closed WebTransport connection." + ], + [ + "script", + "/common/dispatcher/dispatcher.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js" + ], + [ + "script", + "resources/webtransport-test-helpers.sub.js" + ] + ] + } + ] + ], + "back-forward-cache-with-open-webtransport-connection.https.window.js": [ + "5d5143ae1a47811822c55ff22148f8e70cc3029d", + [ + "webtransport/back-forward-cache-with-open-webtransport-connection.https.window.html", + { + "script_metadata": [ + [ + "title", + "Testing BFCache support for page with open WebTransport connection." + ], + [ + "script", + "/common/dispatcher/dispatcher.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js" + ], + [ + "script", + "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js" + ], + [ + "script", + "resources/webtransport-test-helpers.sub.js" + ] + ] + } + ] + ], "close.https.any.js": [ "de675036f3d7ea4a7e2aaf5bf88bdfb35a173f3a", [ @@ -728807,7 +729426,7 @@ ] ], "send-authentication-basic-cors-not-enabled.htm": [ - "2e7cbaf034048d3b73c905048b090546bee43ca1", + "41201960cc39ccdf58dc2892826f4c6329595b9d", [ null, {} @@ -728863,14 +729482,14 @@ ] ], "send-authentication-cors-basic-setrequestheader.htm": [ - "de9c5e543038c3527e3fb55b0e8e75728ce0f0a5", + "3c488dcad42485de0074ff435783f87cd4a17663", [ null, {} ] ], "send-authentication-cors-setrequestheader-no-cred.htm": [ - "14edf5bd778ef49eba175be9dd8d657a86426e9c", + "eed619c1efbbb5ca5605ce0d0505ae126bc28a3f", [ null, {} @@ -729132,7 +729751,7 @@ ] ], "send-network-error-sync-events.sub.htm": [ - "2266eb36e1e3791a4fa1b70ea084cc6fcead926d", + "8011c58bdd15ddc766fc70532a1431f98423cc60", [ null, {} diff --git a/tests/wpt/metadata/cors/basic.htm.ini b/tests/wpt/metadata/cors/basic.htm.ini index f10af999034..d0f5e4ca904 100644 --- a/tests/wpt/metadata/cors/basic.htm.ini +++ b/tests/wpt/metadata/cors/basic.htm.ini @@ -1,13 +1,3 @@ [basic.htm] [Same domain basic usage] expected: FAIL - - [Cross domain basic usage, origin: echo] - expected: FAIL - - [Cross domain different port, origin: echo] - expected: FAIL - - [Cross domain different protocol, origin: echo] - expected: FAIL - diff --git a/tests/wpt/metadata/css/css-position/overlay/overlay-user-agent-rules.html.ini b/tests/wpt/metadata/css/css-position/overlay/overlay-user-agent-rules.html.ini new file mode 100644 index 00000000000..970e964ba2d --- /dev/null +++ b/tests/wpt/metadata/css/css-position/overlay/overlay-user-agent-rules.html.ini @@ -0,0 +1,12 @@ +[overlay-user-agent-rules.html] + [HTML elements should have overlay:none !important from the user-agent.] + expected: FAIL + + [SVG elements should have overlay:none !important from the user-agent.] + expected: FAIL + + [Null namespace elements should have overlay:none !important from the user-agent.] + expected: FAIL + + [Arbitrary namespace elements should have overlay:none !important from the user-agent.] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/basic/keepalive.any.js.ini b/tests/wpt/metadata/fetch/api/basic/keepalive.any.js.ini index 4c1c78640bb..e9ab91fc80e 100644 --- a/tests/wpt/metadata/fetch/api/basic/keepalive.any.js.ini +++ b/tests/wpt/metadata/fetch/api/basic/keepalive.any.js.ini @@ -1,4 +1,3 @@ [keepalive.any.html] - expected: TIMEOUT [keepalive in onunload in nested frame in another window] expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini index f61eb5b8e17..73c79c76452 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini @@ -1,5 +1,4 @@ [redirect-keepalive.any.html] - expected: TIMEOUT [[keepalive\][new window\][unload\] same-origin redirect] expected: FAIL diff --git a/tests/wpt/metadata/fetch/local-network-access/iframe.tentative.https.window.js.ini b/tests/wpt/metadata/fetch/local-network-access/iframe.tentative.https.window.js.ini index a3e6497f7c9..5b0348afa74 100644 --- a/tests/wpt/metadata/fetch/local-network-access/iframe.tentative.https.window.js.ini +++ b/tests/wpt/metadata/fetch/local-network-access/iframe.tentative.https.window.js.ini @@ -1,5 +1,4 @@ [iframe.tentative.https.window.html] - expected: TIMEOUT [private to local: failed preflight.] expected: FAIL @@ -31,7 +30,7 @@ expected: FAIL [public to local, grandparent navigates: failure.] - expected: TIMEOUT + expected: FAIL [public to local, grandparent navigates: success.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/fetch/local-network-access/worker-blob-fetch.window.js.ini b/tests/wpt/metadata/fetch/local-network-access/worker-blob-fetch.window.js.ini index 907ee959867..847d587e25f 100644 --- a/tests/wpt/metadata/fetch/local-network-access/worker-blob-fetch.window.js.ini +++ b/tests/wpt/metadata/fetch/local-network-access/worker-blob-fetch.window.js.ini @@ -34,3 +34,6 @@ [treat-as-public to public: success.] expected: FAIL + + [local https to local https: success.] + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini index c8a3c8f9e68..6e9f7acf151 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini @@ -1,6 +1,6 @@ [scroll-restoration-fragment-scrolling-cross-origin.html] type: testharness - expected: ERROR + expected: TIMEOUT [Manual scroll restoration should take precedent over scrolling to fragment in cross origin navigation] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc.html.ini index f2dee7b3ea9..eaebad750fe 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/history-traversal/srcdoc/consecutive-srcdoc.html.ini @@ -1,6 +1,7 @@ [consecutive-srcdoc.html] + expected: TIMEOUT [changing srcdoc does a replace navigation since the URL is still about:srcdoc] expected: FAIL [changing srcdoc to about:srcdoc#yo then another srcdoc does two push navigations and we can navigate back] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/failure-check-sequence.https.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/failure-check-sequence.https.html.ini index 1d68034a37d..ab9ac6e835e 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/failure-check-sequence.https.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/failure-check-sequence.https.html.ini @@ -1,12 +1,13 @@ [failure-check-sequence.https.html] + expected: TIMEOUT [CSP check precedes COEP check - CSP header first] - expected: FAIL + expected: NOTRUN [COEP check precedes X-Frame-Options check] - expected: FAIL + expected: NOTRUN [CSP check precedes COEP check - COEP header first] - expected: FAIL + expected: NOTRUN [CSP check precedes X-Frame-Options check] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini index 149bcb4ff8c..51fd557bd7f 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini @@ -7,6 +7,3 @@ [load & pageshow events do not fire on contentWindow of diff --git a/tests/wpt/web-platform-tests/fetch/content-length/resources/content-lengths.json b/tests/wpt/web-platform-tests/fetch/content-length/resources/content-lengths.json index dac9c82dc09..ac6f1a24680 100644 --- a/tests/wpt/web-platform-tests/fetch/content-length/resources/content-lengths.json +++ b/tests/wpt/web-platform-tests/fetch/content-length/resources/content-lengths.json @@ -31,6 +31,22 @@ "input": "Content-Length: 30\r\nContent-Length: 30,30", "output": 30 }, + { + "input": "Content-Length: 30,30\r\nContent-Length: 30,30", + "output": 30 + }, + { + "input": "Content-Length: 30,30, 30 \r\nContent-Length: 30 ", + "output": 30 + }, + { + "input": "Content-Length: 30,42\r\nContent-Length: 30", + "output": null + }, + { + "input": "Content-Length: 30,42\r\nContent-Length: 30,42", + "output": null + }, { "input": "Content-Length: 42,30", "output": null diff --git a/tests/wpt/web-platform-tests/graphics-aria/graphics-roles.html b/tests/wpt/web-platform-tests/graphics-aria/graphics-roles.html index 159190ed833..fd7fabbb690 100644 --- a/tests/wpt/web-platform-tests/graphics-aria/graphics-roles.html +++ b/tests/wpt/web-platform-tests/graphics-aria/graphics-roles.html @@ -10,6 +10,8 @@ +

Tests the concrete roles defined in the ARIA Graphics Module role definitions.

+
x
x
x
diff --git a/tests/wpt/web-platform-tests/html-aam/roles.html b/tests/wpt/web-platform-tests/html-aam/roles.html index 3609c26a23f..ff4986370f4 100644 --- a/tests/wpt/web-platform-tests/html-aam/roles.html +++ b/tests/wpt/web-platform-tests/html-aam/roles.html @@ -11,7 +11,10 @@ - + +

Tests the computedrole mappings defined in HTML-AAM. Most test names correspond to unique ID defined in the spec.

+ +

These should remain in alphabetical order, and include all HTML tagnames. If a tag is not tested here, include a pointer to the file where it is tested, such as: <!-- caption -> ./table-roles.html -->

x x diff --git a/tests/wpt/web-platform-tests/html-aam/table-roles.html b/tests/wpt/web-platform-tests/html-aam/table-roles.html index d7865f5fcca..3f1a4eccd66 100644 --- a/tests/wpt/web-platform-tests/html-aam/table-roles.html +++ b/tests/wpt/web-platform-tests/html-aam/table-roles.html @@ -11,6 +11,8 @@ +

Tests the computedrole mappings for the table-related roles defined in HTML-AAM. Most test names correspond to unique ID defined in the spec.

+ diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-base.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-base.html new file mode 100644 index 00000000000..ea95d812d7a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-base.html @@ -0,0 +1,18 @@ + + +history.pushState() with an empty string URL and base URL different from document's URL + + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-whitespace.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-whitespace.html new file mode 100644 index 00000000000..72d9be6a9c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate-whitespace.html @@ -0,0 +1,20 @@ + + +history.pushState() with a whitespace URL + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate.html new file mode 100644 index 00000000000..1953709269e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/pushstate.html @@ -0,0 +1,17 @@ + + +history.pushState() with an empty string URL + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-base.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-base.html new file mode 100644 index 00000000000..224e928de6a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-base.html @@ -0,0 +1,18 @@ + + +history.replaceState() with an empty string URL and base URL different from document's URL + + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-whitespace.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-whitespace.html new file mode 100644 index 00000000000..7261cdf3fa1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate-whitespace.html @@ -0,0 +1,20 @@ + + +history.replaceState() with a whitespace URL + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate.html new file mode 100644 index 00000000000..66b4cc6f82b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/pushstate-replacestate-empty-string/replacestate.html @@ -0,0 +1,17 @@ + + +history.replaceState() with an empty string URL + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js new file mode 100644 index 00000000000..39dc3b1cc21 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js @@ -0,0 +1,10 @@ +// META: script=/common/get-host-info.sub.js + +// To use document.domain, we need to start from a subdomain. +// +// For document.domain setter to work, some web browser require the +// |Origin-Agent-Cluster: ?0| header to be set uniformly on the origin. +const origin = get_host_info().OTHER_ORIGIN; +const openee = window.open( + origin + '/html/browsers/origin/inheritance/resources/document-write.html') +fetch_tests_from_window(openee); diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js.headers b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js.headers new file mode 100644 index 00000000000..e007de4d7bf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/document-write.https.window.js.headers @@ -0,0 +1 @@ +Origin-Agent-Cluster: ?0 diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html new file mode 100644 index 00000000000..7a6ff3118eb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html @@ -0,0 +1,40 @@ + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html.headers b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html.headers new file mode 100644 index 00000000000..e007de4d7bf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/document-write.html.headers @@ -0,0 +1 @@ +Origin-Agent-Cluster: ?0 diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html new file mode 100644 index 00000000000..b3f51252332 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html.headers b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html.headers new file mode 100644 index 00000000000..e007de4d7bf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/origin/inheritance/resources/iframe-with-about-blank-iframe.html.headers @@ -0,0 +1 @@ +Origin-Agent-Cluster: ?0 diff --git a/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html b/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html deleted file mode 100644 index ffe19ce9bc4..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html +++ /dev/null @@ -1,31 +0,0 @@ - - -Canvas test: 2d.drawImage.animated.apng - - - - - - -

2d.drawImage.animated.apng

-

drawImage() of an APNG with no poster frame draws the first frame

- - -

Actual output:

-

FAIL (fallback content)

-

Expected output:

-

- - - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html b/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html deleted file mode 100644 index 2d28bc12837..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html +++ /dev/null @@ -1,33 +0,0 @@ - - -Canvas test: 2d.drawImage.animated.poster - - - - - - -

2d.drawImage.animated.poster

-

drawImage() of an APNG draws the poster frame

- - -

Actual output:

-

FAIL (fallback content)

-

Expected output:

-

- - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_zerosize-image.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_zerosize-image.html deleted file mode 100644 index 1c4e74866ab..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_zerosize-image.html +++ /dev/null @@ -1,33 +0,0 @@ - -Canvas test: 2d.drawImage.zerosource.image - - - - - - -

2d.drawImage.zerosource.image

-

drawImage with zero-sized source rectangle from image draws nothing without exception

- - -

Actual output:

-

FAIL (fallback content)

-

Expected output:

-

- - - - diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html deleted file mode 100644 index eccf14bfd04..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html +++ /dev/null @@ -1,26 +0,0 @@ - - -OffscreenCanvas test: 2d.drawImage.animated.poster - - - - -

2d.drawImage.animated.poster

-

drawImage() of an APNG draws the poster frame

- - - diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker.js deleted file mode 100644 index 542c9382f64..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker.js +++ /dev/null @@ -1,22 +0,0 @@ -// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -// OffscreenCanvas test in a worker:2d.drawImage.animated.poster -// Description:drawImage() of an APNG draws the poster frame -// Note: - -importScripts("/resources/testharness.js"); -importScripts("/html/canvas/resources/canvas-tests.js"); - -promise_test(async t => { - - var canvas = new OffscreenCanvas(100, 50); - var ctx = canvas.getContext('2d'); - - const response = await fetch('/images/anim-poster-gr.png'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - - ctx.drawImage(bitmap, 0, 0); - _assertPixelApprox(canvas, 50,25, 0,255,0,255, 2); - t.done(); -}, "drawImage() of an APNG draws the poster frame"); -done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.html index cd293595fe8..c2ebd265cfa 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.html @@ -15,11 +15,16 @@ promise_test(async t => { var canvas = new OffscreenCanvas(100, 50); var ctx = canvas.getContext('2d'); - const response = await fetch('/images/green.svg'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - ctx.drawImage(bitmap, 0, 0); - _assertPixelApprox(canvas, 50,25, 0,255,0,255, 2); + const img = new Image(); + const imageLoadPromise = new Promise((resolve, reject) => { + img.onload = () => resolve(); + img.onerror = (err) => reject(err); + }); + img.src = '/images/green.svg'; + await imageLoadPromise; + + ctx.drawImage(img, 0, 0); + _assertPixelApprox(canvas, 50, 25, 0, 255, 0, 255, 2); }, "drawImage() of an SVG image"); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.worker.js deleted file mode 100644 index 8293e89f247..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.svg.worker.js +++ /dev/null @@ -1,21 +0,0 @@ -// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -// OffscreenCanvas test in a worker:2d.drawImage.svg -// Description:drawImage() of an SVG image -// Note: - -importScripts("/resources/testharness.js"); -importScripts("/html/canvas/resources/canvas-tests.js"); - -promise_test(async t => { - - var canvas = new OffscreenCanvas(100, 50); - var ctx = canvas.getContext('2d'); - - const response = await fetch('/images/green.svg'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - ctx.drawImage(bitmap, 0, 0); - _assertPixelApprox(canvas, 50,25, 0,255,0,255, 2); - t.done(); -}, "drawImage() of an SVG image"); -done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html index 5dfb2f3002c..77182242d4c 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html @@ -17,11 +17,23 @@ promise_test(async t => { ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50); - const response = await fetch('/images/red-zerowidth.svg'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - ctx.drawImage(bitmap, 0, 0, 100, 50); - _assertPixel(canvas, 50,25, 0,255,0,255); + + function loadImage(src) { + return new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => resolve(img); + img.onerror = (err) => reject(err); + img.src = src; + }); + } + const img1 = await loadImage('/images/red-zerowidth.svg'); + const img2 = await loadImage('/images/red-zeroheight.svg'); + const img3 = await loadImage('/images/red-zerosize.svg'); + + ctx.drawImage(img1, 0, 0, 100, 50); + ctx.drawImage(img2, 0, 0, 100, 50); + ctx.drawImage(img3, 0, 0, 100, 50); + _assertPixel(canvas, 50, 25, 0, 255, 0, 255); }, "drawImage with zero-sized source rectangle from image draws nothing without exception"); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js deleted file mode 100644 index 467beb4d12f..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker.js +++ /dev/null @@ -1,23 +0,0 @@ -// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -// OffscreenCanvas test in a worker:2d.drawImage.zerosource.image -// Description:drawImage with zero-sized source rectangle from image draws nothing without exception -// Note: - -importScripts("/resources/testharness.js"); -importScripts("/html/canvas/resources/canvas-tests.js"); - -promise_test(async t => { - - var canvas = new OffscreenCanvas(100, 50); - var ctx = canvas.getContext('2d'); - - ctx.fillStyle = '#0f0'; - ctx.fillRect(0, 0, 100, 50); - const response = await fetch('/images/red-zerowidth.svg'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - ctx.drawImage(bitmap, 0, 0, 100, 50); - _assertPixel(canvas, 50,25, 0,255,0,255); - t.done(); -}, "drawImage with zero-sized source rectangle from image draws nothing without exception"); -done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html deleted file mode 100644 index 4ee68b430fd..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w.html deleted file mode 100644 index 7d1d2c85f9c..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.commit.w.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/PRESUBMIT.py b/tests/wpt/web-platform-tests/html/canvas/tools/PRESUBMIT.py index 048e96b7012..c7fb93ae6fd 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/PRESUBMIT.py +++ b/tests/wpt/web-platform-tests/html/canvas/tools/PRESUBMIT.py @@ -7,8 +7,6 @@ See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for more details about the presubmit API built into depot_tools. """ -USE_PYTHON3 = True - def CommonChecks(input_api, output_api): return input_api.canned_checks.RunPylint(input_api, output_api) diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py b/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py index cf154c41894..0542e32571a 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py +++ b/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py @@ -28,7 +28,7 @@ # # * Test the tests, add new ones to Git, remove deleted ones from Git, etc. -from typing import Any, List, Mapping, MutableMapping, Optional, Set, Tuple +from typing import Any, List, Mapping, Optional, Set, Tuple import re import collections @@ -40,7 +40,6 @@ import jinja2 import os import pathlib import sys -import textwrap try: import cairocffi as cairo # type: ignore @@ -236,14 +235,14 @@ def _expand_test_code(code: str) -> str: return code -class TestType(str, enum.Enum): +class CanvasType(str, enum.Enum): HTML_CANVAS = 'htmlcanvas' OFFSCREEN_CANVAS = 'offscreencanvas' WORKER = 'worker' -def _get_enabled_test_types(test: Mapping[str, Any]) -> Set[TestType]: - return {TestType(t.lower()) for t in test.get('canvasType', TestType)} +def _get_enabled_canvas_types(test: Mapping[str, Any]) -> Set[CanvasType]: + return {CanvasType(t.lower()) for t in test.get('canvasType', CanvasType)} @dataclasses.dataclass @@ -252,104 +251,142 @@ class TestConfig: image_out_dir: str -_CANVAS_SIZE_REGEX = re.compile(r'(?P.*), (?P.*)', - re.MULTILINE | re.DOTALL) +def _validate_test(test: Mapping[str, Any]): + if test.get('expected', '') == 'green' and re.search( + r'@assert pixel .* 0,0,0,0;', test['code']): + print('Probable incorrect pixel test in %s' % test['name']) - -def _get_canvas_size(test: Mapping[str, Any]): - size = test.get('size', '100, 50') - match = _CANVAS_SIZE_REGEX.match(size) - if not match: + if 'size' in test and (not isinstance(test['size'], list) + or len(test['size']) != 2): raise InvalidTestDefinitionError( - 'Invalid canvas size "%s" in test %s. Expected a string matching ' - 'this pattern: "%%s, %%s" %% (width, height)' % - (size, test['name'])) - return match.group('width'), match.group('height') + f'Invalid canvas size "{test["size"]}" in test {test["name"]}. ' + 'Expected an array with two numbers.') - -def _write_reference_test(test: Mapping[str, Any], - jinja_env: jinja2.Environment, - template_params: MutableMapping[str, Any], - enabled_tests: Set[TestType], - canvas_path: str, offscreen_path: str): - name = template_params["name"] - js_ref = test.get('reference') - html_ref = test.get('html_reference') - if js_ref is not None and html_ref is not None: + if 'test_type' in test and test['test_type'] != 'promise': raise InvalidTestDefinitionError( - f'Test {name} is invalid, "reference" and "html_reference" can\'t ' - 'both be specified at the same time.') + f'Test {test["name"]}\' test_type is invalid, it only accepts ' + '"promise" now for creating promise test type in the template ' + 'file.') - ref_params = template_params.copy() - ref_params.update({'code': js_ref or html_ref}) - ref_template_name = 'reftest_element.html' if js_ref else 'reftest.html' - if TestType.HTML_CANVAS in enabled_tests: - pathlib.Path(f'{canvas_path}-expected.html').write_text( - jinja_env.get_template(ref_template_name).render(ref_params), - 'utf-8') - if {TestType.OFFSCREEN_CANVAS, TestType.WORKER} & enabled_tests: - pathlib.Path(f'{offscreen_path}-expected.html').write_text( - jinja_env.get_template(ref_template_name).render(ref_params), - 'utf-8') + if 'reference' in test and 'html_reference' in test: + raise InvalidTestDefinitionError( + f'Test {test["name"]} is invalid, "reference" and "html_reference" ' + 'can\'t both be specified at the same time.') - params = template_params.copy() + +def _render_template(jinja_env: jinja2.Environment, + template: jinja2.Template, + params: Mapping[str, Any]) -> str: + """Renders the specified jinja template. + + The template is repetitively rendered until no more changes are observed. + This allows for template parameters to refer to other template parameters. + """ + rendered = template.render(params) + previous = '' + while rendered != previous: + previous = rendered + template = jinja_env.from_string(rendered) + rendered = template.render(params) + return rendered + + +def _render(jinja_env: jinja2.Environment, template_name: str, + params: Mapping[str, Any]): + params = dict(params) params.update({ - 'ref_link': f'{name}-expected.html', - 'fuzzy': test.get('fuzzy') + # Render the code on its own, as it could contain templates expanding + # to multuple lines. This is needed to get proper indentation of the + # code in the main template. + 'code': _render_template(jinja_env, + jinja_env.from_string(params['code']), + params) }) - if TestType.HTML_CANVAS in enabled_tests: + + return _render_template(jinja_env, jinja_env.get_template(template_name), + params) + + +def _write_reference_test(jinja_env: jinja2.Environment, + params: Mapping[str, Any], + enabled_tests: Set[CanvasType], + canvas_path: str, offscreen_path: str): + if CanvasType.HTML_CANVAS in enabled_tests: + html_params = dict(params) + html_params.update({'canvas_type': CanvasType.HTML_CANVAS.value}) pathlib.Path(f'{canvas_path}.html').write_text( - jinja_env.get_template("reftest_element.html").render(params), - 'utf-8') - if TestType.OFFSCREEN_CANVAS in enabled_tests: + _render(jinja_env, "reftest_element.html", html_params), 'utf-8') + if CanvasType.OFFSCREEN_CANVAS in enabled_tests: + offscreen_params = dict(params) + offscreen_params.update({ + 'canvas_type': CanvasType.OFFSCREEN_CANVAS.value + }) pathlib.Path(f'{offscreen_path}.html').write_text( - jinja_env.get_template("reftest_offscreen.html").render(params), + _render(jinja_env, "reftest_offscreen.html", offscreen_params), 'utf-8') - if TestType.WORKER in enabled_tests: + if CanvasType.WORKER in enabled_tests: + worker_params = dict(params) + worker_params.update({'canvas_type': CanvasType.WORKER.value}) pathlib.Path(f'{offscreen_path}.w.html').write_text( - jinja_env.get_template("reftest_worker.html").render(params), - 'utf-8') + _render(jinja_env, "reftest_worker.html", worker_params), 'utf-8') + + js_ref = params.get('reference', '') + html_ref = params.get('html_reference', '') + ref_params = dict(params) + ref_params.update({ + 'is_test_reference': True, + 'code': js_ref or html_ref + }) + ref_template_name = 'reftest_element.html' if js_ref else 'reftest.html' + if CanvasType.HTML_CANVAS in enabled_tests: + pathlib.Path(f'{canvas_path}-expected.html').write_text( + _render(jinja_env, ref_template_name, ref_params), 'utf-8') + if {CanvasType.OFFSCREEN_CANVAS, CanvasType.WORKER} & enabled_tests: + pathlib.Path(f'{offscreen_path}-expected.html').write_text( + _render(jinja_env, ref_template_name, ref_params), 'utf-8') def _write_testharness_test(jinja_env: jinja2.Environment, - template_params: MutableMapping[str, Any], - enabled_tests: Set[TestType], + params: Mapping[str, Any], + enabled_tests: Set[CanvasType], canvas_path: str, offscreen_path: str): # Create test cases for canvas and offscreencanvas. - if TestType.HTML_CANVAS in enabled_tests: + if CanvasType.HTML_CANVAS in enabled_tests: + html_params = dict(params) + html_params.update({'canvas_type': CanvasType.HTML_CANVAS.value}) pathlib.Path(f'{canvas_path}.html').write_text( - jinja_env.get_template("testharness_element.html").render( - template_params), 'utf-8') + _render(jinja_env, "testharness_element.html", html_params), + 'utf-8') - template_params['done_needed'] = ('then(t_pass, t_fail);' - not in template_params['code']) - - if TestType.OFFSCREEN_CANVAS in enabled_tests: + if CanvasType.OFFSCREEN_CANVAS in enabled_tests: + offscreen_params = dict(params) + offscreen_params.update({ + 'canvas_type': CanvasType.OFFSCREEN_CANVAS.value + }) pathlib.Path(f'{offscreen_path}.html').write_text( - jinja_env.get_template("testharness_offscreen.html").render( - template_params), 'utf-8') + _render(jinja_env, "testharness_offscreen.html", offscreen_params), + 'utf-8') - if TestType.WORKER in enabled_tests: + if CanvasType.WORKER in enabled_tests: + worker_params = dict(params) + worker_params.update({'canvas_type': CanvasType.WORKER.value}) pathlib.Path(f'{offscreen_path}.worker.js').write_text( - jinja_env.get_template("testharness_worker.js").render( - template_params), 'utf-8') + _render(jinja_env, "testharness_worker.js", worker_params), + 'utf-8') def _generate_test(test: Mapping[str, Any], jinja_env: jinja2.Environment, - sub_dir: str, enabled_tests: Set[TestType], + sub_dir: str, enabled_tests: Set[CanvasType], html_canvas_cfg: TestConfig, offscreen_canvas_cfg: TestConfig) -> None: + _validate_test(test) + name = test['name'] - if test.get('expected', '') == 'green' and re.search( - r'@assert pixel .* 0,0,0,0;', test['code']): - print('Probable incorrect pixel test in %s' % name) - - expectation_html = '' + expected_img = None if 'expected' in test and test['expected'] is not None: expected = test['expected'] - expected_img = None if expected == 'green': expected_img = '/images/green-100x50.png' elif expected == 'clear': @@ -362,14 +399,14 @@ def _generate_test(test: Mapping[str, Any], jinja_env: jinja2.Environment, r'surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, \1, \2)' r'\ncr = cairo.Context(surface)', expected) - if TestType.HTML_CANVAS in enabled_tests: + if CanvasType.HTML_CANVAS in enabled_tests: expected_canvas = ( expected + "\nsurface.write_to_png('%s.png')\n" % os.path.join(html_canvas_cfg.image_out_dir, sub_dir, name)) eval(compile(expected_canvas, '' % name, 'exec'), {}, {'cairo': cairo}) - if {TestType.OFFSCREEN_CANVAS, TestType.WORKER} & enabled_tests: + if {CanvasType.OFFSCREEN_CANVAS, CanvasType.WORKER} & enabled_tests: expected_offscreen = ( expected + "\nsurface.write_to_png('%s.png')\n" % os.path.join( @@ -379,53 +416,18 @@ def _generate_test(test: Mapping[str, Any], jinja_env: jinja2.Environment, expected_img = '%s.png' % name - if expected_img: - expectation_html = ( - '

Expected output:

' - '' % expected_img) - - width, height = _get_canvas_size(test) - - images = '' - for src in test.get('images', []): - img_id = src.split('/')[-1] - if '/' not in src: - src = '../images/%s' % src - images += '\n' % (src, img_id) - for src in test.get('svgimages', []): - img_id = src.split('/')[-1] - if '/' not in src: - src = '../images/%s' % src - images += ('' - '\n' % (src, img_id)) - images = images.replace('../images/', '/images/') - - is_promise_test = False - if 'test_type' in test: - if test['test_type'] == 'promise': - is_promise_test = True - else: - raise InvalidTestDefinitionError( - f'Test {name}\' test_type is invalid, it only accepts ' - '"promise" now for creating promise test type in the template ' - 'file.') - - template_params = { - 'name': name, - 'desc': test.get('desc', ''), - 'notes': test.get('notes', ''), - 'images': images, - 'timeout': test.get('timeout'), - 'canvas': test.get('canvas', ''), - 'width': width, - 'height': height, - 'expected': expectation_html, - 'code': _expand_test_code(test['code']), - 'attributes': test.get('attributes', ''), - 'promise_test': is_promise_test + # Defaults: + params = { + 'desc': '', + 'size': [100, 50], } + params.update(test) + params.update({ + 'code': _expand_test_code(test['code']), + 'expected_img': expected_img + }) + canvas_path = os.path.join(html_canvas_cfg.out_dir, sub_dir, name) offscreen_path = os.path.join(offscreen_canvas_cfg.out_dir, sub_dir, name) if 'manual' in test: @@ -433,11 +435,11 @@ def _generate_test(test: Mapping[str, Any], jinja_env: jinja2.Environment, offscreen_path += '-manual' if 'reference' in test or 'html_reference' in test: - _write_reference_test(test, jinja_env, template_params, enabled_tests, + _write_reference_test(jinja_env, params, enabled_tests, canvas_path, offscreen_path) else: - _write_testharness_test(jinja_env, template_params, enabled_tests, - canvas_path, offscreen_path) + _write_testharness_test(jinja_env, params, enabled_tests, canvas_path, + offscreen_path) def genTestUtils_union(NAME2DIRFILE: str) -> None: @@ -499,32 +501,26 @@ def genTestUtils_union(NAME2DIRFILE: str) -> None: test = original_test.copy() if variant_name or variant_params: test['name'] += '.' + variant_name - test['code'] = test['code'] % variant_params - if 'reference' in test: - test['reference'] = test['reference'] % variant_params - if 'html_reference' in test: - test['html_reference'] = ( - test['html_reference'] % variant_params) test.update(variant_params) name = test['name'] print('\r(%s)' % name, ' ' * 32, '\t') - enabled_test_types = _get_enabled_test_types(test) + enabled_canvas_types = _get_enabled_canvas_types(test) already_tested = used_tests[name].intersection( - enabled_test_types) + enabled_canvas_types) if already_tested: raise InvalidTestDefinitionError( f'Test {name} is defined twice for types {already_tested}') - used_tests[name].update(enabled_test_types) + used_tests[name].update(enabled_canvas_types) sub_dir = _get_test_sub_dir(name, name_to_sub_dir) _generate_test( test, jinja_env, sub_dir, - enabled_test_types, + enabled_canvas_types, html_canvas_cfg=TestConfig( out_dir=CANVASOUTPUTDIR, image_out_dir=CANVASIMAGEOUTPUTDIR), diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest.html b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest.html index 8f98e164845..4c9affbbbbf 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest.html +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest.html @@ -1,15 +1,14 @@ -{% if ref_link %} -{% endif %} -{% if fuzzy %} -{% endif %} -{% if timeout %} -{% endif %} Canvas test: {{ name }}

{{ name }}

{{ desc }}

{% if notes %}

{{ notes }}{% endif %} {{ code | trim }} -{{ images -}} +{% for image in images %} + +{% endfor -%} +{% for svgimage in svgimages %} + +{% endfor -%} diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_element.html b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_element.html index 25445af6a4f..6684e9c615b 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_element.html +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_element.html @@ -1,28 +1,34 @@ -{% if promise_test %} -{% endif %} -{% if ref_link %} +{% if test_type == 'promise' %} {% endif %} +{% if not is_test_reference %} + {% if fuzzy %} {% endif %} +{% endif %} {% if timeout %} {% endif %} Canvas test: {{ name }}

{{ name }}

{{ desc }}

{% if notes %}

{{ notes }}{% endif %} - +

FAIL (fallback content)

- + const canvas = document.getElementById("canvas"); const ctx = canvas.getContext('2d'{% if attributes %}, {{ attributes }}{% endif %}); {{ code | trim | indent(2) }} - {% if promise_test %} + {% if test_type == 'promise' %} document.documentElement.classList.remove("reftest-wait"); {% endif %} -{{ images -}} -{% if promise_test %}{% endif %} +{% for image in images %} + +{% endfor -%} +{% for svgimage in svgimages %} + +{% endfor -%} +{% if test_type == 'promise' %}{% endif %} diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_offscreen.html b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_offscreen.html index 4d8b7c9de54..1d0d93dfa16 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_offscreen.html +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_offscreen.html @@ -1,9 +1,8 @@ -{% if promise_test %} -{% endif %} -{% if ref_link %} +{% if test_type == 'promise' %} {% endif %} + {% if fuzzy %} {% endif %} {% if timeout %} @@ -12,20 +11,19 @@

{{ name }}

{{ desc }}

{% if notes %}

{{ notes }}{% endif %} - +

FAIL (fallback content)

- - const canvas = new OffscreenCanvas({{ width }}, {{ height }}); + + const canvas = new OffscreenCanvas({{ size[0] }}, {{ size[1] }}); const ctx = canvas.getContext('2d'{% if attributes %}, {{ attributes }}{% endif %}); {{ code | trim | indent(2) }} const outputCanvas = document.getElementById("canvas"); outputCanvas.getContext('2d'{% if attributes %}, {{ attributes }}{% endif %}).drawImage(canvas, 0, 0); - {% if promise_test %} + {% if test_type == 'promise' %} document.documentElement.classList.remove("reftest-wait"); {% endif %} -{{ images -}} -{% if promise_test %}{% endif %} +{% if test_type == 'promise' %}{% endif %} diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_worker.html b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_worker.html index 7ce9ca5b159..e636d3634ba 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_worker.html +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/reftest_worker.html @@ -1,8 +1,7 @@ -{% if ref_link %} -{% endif %} + {% if fuzzy %} {% endif %} {% if timeout %} @@ -11,12 +10,12 @@

{{ name }}

{{ desc }}

{% if notes %}

{{ notes }}{% endif %} - +

FAIL (fallback content)

-{{ images -}} diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_element.html b/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_element.html index 521fece50c4..b6bda2835e2 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_element.html +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_element.html @@ -15,14 +15,16 @@ {% endif %}

Actual output:

-

FAIL (fallback content)

-{{ expected }} +{% if expected_img %} +

Expected output:

+{%- endif +%}

    -{{ images }} +{% for image in images %} + +{% endfor -%} +{% for svgimage in svgimages %} + +{% endfor +%} diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_offscreen.html b/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_offscreen.html index a6de83c4195..8ebbff77a6c 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_offscreen.html +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_offscreen.html @@ -13,7 +13,7 @@ +{% for svgimage in svgimages %} + +{% endfor %} diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_worker.js b/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_worker.js index b6575b95a67..f1f04e7bb6b 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates/testharness_worker.js @@ -8,7 +8,7 @@ importScripts("/resources/testharness.js"); importScripts("/html/canvas/resources/canvas-tests.js"); {# Promise vs. async test header: #} -{% if promise_test %} +{% if test_type == 'promise' %} promise_test(async t => { {% else %} var t = async_test("{{ desc | double_quote_escape }}"); @@ -20,14 +20,14 @@ t.step(function() { {% endif %} {# Test body: #} - var canvas = new OffscreenCanvas({{ width }}, {{ height }}); + var canvas = new OffscreenCanvas({{ size[0] }}, {{ size[1] }}); var ctx = canvas.getContext('2d'{% if attributes %}, {{ attributes }}{% endif %}); {{ code | trim | indent(2)}} t.done(); {#- Promise vs. async test footer: +#} -{% if promise_test %} +{% if test_type == 'promise' %} }, "{{ desc }}"); {% else %} }); diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml index 91b92b0092f..93c556288d7 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml @@ -187,19 +187,6 @@ }), 500); expected: green -- name: 2d.drawImage.animated.apng - desc: drawImage() of an APNG with no poster frame draws the first frame - canvasType: ['HTMLCanvas'] - images: - - anim-gr.png - code: | - deferTest(); - step_timeout(t.step_func_done(function () { - ctx.drawImage(document.getElementById('anim-gr.png'), 0, 0); - @assert pixel 50,25 ==~ 0,255,0,255; - }), 500); - expected: green - # TODO: drawImage shadows - name: 2d.drawImage.3arg @@ -398,7 +385,7 @@ - name: 2d.drawImage.zerosource.image desc: drawImage with zero-sized source rectangle from image draws nothing without exception test_type: promise - canvasType: ['HTMLCanvas'] + canvasType: ['HTMLCanvas', 'OffscreenCanvas'] code: | ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 100, 50); @@ -421,19 +408,6 @@ _assertPixel(canvas, 50, 25, 0, 255, 0, 255); expected: green -- name: 2d.drawImage.zerosource.image - desc: drawImage with zero-sized source rectangle from image draws nothing without exception - test_type: promise - canvasType: ['OffscreenCanvas', 'Worker'] - code: | - ctx.fillStyle = '#0f0'; - ctx.fillRect(0, 0, 100, 50); - const response = await fetch('/images/red-zerowidth.svg'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - ctx.drawImage(bitmap, 0, 0, 100, 50); - _assertPixel(canvas, 50,25, 0,255,0,255); - expected: green - name: 2d.drawImage.negativesource desc: Negative source width/height represents the correct rectangle @@ -544,7 +518,7 @@ - name: 2d.drawImage.svg desc: drawImage() of an SVG image test_type: promise - canvasType: ['HTMLCanvas'] + canvasType: ['HTMLCanvas', 'OffscreenCanvas'] code: | const img = new Image(); const imageLoadPromise = new Promise((resolve, reject) => { @@ -558,31 +532,6 @@ _assertPixelApprox(canvas, 50, 25, 0, 255, 0, 255, 2); expected: green - -- name: 2d.drawImage.svg - desc: drawImage() of an SVG image - test_type: promise - canvasType: ['OffscreenCanvas', 'Worker'] - code: | - const response = await fetch('/images/green.svg'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - ctx.drawImage(bitmap, 0, 0); - _assertPixelApprox(canvas, 50,25, 0,255,0,255, 2); - expected: green - -- name: 2d.drawImage.animated.poster - desc: drawImage() of an APNG draws the poster frame - test_type: promise - code: | - const response = await fetch('/images/anim-poster-gr.png'); - const blob = await response.blob(); - const bitmap = await createImageBitmap(blob); - - ctx.drawImage(bitmap, 0, 0); - @assert pixel 50,25 ==~ 0,255,0,255; @moz-todo - expected: green - - name: 2d.drawImage.path test_type: promise code: | diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml index 9a90bed2482..a5c2b9864b6 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml @@ -349,13 +349,13 @@ - name: 2d.filter.canvasFilterObject.dropShadow.tentative desc: Test CanvasFilter() dropShadow object. - size: 520, 420 + size: [520, 420] code: | ctx.fillStyle = 'teal'; - ctx.fillRect(0, 0, 520, 50); - ctx.fillRect(0, 100, 520, 50); - ctx.fillRect(0, 200, 520, 50); - ctx.fillRect(0, 300, 520, 50); + ctx.fillRect(0, 0, {{ size[0] }}, 50); + ctx.fillRect(0, 100, {{ size[0] }}, 50); + ctx.fillRect(0, 200, {{ size[0] }}, 50); + ctx.fillRect(0, 300, {{ size[0] }}, 50); ctx.fillStyle = 'crimson'; @@ -446,7 +446,7 @@ ctx.fillRect(210, 310, 80, 80); html_reference: | diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/layers.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/layers.yaml index e0d2b3d793b..8ca05bec84d 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/layers.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/layers.yaml @@ -1,6 +1,6 @@ - name: 2d.layer.global-states desc: Checks that layers correctly use global render states. - size: 200, 200 + size: [200, 200] code: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; @@ -8,7 +8,7 @@ circle.arc(90, 90, 45, 0, 2 * Math.PI); ctx.fill(circle); - %(render-states)s + {{ render_states }} ctx.beginLayer(); @@ -29,7 +29,7 @@ circle.arc(90, 90, 45, 0, 2 * Math.PI); ctx.fill(circle); - %(render-states)s + {{ render_states }} canvas2 = document.createElement("canvas"); ctx2 = canvas2.getContext("2d"); @@ -43,54 +43,54 @@ ctx.drawImage(canvas2, 0, 0); variants: &global-state-variants no-global-states: - render-states: // No global states. + render_states: // No global states. alpha: - render-states: ctx.globalAlpha = 0.6; + render_states: ctx.globalAlpha = 0.6; blending: - render-states: ctx.globalCompositeOperation = 'multiply'; + render_states: ctx.globalCompositeOperation = 'multiply'; composite: - render-states: ctx.globalCompositeOperation = 'source-in'; + render_states: ctx.globalCompositeOperation = 'source-in'; shadow: - render-states: |- + render_states: |- ctx.shadowOffsetX = -10; ctx.shadowOffsetY = 10; ctx.shadowColor = 'rgba(255, 165, 0, 0.5)'; alpha.blending: - render-states: |- + render_states: |- ctx.globalAlpha = 0.6; ctx.globalCompositeOperation = 'multiply'; alpha.composite: - render-states: |- + render_states: |- ctx.globalAlpha = 0.6; ctx.globalCompositeOperation = 'source-in'; alpha.shadow: - render-states: |- + render_states: |- ctx.globalAlpha = 0.5; ctx.shadowOffsetX = -10; ctx.shadowOffsetY = 10; ctx.shadowColor = 'rgba(255, 165, 0, 0.5)'; alpha.blending.shadow: - render-states: |- + render_states: |- ctx.globalAlpha = 0.6; ctx.globalCompositeOperation = 'multiply'; ctx.shadowOffsetX = -10; ctx.shadowOffsetY = 10; ctx.shadowColor = 'rgba(255, 165, 0, 0.5)'; alpha.composite.shadow: - render-states: |- + render_states: |- ctx.globalAlpha = 0.6; ctx.globalCompositeOperation = 'source-in'; ctx.shadowOffsetX = -10; ctx.shadowOffsetY = 10; ctx.shadowColor = 'rgba(255, 165, 0, 0.5)'; blending.shadow: - render-states: |- + render_states: |- ctx.globalCompositeOperation = 'multiply'; ctx.shadowOffsetX = -10; ctx.shadowOffsetY = 10; ctx.shadowColor = 'rgba(255, 165, 0, 0.5)'; composite.shadow: - render-states: |- + render_states: |- ctx.globalCompositeOperation = 'source-in'; ctx.shadowOffsetX = -10; ctx.shadowOffsetY = 10; @@ -99,7 +99,7 @@ - name: 2d.layer.global-states.filter desc: Checks that layers with filters correctly use global render states. - size: 200, 200 + size: [200, 200] code: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; @@ -107,7 +107,7 @@ circle.arc(90, 90, 45, 0, 2 * Math.PI); ctx.fill(circle); - %(render-states)s + {{ render_states }} ctx.beginLayer([ {filter: 'colorMatrix', values: [0.393, 0.769, 0.189, 0, 0, @@ -127,9 +127,9 @@ reference: | const svg = ` - + requestAnimationFrame(resolve)); putImageData: flush_canvas: |- - const canvas2 = new OffscreenCanvas(200, 200); + const canvas2 = new OffscreenCanvas({{ size[0] }}, {{ size[1] }}); const ctx2 = canvas2.getContext('2d'); ctx.putImageData(ctx2.getImageData(0, 0, 1, 1), 0, 0); toBlob: @@ -351,7 +351,7 @@ - name: 2d.layer.render-opportunities.transferToImageBitmap desc: Checks that transferToImageBitmap flushes and rebuilds the state stack. - size: 200, 200 + size: [200, 200] canvasType: ['OffscreenCanvas', 'Worker'] code: | ctx.fillStyle = 'purple'; @@ -391,7 +391,7 @@ desc: >- Test to ensure beginlayer works for filter, alpha and shadow, even with consecutive layers. - size: 500, 500 + size: [500, 500] fuzzy: maxDifference=0-3; totalPixels=0-6318 code: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; @@ -441,7 +441,7 @@ desc: >- A test to make sure an unmatched endLayer is a no-op and has no effect on the code following it. - size: 200, 200 + size: [200, 200] code: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; ctx.fillRect(60, 60, 75, 50); @@ -473,7 +473,7 @@ - name: 2d.layer.endlayer.alone desc: A test to make sure a single endLayer with no beginLayer is a no-op. - size: 200, 200 + size: [200, 200] code: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; ctx.fillRect(60, 60, 75, 50); diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/resources/iframe-test.js b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/resources/iframe-test.js index f788cbd1ebd..f13e7686902 100644 --- a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/resources/iframe-test.js +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/resources/iframe-test.js @@ -86,6 +86,13 @@ function popupOpeningScript(popup_via, popup_url, popup_origin, headers, assert_not_reached('Unrecognized popup opening method.'); } +function promise_test_parallel(promise, description) { + async_test(test => { + promise(test) + .then(() => test.done()) + .catch(test.step_func(error => { throw error; })); + }, description); +}; // Verifies that a popup with origin `popup_origin` and headers `headers` has // the expected `opener_state` after being opened from an iframe with origin @@ -93,7 +100,7 @@ function popupOpeningScript(popup_via, popup_url, popup_origin, headers, function iframe_test(description, iframe_origin, popup_origin, headers, expected_opener_state) { for (const popup_via of ['window_open', 'anchor','form']) { - promise_test(async t => { + promise_test_parallel(async t => { const iframe_token = token(); const popup_token = token(); const reply_token = token(); diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html index 740ff2595aa..8cf2679e190 100644 --- a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/tentative/restrict-properties/iframe-popup-to-so.https.html @@ -1,10 +1,14 @@ - - - - + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/rendering/dimension-attributes.html b/tests/wpt/web-platform-tests/html/rendering/dimension-attributes.html index f3dc8f81718..1d94205e0b1 100644 --- a/tests/wpt/web-platform-tests/html/rendering/dimension-attributes.html +++ b/tests/wpt/web-platform-tests/html/rendering/dimension-attributes.html @@ -137,17 +137,10 @@ const tests = [ [ newElem("img"), "height", "height", true ], [ newElem("td"), "width", "width", false ], [ newElem("td"), "height", "height", false ], - // https://github.com/whatwg/html/issues/4715 tracks the fact that for - //
    caption
    and
    the "0 is valid" boolean should probably - // be true. [ newElem("table"), "width", "width", false ], - [ newElem("table"), "height", "height", false ], - // https://github.com/whatwg/html/issues/4716 tracks the fact that for the - // case that "0 is valid" boolean should probably be true. - [ newElem("tr"), "height", "height", false ], - // https://github.com/whatwg/html/issues/4717 tracks the fact that for the - // case that "0 is valid" boolean should probably be true. - [ newElem("col"), "width", "width", false ], + [ newElem("table"), "height", "height", true ], + [ newElem("tr"), "height", "height", true ], + [ newElem("col"), "width", "width", true ], [ newElem("embed"), "hspace", "marginLeft", true ], [ newElem("embed"), "hspace", "marginRight", true ], [ newElem("embed"), "vspace", "marginTop", true ], diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations-lazy.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations-lazy.html new file mode 100644 index 00000000000..d3784671b86 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations-lazy.html @@ -0,0 +1,78 @@ + +img relevant mutations, lazy-loaded + + + + +
    + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html index 2f1031bf832..24e15543cd8 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html @@ -3,6 +3,7 @@ +
    @@ -152,22 +153,6 @@ + + +
    + + + +
    +
    + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html index 7602dd8fce1..1f80ad2f917 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html @@ -159,7 +159,6 @@ - diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/support/relevant-mutations.js b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/support/relevant-mutations.js new file mode 100644 index 00000000000..7105b037084 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/support/relevant-mutations.js @@ -0,0 +1,15 @@ +setup({explicit_done:true}); + +function t(desc, func, expect) { + async_test(function() { + var img = document.querySelector('[data-desc="' + desc + '"]'); + img.onload = img.onerror = this.unreached_func('update the image data was run'); + if (expect == 'timeout') { + setTimeout(this.step_func_done(), 1000); + } else { + img['on' + expect] = this.step_func_done(); + setTimeout(this.unreached_func('update the image data didn\'t run'), 1000); + } + func.call(this, img); + }, desc); +} diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html index 98bb065de7b..230492022c0 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html @@ -112,6 +112,19 @@ assert_equals(document.activeElement, priorFocus, 'prior element should get focus on hide, or if focus didn\'t shift on show, focus should stay where it was'); assert_false(isElementVisible(popover)); + // Manual popover does not restore focus + popover.popover = 'manual'; + priorFocus.focus(); + assert_equals(document.activeElement, priorFocus); + popover.showPopover(); + assert_equals(document.activeElement, expectedFocusedElement, `${testName} activated by popover.showPopover()`); + popover.hidePopover(); + if (!popover.hasAttribute('data-no-focus')) { + assert_not_equals(document.activeElement, priorFocus, 'prior element should *not* get focus when the popover is manual'); + } + assert_false(isElementVisible(popover)); + popover.popover = 'auto'; + // Hit Escape: priorFocus.focus(); assert_equals(document.activeElement, priorFocus); diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html index 59a12a2c9ac..0f206f1c700 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html @@ -587,3 +587,30 @@ promise_test(async () => { p20.hidePopover(); // Cleanup },'Show an unrelated popover during "hide popover"'); + +
    21 +
    22
    +
    23
    +
    24
    +
    + + diff --git a/tests/wpt/web-platform-tests/images/anim-poster-gr.png b/tests/wpt/web-platform-tests/images/anim-poster-gr.png deleted file mode 100644 index 6941207373e513cfe10729077f59d369c59e6046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^DL`z*!3HE(nbz$CQXGlNAwEEw5r`SK=)PP4q^5hi zIEGZrd3(-~7pUNX!JpY})m+CmUU5h_TmPbQf*i-ofglbrvgo|lo-AlR1?WVnG>Ef- zOo*RA3^4e`{DP6ux2tzP_jplqG8(+30gDwD-XWbzP|J1G>}U@UHx3vIVCg!0B<*q;s5{u diff --git a/tests/wpt/web-platform-tests/interfaces/turtledove.idl b/tests/wpt/web-platform-tests/interfaces/turtledove.idl index 8add667b575..f5867e995a8 100644 --- a/tests/wpt/web-platform-tests/interfaces/turtledove.idl +++ b/tests/wpt/web-platform-tests/interfaces/turtledove.idl @@ -95,6 +95,7 @@ interface InterestGroupScoringScriptRunnerGlobalScope interface InterestGroupReportingScriptRunnerGlobalScope : InterestGroupScriptRunnerGlobalScope { undefined sendReportTo(DOMString url); + undefined registerAdBeacon(record map); }; dictionary AdRender { diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc-encoded-transform.idl b/tests/wpt/web-platform-tests/interfaces/webrtc-encoded-transform.idl index 59710bf46c2..6dd2ba3fffa 100644 --- a/tests/wpt/web-platform-tests/interfaces/webrtc-encoded-transform.idl +++ b/tests/wpt/web-platform-tests/interfaces/webrtc-encoded-transform.idl @@ -27,7 +27,7 @@ typedef [EnforceRange] unsigned long long SmallCryptoKeyID; typedef (SmallCryptoKeyID or bigint) CryptoKeyID; [Exposed=(Window,DedicatedWorker)] -interface SFrameTransform { +interface SFrameTransform : EventTarget { constructor(optional SFrameTransformOptions options = {}); Promise setEncryptionKey(CryptoKey key, optional CryptoKeyID keyID); attribute EventHandler onerror; diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-disallowed-when-hidden.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-disallowed-when-hidden.https.html new file mode 100644 index 00000000000..aa59cde2ef0 --- /dev/null +++ b/tests/wpt/web-platform-tests/payment-request/payment-request-disallowed-when-hidden.https.html @@ -0,0 +1,46 @@ + + +Test for PaymentRequest.show() method - should fail when tab is not visible + + + + + + + + diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html new file mode 100644 index 00000000000..211ca7445df --- /dev/null +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html.sub.headers b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html.sub.headers new file mode 100644 index 00000000000..81d0de836ea --- /dev/null +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-host-wildcard.https.sub.html.sub.headers @@ -0,0 +1 @@ +Permissions-Policy: fullscreen=("https://*:{{ports[https][0]}}") diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html new file mode 100644 index 00000000000..adb657023ea --- /dev/null +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html @@ -0,0 +1,14 @@ + + + + + + diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html.sub.headers b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html.sub.headers new file mode 100644 index 00000000000..b813167ee62 --- /dev/null +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-port-wildcard.https.sub.html.sub.headers @@ -0,0 +1 @@ +Permissions-Policy: fullscreen=("https://{{domains[]}}:*") diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html new file mode 100644 index 00000000000..eab3e8f697f --- /dev/null +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html @@ -0,0 +1,14 @@ + + + + + + diff --git a/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html.sub.headers b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html.sub.headers new file mode 100644 index 00000000000..14d0868f2bb --- /dev/null +++ b/tests/wpt/web-platform-tests/permissions-policy/experimental-features/permissions-policy-header-scheme-only.https.sub.html.sub.headers @@ -0,0 +1 @@ +Permissions-Policy: fullscreen=("https:") diff --git a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-malformed-wildcard.https.sub.html.sub.headers b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-malformed-wildcard.https.sub.html.sub.headers index d9facde69e0..648e3ac75e6 100644 --- a/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-malformed-wildcard.https.sub.html.sub.headers +++ b/tests/wpt/web-platform-tests/permissions-policy/permissions-policy-header-policy-allowed-for-malformed-wildcard.https.sub.html.sub.headers @@ -1 +1 @@ -Permissions-Policy: fullscreen=("*://{{domains[]}}:{{ports[https][0]}}" "https://{{domains[]}}:*" "https://*.*.{{domains[]}}:{{ports[https][0]}}" "https://example.*.{{domains[]}}:{{ports[https][0]}}" "https://*.example.com" self) +Permissions-Policy: fullscreen=("*://{{domains[]}}:{{ports[https][0]}}" "https://*.*.{{domains[]}}:{{ports[https][0]}}" "https://example.*.{{domains[]}}:{{ports[https][0]}}" "https://*.example.com" self) diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-ref.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-ref.html new file mode 100644 index 00000000000..ea3215e3590 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-ref.html @@ -0,0 +1,77 @@ + + + + + + + + + + +

    Neither of the activity indicators should be active as both of the observed elements are out of view.

    +
    +
    After phase:
    +
    Before phase:
    +
    +
    + + + diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-test.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-test.html new file mode 100644 index 00000000000..c0021a1fbc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-inactive-outside-range-test.html @@ -0,0 +1,97 @@ + + + + + + + + + + + + +

    Neither of the activity indicators should be active as both of the observed elements are out of view.

    +
    +
    After phase:
    +
    Before phase:
    +
    +
    + + + diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-ignored.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-ignored.tentative.html index 4a6624caf43..b9efbb428bd 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-ignored.tentative.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-ignored.tentative.html @@ -65,7 +65,7 @@ element.setAttribute('id', 'element'); container.append(element); }); - func(); + await func(); } finally { while (container.firstChild) container.firstChild.remove(); @@ -73,63 +73,81 @@ }, description); } - test_animation_timeline(() => { + test_animation_timeline(async () => { + let animation = element.getAnimations()[0]; assert_equals(getComputedStyle(element).width, '120px'); element.style = 'animation-timeline:--timeline2'; + await animation.ready; + assert_equals(getComputedStyle(element).width, '140px'); }, 'Changing animation-timeline changes the timeline (sanity check)'); - test_animation_timeline(() => { + test_animation_timeline(async () => { + let animation = element.getAnimations()[0]; assert_equals(getComputedStyle(element).width, '120px'); // Set a (non-CSS) ScrollTimeline on the CSSAnimation. let timeline4 = new ScrollTimeline({ source: scroller4 }); - element.getAnimations()[0].timeline = timeline4; + animation.timeline = timeline4; + await animation.ready; assert_equals(getComputedStyle(element).width, '180px'); // Changing the animation-timeline property should have no effect. element.style = 'animation-timeline:--timeline2'; + await animation.ready; + assert_equals(getComputedStyle(element).width, '180px'); }, 'animation-timeline ignored after setting timeline with JS ' + '(ScrollTimeline from JS)'); - test_animation_timeline(() => { + test_animation_timeline(async () => { + let animation = element.getAnimations()[0]; assert_equals(getComputedStyle(element).width, '120px'); - let animation = element.getAnimations()[0]; let timeline1 = animation.timeline; element.style = 'animation-timeline:--timeline2'; + await animation.ready; assert_equals(getComputedStyle(element).width, '140px'); animation.timeline = timeline1; + await animation.ready; + assert_equals(getComputedStyle(element).width, '120px'); // Should have no effect. element.style = 'animation-timeline:--timeline3'; + await animation.ready; + assert_equals(getComputedStyle(element).width, '120px'); }, 'animation-timeline ignored after setting timeline with JS ' + '(ScrollTimeline from CSS)'); - test_animation_timeline(() => { + test_animation_timeline(async () => { + let animation = element.getAnimations()[0]; assert_equals(getComputedStyle(element).width, '120px'); - element.getAnimations()[0].timeline = document.timeline; + animation.timeline = document.timeline; + await animation.ready; // (The animation continues from where the previous timeline left it). assert_equals(getComputedStyle(element).width, '120px'); // Changing the animation-timeline property should have no effect. element.style = 'animation-timeline:--timeline2'; + await animation.ready; assert_equals(getComputedStyle(element).width, '120px'); }, 'animation-timeline ignored after setting timeline with JS (document timeline)'); - test_animation_timeline(() => { + test_animation_timeline(async () => { + let animation = element.getAnimations()[0]; assert_equals(getComputedStyle(element).width, '120px'); - element.getAnimations()[0].timeline = null; + animation.timeline = null; + assert_false(animation.pending); assert_equals(getComputedStyle(element).width, '120px'); // Changing the animation-timeline property should have no effect. element.style = 'animation-timeline:--timeline2'; + assert_false(animation.pending); assert_equals(getComputedStyle(element).width, '120px'); }, 'animation-timeline ignored after setting timeline with JS (null)'); diff --git a/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html new file mode 100644 index 00000000000..4bcea1adba3 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/intrinsic-iteration-duration.tentative.html @@ -0,0 +1,78 @@ + + +Scroll based animation: AnimationEffect.getComputedTiming + + + + + + + +
    + + diff --git a/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/scroll-timeline-range.html b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/scroll-timeline-range.html new file mode 100644 index 00000000000..cc844cb748e --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/scroll-timeline-range.html @@ -0,0 +1,185 @@ + +Scroll timelines and animation attachment ranges + + + + + + + +
    +
    +
    +
    + diff --git a/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/set-current-time-before-play.html b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/set-current-time-before-play.html index cd3faeeee46..280346e755f 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/set-current-time-before-play.html +++ b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/set-current-time-before-play.html @@ -40,30 +40,36 @@ diff --git a/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/setting-timeline.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/setting-timeline.tentative.html index 4a7e7366f79..5813de60fab 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/setting-timeline.tentative.html +++ b/tests/wpt/web-platform-tests/scroll-animations/scroll-timelines/setting-timeline.tentative.html @@ -9,7 +9,8 @@ diff --git a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/timeline-offset-in-keyframe.html b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/timeline-offset-in-keyframe.html index 62a8d1387d3..11688938542 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/timeline-offset-in-keyframe.html +++ b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/timeline-offset-in-keyframe.html @@ -213,12 +213,13 @@ assert_opacity_equals(1, `Opacity with document timeline`); anim.timeline = new ViewTimeline( { subject: target }); - await waitForNextFrame(); + await anim.ready; assert_progress_equals(anim, 0.5, `Progress at contain 50%`); assert_opacity_equals(0.5, `Opacity at contain 50%`); anim.timeline = document.timeline; + assert_false(anim.pending); await waitForNextFrame(); assert_opacity_equals(1, `Opacity after resetting timeline`); @@ -251,7 +252,7 @@ assert_progress_equals( anim, 0.5, `Progress at contain 50% after effect change`); assert_opacity_equals(0.5, `Opacity at contain 50% after effect change`); - }, 'Timeline offsets in programmetic keyframes resolved when updating ' + + }, 'Timeline offsets in programmatic keyframes resolved when updating ' + 'the animation effect'); } diff --git a/tests/wpt/web-platform-tests/secure-payment-confirmation/authentication-disallowed-when-hidden.https.html b/tests/wpt/web-platform-tests/secure-payment-confirmation/authentication-disallowed-when-hidden.https.html deleted file mode 100644 index 1c01fa0e89c..00000000000 --- a/tests/wpt/web-platform-tests/secure-payment-confirmation/authentication-disallowed-when-hidden.https.html +++ /dev/null @@ -1,57 +0,0 @@ - - -Test for the 'secure-payment-confirmation' payment method authentication - accepted case - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/speculation-rules/prerender/blob_object_url.html b/tests/wpt/web-platform-tests/speculation-rules/prerender/blob_object_url.html new file mode 100644 index 00000000000..fe673d86392 --- /dev/null +++ b/tests/wpt/web-platform-tests/speculation-rules/prerender/blob_object_url.html @@ -0,0 +1,34 @@ + +Same-origin prerendering page can create a url for the given +objects + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/speculation-rules/prerender/fetch-blob.html b/tests/wpt/web-platform-tests/speculation-rules/prerender/fetch-blob.html index 7f8d5570493..098a5a51289 100644 --- a/tests/wpt/web-platform-tests/speculation-rules/prerender/fetch-blob.html +++ b/tests/wpt/web-platform-tests/speculation-rules/prerender/fetch-blob.html @@ -1,5 +1,5 @@ -Same-origin prerendering can access localStorage +Same-origin prerendering can access blobs diff --git a/tests/wpt/web-platform-tests/speculation-rules/prerender/restrictions.html b/tests/wpt/web-platform-tests/speculation-rules/prerender/restrictions.html index 5019d4b280c..1990dfa1fc4 100644 --- a/tests/wpt/web-platform-tests/speculation-rules/prerender/restrictions.html +++ b/tests/wpt/web-platform-tests/speculation-rules/prerender/restrictions.html @@ -1,5 +1,5 @@ -Same-origin prerendering can access localStorage +Same-origin prerendering cannot access some APIs diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGMarkerElement.html b/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGMarkerElement.html index dfc9dd24800..61c44d0d178 100644 --- a/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGMarkerElement.html +++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGMarkerElement.html @@ -3,14 +3,22 @@ diff --git a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py index 87f5d4281fe..c5e45033141 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py +++ b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py @@ -115,7 +115,7 @@ class Virtualenv: if "venv" in schemes: scheme = "venv" else: - scheme = "nt_user" if os.name == "nt" else "posix_user" + scheme = "nt" if os.name == "nt" else "posix_user" sys_paths = sysconfig.get_paths(scheme) data_path = sys_paths["data"] added = set() 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 3bdbf6f962c..b15d9ccb369 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 @@ -136,6 +136,9 @@ def executor_kwargs(logger, test_type, test_environment, run_info_data, chrome_options["args"].append( f"--origin-to-force-quic-on=web-platform.test:{webtranport_h3_port[0]}") + if test_type == "wdspec": + executor_kwargs["binary_args"] = chrome_options["args"] + executor_kwargs["capabilities"] = capabilities return executor_kwargs diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py index d2e386484f9..d9c9481f327 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -140,13 +140,16 @@ def executor_kwargs(logger, test_type, test_environment, run_info_data, if test_type == "wdspec": options = {"args": []} if kwargs["binary"]: - options["binary"] = kwargs["binary"] + if "webdriver_args" not in executor_kwargs: + executor_kwargs["webdriver_args"] = [] + executor_kwargs["webdriver_args"].extend(["--binary", kwargs["binary"]]) if kwargs["binary_args"]: options["args"] = kwargs["binary_args"] if not kwargs["binary"] and kwargs["headless"] and "--headless" not in options["args"]: options["args"].append("--headless") + executor_kwargs["binary_args"] = options["args"] capabilities["moz:firefoxOptions"] = options if kwargs["certutil_binary"] is None: diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/webkitgtk_minibrowser.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/webkitgtk_minibrowser.py index a574328c326..4b247dd36e3 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/webkitgtk_minibrowser.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/webkitgtk_minibrowser.py @@ -63,6 +63,8 @@ def executor_kwargs(logger, test_type, test_environment, run_info_data, executor_kwargs = base_executor_kwargs(test_type, test_environment, run_info_data, **kwargs) executor_kwargs["close_after_done"] = True executor_kwargs["capabilities"] = capabilities(test_environment.config, **kwargs) + if test_type == "wdspec": + executor_kwargs["binary_args"] = capabilities["webkitgtk:browserOptions"]["args"] return executor_kwargs diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py index 3159bb3c3a2..4b715a1f317 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py @@ -36,6 +36,7 @@ def executor_kwargs(test_type, test_environment, run_info_data, **kwargs): if test_type == "wdspec": executor_kwargs["binary"] = kwargs.get("binary") + executor_kwargs["binary_args"] = kwargs.get("args") executor_kwargs["webdriver_binary"] = kwargs.get("webdriver_binary") executor_kwargs["webdriver_args"] = kwargs.get("webdriver_args") @@ -609,7 +610,7 @@ class WdspecExecutor(TestExecutor): def __init__(self, logger, browser, server_config, webdriver_binary, webdriver_args, timeout_multiplier=1, capabilities=None, - debug_info=None, **kwargs): + debug_info=None, binary=None, binary_args=None, **kwargs): super().__init__(logger, browser, server_config, timeout_multiplier=timeout_multiplier, debug_info=debug_info) @@ -617,6 +618,8 @@ class WdspecExecutor(TestExecutor): self.webdriver_args = webdriver_args self.timeout_multiplier = timeout_multiplier self.capabilities = capabilities + self.binary = binary + self.binary_args = binary_args def setup(self, runner): self.protocol = self.protocol_cls(self, self.browser) @@ -645,6 +648,10 @@ class WdspecExecutor(TestExecutor): "port": self.browser.port, "capabilities": self.capabilities, "timeout_multiplier": self.timeout_multiplier, + "browser": { + "binary": self.binary, + "args": self.binary_args + }, "webdriver": { "binary": self.webdriver_binary, "args": self.webdriver_args diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py index b1346d51df1..d2ed58444ab 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py @@ -700,16 +700,17 @@ class TestRunnerManager(threading.Thread): self.test_count += 1 is_unexpected = expected != status and status not in known_intermittent + is_pass_or_expected = status in ["OK", "PASS"] or (not is_unexpected) if is_unexpected or subtest_unexpected: self.unexpected_tests.add(test.id) # A result is unexpected pass if the test or any subtest run - # unexpectedly, and the overall status is OK (for test harness test), or - # PASS (for reftest), and all unexpected results for subtests (if any) are - # unexpected pass. + # unexpectedly, and the overall status is expected or passing (OK for test + # harness test, or PASS for reftest), and all unexpected results for + # subtests (if any) are unexpected pass. is_unexpected_pass = ((is_unexpected or subtest_unexpected) and - status in ["OK", "PASS"] and subtest_all_pass_or_expected) + is_pass_or_expected and subtest_all_pass_or_expected) if is_unexpected_pass: self.unexpected_pass_tests.add(test.id) diff --git a/tests/wpt/web-platform-tests/url/resources/percent-encoding.json b/tests/wpt/web-platform-tests/url/resources/percent-encoding.json index bd81edbdc35..eccd1db62fe 100644 --- a/tests/wpt/web-platform-tests/url/resources/percent-encoding.json +++ b/tests/wpt/web-platform-tests/url/resources/percent-encoding.json @@ -44,13 +44,5 @@ "output": { "utf-8": "%C3%A1|" } - }, - "Surrogate!", - { - "input": "\ud800", - "output": { - "utf-8": "%EF%BF%BD", - "windows-1252": "%26%2365533%3B" - } } ] diff --git a/tests/wpt/web-platform-tests/url/resources/urltestdata.json b/tests/wpt/web-platform-tests/url/resources/urltestdata.json index 1aa42a51455..ec189871d90 100644 --- a/tests/wpt/web-platform-tests/url/resources/urltestdata.json +++ b/tests/wpt/web-platform-tests/url/resources/urltestdata.json @@ -7907,6 +7907,22 @@ "search": "", "hash": "" }, + "Percent-encoded http: in blob:", + { + "input": "blob:http%3a//example.org/", + "base": null, + "href": "blob:http%3a//example.org/", + "origin": "null", + "protocol": "blob:", + "username": "", + "password": "", + "host": "", + "hostname": "", + "port": "", + "pathname": "http%3a//example.org/", + "search": "", + "hash": "" + }, "Invalid IPv4 radix digits", { "input": "http://0x7f.0.0.0x7g", @@ -9484,5 +9500,35 @@ "input": "stun://[:1]", "base": null, "failure": true + }, + { + "input": "w://x:0", + "base": null, + "href": "w://x:0", + "origin": "null", + "protocol": "w:", + "username": "", + "password": "", + "host": "x:0", + "hostname": "x", + "port": "0", + "pathname": "", + "search": "", + "hash": "" + }, + { + "input": "west://x:0", + "base": null, + "href": "west://x:0", + "origin": "null", + "protocol": "west:", + "username": "", + "password": "", + "host": "x:0", + "hostname": "x", + "port": "0", + "pathname": "", + "search": "", + "hash": "" } ] diff --git a/tests/wpt/web-platform-tests/wai-aria/role/abstract-roles.html b/tests/wpt/web-platform-tests/wai-aria/role/abstract-roles.html index 8a98ba74ead..520ecf2dbb3 100644 --- a/tests/wpt/web-platform-tests/wai-aria/role/abstract-roles.html +++ b/tests/wpt/web-platform-tests/wai-aria/role/abstract-roles.html @@ -12,7 +12,8 @@ -

    Verifies 9.1 Roles - handling author errors

    +

    Tests Abstract Roles and related 9.1 Roles - handling author errors

    + diff --git a/tests/wpt/web-platform-tests/wai-aria/role/fallback-roles.html b/tests/wpt/web-platform-tests/wai-aria/role/fallback-roles.html index eb6e89b29ae..6f42fa693e5 100644 --- a/tests/wpt/web-platform-tests/wai-aria/role/fallback-roles.html +++ b/tests/wpt/web-platform-tests/wai-aria/role/fallback-roles.html @@ -11,7 +11,7 @@ -

    Verifies Fallback Roles from 9.1 Roles - handling author errors

    +

    Tests 8.1 Role Attribute role token list selection and 9.1 Roles - handling author errors.

    @@ -19,7 +19,7 @@ diff --git a/tests/wpt/web-platform-tests/wai-aria/role/roles.html b/tests/wpt/web-platform-tests/wai-aria/role/roles.html index 72c9cdd0cd3..844da3ce47b 100644 --- a/tests/wpt/web-platform-tests/wai-aria/role/roles.html +++ b/tests/wpt/web-platform-tests/wai-aria/role/roles.html @@ -10,6 +10,9 @@ + +

    Tests most ARIA role definitions. See comments for more info.

    + + @@ -13,10 +14,10 @@ +
    + @@ -16,9 +17,9 @@ var test = async_test(desc) test.step(function() { var client = new XMLHttpRequest(), - urlstart = location.host + location.pathname.replace(/\/[^\/]*$/, '/'), + urlstart = get_host_info().REMOTE_ORIGIN + location.pathname.replace(/\/[^\/]*$/, '/'), user = token() - client.open("GET", location.protocol + "//www1." + urlstart + "resources/" + pathsuffix, false) + client.open("GET", urlstart + "resources/" + pathsuffix, false) client.setRequestHeader("x-user", user) client.setRequestHeader("x-pass", 'pass') client.setRequestHeader("Authorization", "Basic " + btoa(user + ":pass")) diff --git a/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm b/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm index 2266eb36e1e..8011c58bdd1 100644 --- a/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm +++ b/tests/wpt/web-platform-tests/xhr/send-network-error-sync-events.sub.htm @@ -17,7 +17,7 @@ { var xhr = new XMLHttpRequest(); - xhr.open("POST", "http://nonexistent.{{host}}:{{ports[http][0]}}", false); + xhr.open("POST", "http://{{host}}:1", false); // Bad port. assert_throws_dom("NetworkError", function() {