From 61b963c73e793f5e776a2d63d562bc729abad0ac Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Fri, 17 Feb 2023 01:49:27 +0000 Subject: [PATCH] Update web-platform-tests to revision b'bcf4a27c0a9dbb07d974a880acb26eb289a85c7e' --- .../FileAPI/url/url-charset.window.js.ini | 7 + .../url/url-in-tags-revoke.window.js.ini | 2 +- tests/wpt/metadata/MANIFEST.json | 1043 +++++++++++++---- .../CSS2/floats/hit-test-floats-002.html.ini | 3 + .../CSS2/floats/hit-test-floats-003.html.ini | 3 - .../block-in-inline-hittest-001.html.ini | 3 - .../attribute-value-selector-004.xht.ini | 2 + .../hittest-before-pseudo.html.ini | 3 + .../at-font-face-font-matching.html.ini | 30 +- .../transform-scale-hittest.html.ini | 3 + .../properties-value-002.html.ini | 1 - .../properties-value-inherit-002.html.ini | 150 +++ .../elementFromPoint-float-in-table.html.ini | 3 - .../elementFromPoint-list-001.html.ini | 3 - .../cssom-view/elementFromPosition.html.ini | 2 +- .../css-images.sub.tentative.html.ini | 2 +- ...n-fragment-scrolling-cross-origin.html.ini | 2 +- .../navigating-across-documents/005.html.ini | 1 + .../failure-check-sequence.https.html.ini | 7 +- ...c-aboutblank-navigate-immediately.html.ini | 4 +- .../javascript-url-load-as-html.xhtml.ini | 4 - .../traverse-during-unload.html.ini | 4 + .../traverse_the_history_4.html.ini | 3 + .../element/layers/2d.layer.alpha.html.ini | 2 - .../image-smoothing/imagesmoothing.html.ini | 3 - .../layers/layers-alpha-filter.html.ini | 2 - .../manual/layers/layers-filter.html.ini | 2 - .../layers-globalcompositeoperation.html.ini | 2 - .../offscreen/layers/2d.layer.alpha.html.ini | 2 - .../layers/2d.layer.alpha.w.html.ini | 2 - ...filter.globalcompositeoperation.w.html.ini | 2 + ...obal-states.alpha.filter.shadow.w.html.ini | 2 + ...ayer.global-states.alpha.filter.w.html.ini | 2 + ...ayer.global-states.alpha.shadow.w.html.ini | 2 + .../2d.layer.global-states.alpha.w.html.ini | 2 + ...filter.globalcompositeoperation.w.html.ini | 2 + ...yer.global-states.filter.shadow.w.html.ini | 2 + .../2d.layer.global-states.filter.w.html.ini | 2 + ...states.globalcompositeoperation.w.html.ini | 2 + .../2d.layer.global-states.shadow.w.html.ini | 2 + .../spin-by-blocking-style-sheet.html.ini | 4 +- .../supported-elements.html.ini | 3 +- .../iframe_sandbox_popups_escaping-1.html.ini | 1 - ...rame_sandbox_popups_nonescaping-1.html.ini | 1 + .../urlencoded2.window.js.ini | 3 + .../html/semantics/forms/historical.html.ini | 3 + .../textfieldselection/select-event.html.ini | 12 - .../import-meta/import-meta-url.html.ini | 1 - .../document-write/module-delayed.html.ini | 3 + .../module-tla-delayed.html.ini | 3 - ...le-event-handler-settings-objects.html.ini | 3 + ...ob-entry-different-function-realm.html.ini | 5 +- .../exception/basic.tentative.any.js.ini | 23 + .../exception/getArg.tentative.any.js.ini | 8 + .../cross-partition.https.tentative.html.ini | 2 +- .../webmessaging/with-ports/018.html.ini | 4 - .../webmessaging/without-ports/018.html.ini | 4 - .../Worker/Worker-constructor.html.ini | 2 + .../WebCryptoAPI/generateKey/successes.js | 2 +- .../import_export/ec_importKey.https.any.js | 2 + .../import_export/okp_importKey.https.any.js | 2 + .../import_export/rsa_importKey.https.any.js | 2 + .../symmetric_importKey.https.any.js | 6 + .../WebCryptoAPI/util/helpers.js | 9 +- .../animation-opacity-pause-and-set-time.html | 1 + ...stom-property-transition-property-all.html | 17 + .../resources/utils.js | 4 +- .../3d-transform-incoming.html | 2 +- .../3d-transform-outgoing.html | 2 +- .../break-inside-avoid-child.html | 2 +- .../fractional-translation-from-position.html | 2 +- ...fractional-translation-from-transform.html | 2 +- .../inline-child-with-filter.html | 4 +- .../new-content-captures-spans.html | 2 +- .../new-content-is-inline-ref.html | 75 ++ .../new-content-is-inline.html | 148 +++ .../old-content-is-inline-ref.html | 73 ++ .../old-content-is-inline.html | 148 +++ .../root-scrollbar-with-fixed-background.html | 2 +- .../rtl-with-scrollbar.html | 2 +- .../scroller-child-abspos.html | 2 +- .../css-view-transitions/scroller-child.html | 2 +- .../css/css-view-transitions/scroller.html | 2 +- .../support/frame-helper.html | 2 +- .../docs/writing-tests/testharness-api.md | 18 + ...place-root-list-element-in-designMode.html | 33 + .../web-platform-tests/editing/data/delete.js | 7 + .../editing/data/forwarddelete.js | 7 + .../editing/include/editor-test-utils.js | 35 +- .../generic-sensor/generic-sensor-tests.js | 54 +- .../resources/generic-sensor-helpers.js | 1 + ...d.layer.global-states.alpha-expected.html} | 15 +- ...r.global-states.alpha.filter-expected.html | 31 + ...ter.globalcompositeoperation-expected.html | 32 + ...alpha.filter.globalcompositeoperation.html | 32 + .../2d.layer.global-states.alpha.filter.html | 31 + ...l-states.alpha.filter.shadow-expected.html | 34 + ...yer.global-states.alpha.filter.shadow.html | 35 + ...html => 2d.layer.global-states.alpha.html} | 17 +- ...r.global-states.alpha.shadow-expected.html | 33 + .../2d.layer.global-states.alpha.shadow.html | 33 + ...d.layer.global-states.filter-expected.html | 30 + ...ter.globalcompositeoperation-expected.html | 31 + ...tates.filter.globalcompositeoperation.html | 31 + .../layers/2d.layer.global-states.filter.html | 30 + ....global-states.filter.shadow-expected.html | 33 + .../2d.layer.global-states.filter.shadow.html | 34 + ...tes.globalcompositeoperation-expected.html | 30 + ...lobal-states.globalcompositeoperation.html | 30 + ...d.layer.global-states.shadow-expected.html | 32 + .../layers/2d.layer.global-states.shadow.html | 32 + .../layers/layers-alpha-filter-expected.html | 24 - ...ter-globalcompositeoperation-expected.html | 28 - ...alpha-filter-globalcompositeoperation.html | 28 - .../layers-alpha-filter-shadow-expected.html | 27 - .../layers/layers-alpha-filter-shadow.html | 30 - .../manual/layers/layers-alpha-filter.html | 24 - .../layers/layers-alpha-shadow-expected.html | 26 - .../manual/layers/layers-alpha-shadow.html | 29 - .../manual/layers/layers-filter-expected.html | 23 - ...ter-globalcompositeoperation-expected.html | 28 - ...ayers-filter-globalcompositeoperation.html | 28 - .../layers/layers-filter-shadow-expected.html | 26 - .../manual/layers/layers-filter-shadow.html | 28 - .../element/manual/layers/layers-filter.html | 23 - ...ers-globalcompositeoperation-expected.html | 23 - .../layers-globalcompositeoperation.html | 25 - .../manual/layers/layers-shadow-expected.html | 25 - .../element/manual/layers/layers-shadow.html | 28 - ...d.layer.global-states.alpha-expected.html} | 15 +- ...r.global-states.alpha.filter-expected.html | 31 + ...ter.globalcompositeoperation-expected.html | 32 + ...alpha.filter.globalcompositeoperation.html | 35 + ...pha.filter.globalcompositeoperation.w.html | 49 + .../2d.layer.global-states.alpha.filter.html | 34 + ...l-states.alpha.filter.shadow-expected.html | 34 + ...yer.global-states.alpha.filter.shadow.html | 38 + ...r.global-states.alpha.filter.shadow.w.html | 52 + ...2d.layer.global-states.alpha.filter.w.html | 48 + ...html => 2d.layer.global-states.alpha.html} | 17 +- ...r.global-states.alpha.shadow-expected.html | 33 + .../2d.layer.global-states.alpha.shadow.html | 36 + ...2d.layer.global-states.alpha.shadow.w.html | 50 + ...ml => 2d.layer.global-states.alpha.w.html} | 17 +- ...d.layer.global-states.filter-expected.html | 30 + ...ter.globalcompositeoperation-expected.html | 31 + ...tates.filter.globalcompositeoperation.html | 34 + ...tes.filter.globalcompositeoperation.w.html | 48 + .../layers/2d.layer.global-states.filter.html | 33 + ....global-states.filter.shadow-expected.html | 33 + .../2d.layer.global-states.filter.shadow.html | 37 + ...d.layer.global-states.filter.shadow.w.html | 51 + .../2d.layer.global-states.filter.w.html | 47 + ...tes.globalcompositeoperation-expected.html | 30 + ...lobal-states.globalcompositeoperation.html | 33 + ...bal-states.globalcompositeoperation.w.html | 47 + ...d.layer.global-states.shadow-expected.html | 32 + .../layers/2d.layer.global-states.shadow.html | 35 + .../2d.layer.global-states.shadow.w.html | 49 + .../html/canvas/tools/gentestutilsunion.py | 64 +- .../html/canvas/tools/yaml-new/layers.yaml | 72 +- .../document-with-fragment-top.html | 5 +- .../document-with-fragment-valid.html | 18 +- .../resources/frame-with-a.html | 4 + .../resources/utils.js | 10 + .../spin-by-blocking-style-sheet.html | 6 +- ...nd-selection-range-in-contenteditable.html | 94 ++ .../infrastructure/server/context.any.js.ini | 4 - .../navigate-history-back-noop.html | 32 + .../test/tests/functional/abortsignal.html | 49 + .../resources/testharness.js | 18 + .../css/scroll-timeline-inactive.html | 109 +- .../subapps/add-error.tentative.https.html | 18 +- .../subapps/add-success.tentative.https.html | 6 +- .../subapps/list-success.tentative.https.html | 4 +- .../subapps/remove-error.tentative.https.html | 8 +- .../remove-success.tentative.https.html | 2 +- .../exception/constructor.tentative.any.js | 8 +- .../jsapi/exception/getArg.tentative.any.js | 2 +- .../jsapi/exception/identity.tentative.any.js | 61 + .../jsapi/exception/toString.tentative.any.js | 4 +- .../wasm/jsapi/wasm-module-builder.js | 44 +- .../rendering/draw-buffers.html.ini | 3 + 183 files changed, 3880 insertions(+), 1012 deletions(-) create mode 100644 tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini create mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini create mode 100644 tests/wpt/metadata/css/CSS2/selectors/attribute-value-selector-004.xht.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini delete mode 100644 tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-table.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-load-as-html.xhtml.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/layers/2d.layer.alpha.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/manual/image-smoothing/imagesmoothing.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/manual/layers/layers-alpha-filter.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/manual/layers/layers-filter.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/element/manual/layers/layers-globalcompositeoperation.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.html.ini delete mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html.ini create mode 100644 tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html.ini create mode 100644 tests/wpt/metadata/html/semantics/forms/historical.html.ini delete mode 100644 tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini create mode 100644 tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini delete mode 100644 tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini create mode 100644 tests/wpt/metadata/wasm/jsapi/exception/getArg.tentative.any.js.ini delete mode 100644 tests/wpt/metadata/webmessaging/with-ports/018.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/without-ports/018.html.ini create mode 100644 tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini create mode 100644 tests/wpt/web-platform-tests/css/css-properties-values-api/animation/custom-property-transition-property-all.html create mode 100644 tests/wpt/web-platform-tests/css/css-view-transitions/new-content-is-inline-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-view-transitions/new-content-is-inline.html create mode 100644 tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline.html create mode 100644 tests/wpt/web-platform-tests/editing/crashtests/inserthtml-to-replace-root-list-element-in-designMode.html rename tests/wpt/web-platform-tests/html/canvas/element/layers/{2d.layer.alpha-expected.html => 2d.layer.global-states.alpha-expected.html} (63%) create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow.html rename tests/wpt/web-platform-tests/html/canvas/element/layers/{2d.layer.alpha.html => 2d.layer.global-states.alpha.html} (56%) create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow-expected.html delete mode 100644 tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow.html rename tests/wpt/web-platform-tests/html/canvas/offscreen/layers/{2d.layer.alpha-expected.html => 2d.layer.global-states.alpha-expected.html} (63%) create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html rename tests/wpt/web-platform-tests/html/canvas/offscreen/layers/{2d.layer.alpha.html => 2d.layer.global-states.alpha.html} (61%) create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html rename tests/wpt/web-platform-tests/html/canvas/offscreen/layers/{2d.layer.alpha.w.html => 2d.layer.global-states.alpha.w.html} (73%) create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow-expected.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.html create mode 100644 tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html create mode 100644 tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/frame-with-a.html create mode 100644 tests/wpt/web-platform-tests/inert/inert-inlines-around-selection-range-in-contenteditable.html create mode 100644 tests/wpt/web-platform-tests/navigation-api/navigate-event/navigate-history-back-noop.html create mode 100644 tests/wpt/web-platform-tests/resources/test/tests/functional/abortsignal.html create mode 100644 tests/wpt/web-platform-tests/wasm/jsapi/exception/identity.tentative.any.js diff --git a/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini new file mode 100644 index 00000000000..33fc78f48d9 --- /dev/null +++ b/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini @@ -0,0 +1,7 @@ +[url-charset.window.html] + expected: TIMEOUT + [Blob charset should override any auto-detected charset.] + expected: TIMEOUT + + [Blob charset should override .] + expected: TIMEOUT diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini index 282ab0b2525..cdeaf7f7080 100644 --- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -7,7 +7,7 @@ expected: FAIL [Opening a blob URL in a new window immediately before revoking it works.] - expected: FAIL + expected: TIMEOUT [Opening a blob URL in a noopener about:blank window immediately before revoking it works.] expected: TIMEOUT diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index fd1cc1cbfbf..f20ff3f8d43 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -4366,6 +4366,13 @@ {} ] ], + "inserthtml-to-replace-root-list-element-in-designMode.html": [ + "c751a5bebcdf420c0eee239e490a7c6a1875e978", + [ + null, + {} + ] + ], "insertlinebreak-around-comment-node.html": [ "dc2d5e2bd4b43b382034e78dfea317d69fbf5738", [ @@ -127675,7 +127682,7 @@ ] ], "animation-opacity-pause-and-set-time.html": [ - "c63c2f3b9fe3fd0b2e4a727398f1843febf339eb", + "cbf63ea2178638e6f476307954ba0337d35cd570", [ null, [ @@ -127684,7 +127691,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 2500 + ] + ] + ] + ] + } ] ], "animation-pseudo-dynamic-001.html": [ @@ -275884,7 +275907,7 @@ }, "css-view-transitions": { "3d-transform-incoming.html": [ - "01debbcfcc1f0bdeb58cc4c3c7bbcbc1e9f02424", + "cdf1b32ab73013e19be759cbf1b233c654d67131", [ null, [ @@ -275917,7 +275940,7 @@ ] ], "3d-transform-outgoing.html": [ - "1cf74c8f08af8bafdcaa3f5254a34ee918511b80", + "746b93afd40c1c1e33f8ca3b4a8e0fa2970e635c", [ null, [ @@ -275950,7 +275973,7 @@ ] ], "break-inside-avoid-child.html": [ - "29afa0424f696fec81b9426432935d16353c2a86", + "7791f7ab4f6012daa6612c4b14f4a26415103f98", [ null, [ @@ -276334,7 +276357,7 @@ ] ], "fractional-translation-from-position.html": [ - "9cae723e8435c17d4737d8844dd324b89a108439", + "a09b08cf00c554955ec4c4e041c169fe1575de43", [ null, [ @@ -276347,7 +276370,7 @@ ] ], "fractional-translation-from-transform.html": [ - "2d2e5d98fe5f0d7f38223f109e224ec5473d218c", + "7027a9008640945f2781fe7a4d7b236f786053fb", [ null, [ @@ -276436,7 +276459,7 @@ ] ], "inline-child-with-filter.html": [ - "fbacc332462f5744b5e2115cc8fbabe44f416967", + "8790756eac0cb0f490ec6f6fc66e48ca9f8f24b5", [ null, [ @@ -276627,12 +276650,12 @@ ] ], "new-content-captures-spans.html": [ - "5467d411565ef1ae3b26fad40256b1e590cd2348", + "843f6752d76740550f8348ed3cd3c9134700aa77", [ null, [ [ - "/css/css-view-transitions/new-content-captures-positioned-spans-ref.html", + "/css/css-view-transitions/new-content-captures-spans-ref.html", "==" ] ], @@ -276738,6 +276761,39 @@ {} ] ], + "new-content-is-inline.html": [ + "c341444f3425de43a7bc47f2a718a36337398141", + [ + null, + [ + [ + "/css/css-view-transitions/new-content-is-inline-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/new-content-is-inline.html", + "/css/css-view-transitions/new-content-is-inline-ref.html", + "==" + ], + [ + [ + 0, + 255 + ], + [ + 0, + 1000 + ] + ] + ] + ] + } + ] + ], "new-content-object-fit-fill.html": [ "b891eee16d5e93258f8bf8df0ce80b5bdb9b2d6e", [ @@ -277193,6 +277249,39 @@ {} ] ], + "old-content-is-inline.html": [ + "9f350237adcb1ea234c98f9374c8e357a14e6e78", + [ + null, + [ + [ + "/css/css-view-transitions/old-content-is-inline-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/old-content-is-inline.html", + "/css/css-view-transitions/old-content-is-inline-ref.html", + "==" + ], + [ + [ + 0, + 255 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ] + ], "old-content-object-fit-fill.html": [ "9ad8b14843fbb059229234fb8970f87e5a83ee48", [ @@ -277391,7 +277480,7 @@ ] ], "root-scrollbar-with-fixed-background.html": [ - "9a4684c3476ab69f5fcbeae28a8983ecb4fb68f0", + "c657fa19fba1923c3fbde4e2aa833b07aec5e455", [ null, [ @@ -277456,7 +277545,7 @@ ] ], "rtl-with-scrollbar.html": [ - "d235a3f6990f12db8fcaabc0353b98662c47918f", + "de2570605adbc04428b414448e1eeaeb7b55b0fb", [ null, [ @@ -277469,7 +277558,7 @@ ] ], "scroller-child-abspos.html": [ - "6c5b16dc01ddb72731da6e1db014aaa00f478dd5", + "9b2ac35eef07b33dc1ba75179b18ca9c7fbe0066", [ null, [ @@ -277502,7 +277591,7 @@ ] ], "scroller-child.html": [ - "72b405d64c0446a566a852f1874952025b1f054f", + "b18187ca6eba039d576b809b9b4723641d4d4f48", [ null, [ @@ -277535,7 +277624,7 @@ ] ], "scroller.html": [ - "c86fce2353a448312bc2b75bccff29a52c46b10d", + "6e2a6e465073a93f532942032e2d364727c0c4f8", [ null, [ @@ -301044,13 +301133,162 @@ ] }, "layers": { - "2d.layer.alpha.html": [ - "b4a87b42daaf344bb8955e7912dbd3f7adaa84fa", + "2d.layer.global-states.alpha.filter.globalcompositeoperation.html": [ + "54bafb9e65244d633d484d1583008f3c8b29663b", [ null, [ [ - "/html/canvas/element/layers/2d.layer.alpha-expected.html", + "/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.filter.html": [ + "bf522c29457fc4a3bf36e7b0ff914a8508479834", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.alpha.filter-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.filter.shadow.html": [ + "cccdf42edce0a420321e3ab31c650dca253396a7", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow-expected.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 2 + ], + [ + 0, + 5824 + ] + ] + ] + ] + } + ] + ], + "2d.layer.global-states.alpha.html": [ + "10ef0e7b221553d58f28e189d106be8fa17af265", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.alpha-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.shadow.html": [ + "a0f4d79a22380a5b14a257c0080c4173a721a55e", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.alpha.shadow-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.globalcompositeoperation.html": [ + "1f23dba96cc378079365b1da8dbc1f84f4fd08f2", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.html": [ + "7524ef56bb98e52e0af23b954759a31f3755b78a", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.filter-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.shadow.html": [ + "efa5dca2ae03e68b23abe5c3d642da86fa25c0dd", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.filter.shadow-expected.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 49 + ] + ] + ] + ] + } + ] + ], + "2d.layer.global-states.globalcompositeoperation.html": [ + "f27336adf4bbee1443e447360958ef35bf600fe9", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.shadow.html": [ + "da78b3435c780cb63f0ee06c797cb08692552e60", + [ + null, + [ + [ + "/html/canvas/element/layers/2d.layer.global-states.shadow-expected.html", "==" ] ], @@ -301860,90 +302098,6 @@ ] }, "layers": { - "layers-alpha-filter-globalcompositeoperation.html": [ - "6912d6a18b4475b20ab590841886f5d814ceb05d", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation-expected.html", - "==" - ] - ], - {} - ] - ], - "layers-alpha-filter-shadow.html": [ - "9c4a6fcaa7e7a34132120ca8d3ef4a442a669d44", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-alpha-filter-shadow-expected.html", - "==" - ] - ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 2 - ], - [ - 0, - 18000 - ] - ] - ] - ] - } - ] - ], - "layers-alpha-filter.html": [ - "7a895cf34dc00b1d848365649e8d7ed1f64e40c4", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-alpha-filter-expected.html", - "==" - ] - ], - {} - ] - ], - "layers-alpha-shadow.html": [ - "e7d791d8fc076528d31e8e1d70477c2acd364b34", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-alpha-shadow-expected.html", - "==" - ] - ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 2 - ], - [ - 0, - 18000 - ] - ] - ] - ] - } - ] - ], "layers-endlayer-noop.html": [ "aae72cfeaefc80f24c2894a98f233d47f2aad8bd", [ @@ -301957,58 +302111,6 @@ {} ] ], - "layers-filter-globalcompositeoperation.html": [ - "03d04d09ae5cb816ab310940d5c8746a7682a1dc", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation-expected.html", - "==" - ] - ], - {} - ] - ], - "layers-filter-shadow.html": [ - "31ce671629027fd8bbd00bf8350eb556e86544ca", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-filter-shadow-expected.html", - "==" - ] - ], - {} - ] - ], - "layers-filter.html": [ - "c4d63cda2ff9481a6a39cc7b4ada910aa4303a49", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-filter-expected.html", - "==" - ] - ], - {} - ] - ], - "layers-globalcompositeoperation.html": [ - "6d4fde3ed5367ff7137f6b77b8066ce2953d6d94", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-globalcompositeoperation-expected.html", - "==" - ] - ], - {} - ] - ], "layers-loneendlayer.html": [ "f0584d385cc69c3eeb97f6df43f45a721961bfb7", [ @@ -302108,19 +302210,6 @@ ] } ] - ], - "layers-shadow.html": [ - "59768746e49e25240e3f4083a196db04f60edebc", - [ - null, - [ - [ - "/html/canvas/element/manual/layers/layers-shadow-expected.html", - "==" - ] - ], - {} - ] ] }, "line-styles": { @@ -302306,26 +302395,324 @@ }, "offscreen": { "layers": { - "2d.layer.alpha.html": [ - "90506bfb622df8b321ae03118538eb7fd0af8ec2", + "2d.layer.global-states.alpha.filter.globalcompositeoperation.html": [ + "88d339fb1b112763151ad8573f6edc082d2be611", [ null, [ [ - "/html/canvas/offscreen/layers/2d.layer.alpha-expected.html", + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html", "==" ] ], {} ] ], - "2d.layer.alpha.w.html": [ - "bc9344217b108069ff34dd6e28b0efc7bc947865", + "2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html": [ + "a95085ca8946cf8afb172dbc32218a458bf6e31f", [ null, [ [ - "/html/canvas/offscreen/layers/2d.layer.alpha-expected.html", + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.filter.html": [ + "e8d3d5691bb4e7c04e2af9f34bcdd7447dc4bd77", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.filter.shadow.html": [ + "3e5e5bd9ba13aaa3bcf448704e1a0981999aab3b", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow-expected.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 2 + ], + [ + 0, + 5824 + ] + ] + ] + ] + } + ] + ], + "2d.layer.global-states.alpha.filter.shadow.w.html": [ + "9fac030db321a05bf6908eb29a916fca63773df1", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow-expected.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 2 + ], + [ + 0, + 5824 + ] + ] + ] + ] + } + ] + ], + "2d.layer.global-states.alpha.filter.w.html": [ + "177bae4e32d12b1ce0609c3c698c3beefa76a964", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.html": [ + "7064f47b20ab5287c2740bc97a93c5365f9b1ad9", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.shadow.html": [ + "afbbac881e72dcb1780db420421e671478735a0f", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.shadow.w.html": [ + "9e0e70993409dd2e0aebb706805ac2c35cad4860", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.alpha.w.html": [ + "59d528b2099a48f5fe16a526a8f9bd28d3e1a50a", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.alpha-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.globalcompositeoperation.html": [ + "b3ce2285dc922db002df6b50f55af48178efe509", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.globalcompositeoperation.w.html": [ + "6d21ffb8157d775871685066fc07fcea09660947", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.html": [ + "a36a34d78e044eeea4760d419cf0a64c6c627fb4", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.filter-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.filter.shadow.html": [ + "16439c60c68cf5d9dc6f36c5bfee89ae6a2fdb81", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow-expected.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 49 + ] + ] + ] + ] + } + ] + ], + "2d.layer.global-states.filter.shadow.w.html": [ + "7abddb27c517f1b44aad901d1caa22b92e9c46ef", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow-expected.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 49 + ] + ] + ] + ] + } + ] + ], + "2d.layer.global-states.filter.w.html": [ + "08e6c253562855709488d49737d47c9b82dafb1d", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.filter-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.globalcompositeoperation.html": [ + "1be83170f116998212e66da401e1be9097336728", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.globalcompositeoperation.w.html": [ + "7757aa5d8a95afff121c70055a54f3cd34683f6c", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.shadow.html": [ + "87b8224f856acedb3d30342bba45a40adb646841", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.shadow-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.layer.global-states.shadow.w.html": [ + "b8d598887290da085ea03646b21d19e0ca317a71", + [ + null, + [ + [ + "/html/canvas/offscreen/layers/2d.layer.global-states.shadow-expected.html", "==" ] ], @@ -320666,7 +321053,7 @@ [] ], "successes.js": [ - "4a047aa0609d7a6ac6e778f267dfef18d7a0d80a", + "e1c1665b511030533d1a01e92a741c11045d670a", [] ] }, @@ -320722,7 +321109,7 @@ }, "util": { "helpers.js": [ - "ee9d09d1251237dfd1bf8a3d4ade55d8b683bee5", + "ce240a1549cb21d7259438abdef6c758b7e792c9", [] ], "worker-report-crypto-subtle-presence.js": [ @@ -385489,7 +385876,7 @@ ], "resources": { "utils.js": [ - "dbbda1d585caa1aaca994956330fb18ceb269690", + "f659e123feb9d84a478ccbdf34a80e8c516c27fd", [] ] }, @@ -396707,6 +397094,10 @@ "c85028d3bd9f42c43d46a77c7c937b8cafde11b6", [] ], + "new-content-is-inline-ref.html": [ + "d2ba93e0948584ee4fecafa775fab0772b0bafaa", + [] + ], "new-content-object-view-box-clip-path-ref.html": [ "28e22b8ca2568a969545848281e18a0b4e8a6a99", [] @@ -396779,6 +397170,10 @@ "b4b17ee780f0484e75d5eb51ce04fcd432a6cdb5", [] ], + "old-content-is-inline-ref.html": [ + "5fe7d3fa1d2753853edc49680f5b0da2d127cd0b", + [] + ], "old-content-object-view-box-clip-path-ref.html": [ "28e22b8ca2568a969545848281e18a0b4e8a6a99", [] @@ -396853,7 +397248,7 @@ [] ], "frame-helper.html": [ - "d5bc43e7b820541b9f6e7c8cd5629fe0b08e7592", + "3d2e7b52d078d640602a15b97e54dd62981cb83d", [] ], "transition-in-empty-iframe-child.html": [ @@ -402298,7 +402693,7 @@ [] ], "testharness-api.md": [ - "38e6813b1a2d108ebfacce26add318456dd9f57c", + "339815c5ffe673542441be66c96803780fbb966a", [] ], "testharness-tutorial.md": [ @@ -403210,7 +403605,7 @@ [] ], "delete.js": [ - "bbd95e56a260ea3d1fff5e5410e79145db765c5b", + "7e63c518c793c8aabb11cd7d9e1cbe7ec0dded70", [] ], "fontname.js": [ @@ -403230,7 +403625,7 @@ [] ], "forwarddelete.js": [ - "7c1218276b226d4aeeb038f1a03ae12d74160c78", + "661b62adb8d1509c229d8983256aedf80d024845", [] ], "hilitecolor.js": [ @@ -403336,7 +403731,7 @@ }, "include": { "editor-test-utils.js": [ - "8d8e778836a51f1936e2de551df90d804fbcc973", + "a4c24c94edb8e7b0660c7dfdac10b77add02a43c", [] ], "implementation.js": [ @@ -407885,12 +408280,12 @@ [] ], "generic-sensor-tests.js": [ - "2f910806dfd498f49c5c75557f67f817396e68e9", + "65f58ee7ca2c42b77b196a57276be3c935d598b8", [] ], "resources": { "generic-sensor-helpers.js": [ - "aa101547ff1420f3ec95c96725bb8e5067a7f955", + "9a51a591ce116e981310c0f1eb37cfc7eac722fd", [] ], "iframe_sensor_handler.html": [ @@ -410639,8 +411034,44 @@ ] }, "layers": { - "2d.layer.alpha-expected.html": [ - "615aa1cb8bfd7ab03b9fb8930317c5975d76b5fd", + "2d.layer.global-states.alpha-expected.html": [ + "72d97c663f863ca503eeaa42d8d1a78fbd0f32a8", + [] + ], + "2d.layer.global-states.alpha.filter-expected.html": [ + "b4512e2455e2062df69460a2910c30a50f48ec28", + [] + ], + "2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html": [ + "ab7e6cc6c194a9471dab267b7fb6fde6b731eb39", + [] + ], + "2d.layer.global-states.alpha.filter.shadow-expected.html": [ + "9a49e366a953c1337989a8aa39546aec11df569e", + [] + ], + "2d.layer.global-states.alpha.shadow-expected.html": [ + "9daefc377bde8aa05b21689f89ff249924615dd7", + [] + ], + "2d.layer.global-states.filter-expected.html": [ + "cff8783b3921b7579bb87b038a063fe59be9158c", + [] + ], + "2d.layer.global-states.filter.globalcompositeoperation-expected.html": [ + "12fc31209ac942878df5f9b2d81f8e6a1ecc2e70", + [] + ], + "2d.layer.global-states.filter.shadow-expected.html": [ + "6ec9b02f7cb4e5d7a0a1da41b0a5a45a777db53c", + [] + ], + "2d.layer.global-states.globalcompositeoperation-expected.html": [ + "7e2e021b552e5ab6d6007caa3fbe01f3d5a4bea6", + [] + ], + "2d.layer.global-states.shadow-expected.html": [ + "6787bdd1e50496f3cb05bcbecb2ffb29854e0442", [] ] }, @@ -410866,42 +411297,10 @@ ] }, "layers": { - "layers-alpha-filter-expected.html": [ - "5b54384a79bfaf43470bc5639f42d7b04fb1e82b", - [] - ], - "layers-alpha-filter-globalcompositeoperation-expected.html": [ - "8d84dcb73f4f5778a895ae2ab56fb8bcc9a02cd6", - [] - ], - "layers-alpha-filter-shadow-expected.html": [ - "89c3f64feae4dde06a8e047ba35d5098c08eff6f", - [] - ], - "layers-alpha-shadow-expected.html": [ - "f29fb736e3ab38f6179acb1aed63973e040b9c19", - [] - ], "layers-endlayer-noop-expected.html": [ "7f4937ecda40e2aa85864e518caf9bd48d870cb9", [] ], - "layers-filter-expected.html": [ - "7fe4d2c03efc5635ab42ca307fd693f24b05a267", - [] - ], - "layers-filter-globalcompositeoperation-expected.html": [ - "0676d7e1aac001ba89c5e4fafd7dc1d216f4cf41", - [] - ], - "layers-filter-shadow-expected.html": [ - "5d141c3d0856e29d35e2a75efeba830522e3cf91", - [] - ], - "layers-globalcompositeoperation-expected.html": [ - "d2d4317f0742eea23ff50abd45d6fa9a98dd26c6", - [] - ], "layers-loneendlayer-expected.html": [ "cec5a54512c5782ce1574c6d4d191e483b776e26", [] @@ -410917,10 +411316,6 @@ "layers-several-complex-expected.html": [ "eca81cd8d72ce689d2635532b08b31de667aa1c8", [] - ], - "layers-shadow-expected.html": [ - "76960455719cdad63809e3733ef7154e0da64f3f", - [] ] }, "line-styles": { @@ -411401,8 +411796,44 @@ [] ], "layers": { - "2d.layer.alpha-expected.html": [ - "615aa1cb8bfd7ab03b9fb8930317c5975d76b5fd", + "2d.layer.global-states.alpha-expected.html": [ + "72d97c663f863ca503eeaa42d8d1a78fbd0f32a8", + [] + ], + "2d.layer.global-states.alpha.filter-expected.html": [ + "b4512e2455e2062df69460a2910c30a50f48ec28", + [] + ], + "2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html": [ + "ab7e6cc6c194a9471dab267b7fb6fde6b731eb39", + [] + ], + "2d.layer.global-states.alpha.filter.shadow-expected.html": [ + "9a49e366a953c1337989a8aa39546aec11df569e", + [] + ], + "2d.layer.global-states.alpha.shadow-expected.html": [ + "9daefc377bde8aa05b21689f89ff249924615dd7", + [] + ], + "2d.layer.global-states.filter-expected.html": [ + "cff8783b3921b7579bb87b038a063fe59be9158c", + [] + ], + "2d.layer.global-states.filter.globalcompositeoperation-expected.html": [ + "12fc31209ac942878df5f9b2d81f8e6a1ecc2e70", + [] + ], + "2d.layer.global-states.filter.shadow-expected.html": [ + "6ec9b02f7cb4e5d7a0a1da41b0a5a45a777db53c", + [] + ], + "2d.layer.global-states.globalcompositeoperation-expected.html": [ + "7e2e021b552e5ab6d6007caa3fbe01f3d5a4bea6", + [] + ], + "2d.layer.global-states.shadow-expected.html": [ + "6787bdd1e50496f3cb05bcbecb2ffb29854e0442", [] ] }, @@ -411497,7 +411928,7 @@ [] ], "gentestutilsunion.py": [ - "097bf12483d1896edc0de0a27563a4b7ba2eae17", + "fdb6a390cf4a19fb6acf9fd8de1e81c558150174", [] ], "name2dir-canvas.yaml": [ @@ -411628,7 +412059,7 @@ [] ], "layers.yaml": [ - "7f9719fd505347737f4e9e39a3abaa7f63ef0ad3", + "51dedfd781326c8bf4f6d57c3bc79e82c95b0703", [] ], "line-styles.yaml": [ @@ -416504,6 +416935,10 @@ "bbbcf799393fc047dae6d47836c3696868df8fb7", [] ], + "frame-with-a.html": [ + "1f317369028ab2f87d378dc4070ff443432f9a09", + [] + ], "frame-with-anchor.html": [ "b9070159e747dfe1d60b21b5e190598abd36d5b0", [] @@ -416525,7 +416960,7 @@ [] ], "utils.js": [ - "c4f38fcb209e52328429a5d425fd5b5c8f2aaae4", + "e928e275407cbeee9fefffa9a3772b9d55ccc62e", [] ] } @@ -423606,7 +424041,7 @@ }, "server": { "context.any.js.ini": [ - "49220324f2f08b8e2bd700e2161615ba93f78b59", + "03bf96ec464ce59ea7ede41df1c6c888c97cf45b", [] ], "http2-context.sub.h2.any.js.ini": [ @@ -431863,6 +432298,10 @@ ], "tests": { "functional": { + "abortsignal.html": [ + "e6080e96ec9fb54c6a06567fc65ed9c315217e1e", + [] + ], "add_cleanup.html": [ "468319fdbea0044d1d8436ccf626d9778dc1e805", [] @@ -432297,7 +432736,7 @@ [] ], "testharness.js": [ - "55aaa582c53eff9674f2c2f060c5678b6f82a5a3", + "bed115a99cefba4fb2bc849cfc7607cbde6b3c7d", [] ], "testharness.js.headers": [ @@ -448186,7 +448625,7 @@ ] }, "wasm-module-builder.js": [ - "7be72f86dae75240edfa3548826e6f88bfde40c8", + "86d836a5a37245100c628fe6f03691373b6a27d4", [] ] }, @@ -468295,7 +468734,7 @@ ], "import_export": { "ec_importKey.https.any.js": [ - "66be9ff65d6f8b2946a5253cda600c556b2d1c8f", + "c70583bf12eba9afdf641ebb0c13f38d75d86e3b", [ "WebCryptoAPI/import_export/ec_importKey.https.any.html", { @@ -468307,6 +468746,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468323,6 +468766,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468330,7 +468777,7 @@ ] ], "okp_importKey.https.any.js": [ - "0bd460b62f66ae43f7c79468abdc80edeaba0cdd", + "2257a5fa418ad5f2a71cda4c83b919c7d28850b2", [ "WebCryptoAPI/import_export/okp_importKey.https.any.html", { @@ -468342,6 +468789,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468358,6 +468809,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468569,7 +469024,7 @@ ] ], "rsa_importKey.https.any.js": [ - "9f9d38a9554be98f256e6f6d30642242185e29b8", + "41d25da89c6505f9e0408cff72a2bb1b9d884266", [ "WebCryptoAPI/import_export/rsa_importKey.https.any.html", { @@ -468581,6 +469036,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468597,6 +469056,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468604,7 +469067,7 @@ ] ], "symmetric_importKey.https.any.js": [ - "3d76daac1e28a1369c5046effd2b4fa951766963", + "404b66ac0022acd81ed803c9054969fbb3a02111", [ "WebCryptoAPI/import_export/symmetric_importKey.https.any.html", { @@ -468616,6 +469079,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -468632,6 +469099,10 @@ [ "timeout", "long" + ], + [ + "script", + "../util/helpers.js" ] ], "timeout": "long" @@ -504942,6 +505413,13 @@ {} ] ], + "custom-property-transition-property-all.html": [ + "6fc724cd35fdcadf5aa22b1e42bca955d246160c", + [ + null, + {} + ] + ], "custom-property-transition-resolution.html": [ "5631910b7cb9809c1778cb4fb3ac4364b3f943b3", [ @@ -594078,14 +594556,14 @@ ] ], "document-with-fragment-top.html": [ - "ea3cc41f81b3f32d7f0ee14054fc7d72f3e774f2", + "f2d2aaae609c1c573c47f7dd11d2135a1fd0e20f", [ null, {} ] ], "document-with-fragment-valid.html": [ - "7a7b01a21b906379f0e830effa9484a0297dcb50", + "5078f1a0ac3b9306a1076ee7dbb5c4b4b8de5214", [ null, {} @@ -594194,7 +594672,7 @@ ] ], "spin-by-blocking-style-sheet.html": [ - "22a4c3573cccf909d3a5675db2aab97a4f366bc0", + "fb87eca77a6ef5bfc1c6ab0a6e9ebcd474fc8a2a", [ null, {} @@ -614074,6 +614552,13 @@ {} ] ], + "inert-inlines-around-selection-range-in-contenteditable.html": [ + "ff00e16a7a436fb31adbfd81e24c38f490e1f226", + [ + null, + {} + ] + ], "inert-inlines.html": [ "b056c6495d2c54733bee6ab796332ba89f01b379", [ @@ -624442,6 +624927,13 @@ {} ] ], + "navigate-history-back-noop.html": [ + "10763c93fd20ec841acb1f1dab45d2343c5de074", + [ + null, + {} + ] + ], "navigate-history-go-0.html": [ "96d98cf44c8261a777d37b31785137897f3429c8", [ @@ -649139,7 +649631,7 @@ ] ], "scroll-timeline-inactive.html": [ - "92165d7046c19e10dfcdb74b2b32f5216bf2abc4", + "0953f1b389406dffb80fb9b599eef7f1fbe24c07", [ null, {} @@ -663387,7 +663879,7 @@ }, "subapps": { "add-error.tentative.https.html": [ - "8598f3fa35ab36603d05f4a68969608721b24b1e", + "2cbf50836df093ee12e0157d5db6dfa0cc59706e", [ null, { @@ -663396,7 +663888,7 @@ ] ], "add-success.tentative.https.html": [ - "24c420666e9d62cb78ba7fe2ba52194a2ecb1ac4", + "2453fdbdecd39cfadf142b5ecf34d35a9eaef5ca", [ null, { @@ -663437,21 +663929,21 @@ ] ], "list-success.tentative.https.html": [ - "d214b8ac14a7588c27c313f2ee6df1e138ccdb0c", + "c1d281abc530f16f60c0af6548d36a35710fd4dd", [ null, {} ] ], "remove-error.tentative.https.html": [ - "e447ccede5c53199789ef8c8defb80e18303311a", + "e85ffd74a78d52a156f1fba88bba61a384a20cc7", [ null, {} ] ], "remove-success.tentative.https.html": [ - "a4148fd869c43d1168da738dfceb76484b20912c", + "ca73cbea8886aa5eb93249b97264df0c4ac1e875", [ null, {} @@ -672256,7 +672748,7 @@ ] ], "constructor.tentative.any.js": [ - "0fd47b455e023c7aecd40cf0dfafb175b7bb3e43", + "7ad08e1883ba13c38fa9c21b1f053fc6e6d5b1a3", [ null, { @@ -672305,7 +672797,7 @@ ] ], "getArg.tentative.any.js": [ - "4b72c61f47b7e2c1ad921d072ce1016333e6d420", + "f0a568a857f0e733035675a0c0d97d7214ac5d61", [ null, { @@ -672353,6 +672845,67 @@ } ] ], + "identity.tentative.any.js": [ + "65787c107e3c29f7e4cc1a2e34d6425fc7d56c86", + [ + null, + { + "jsshell": true, + "script_metadata": [ + [ + "global", + "window,dedicatedworker,jsshell" + ], + [ + "script", + "/wasm/jsapi/assertions.js" + ], + [ + "script", + "/wasm/jsapi/wasm-module-builder.js" + ] + ] + } + ], + [ + "wasm/jsapi/exception/identity.tentative.any.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,jsshell" + ], + [ + "script", + "/wasm/jsapi/assertions.js" + ], + [ + "script", + "/wasm/jsapi/wasm-module-builder.js" + ] + ] + } + ], + [ + "wasm/jsapi/exception/identity.tentative.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker,jsshell" + ], + [ + "script", + "/wasm/jsapi/assertions.js" + ], + [ + "script", + "/wasm/jsapi/wasm-module-builder.js" + ] + ] + } + ] + ], "is.tentative.any.js": [ "e28a88a3c5fdcfa0f08711a00fba8a1eaf97114e", [ @@ -672403,7 +672956,7 @@ ] ], "toString.tentative.any.js": [ - "52635186c762fcb6828856be7236af87b22e9359", + "00e801a6fc1a4a2f0e361288d4d6bfb45745f446", [ null, { diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini new file mode 100644 index 00000000000..968f62a2553 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini @@ -0,0 +1,3 @@ +[hit-test-floats-002.html] + [Hit test float] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index 665ec4646cb..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini deleted file mode 100644 index b4eea326212..00000000000 --- a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[block-in-inline-hittest-001.html] - [block-in-inline-hittest-001] - expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/selectors/attribute-value-selector-004.xht.ini b/tests/wpt/metadata/css/CSS2/selectors/attribute-value-selector-004.xht.ini new file mode 100644 index 00000000000..ce14b0578d7 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/selectors/attribute-value-selector-004.xht.ini @@ -0,0 +1,2 @@ +[attribute-value-selector-004.xht] + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini b/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini new file mode 100644 index 00000000000..5b685485f3c --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini @@ -0,0 +1,3 @@ +[hittest-before-pseudo.html] + [Hit-testing text within a pseudo-element flex-item should return the flexbox as the hittest result.] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini index 4a5712723f3..537c917bdfc 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini @@ -68,9 +68,6 @@ [Matching font-style: 'italic' should prefer 'oblique 20deg' over 'oblique 30deg 60deg'] expected: FAIL - [Matching font-stretch: '100%' should prefer '100%' over '110% 120%'] - expected: FAIL - [Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg'] expected: FAIL @@ -113,9 +110,6 @@ [Matching font-style: 'oblique 21deg' should prefer 'oblique 21deg' over 'oblique 30deg 60deg'] expected: FAIL - [Matching font-style: 'italic' should prefer 'oblique 5deg 10deg' over 'oblique 5deg'] - expected: FAIL - [Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg'] expected: FAIL @@ -155,9 +149,6 @@ [Matching font-stretch: '110%' should prefer '50% 80%' over '60% 70%'] expected: FAIL - [Matching font-style: 'oblique -21deg' should prefer 'italic' over 'oblique 0deg'] - expected: FAIL - [Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg'] expected: FAIL @@ -233,9 +224,6 @@ [Matching font-stretch: '110%' should prefer '100%' over '50% 80%'] expected: FAIL - [Matching font-style: 'oblique 10deg' should prefer 'oblique 10deg' over 'oblique 5deg'] - expected: FAIL - [Matching font-style: 'oblique -10deg' should prefer 'oblique -1deg 0deg' over 'oblique -20deg -15deg'] expected: FAIL @@ -248,9 +236,6 @@ [Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg'] expected: FAIL - [Matching font-style: 'normal' should prefer 'oblique 20deg 30deg' over 'oblique -50deg -20deg'] - expected: FAIL - [Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg'] expected: FAIL @@ -319,3 +304,18 @@ [Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic'] expected: FAIL + + [Matching font-weight: '501' should prefer '450 460' over '390 410'] + expected: FAIL + + [Matching font-style: 'italic' should prefer 'oblique 40deg 50deg' over 'oblique 5deg 10deg'] + expected: FAIL + + [Matching font-style: 'oblique 10deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'] + expected: FAIL + + [Matching font-style: 'oblique 0deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg'] + expected: FAIL + + [Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic'] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini index 3f9c5003739..4a1232b3c22 100644 --- a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini +++ b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini @@ -1,3 +1,6 @@ [transform-scale-hittest.html] [Hit test intersecting scaled box] expected: FAIL + + [Hit test within unscaled box] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-002.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-002.html.ini index 22cc93431b5..9a3de180712 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-002.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-002.html.ini @@ -25,4 +25,3 @@ [padding-top percentage(%) / values] expected: [FAIL, PASS] - diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini index 3fe0bd64cb2..438884a0319 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini @@ -325,3 +325,153 @@ [margin-right length(mm) / values] expected: [FAIL, PASS] + + [color color(rgba) / values] + expected: FAIL + + [font-size length(pt) / values] + expected: FAIL + + [font-size length(pc) / values] + expected: FAIL + + [font-size length(px) / values] + expected: FAIL + + [font-size length(em) / values] + expected: FAIL + + [font-size length(ex) / values] + expected: FAIL + + [font-size length(mm) / values] + expected: FAIL + + [font-size length(cm) / values] + expected: FAIL + + [font-size length(in) / values] + expected: FAIL + + [font-size percentage(%) / values] + expected: FAIL + + [font-weight font-weight(keyword) / values] + expected: FAIL + + [font-weight font-weight(numeric) / values] + expected: FAIL + + [line-height number(integer) / values] + expected: FAIL + + [line-height number(decimal) / values] + expected: FAIL + + [line-height length(pt) / values] + expected: FAIL + + [line-height length(pc) / values] + expected: FAIL + + [line-height length(px) / values] + expected: FAIL + + [line-height length(em) / values] + expected: FAIL + + [line-height length(ex) / values] + expected: FAIL + + [line-height length(mm) / values] + expected: FAIL + + [line-height length(cm) / values] + expected: FAIL + + [line-height length(in) / values] + expected: FAIL + + [line-height percentage(%) / values] + expected: FAIL + + [letter-spacing length(pt) / values] + expected: FAIL + + [letter-spacing length(pc) / values] + expected: FAIL + + [letter-spacing length(px) / values] + expected: FAIL + + [letter-spacing length(em) / values] + expected: FAIL + + [letter-spacing length(ex) / values] + expected: FAIL + + [letter-spacing length(mm) / values] + expected: FAIL + + [letter-spacing length(cm) / values] + expected: FAIL + + [letter-spacing length(in) / values] + expected: FAIL + + [word-spacing length(pt) / values] + expected: FAIL + + [word-spacing length(pc) / values] + expected: FAIL + + [word-spacing length(px) / values] + expected: FAIL + + [word-spacing length(em) / values] + expected: FAIL + + [word-spacing length(ex) / values] + expected: FAIL + + [word-spacing length(mm) / values] + expected: FAIL + + [word-spacing length(cm) / values] + expected: FAIL + + [word-spacing length(in) / values] + expected: FAIL + + [word-spacing percentage(%) / values] + expected: FAIL + + [text-indent length(pt) / values] + expected: FAIL + + [text-indent length(pc) / values] + expected: FAIL + + [text-indent length(px) / values] + expected: FAIL + + [text-indent length(em) / values] + expected: FAIL + + [text-indent length(ex) / values] + expected: FAIL + + [text-indent length(mm) / values] + expected: FAIL + + [text-indent length(cm) / values] + expected: FAIL + + [text-indent length(in) / values] + expected: FAIL + + [text-indent percentage(%) / values] + expected: FAIL + + [text-shadow shadow(shadow) / values] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-table.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-table.html.ini deleted file mode 100644 index db065588308..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-table.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-float-in-table.html] - [float-in-div] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini index df64baf81ee..8ae9bae3500 100644 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini @@ -13,6 +13,3 @@ [
  • Outside 3
  • ] expected: FAIL - - [
  • Image Inside 2
  • ] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini index 57cbb5a4948..898f39c4330 100644 --- a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini @@ -18,5 +18,5 @@ [test some point of the element: bottom right corner] expected: FAIL - [test some point of the element: top left corner] + [test the top of layer] expected: FAIL diff --git a/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini index 067368ac95d..0d48169e3cc 100644 --- a/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini +++ b/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini @@ -147,5 +147,5 @@ [list-style-image sec-fetch-site - HTTPS downgrade-upgrade] expected: FAIL - [background-image sec-fetch-site - Not sent to non-trustworthy cross-site destination] + [background-image sec-fetch-site - HTTPS downgrade (header not sent)] expected: TIMEOUT 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 6e9f7acf151..c8a3c8f9e68 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: TIMEOUT + expected: ERROR [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/navigating-across-documents/005.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini index 33efcdbcf48..f7ee5361549 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini @@ -1,3 +1,4 @@ [005.html] + expected: TIMEOUT [Link with onclick navigation and href navigation ] expected: FAIL 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 a46c9650e78..1d68034a37d 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,13 +1,12 @@ [failure-check-sequence.https.html] - expected: TIMEOUT [CSP check precedes COEP check - CSP header first] - expected: TIMEOUT + expected: FAIL [COEP check precedes X-Frame-Options check] - expected: NOTRUN + expected: FAIL [CSP check precedes COEP check - COEP header first] - expected: NOTRUN + expected: FAIL [CSP check precedes X-Frame-Options check] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini index dd7320bb46e..856bb1c9901 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini @@ -4,7 +4,7 @@ expected: FAIL [Navigating to a different document with form submission] - expected: NOTRUN + expected: TIMEOUT [Navigating to a different document with link click] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-load-as-html.xhtml.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-load-as-html.xhtml.ini deleted file mode 100644 index 3956f08d5bb..00000000000 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-load-as-html.xhtml.ini +++ /dev/null @@ -1,4 +0,0 @@ -[javascript-url-load-as-html.xhtml] - expected: TIMEOUT - [javascript: URL navigation to a string must create a HTML document using the correct properties] - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini new file mode 100644 index 00000000000..f5b7b25324f --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini @@ -0,0 +1,4 @@ +[traverse-during-unload.html] + expected: TIMEOUT + [Traversing the history during unload] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini new file mode 100644 index 00000000000..d6188c03424 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini @@ -0,0 +1,3 @@ +[traverse_the_history_4.html] + [Multiple history traversals, last would be aborted] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/layers/2d.layer.alpha.html.ini b/tests/wpt/metadata/html/canvas/element/layers/2d.layer.alpha.html.ini deleted file mode 100644 index 22b9ad2bb5b..00000000000 --- a/tests/wpt/metadata/html/canvas/element/layers/2d.layer.alpha.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.layer.alpha.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/manual/image-smoothing/imagesmoothing.html.ini b/tests/wpt/metadata/html/canvas/element/manual/image-smoothing/imagesmoothing.html.ini deleted file mode 100644 index 52663ea3f55..00000000000 --- a/tests/wpt/metadata/html/canvas/element/manual/image-smoothing/imagesmoothing.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[imagesmoothing.html] - [Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with stroke() and createPattern().] - expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/manual/layers/layers-alpha-filter.html.ini b/tests/wpt/metadata/html/canvas/element/manual/layers/layers-alpha-filter.html.ini deleted file mode 100644 index d75478539b7..00000000000 --- a/tests/wpt/metadata/html/canvas/element/manual/layers/layers-alpha-filter.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[layers-alpha-filter.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/manual/layers/layers-filter.html.ini b/tests/wpt/metadata/html/canvas/element/manual/layers/layers-filter.html.ini deleted file mode 100644 index 92017302971..00000000000 --- a/tests/wpt/metadata/html/canvas/element/manual/layers/layers-filter.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[layers-filter.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/manual/layers/layers-globalcompositeoperation.html.ini b/tests/wpt/metadata/html/canvas/element/manual/layers/layers-globalcompositeoperation.html.ini deleted file mode 100644 index e752351fa6a..00000000000 --- a/tests/wpt/metadata/html/canvas/element/manual/layers/layers-globalcompositeoperation.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[layers-globalcompositeoperation.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.html.ini deleted file mode 100644 index 22b9ad2bb5b..00000000000 --- a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.layer.alpha.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.w.html.ini deleted file mode 100644 index 100c59b490f..00000000000 --- a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.alpha.w.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.layer.alpha.w.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html.ini new file mode 100644 index 00000000000..9942cbaf0f2 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html.ini new file mode 100644 index 00000000000..7389a729032 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.alpha.filter.shadow.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html.ini new file mode 100644 index 00000000000..558b18cf58b --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.alpha.filter.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html.ini new file mode 100644 index 00000000000..4f0d5b65629 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.alpha.shadow.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html.ini new file mode 100644 index 00000000000..562e7fb544a --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.alpha.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html.ini new file mode 100644 index 00000000000..11fb743f0c9 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.filter.globalcompositeoperation.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html.ini new file mode 100644 index 00000000000..1ffdc5dc7eb --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.filter.shadow.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html.ini new file mode 100644 index 00000000000..c2355891e60 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.filter.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html.ini new file mode 100644 index 00000000000..6cf683385e0 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.globalcompositeoperation.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html.ini new file mode 100644 index 00000000000..66861cfabf4 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html.ini @@ -0,0 +1,2 @@ +[2d.layer.global-states.shadow.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html.ini index 4805d3e402b..24f10d4d7f2 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html.ini @@ -1,5 +1,3 @@ [spin-by-blocking-style-sheet.html] - expected: TIMEOUT [Script-blocking style sheet should pause flushing autofocus candidates.] - expected: TIMEOUT - + expected: FAIL diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index 8acae84e1e4..d169bd2e9fa 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,5 +1,4 @@ [supported-elements.html] - expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL @@ -10,7 +9,7 @@ expected: FAIL [Area element should support autofocus] - expected: TIMEOUT + expected: FAIL [Host element with delegatesFocus should support autofocus] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index e5994e21efc..25d9964f057 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,5 +1,4 @@ [iframe_sandbox_popups_escaping-1.html] type: testharness - expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index 6f7461b9472..53b0601e68c 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,4 +1,5 @@ [iframe_sandbox_popups_nonescaping-1.html] type: testharness + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini index 176a036eb36..8acf34f2b96 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini @@ -175,3 +175,6 @@ [application/x-www-form-urlencoded: single quote in name (normal form)] expected: FAIL + + [application/x-www-form-urlencoded: 0x00 in filename (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/historical.html.ini b/tests/wpt/metadata/html/semantics/forms/historical.html.ini new file mode 100644 index 00000000000..5d8289307cc --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/historical.html.ini @@ -0,0 +1,3 @@ +[historical.html] + [ should not be supported] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini deleted file mode 100644 index 0016a73a842..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini +++ /dev/null @@ -1,12 +0,0 @@ -[select-event.html] - [textarea: selectionEnd disconnected node] - expected: FAIL - - [input type text: selectionStart disconnected node] - expected: FAIL - - [input type text: selectionStart event queue] - expected: FAIL - - [input type text: setSelectionRange() event queue] - expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini index aefc66df468..514c8b576ad 100644 --- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini +++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini @@ -1,5 +1,4 @@ [import-meta-url.html] - expected: ERROR [import.meta.url at top-level module DedicatedWorker] expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini new file mode 100644 index 00000000000..fc0233f5241 --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini @@ -0,0 +1,3 @@ +[module-delayed.html] + [async document.write in a module] + expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini deleted file mode 100644 index f9a4f08cd70..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[module-tla-delayed.html] - [document.write in an imported module] - expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini index 8845054116d..e55f8f2ce3c 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini @@ -3,3 +3,6 @@ expected: TIMEOUT [The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] expected: TIMEOUT + + [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document] + expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini index dbe1def99e3..7237f5792de 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini @@ -1,9 +1,10 @@ [promise-job-entry-different-function-realm.html] + expected: TIMEOUT [Fulfillment handler on fulfilled promise] expected: FAIL [Rejection handler on pending-then-rejected promise] - expected: FAIL + expected: TIMEOUT [Thenable resolution] expected: FAIL @@ -12,4 +13,4 @@ expected: FAIL [Fulfillment handler on pending-then-fulfilled promise] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/wasm/jsapi/exception/basic.tentative.any.js.ini b/tests/wpt/metadata/wasm/jsapi/exception/basic.tentative.any.js.ini index c28301608df..30501bd1060 100644 --- a/tests/wpt/metadata/wasm/jsapi/exception/basic.tentative.any.js.ini +++ b/tests/wpt/metadata/wasm/jsapi/exception/basic.tentative.any.js.ini @@ -1,4 +1,16 @@ [basic.tentative.any.worker.html] + [Wasm function throws argument] + expected: FAIL + + [Wasm function throws null] + expected: FAIL + + [Wasm function throws integer] + expected: FAIL + + [Imported JS function throws] + expected: FAIL + [basic.tentative.any.sharedworker.html] expected: ERROR @@ -7,3 +19,14 @@ expected: ERROR [basic.tentative.any.html] + [Wasm function throws argument] + expected: FAIL + + [Wasm function throws null] + expected: FAIL + + [Wasm function throws integer] + expected: FAIL + + [Imported JS function throws] + expected: FAIL diff --git a/tests/wpt/metadata/wasm/jsapi/exception/getArg.tentative.any.js.ini b/tests/wpt/metadata/wasm/jsapi/exception/getArg.tentative.any.js.ini new file mode 100644 index 00000000000..012fe6c7f8b --- /dev/null +++ b/tests/wpt/metadata/wasm/jsapi/exception/getArg.tentative.any.js.ini @@ -0,0 +1,8 @@ +[getArg.tentative.any.worker.html] + [Getting out-of-range argument] + expected: FAIL + + +[getArg.tentative.any.html] + [Getting out-of-range argument] + expected: FAIL diff --git a/tests/wpt/metadata/webmessaging/broadcastchannel/cross-partition.https.tentative.html.ini b/tests/wpt/metadata/webmessaging/broadcastchannel/cross-partition.https.tentative.html.ini index 39d039a0132..04c2032c723 100644 --- a/tests/wpt/metadata/webmessaging/broadcastchannel/cross-partition.https.tentative.html.ini +++ b/tests/wpt/metadata/webmessaging/broadcastchannel/cross-partition.https.tentative.html.ini @@ -1,5 +1,5 @@ [cross-partition.https.tentative.html] - expected: CRASH + expected: TIMEOUT [BroadcastChannel messages aren't received from a cross-partition iframe] expected: FAIL diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini deleted file mode 100644 index b7b36c1d3a4..00000000000 --- a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[018.html] - expected: TIMEOUT - [origin of the script that invoked the method, javascript:] - expected: TIMEOUT diff --git a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata/webmessaging/without-ports/018.html.ini deleted file mode 100644 index b7b36c1d3a4..00000000000 --- a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[018.html] - expected: TIMEOUT - [origin of the script that invoked the method, javascript:] - expected: TIMEOUT diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini new file mode 100644 index 00000000000..80f9a4f15b8 --- /dev/null +++ b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini @@ -0,0 +1,2 @@ +[Worker-constructor.html] + expected: ERROR diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/generateKey/successes.js b/tests/wpt/web-platform-tests/WebCryptoAPI/generateKey/successes.js index 4a047aa0609..e1c1665b511 100644 --- a/tests/wpt/web-platform-tests/WebCryptoAPI/generateKey/successes.js +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/generateKey/successes.js @@ -64,7 +64,7 @@ function run_test(algorithmNames, slowTest) { .then(function(result) { if (resultType === "CryptoKeyPair") { assert_goodCryptoKey(result.privateKey, algorithm, extractable, usages, "private"); - assert_goodCryptoKey(result.publicKey, algorithm, extractable, usages, "public"); + assert_goodCryptoKey(result.publicKey, algorithm, true, usages, "public"); } else { assert_goodCryptoKey(result, algorithm, extractable, usages, "secret"); } diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.https.any.js b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.https.any.js index 66be9ff65d6..c70583bf12e 100644 --- a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.https.any.js +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.https.any.js @@ -1,5 +1,6 @@ // META: title=WebCryptoAPI: importKey() for EC keys // META: timeout=long +// META: script=../util/helpers.js // Test importKey and exportKey for EC algorithms. Only "happy paths" are // currently tested - those where the operation should succeed. @@ -110,6 +111,7 @@ return subtle.importKey(format, keyData, algorithm, extractable, usages). then(function(key) { assert_equals(key.constructor, CryptoKey, "Imported a CryptoKey object"); + assert_goodCryptoKey(key, algorithm, extractable, usages, (format === 'pkcs8' || (format === 'jwk' && keyData.d)) ? 'private' : 'public'); if (!extractable) { return; } diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any.js b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any.js index 0bd460b62f6..2257a5fa418 100644 --- a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any.js +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/okp_importKey.https.any.js @@ -1,5 +1,6 @@ // META: title=WebCryptoAPI: importKey() for OKP keys // META: timeout=long +// META: script=../util/helpers.js // Test importKey and exportKey for OKP algorithms. Only "happy paths" are // currently tested - those where the operation should succeed. @@ -104,6 +105,7 @@ return subtle.importKey(format, keyData[format], algorithm, extractable, usages). then(function(key) { assert_equals(key.constructor, CryptoKey, "Imported a CryptoKey object"); + assert_goodCryptoKey(key, algorithm, extractable, usages, (format === 'pkcs8' || (format === 'jwk' && keyData[format].d)) ? 'private' : 'public'); if (!extractable) { return; } diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.any.js b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.any.js index 9f9d38a9554..41d25da89c6 100644 --- a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.any.js +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.https.any.js @@ -1,5 +1,6 @@ // META: title=WebCryptoAPI: importKey() for RSA keys // META: timeout=long +// META: script=../util/helpers.js // Test importKey and exportKey for RSA algorithms. Only "happy paths" are // currently tested - those where the operation should succeed. @@ -113,6 +114,7 @@ return subtle.importKey(format, keyData[format], algorithm, extractable, usages). then(function(key) { assert_equals(key.constructor, CryptoKey, "Imported a CryptoKey object"); + assert_goodCryptoKey(key, algorithm, extractable, usages, (format === 'pkcs8' || (format === 'jwk' && keyData[format].d)) ? 'private' : 'public'); if (!extractable) { return; } diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.https.any.js b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.https.any.js index 3d76daac1e2..404b66ac002 100644 --- a/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.https.any.js +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/import_export/symmetric_importKey.https.any.js @@ -1,5 +1,6 @@ // META: title=WebCryptoAPI: importKey() for symmetric keys // META: timeout=long +// META: script=../util/helpers.js // Test importKey and exportKey for non-PKC algorithms. Only "happy paths" are // currently tested - those where the operation should succeed. @@ -57,6 +58,10 @@ }); }); + function hasLength(algorithm) { + return algorithm.name === 'HMAC' || algorithm.name.startsWith('AES'); + } + // Test importKey with a given key format and other parameters. If // extrable is true, export the key and verify that it matches the input. function testFormat(format, algorithm, keyData, keySize, usages, extractable) { @@ -64,6 +69,7 @@ return subtle.importKey(format, keyData, algorithm, extractable, usages). then(function(key) { assert_equals(key.constructor, CryptoKey, "Imported a CryptoKey object"); + assert_goodCryptoKey(key, hasLength(key.algorithm) ? { length: keySize, ...algorithm } : algorithm, extractable, usages, 'secret'); if (!extractable) { return; } diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/util/helpers.js b/tests/wpt/web-platform-tests/WebCryptoAPI/util/helpers.js index ee9d09d1251..ce240a1549c 100644 --- a/tests/wpt/web-platform-tests/WebCryptoAPI/util/helpers.js +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/util/helpers.js @@ -19,7 +19,7 @@ var registeredAlgorithmNames = [ "SHA-256", "SHA-384", "SHA-512", - "HKDF-CTR", + "HKDF", "PBKDF2", "Ed25519", "Ed448", @@ -104,9 +104,6 @@ function assert_goodCryptoKey(key, algorithm, extractable, usages, kind) { assert_equals(key.constructor, CryptoKey, "Is a CryptoKey"); assert_equals(key.type, kind, "Is a " + kind + " key"); - if (key.type === "public") { - extractable = true; // public keys are always extractable - } assert_equals(key.extractable, extractable, "Extractability is correct"); assert_equals(key.algorithm.name, registeredAlgorithmName, "Correct algorithm name"); @@ -130,6 +127,10 @@ function assert_goodCryptoKey(key, algorithm, extractable, usages, kind) { assert_equals(key.algorithm.hash.name.toUpperCase(), algorithm.hash.toUpperCase(), "Correct hash function"); } + if (/^(?:Ed|X)(?:25519|448)$/.test(key.algorithm.name)) { + assert_false('namedCurve' in key.algorithm, "Does not have a namedCurve property"); + } + // usages is expected to be provided for a key pair, but we are checking // only a single key. The publicKey and privateKey portions of a key pair // recognize only some of the usages appropriate for a key pair. diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html b/tests/wpt/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html index c63c2f3b9fe..cbf63ea2178 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-opacity-pause-and-set-time.html @@ -1,6 +1,7 @@ + CSS Animations Test: pauses a opacity animation and sets the current time diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/animation/custom-property-transition-property-all.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/animation/custom-property-transition-property-all.html new file mode 100644 index 00000000000..6fc724cd35f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/animation/custom-property-transition-property-all.html @@ -0,0 +1,17 @@ + + + + + +
    + diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/resources/utils.js b/tests/wpt/web-platform-tests/css/css-properties-values-api/resources/utils.js index dbbda1d585c..f659e123feb 100644 --- a/tests/wpt/web-platform-tests/css/css-properties-values-api/resources/utils.js +++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/resources/utils.js @@ -183,6 +183,8 @@ function transition_test(options, description) { promise_test(async () => { const customProperty = generate_name(); + options.transitionProperty ??= customProperty; + CSS.registerProperty({ name: customProperty, syntax: options.syntax, @@ -199,7 +201,7 @@ function transition_test(options, description) { }); }); - target.style.transition = `${customProperty} 1s -500ms linear`; + target.style.transition = `${options.transitionProperty} 1s -500ms linear`; target.style.setProperty(customProperty, options.to); const animations = target.getAnimations(); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-incoming.html b/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-incoming.html index 01debbcfcc1..cdf1b32ab73 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-incoming.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-incoming.html @@ -59,5 +59,5 @@ function runTest() { }); } -onload = requestAnimationFrame(() => requestAnimationFrame(runTest)); +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-outgoing.html b/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-outgoing.html index 1cf74c8f08a..746b93afd40 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-outgoing.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/3d-transform-outgoing.html @@ -60,5 +60,5 @@ function runTest() { }); } -onload = requestAnimationFrame(() => requestAnimationFrame(runTest)); +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/break-inside-avoid-child.html b/tests/wpt/web-platform-tests/css/css-view-transitions/break-inside-avoid-child.html index 29afa0424f6..7791f7ab4f6 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/break-inside-avoid-child.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/break-inside-avoid-child.html @@ -33,7 +33,7 @@ height: 300px; } -html::view-transition-container(root) { animation-duration: 300s; } +html::view-transition-group(root) { animation-duration: 300s; } html::view-transition-old(target) { animation: unset; opacity: 1; diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-position.html b/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-position.html index 9cae723e843..a09b08cf00c 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-position.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-position.html @@ -51,5 +51,5 @@ function runTest() { }); } -onload = requestAnimationFrame(() => requestAnimationFrame(runTest)); +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-transform.html b/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-transform.html index 2d2e5d98fe5..7027a900864 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-transform.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/fractional-translation-from-transform.html @@ -53,5 +53,5 @@ function runTest() { }); } -onload = requestAnimationFrame(() => requestAnimationFrame(runTest)); +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/inline-child-with-filter.html b/tests/wpt/web-platform-tests/css/css-view-transitions/inline-child-with-filter.html index fbacc332462..8790756eac0 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/inline-child-with-filter.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/inline-child-with-filter.html @@ -26,7 +26,7 @@ body { margin : 0; } filter: blur(30px); } -html::view-transition-container(root) { animation-duration: 300s; } +html::view-transition-group(root) { animation-duration: 300s; } html::view-transition-old(target) { animation: unset; opacity: 1; @@ -48,5 +48,5 @@ async function runTest() { }); transition.ready.then(() => requestAnimationFrame(takeScreenshot)); } -onclick = requestAnimationFrame(() => requestAnimationFrame(runTest)); +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-captures-spans.html b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-captures-spans.html index 5467d411565..843f6752d76 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-captures-spans.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-captures-spans.html @@ -3,7 +3,7 @@ View transitions: capture span elements - + + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    START STATE

    +
    + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    END STATE

    +
    + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +
    + + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-is-inline.html b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-is-inline.html new file mode 100644 index 00000000000..c341444f342 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-is-inline.html @@ -0,0 +1,148 @@ + + +View transitions: New content is an inline element. + + + + + + + + + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    START STATE

    +
    + + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    END STATE

    +
    + + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline-ref.html new file mode 100644 index 00000000000..5fe7d3fa1d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline-ref.html @@ -0,0 +1,73 @@ + +View transitions: Old content is an inline element (ref) + + + + + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    START STATE

    +
    + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    END STATE

    +
    + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +
    + + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline.html b/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline.html new file mode 100644 index 00000000000..9f350237adc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-is-inline.html @@ -0,0 +1,148 @@ + + +View transitions: Old content is an inline element. + + + + + + + + + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    START STATE

    +
    + + +
    + FILLER FILLER + INLINE INLINE INLINE INLINE +

    END STATE

    +
    + + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background.html b/tests/wpt/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background.html index 9a4684c3476..c657fa19fba 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/root-scrollbar-with-fixed-background.html @@ -61,7 +61,7 @@ async function runTest() { }); } -onload = requestAnimationFrame(runTest); +onload = () => requestAnimationFrame(runTest); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/rtl-with-scrollbar.html b/tests/wpt/web-platform-tests/css/css-view-transitions/rtl-with-scrollbar.html index d235a3f6990..de2570605ad 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/rtl-with-scrollbar.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/rtl-with-scrollbar.html @@ -66,7 +66,7 @@ async function runTest() { }); } -onload = requestAnimationFrame(runTest); +onload = () => requestAnimationFrame(runTest); diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child-abspos.html b/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child-abspos.html index 6c5b16dc01d..9b2ac35eef0 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child-abspos.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child-abspos.html @@ -30,7 +30,7 @@ top: 200px; } -html::view-transition-container(root) { animation-duration: 300s; } +html::view-transition-group(root) { animation-duration: 300s; } html::view-transition-old(target) { animation: unset; opacity: 1; diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child.html b/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child.html index 72b405d64c0..b18187ca6eb 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/scroller-child.html @@ -28,7 +28,7 @@ background: green; } -html::view-transition-container(root) { animation-duration: 300s; } +html::view-transition-group(root) { animation-duration: 300s; } html::view-transition-old(target) { animation: unset; opacity: 1; diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/scroller.html b/tests/wpt/web-platform-tests/css/css-view-transitions/scroller.html index c86fce2353a..6e2a6e46507 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/scroller.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/scroller.html @@ -23,7 +23,7 @@ background: green; } -html::view-transition-container(root) { animation-duration: 300s; } +html::view-transition-group(root) { animation-duration: 300s; } html::view-transition-old(target) { animation: unset; opacity: 1; diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/support/frame-helper.html b/tests/wpt/web-platform-tests/css/css-view-transitions/support/frame-helper.html index d5bc43e7b82..3d2e7b52d07 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/support/frame-helper.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/support/frame-helper.html @@ -20,6 +20,6 @@ function run() { })); }); } -onload = requestAnimationFrame(() => requestAnimationFrame(run)); +onload = () => requestAnimationFrame(() => requestAnimationFrame(run)); diff --git a/tests/wpt/web-platform-tests/docs/writing-tests/testharness-api.md b/tests/wpt/web-platform-tests/docs/writing-tests/testharness-api.md index 38e6813b1a2..339815c5ffe 100644 --- a/tests/wpt/web-platform-tests/docs/writing-tests/testharness-api.md +++ b/tests/wpt/web-platform-tests/docs/writing-tests/testharness-api.md @@ -516,6 +516,24 @@ complex cleanup behavior should manage execution order explicitly. If any of the eventual values are rejected, the test runner will report an error. +### AbortSignal support ### + +[`Test.get_signal`](#Test.get_signal) gives an AbortSignal that is aborted when +the test finishes. This can be useful when dealing with AbortSignal-supported +APIs. + +```js +promise_test(t => { + // Throws when the user agent does not support AbortSignal + const signal = t.get_signal(); + const event = await new Promise(resolve => { + document.body.addEventListener(resolve, { once: true, signal }); + document.body.click(); + }); + assert_equals(event.type, "click"); +}, ""); +``` + ## Timers in Tests ## In general the use of timers (i.e. `setTimeout`) in tests is diff --git a/tests/wpt/web-platform-tests/editing/crashtests/inserthtml-to-replace-root-list-element-in-designMode.html b/tests/wpt/web-platform-tests/editing/crashtests/inserthtml-to-replace-root-list-element-in-designMode.html new file mode 100644 index 00000000000..c751a5bebcd --- /dev/null +++ b/tests/wpt/web-platform-tests/editing/crashtests/inserthtml-to-replace-root-list-element-in-designMode.html @@ -0,0 +1,33 @@ + + + + + + + + + + + +
    +

    + +

    + + diff --git a/tests/wpt/web-platform-tests/editing/data/delete.js b/tests/wpt/web-platform-tests/editing/data/delete.js index bbd95e56a26..7e63c518c79 100644 --- a/tests/wpt/web-platform-tests/editing/data/delete.js +++ b/tests/wpt/web-platform-tests/editing/data/delete.js @@ -3012,4 +3012,11 @@ var browserTests = [ "
      \n
    1. {}
    "], [true], {}], + +// Select all list item children when list items have multiple nodes. +["{}", + [["delete",""]], + "", + [true], + {}], ] diff --git a/tests/wpt/web-platform-tests/editing/data/forwarddelete.js b/tests/wpt/web-platform-tests/editing/data/forwarddelete.js index 7c1218276b2..661b62adb8d 100644 --- a/tests/wpt/web-platform-tests/editing/data/forwarddelete.js +++ b/tests/wpt/web-platform-tests/editing/data/forwarddelete.js @@ -2892,4 +2892,11 @@ var browserTests = [ "
      \n
    1. {}
    "], [true], {}], + +// Select all list item children when list items have multiple nodes. +["{}", + [["delete",""]], + "", + [true], + {}], ] diff --git a/tests/wpt/web-platform-tests/editing/include/editor-test-utils.js b/tests/wpt/web-platform-tests/editing/include/editor-test-utils.js index 8d8e778836a..a4c24c94edb 100644 --- a/tests/wpt/web-platform-tests/editing/include/editor-test-utils.js +++ b/tests/wpt/web-platform-tests/editing/include/editor-test-utils.js @@ -96,7 +96,14 @@ class EditorTestUtils { // - `{` specifies start boundary before a node // - `]` specifies end boundary in a text node // - `}` specifies end boundary after a node - setupEditingHost(innerHTMLWithRangeMarkers) { + // + // options can have following fields: + // - selection: how to set selection, "addRange" (default), + // "setBaseAndExtent", "setBaseAndExtent-reverse". + setupEditingHost(innerHTMLWithRangeMarkers, options = {}) { + if (!options.selection) { + options.selection = "addRange"; + } const startBoundaries = innerHTMLWithRangeMarkers.match(/\{|\[/g) || []; const endBoundaries = innerHTMLWithRangeMarkers.match(/\}|\]/g) || []; if (startBoundaries.length !== endBoundaries.length) { @@ -351,9 +358,31 @@ class EditorTestUtils { ranges.push(range); } + if (options.selection != "addRange" && ranges.length > 1) { + throw `Failed due to invalid selection option, ${options.selection}, for multiple selection ranges`; + } + this.selection.removeAllRanges(); - for (let range of ranges) { - this.selection.addRange(range); + for (const range of ranges) { + if (options.selection == "addRange") { + this.selection.addRange(range); + } else if (options.selection == "setBaseAndExtent") { + this.selection.setBaseAndExtent( + range.startContainer, + range.startOffset, + range.endContainer, + range.endOffset + ); + } else if (options.selection == "setBaseAndExtent-reverse") { + this.selection.setBaseAndExtent( + range.endContainer, + range.endOffset, + range.startContainer, + range.startOffset + ); + } else { + throw `Failed due to invalid selection option, ${options.selection}`; + } } if (this.selection.rangeCount != ranges.length) { diff --git a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js index 2f910806dfd..65f58ee7ca2 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js +++ b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js @@ -364,31 +364,43 @@ function runGenericSensorTests(sensorName, sensor.stop(); }, `${sensorName}: Test that fresh reading is fetched on start().`); -// TBD file a WPT issue: visibilityChangeWatcher times out. -// sensor_test(async (t, sensorProvider) => { -// assert_implements(sensorName in self, `${sensorName} is not supported.`); -// const sensor = new sensorType(); -// const sensorWatcher = new EventWatcher(t, sensor, ["reading", "error"]); -// const visibilityChangeWatcher = new EventWatcher(t, document, -// "visibilitychange"); -// sensor.start(); + sensor_test(async (t, sensorProvider) => { + assert_implements(sensorName in self, `${sensorName} is not supported.`); + const sensor = new sensorType(); + t.add_cleanup(() => { + sensor.stop(); + }); + const sensorWatcher = new EventWatcher(t, sensor, ['reading', 'error']); + sensor.start(); -// const mockSensor = await sensorProvider.getCreatedSensor(sensorName); -// mockSensor.setSensorReading(readings); + const mockSensor = await sensorProvider.getCreatedSensor(sensorName); + mockSensor.setSensorReading(readings); -// await sensorWatcher.wait_for("reading"); -// const expected = new RingBuffer(expectedReadings).next().value; -// assert_true(verificationFunction(expected, sensor)); -// const cachedTimestamp1 = sensor.timestamp; + const expectedBuffer = new RingBuffer(expectedReadings); + await sensorWatcher.wait_for('reading'); + const expected1 = expectedBuffer.next().value; + assert_true(verificationFunction(expected1, sensor)); + assert_true(mockSensor.isReadingData()); + const cachedTimestamp1 = sensor.timestamp; -// const win = window.open('', '_blank'); -// await visibilityChangeWatcher.wait_for("visibilitychange"); -// const cachedTimestamp2 = sensor.timestamp; + const {minimize, restore} = window_state_context(t); -// win.close(); -// sensor.stop(); -// assert_equals(cachedTimestamp1, cachedTimestamp2); -// }, `${sensorName}: sensor readings can not be fired on the background tab.`); + await minimize(); + assert_true(document.hidden); + await t.step_wait( + () => !mockSensor.isReadingData(), 'readings must be suspended'); + const cachedTimestamp2 = sensor.timestamp; + assert_equals(cachedTimestamp1, cachedTimestamp2); + + await restore(); + assert_false(document.hidden); + await t.step_wait( + () => mockSensor.isReadingData(), 'readings must be restored'); + await sensorWatcher.wait_for('reading'); + const expected2 = expectedBuffer.next().value; + assert_true(verificationFunction(expected2, sensor)); + assert_greater_than(sensor.timestamp, cachedTimestamp2); + }, `${sensorName}: Losing visibility must cause readings to be suspended.`); sensor_test(async (t, sensorProvider) => { assert_implements(sensorName in self, `${sensorName} is not supported.`); diff --git a/tests/wpt/web-platform-tests/generic-sensor/resources/generic-sensor-helpers.js b/tests/wpt/web-platform-tests/generic-sensor/resources/generic-sensor-helpers.js index aa101547ff1..9a51a591ce1 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/resources/generic-sensor-helpers.js +++ b/tests/wpt/web-platform-tests/generic-sensor/resources/generic-sensor-helpers.js @@ -11,6 +11,7 @@ async function loadChromiumResources() { await loadScript('/resources/testdriver.js'); await loadScript('/resources/testdriver-vendor.js'); + await loadScript('/page-visibility/resources/window_state_context.js'); await import('/resources/chromium/generic_sensor_mocks.js'); } diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.alpha-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha-expected.html similarity index 63% rename from tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.alpha-expected.html rename to tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha-expected.html index 615aa1cb8bf..72d97c663f8 100644 --- a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.alpha-expected.html +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha-expected.html @@ -1,8 +1,8 @@ -Canvas test: 2d.layer.alpha -

    2d.layer.alpha

    -

    A test to make sure shadow works with layers.

    +Canvas test: 2d.layer.global-states.alpha +

    2d.layer.global-states.alpha

    +

    Checks that layers correctly use global render states.

    FAIL (fallback content)

    @@ -11,7 +11,10 @@ const ctx = canvas.getContext('2d'); ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); + + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); ctx.globalAlpha = 0.6; @@ -19,9 +22,9 @@ ctx2 = canvas2.getContext("2d"); ctx2.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx2.fillRect(60, 40, 75, 50); + ctx2.fillRect(50, 50, 75, 50); ctx2.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx2.fillRect(80, 60, 75, 50); + ctx2.fillRect(70, 70, 75, 50); ctx.drawImage(canvas2, 0, 0); diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter-expected.html new file mode 100644 index 00000000000..b4512e2455e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter-expected.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.layer.global-states.alpha.filter +

    2d.layer.global-states.alpha.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html new file mode 100644 index 00000000000..ab7e6cc6c19 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.layer.global-states.alpha.filter.globalcompositeoperation +

    2d.layer.global-states.alpha.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html new file mode 100644 index 00000000000..54bafb9e652 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html @@ -0,0 +1,32 @@ + + + +Canvas test: 2d.layer.global-states.alpha.filter.globalcompositeoperation +

    2d.layer.global-states.alpha.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.html new file mode 100644 index 00000000000..bf522c29457 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.html @@ -0,0 +1,31 @@ + + + +Canvas test: 2d.layer.global-states.alpha.filter +

    2d.layer.global-states.alpha.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow-expected.html new file mode 100644 index 00000000000..9a49e366a95 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow-expected.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.layer.global-states.alpha.filter.shadow +

    2d.layer.global-states.alpha.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow.html new file mode 100644 index 00000000000..cccdf42edce --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.filter.shadow.html @@ -0,0 +1,35 @@ + + + + +Canvas test: 2d.layer.global-states.alpha.filter.shadow +

    2d.layer.global-states.alpha.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.alpha.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.html similarity index 56% rename from tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.alpha.html rename to tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.html index b4a87b42daa..10ef0e7b221 100644 --- a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.alpha.html +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.html @@ -1,9 +1,9 @@ - -Canvas test: 2d.layer.alpha -

    2d.layer.alpha

    -

    A test to make sure shadow works with layers.

    + +Canvas test: 2d.layer.global-states.alpha +

    2d.layer.global-states.alpha

    +

    Checks that layers correctly use global render states.

    FAIL (fallback content)

    @@ -12,16 +12,19 @@ const ctx = canvas.getContext('2d'); ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); + + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); ctx.globalAlpha = 0.6; ctx.beginLayer(); ctx.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx.fillRect(60, 40, 75, 50); + ctx.fillRect(50, 50, 75, 50); ctx.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx.fillRect(80, 60, 75, 50); + ctx.fillRect(70, 70, 75, 50); ctx.endLayer(); diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow-expected.html new file mode 100644 index 00000000000..9daefc377bd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow-expected.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.layer.global-states.alpha.shadow +

    2d.layer.global-states.alpha.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow.html new file mode 100644 index 00000000000..a0f4d79a223 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.alpha.shadow.html @@ -0,0 +1,33 @@ + + + +Canvas test: 2d.layer.global-states.alpha.shadow +

    2d.layer.global-states.alpha.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter-expected.html new file mode 100644 index 00000000000..cff8783b392 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter-expected.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.layer.global-states.filter +

    2d.layer.global-states.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html new file mode 100644 index 00000000000..12fc31209ac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.layer.global-states.filter.globalcompositeoperation +

    2d.layer.global-states.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation.html new file mode 100644 index 00000000000..1f23dba96cc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.globalcompositeoperation.html @@ -0,0 +1,31 @@ + + + +Canvas test: 2d.layer.global-states.filter.globalcompositeoperation +

    2d.layer.global-states.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.html new file mode 100644 index 00000000000..7524ef56bb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.html @@ -0,0 +1,30 @@ + + + +Canvas test: 2d.layer.global-states.filter +

    2d.layer.global-states.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow-expected.html new file mode 100644 index 00000000000..6ec9b02f7cb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow-expected.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.layer.global-states.filter.shadow +

    2d.layer.global-states.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow.html new file mode 100644 index 00000000000..efa5dca2ae0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.filter.shadow.html @@ -0,0 +1,34 @@ + + + + +Canvas test: 2d.layer.global-states.filter.shadow +

    2d.layer.global-states.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation-expected.html new file mode 100644 index 00000000000..7e2e021b552 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation-expected.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.layer.global-states.globalcompositeoperation +

    2d.layer.global-states.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation.html new file mode 100644 index 00000000000..f27336adf4b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.globalcompositeoperation.html @@ -0,0 +1,30 @@ + + + +Canvas test: 2d.layer.global-states.globalcompositeoperation +

    2d.layer.global-states.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow-expected.html new file mode 100644 index 00000000000..6787bdd1e50 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow-expected.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.layer.global-states.shadow +

    2d.layer.global-states.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow.html new file mode 100644 index 00000000000..da78b3435c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/layers/2d.layer.global-states.shadow.html @@ -0,0 +1,32 @@ + + + +Canvas test: 2d.layer.global-states.shadow +

    2d.layer.global-states.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-expected.html deleted file mode 100644 index 5b54384a79b..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-expected.html +++ /dev/null @@ -1,24 +0,0 @@ -

    Test to ensure beginlayer works when both alpha and filter are applied.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation-expected.html deleted file mode 100644 index 8d84dcb73f4..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation-expected.html +++ /dev/null @@ -1,28 +0,0 @@ -

    Test to ensure beginlayer works with global alpha, filter, and global composite operation.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation.html deleted file mode 100644 index 6912d6a18b4..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-globalcompositeoperation.html +++ /dev/null @@ -1,28 +0,0 @@ - -

    Test to ensure beginlayer works with global alpha, filter, and global composite operation.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow-expected.html deleted file mode 100644 index 89c3f64feae..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow-expected.html +++ /dev/null @@ -1,27 +0,0 @@ -

    Test to ensure beginlayer works for filter, alpha and shadow.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow.html deleted file mode 100644 index 9c4a6fcaa7e..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter-shadow.html +++ /dev/null @@ -1,30 +0,0 @@ - - -

    Test to ensure beginlayer works for filter, alpha and shadow.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter.html deleted file mode 100644 index 7a895cf34dc..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-filter.html +++ /dev/null @@ -1,24 +0,0 @@ - -

    Test to ensure beginlayer works when both alpha and filter are applied.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow-expected.html deleted file mode 100644 index f29fb736e3a..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow-expected.html +++ /dev/null @@ -1,26 +0,0 @@ -

    Test to ensure beginlayer works for alpha and shadow.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow.html deleted file mode 100644 index e7d791d8fc0..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-alpha-shadow.html +++ /dev/null @@ -1,29 +0,0 @@ - - -

    Test to ensure beginlayer works for alpha and shadow.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-expected.html deleted file mode 100644 index 7fe4d2c03ef..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-expected.html +++ /dev/null @@ -1,23 +0,0 @@ -

    Test to ensure beginlayer works for filter.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation-expected.html deleted file mode 100644 index 0676d7e1aac..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation-expected.html +++ /dev/null @@ -1,28 +0,0 @@ -

    Test to ensure beginlayer works for filter and global composition.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation.html deleted file mode 100644 index 03d04d09ae5..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-globalcompositeoperation.html +++ /dev/null @@ -1,28 +0,0 @@ - -

    Test to ensure beginlayer works for filter and global composition.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow-expected.html deleted file mode 100644 index 5d141c3d085..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow-expected.html +++ /dev/null @@ -1,26 +0,0 @@ -

    Test to ensure beginlayer works for filter and shadow.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow.html deleted file mode 100644 index 31ce6716290..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter-shadow.html +++ /dev/null @@ -1,28 +0,0 @@ - -

    Test to ensure beginlayer works for filter and shadow.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter.html deleted file mode 100644 index c4d63cda2ff..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-filter.html +++ /dev/null @@ -1,23 +0,0 @@ - -

    Test to ensure beginlayer works for filter.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation-expected.html deleted file mode 100644 index d2d4317f074..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation-expected.html +++ /dev/null @@ -1,23 +0,0 @@ -

    Test to ensure beginlayer works for globalCompositeOperation.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation.html deleted file mode 100644 index 6d4fde3ed53..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-globalcompositeoperation.html +++ /dev/null @@ -1,25 +0,0 @@ - -

    Test to ensure beginlayer works for globalCompositeOperation.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow-expected.html deleted file mode 100644 index 76960455719..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow-expected.html +++ /dev/null @@ -1,25 +0,0 @@ -

    A test to make sure shadow works with layers.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow.html deleted file mode 100644 index 59768746e49..00000000000 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/layers/layers-shadow.html +++ /dev/null @@ -1,28 +0,0 @@ - -

    A test to make sure shadow works with layers.

    - diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha-expected.html similarity index 63% rename from tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha-expected.html rename to tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha-expected.html index 615aa1cb8bf..72d97c663f8 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha-expected.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha-expected.html @@ -1,8 +1,8 @@ -Canvas test: 2d.layer.alpha -

    2d.layer.alpha

    -

    A test to make sure shadow works with layers.

    +Canvas test: 2d.layer.global-states.alpha +

    2d.layer.global-states.alpha

    +

    Checks that layers correctly use global render states.

    FAIL (fallback content)

    @@ -11,7 +11,10 @@ const ctx = canvas.getContext('2d'); ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); + + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); ctx.globalAlpha = 0.6; @@ -19,9 +22,9 @@ ctx2 = canvas2.getContext("2d"); ctx2.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx2.fillRect(60, 40, 75, 50); + ctx2.fillRect(50, 50, 75, 50); ctx2.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx2.fillRect(80, 60, 75, 50); + ctx2.fillRect(70, 70, 75, 50); ctx.drawImage(canvas2, 0, 0); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter-expected.html new file mode 100644 index 00000000000..b4512e2455e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter-expected.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.layer.global-states.alpha.filter +

    2d.layer.global-states.alpha.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html new file mode 100644 index 00000000000..ab7e6cc6c19 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation-expected.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.layer.global-states.alpha.filter.globalcompositeoperation +

    2d.layer.global-states.alpha.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html new file mode 100644 index 00000000000..88d339fb1b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.html @@ -0,0 +1,35 @@ + + + +Canvas test: 2d.layer.global-states.alpha.filter.globalcompositeoperation +

    2d.layer.global-states.alpha.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html new file mode 100644 index 00000000000..a95085ca894 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.globalcompositeoperation.w.html @@ -0,0 +1,49 @@ + + + + +Canvas test: 2d.layer.global-states.alpha.filter.globalcompositeoperation +

    2d.layer.global-states.alpha.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.html new file mode 100644 index 00000000000..e8d3d5691bb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.html @@ -0,0 +1,34 @@ + + + +Canvas test: 2d.layer.global-states.alpha.filter +

    2d.layer.global-states.alpha.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow-expected.html new file mode 100644 index 00000000000..9a49e366a95 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow-expected.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.layer.global-states.alpha.filter.shadow +

    2d.layer.global-states.alpha.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.html new file mode 100644 index 00000000000..3e5e5bd9ba1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.html @@ -0,0 +1,38 @@ + + + + +Canvas test: 2d.layer.global-states.alpha.filter.shadow +

    2d.layer.global-states.alpha.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html new file mode 100644 index 00000000000..9fac030db32 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.shadow.w.html @@ -0,0 +1,52 @@ + + + + + +Canvas test: 2d.layer.global-states.alpha.filter.shadow +

    2d.layer.global-states.alpha.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html new file mode 100644 index 00000000000..177bae4e32d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.filter.w.html @@ -0,0 +1,48 @@ + + + + +Canvas test: 2d.layer.global-states.alpha.filter +

    2d.layer.global-states.alpha.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.html similarity index 61% rename from tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha.html rename to tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.html index 90506bfb622..7064f47b20a 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.html @@ -1,9 +1,9 @@ - -Canvas test: 2d.layer.alpha -

    2d.layer.alpha

    -

    A test to make sure shadow works with layers.

    + +Canvas test: 2d.layer.global-states.alpha +

    2d.layer.global-states.alpha

    +

    Checks that layers correctly use global render states.

    FAIL (fallback content)

    @@ -12,16 +12,19 @@ const ctx = offscreen_canvas.getContext('2d'); ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); + + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); ctx.globalAlpha = 0.6; ctx.beginLayer(); ctx.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx.fillRect(60, 40, 75, 50); + ctx.fillRect(50, 50, 75, 50); ctx.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx.fillRect(80, 60, 75, 50); + ctx.fillRect(70, 70, 75, 50); ctx.endLayer(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow-expected.html new file mode 100644 index 00000000000..9daefc377bd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow-expected.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.layer.global-states.alpha.shadow +

    2d.layer.global-states.alpha.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.html new file mode 100644 index 00000000000..afbbac881e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.html @@ -0,0 +1,36 @@ + + + +Canvas test: 2d.layer.global-states.alpha.shadow +

    2d.layer.global-states.alpha.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html new file mode 100644 index 00000000000..9e0e7099340 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.shadow.w.html @@ -0,0 +1,50 @@ + + + + +Canvas test: 2d.layer.global-states.alpha.shadow +

    2d.layer.global-states.alpha.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html similarity index 73% rename from tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha.w.html rename to tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html index bc9344217b1..59d528b2099 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.alpha.w.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.alpha.w.html @@ -1,10 +1,10 @@ - -Canvas test: 2d.layer.alpha -

    2d.layer.alpha

    -

    A test to make sure shadow works with layers.

    + +Canvas test: 2d.layer.global-states.alpha +

    2d.layer.global-states.alpha

    +

    Checks that layers correctly use global render states.

    FAIL (fallback content)

    @@ -14,16 +14,19 @@ const ctx = oc.getContext('2d'); ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); + + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); ctx.globalAlpha = 0.6; ctx.beginLayer(); ctx.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx.fillRect(60, 40, 75, 50); + ctx.fillRect(50, 50, 75, 50); ctx.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx.fillRect(80, 60, 75, 50); + ctx.fillRect(70, 70, 75, 50); ctx.endLayer(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter-expected.html new file mode 100644 index 00000000000..cff8783b392 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter-expected.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.layer.global-states.filter +

    2d.layer.global-states.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html new file mode 100644 index 00000000000..12fc31209ac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation-expected.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.layer.global-states.filter.globalcompositeoperation +

    2d.layer.global-states.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.html new file mode 100644 index 00000000000..b3ce2285dc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.html @@ -0,0 +1,34 @@ + + + +Canvas test: 2d.layer.global-states.filter.globalcompositeoperation +

    2d.layer.global-states.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html new file mode 100644 index 00000000000..6d21ffb8157 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.globalcompositeoperation.w.html @@ -0,0 +1,48 @@ + + + + +Canvas test: 2d.layer.global-states.filter.globalcompositeoperation +

    2d.layer.global-states.filter.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.html new file mode 100644 index 00000000000..a36a34d78e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.html @@ -0,0 +1,33 @@ + + + +Canvas test: 2d.layer.global-states.filter +

    2d.layer.global-states.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow-expected.html new file mode 100644 index 00000000000..6ec9b02f7cb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow-expected.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.layer.global-states.filter.shadow +

    2d.layer.global-states.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.html new file mode 100644 index 00000000000..16439c60c68 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.html @@ -0,0 +1,37 @@ + + + + +Canvas test: 2d.layer.global-states.filter.shadow +

    2d.layer.global-states.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html new file mode 100644 index 00000000000..7abddb27c51 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.shadow.w.html @@ -0,0 +1,51 @@ + + + + + +Canvas test: 2d.layer.global-states.filter.shadow +

    2d.layer.global-states.filter.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html new file mode 100644 index 00000000000..08e6c253562 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.filter.w.html @@ -0,0 +1,47 @@ + + + + +Canvas test: 2d.layer.global-states.filter +

    2d.layer.global-states.filter

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation-expected.html new file mode 100644 index 00000000000..7e2e021b552 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation-expected.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.layer.global-states.globalcompositeoperation +

    2d.layer.global-states.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.html new file mode 100644 index 00000000000..1be83170f11 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.html @@ -0,0 +1,33 @@ + + + +Canvas test: 2d.layer.global-states.globalcompositeoperation +

    2d.layer.global-states.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html new file mode 100644 index 00000000000..7757aa5d8a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.globalcompositeoperation.w.html @@ -0,0 +1,47 @@ + + + + +Canvas test: 2d.layer.global-states.globalcompositeoperation +

    2d.layer.global-states.globalcompositeoperation

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow-expected.html new file mode 100644 index 00000000000..6787bdd1e50 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow-expected.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.layer.global-states.shadow +

    2d.layer.global-states.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.html new file mode 100644 index 00000000000..87b8224f856 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.html @@ -0,0 +1,35 @@ + + + +Canvas test: 2d.layer.global-states.shadow +

    2d.layer.global-states.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html new file mode 100644 index 00000000000..b8d59888729 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/layers/2d.layer.global-states.shadow.w.html @@ -0,0 +1,49 @@ + + + + +Canvas test: 2d.layer.global-states.shadow +

    2d.layer.global-states.shadow

    +

    Checks that layers correctly use global render states.

    + +

    FAIL (fallback content)

    +
    + + + 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 097bf12483d..fdb6a390cf4 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 List, Mapping, MutableMapping, Optional +from typing import Any, List, Mapping, MutableMapping, Optional import re import collections @@ -184,7 +184,7 @@ class CanvasType(str, enum.Enum): OFFSCREEN_CANVAS = 'offscreencanvas' -def _get_enabled_canvas_types(test: Mapping[str, str]) -> List[CanvasType]: +def _get_enabled_canvas_types(test: Mapping[str, Any]) -> List[CanvasType]: return [CanvasType(t.lower()) for t in test.get('canvasType', CanvasType)] @@ -199,7 +199,7 @@ _CANVAS_SIZE_REGEX = re.compile(r'(?P.*), (?P.*)', re.MULTILINE | re.DOTALL) -def _get_canvas_size(test: Mapping[str, str]): +def _get_canvas_size(test: Mapping[str, Any]): size = test.get('size', '100, 50') match = _CANVAS_SIZE_REGEX.match(size) if not match: @@ -262,7 +262,7 @@ def _write_testharness_test(templates: Mapping[str, str], worker_template % template_params, 'utf-8') -def _generate_test(test: Mapping[str, str], templates: Mapping[str, str], +def _generate_test(test: Mapping[str, Any], templates: Mapping[str, str], sub_dir: str, html_canvas_cfg: TestConfig, offscreen_canvas_cfg: TestConfig) -> None: name = test['name'] @@ -448,30 +448,42 @@ def genTestUtils_union(TEMPLATEFILE: str, NAME2DIRFILE: str) -> None: pass # Ignore if it already exists, used_tests = collections.defaultdict(set) - for test in tests: - name = test['name'] - print('\r(%s)' % name, ' ' * 32, '\t') + for original_test in tests: + variants = original_test.get('variants', {'': dict()}) + for variant_name, variant_params in variants.items(): + 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 + test.update(variant_params) - enabled_canvas_types = _get_enabled_canvas_types(test) + name = test['name'] + print('\r(%s)' % name, ' ' * 32, '\t') - already_tested = used_tests[name].intersection(enabled_canvas_types) - if already_tested: - raise InvalidTestDefinitionError( - f'Test {name} is defined twice for types {already_tested}') - used_tests[name].update(enabled_canvas_types) + enabled_canvas_types = _get_enabled_canvas_types(test) - sub_dir = _get_test_sub_dir(name, name_to_sub_dir) - _generate_test( - test, - templates, - sub_dir, - html_canvas_cfg=TestConfig( - out_dir=CANVASOUTPUTDIR, - image_out_dir=CANVASIMAGEOUTPUTDIR, - enabled=CanvasType.HTML_CANVAS in enabled_canvas_types), - offscreen_canvas_cfg=TestConfig( - out_dir=OFFSCREENCANVASOUTPUTDIR, - image_out_dir=OFFSCREENCANVASIMAGEOUTPUTDIR, - enabled=CanvasType.OFFSCREEN_CANVAS in enabled_canvas_types)) + already_tested = used_tests[name].intersection( + enabled_canvas_types) + if already_tested: + raise InvalidTestDefinitionError( + f'Test {name} is defined twice for types {already_tested}') + used_tests[name].update(enabled_canvas_types) + + sub_dir = _get_test_sub_dir(name, name_to_sub_dir) + _generate_test( + test, + templates, + sub_dir, + html_canvas_cfg=TestConfig( + out_dir=CANVASOUTPUTDIR, + image_out_dir=CANVASIMAGEOUTPUTDIR, + enabled=CanvasType.HTML_CANVAS in enabled_canvas_types), + offscreen_canvas_cfg=TestConfig( + out_dir=OFFSCREENCANVASOUTPUTDIR, + image_out_dir=OFFSCREENCANVASIMAGEOUTPUTDIR, + enabled=CanvasType.OFFSCREEN_CANVAS in + enabled_canvas_types)) print() 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 7f9719fd505..51dedfd7813 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,32 +1,84 @@ -- name: 2d.layer.alpha - desc: A test to make sure shadow works with layers. +- name: 2d.layer.global-states + desc: Checks that layers correctly use global render states. size: 200, 200 code: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); - ctx.globalAlpha = 0.6; + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); + + %(render_states)s ctx.beginLayer(); ctx.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx.fillRect(60, 40, 75, 50); + ctx.fillRect(50, 50, 75, 50); ctx.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx.fillRect(80, 60, 75, 50); + ctx.fillRect(70, 70, 75, 50); ctx.endLayer(); reference: | ctx.fillStyle = 'rgba(0, 0, 255, 1)'; - ctx.fillRect(50, 50, 95, 70); - ctx.globalAlpha = 0.6; + var circle = new Path2D(); + circle.arc(90, 90, 45, 0, 2 * Math.PI); + ctx.fill(circle); + + %(render_states)s canvas2 = document.createElement("canvas"); ctx2 = canvas2.getContext("2d"); ctx2.fillStyle = 'rgba(225, 0, 0, 1)'; - ctx2.fillRect(60, 40, 75, 50); + ctx2.fillRect(50, 50, 75, 50); ctx2.fillStyle = 'rgba(0, 255, 0, 1)'; - ctx2.fillRect(80, 60, 75, 50); + ctx2.fillRect(70, 70, 75, 50); ctx.drawImage(canvas2, 0, 0); + variants: + alpha: + render_states: ctx.globalAlpha = 0.6; + globalcompositeoperation: + render_states: ctx.globalCompositeOperation = 'source-in'; + shadow: + render_states: |- + ctx.shadowOffsetX = -10; + ctx.shadowOffsetY = 10; + ctx.shadowColor = 'orange'; + filter: + render_states: ctx.filter = 'sepia(1) opacity(30%)'; + alpha.shadow: + render_states: |- + ctx.globalAlpha = 0.5; + ctx.shadowOffsetX = -10; + ctx.shadowOffsetY = 10; + ctx.shadowColor = 'orange'; + alpha.filter: + render_states: |- + ctx.globalAlpha = 0.6; + ctx.filter = 'drop-shadow(-9px 9px 0px #e81)'; + alpha.filter.shadow: + fuzzy: maxDifference=0-2; totalPixels=0-5824 + render_states: |- + ctx.globalAlpha = 0.5; + ctx.filter = 'sepia(0.5)'; + ctx.shadowOffsetX = -10; + ctx.shadowOffsetY = 10; + ctx.shadowColor = 'orange'; + alpha.filter.globalcompositeoperation: + render_states: |- + ctx.globalAlpha = 0.6; + ctx.globalCompositeOperation = 'source-in'; + ctx.filter = 'drop-shadow(-9px 9px 0px #e81)'; + filter.shadow: + fuzzy: maxDifference=0-1; totalPixels=0-49 + render_states: |- + ctx.filter = 'sepia(1) opacity(70%)'; + ctx.shadowOffsetX = -10; + ctx.shadowOffsetY = 10; + ctx.shadowColor = 'rgba(0,1,0,0.5)'; + filter.globalcompositeoperation: + render_states: |- + ctx.globalCompositeOperation = 'source-in'; + ctx.filter = 'drop-shadow(-9px 9px 0px #e81)'; diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html index ea3cc41f81b..f2d2aaae609 100644 --- a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html +++ b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-top.html @@ -10,9 +10,12 @@ promise_test(async () => { await waitForLoad(window); + const iframe = document.querySelector('iframe'); await waitUntilStableAutofocusState(); - assert_equals(document.activeElement, document.querySelector('iframe'), + assert_equals(document.activeElement, iframe, 'Autofocus elements in iframes should be focused.'); + const doc = iframe.contentDocument; + assert_true(!doc.querySelector(':target')); let input = document.createElement('input'); input.autofocus = true; diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html index 7a7b01a21b9..5078f1a0ac3 100644 --- a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html +++ b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html @@ -21,7 +21,23 @@ promise_test(async () => { doc.body.appendChild(input); await waitUntilStableAutofocusState(); assert_not_equals(doc.activeElement, input); -}, 'Autofocus elements in iframed documents with URL fragments should be skipped.'); + iframe.remove(); +}, 'Autofocus elements in iframed documents with URL fragments should be skipped. (id matches)'); + +promise_test(async () => { + let iframe = await waitForIframeLoad("resources/frame-with-a.html"); + iframe.contentWindow.location.hash = 'anchor1'; + await waitForEvent(iframe.contentWindow, 'hashchange'); + const doc = iframe.contentDocument; + assert_true(!!doc.querySelector(':target')); + + let input = doc.createElement('input'); + input.autofocus = true; + doc.body.appendChild(input); + await waitUntilStableAutofocusState(); + assert_not_equals(doc.activeElement, input); + iframe.remove(); +}, 'Autofocus elements in iframed documents with URL fragments should be skipped.(a element)'); promise_test(async () => { let w = window.open('resources/frame-with-anchor.html'); diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/frame-with-a.html b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/frame-with-a.html new file mode 100644 index 00000000000..1f317369028 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/frame-with-a.html @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/utils.js b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/utils.js index c4f38fcb209..e928e275407 100644 --- a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/utils.js +++ b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/resources/utils.js @@ -39,3 +39,13 @@ async function waitUntilStableAutofocusState(w) { // Awaiting one animation frame is an easy way to determine autofocus state. await waitForAnimationFrame(targetWindow); } + +async function waitForIframeLoad(src, w = window) { + const iframe = w.document.createElement("iframe"); + let loadPromise = new Promise(resolve => { + iframe.addEventListener("load", () => resolve(iframe)); + }); + iframe.src = src; + w.document.body.appendChild(iframe); + return loadPromise; +} diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html index 22a4c3573cc..fb87eca77a6 100644 --- a/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html +++ b/tests/wpt/web-platform-tests/html/interaction/focus/the-autofocus-attribute/spin-by-blocking-style-sheet.html @@ -2,16 +2,18 @@ - + + diff --git a/tests/wpt/web-platform-tests/inert/inert-inlines-around-selection-range-in-contenteditable.html b/tests/wpt/web-platform-tests/inert/inert-inlines-around-selection-range-in-contenteditable.html new file mode 100644 index 00000000000..ff00e16a7a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/inert/inert-inlines-around-selection-range-in-contenteditable.html @@ -0,0 +1,94 @@ + + + + +Delete editable range around elements having inert attribute + + + + + + +
    + + diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini index 49220324f2f..03bf96ec464 100644 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/context.any.js.ini @@ -1,7 +1,3 @@ -[context.any.sharedworker-module.html] - expected: - if product == "firefox": TIMEOUT # https://bugzilla.mozilla.org/show_bug.cgi?id=1247687 - [context.any.serviceworker.html] [context] expected: diff --git a/tests/wpt/web-platform-tests/navigation-api/navigate-event/navigate-history-back-noop.html b/tests/wpt/web-platform-tests/navigation-api/navigate-event/navigate-history-back-noop.html new file mode 100644 index 00000000000..10763c93fd2 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/navigate-event/navigate-history-back-noop.html @@ -0,0 +1,32 @@ + + + + + diff --git a/tests/wpt/web-platform-tests/resources/test/tests/functional/abortsignal.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/abortsignal.html new file mode 100644 index 00000000000..e6080e96ec9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/abortsignal.html @@ -0,0 +1,49 @@ + +Test#get_signal + + + + diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js index 55aaa582c53..bed115a99ce 100644 --- a/tests/wpt/web-platform-tests/resources/testharness.js +++ b/tests/wpt/web-platform-tests/resources/testharness.js @@ -2478,6 +2478,10 @@ this._user_defined_cleanup_count = 0; this._done_callbacks = []; + if (typeof AbortController === "function") { + this._abortController = new AbortController(); + } + // Tests declared following harness completion are likely an indication // of a programming error, but they cannot be reported // deterministically. @@ -2954,6 +2958,10 @@ this.phase = this.phases.CLEANING; + if (this._abortController) { + this._abortController.abort("Test cleanup"); + } + forEach(this.cleanup_callbacks, function(cleanup_callback) { var result; @@ -3047,6 +3055,16 @@ test._done_callbacks.length = 0; } + /** + * Gives an AbortSignal that will be aborted when the test finishes. + */ + Test.prototype.get_signal = function() { + if (!this._abortController) { + throw new Error("AbortController is not supported in this browser"); + } + return this._abortController.signal; + } + /** * A RemoteTest object mirrors a Test object on a remote worker. The * associated RemoteWorker updates the RemoteTest object in response to diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/scroll-timeline-inactive.html b/tests/wpt/web-platform-tests/scroll-animations/css/scroll-timeline-inactive.html index 92165d7046c..0953f1b3894 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/scroll-timeline-inactive.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/scroll-timeline-inactive.html @@ -5,47 +5,86 @@ -
    -
    -
    +
    + + + + + + diff --git a/tests/wpt/web-platform-tests/subapps/add-error.tentative.https.html b/tests/wpt/web-platform-tests/subapps/add-error.tentative.https.html index 8598f3fa35a..2cbf50836df 100644 --- a/tests/wpt/web-platform-tests/subapps/add-error.tentative.https.html +++ b/tests/wpt/web-platform-tests/subapps/add-error.tentative.https.html @@ -37,22 +37,22 @@ promise_test(async t => { }, "API is only supported in top-level browsing contexts."); promise_test(async t => { - const same_origin_url = document.location.origin + '/sub-app'; + const url = '/sub-app'; let subapp = { - [same_origin_url]: { installURL: same_origin_url } + [url]: { "installURL": url } }; await promise_rejects_dom(t, 'NotAllowedError', navigator.subApps.add(subapp)); }, 'Missing user activation.'); promise_test(async t => { - const same_origin_url = document.location.origin + '/sub-app-'; + const base_url = '/sub-app-'; let add_call_params = {}; for (let i = 0; i < 8; i++) { - const url = same_origin_url + i; - add_call_params[url] = { installURL: url }; + const url = base_url + i; + add_call_params[url] = { "installURL": url }; } await test_driver.bless("installing subapps", async function () { @@ -82,8 +82,8 @@ promise_test(async t => { }; let mocked_response = [ - { unhashedAppIdPath: url_1, resultCode: Status.FAILURE }, - { unhashedAppIdPath: url_2, resultCode: Status.FAILURE } + { "unhashedAppIdPath": url_1, "resultCode": Status.FAILURE }, + { "unhashedAppIdPath": url_2, "resultCode": Status.FAILURE } ]; let expected_results = { @@ -106,8 +106,8 @@ promise_test(async t => { }; let mocked_response = [ - { unhashedAppIdPath: url_1, resultCode: Status.SUCCESS }, - { unhashedAppIdPath: url_2, resultCode: Status.FAILURE } + { "unhashedAppIdPath": url_1, "resultCode": Status.SUCCESS }, + { "unhashedAppIdPath": url_2, "resultCode": Status.FAILURE } ]; let expected_results = { diff --git a/tests/wpt/web-platform-tests/subapps/add-success.tentative.https.html b/tests/wpt/web-platform-tests/subapps/add-success.tentative.https.html index 24c420666e9..2453fdbdecd 100644 --- a/tests/wpt/web-platform-tests/subapps/add-success.tentative.https.html +++ b/tests/wpt/web-platform-tests/subapps/add-success.tentative.https.html @@ -16,7 +16,7 @@ promise_test(async t => { }; let mocked_response = [ - { unhashedAppIdPath: install_url, resultCode: Status.SUCCESS } + { "unhashedAppIdPath": install_url, "resultCode": Status.SUCCESS } ]; let expected_results = { @@ -38,8 +38,8 @@ promise_test(async t => { }; let mocked_response = [ - { unhashedAppIdPath: url_1, resultCode: Status.SUCCESS }, - { unhashedAppIdPath: url_2, resultCode: Status.SUCCESS } + { "unhashedAppIdPath": url_1, "resultCode": Status.SUCCESS }, + { "unhashedAppIdPath": url_2, "resultCode": Status.SUCCESS } ]; let expected_results = { diff --git a/tests/wpt/web-platform-tests/subapps/list-success.tentative.https.html b/tests/wpt/web-platform-tests/subapps/list-success.tentative.https.html index d214b8ac14a..c1d281abc53 100644 --- a/tests/wpt/web-platform-tests/subapps/list-success.tentative.https.html +++ b/tests/wpt/web-platform-tests/subapps/list-success.tentative.https.html @@ -15,8 +15,8 @@ promise_test(async t => { const url_2 = '/sub-app-2'; const mocked_response = [ - { unhashedAppIdPath: url_1, appName: "App 1" }, - { unhashedAppIdPath: url_2, appName: "App 2" }, + { "unhashedAppIdPath": url_1, "appName": "App 1" }, + { "unhashedAppIdPath": url_2, "appName": "App 2" }, ]; let expected_results = { diff --git a/tests/wpt/web-platform-tests/subapps/remove-error.tentative.https.html b/tests/wpt/web-platform-tests/subapps/remove-error.tentative.https.html index e447ccede5c..e85ffd74a78 100644 --- a/tests/wpt/web-platform-tests/subapps/remove-error.tentative.https.html +++ b/tests/wpt/web-platform-tests/subapps/remove-error.tentative.https.html @@ -20,7 +20,7 @@ promise_test(async t => { // At this point the iframe is detached and unloaded, and its execution // context is gone. - await promise_rejects_dom(t, 'NotFoundError', iframeDOMException, iframeNavigator.subApps.remove('sub-app-id')); + await promise_rejects_dom(t, 'NotFoundError', iframeDOMException, iframeNavigator.subApps.remove('/sub-app-id')); }, "The object is no longer associated to a document."); promise_test(async t => { @@ -31,11 +31,11 @@ promise_test(async t => { const iframeDOMException = iframe.contentWindow.DOMException; t.add_cleanup(() => iframe.remove()); - await promise_rejects_dom(t, 'InvalidStateError', iframeDOMException, iframeNavigator.subApps.remove('sub-app-id')); + await promise_rejects_dom(t, 'InvalidStateError', iframeDOMException, iframeNavigator.subApps.remove('/sub-app-id')); }, "API is only supported in top-level browsing contexts."); promise_test(async t => { - const full_url = document.location.origin + '/sub-app'; + const full_url = document.location.origin + '/sub-app-id'; await promise_rejects_dom(t, 'NotSupportedError', navigator.subApps.remove(full_url)); }, 'API supports only root-relative paths.'); @@ -46,7 +46,7 @@ promise_test(async t => { mockSubAppsService = null; }); await createMockSubAppsService(Status.FAILURE, [], []); - return promise_rejects_dom(t, 'OperationError', navigator.subApps.remove('sub-app-id')); + return promise_rejects_dom(t, 'OperationError', navigator.subApps.remove('/sub-app-id')); }, 'Remove call failed.'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subapps/remove-success.tentative.https.html b/tests/wpt/web-platform-tests/subapps/remove-success.tentative.https.html index a4148fd869c..ca73cbea888 100644 --- a/tests/wpt/web-platform-tests/subapps/remove-success.tentative.https.html +++ b/tests/wpt/web-platform-tests/subapps/remove-success.tentative.https.html @@ -6,7 +6,7 @@ \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/exception/constructor.tentative.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/exception/constructor.tentative.any.js index 0fd47b455e0..7ad08e1883b 100644 --- a/tests/wpt/web-platform-tests/wasm/jsapi/exception/constructor.tentative.any.js +++ b/tests/wpt/web-platform-tests/wasm/jsapi/exception/constructor.tentative.any.js @@ -18,8 +18,8 @@ test(() => { }, "No arguments"); test(() => { - const argument = new WebAssembly.Tag({ parameters: [] }); - assert_throws_js(TypeError, () => WebAssembly.Exception(argument)); + const tag = new WebAssembly.Tag({ parameters: [] }); + assert_throws_js(TypeError, () => WebAssembly.Exception(tag)); }, "Calling"); test(() => { @@ -53,10 +53,10 @@ test(() => { ["i64", undefined], ]; for (const typeAndArg of typesAndArgs) { - const exn = new WebAssembly.Tag({ parameters: [typeAndArg[0]] }); + const tag = new WebAssembly.Tag({ parameters: [typeAndArg[0]] }); assert_throws_js( TypeError, - () => new WebAssembly.Exception(exn, typeAndArg[1]) + () => new WebAssembly.Exception(tag, typeAndArg[1]) ); } }, "Invalid exception argument"); diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/exception/getArg.tentative.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/exception/getArg.tentative.any.js index 4b72c61f47b..f0a568a857f 100644 --- a/tests/wpt/web-platform-tests/wasm/jsapi/exception/getArg.tentative.any.js +++ b/tests/wpt/web-platform-tests/wasm/jsapi/exception/getArg.tentative.any.js @@ -43,7 +43,7 @@ test(() => { const tag = new WebAssembly.Tag({ parameters: [] }); const exn = new WebAssembly.Exception(tag, []); for (const value of outOfRangeValues) { - assert_throws_js(TypeError, () => exn.getArg(tag, value)); + assert_throws_js(RangeError, () => exn.getArg(tag, value)); } }, "Getting out-of-range argument"); diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/exception/identity.tentative.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/exception/identity.tentative.any.js new file mode 100644 index 00000000000..65787c107e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/wasm/jsapi/exception/identity.tentative.any.js @@ -0,0 +1,61 @@ +// META: global=window,dedicatedworker,jsshell +// META: script=/wasm/jsapi/assertions.js +// META: script=/wasm/jsapi/wasm-module-builder.js + +test(() => { + const tag = new WebAssembly.Tag({ parameters: ["i32"] }); + const exn = new WebAssembly.Exception(tag, [42]); + const exn_same_payload = new WebAssembly.Exception(tag, [42]); + const exn_diff_payload = new WebAssembly.Exception(tag, [53]); + + const builder = new WasmModuleBuilder(); + const jsfuncIndex = builder.addImport("module", "jsfunc", kSig_v_v); + const tagIndex = builder.addImportedTag("module", "tag", kSig_v_i); + const imports = { + module: { + jsfunc: function() { throw exn; }, + tag: tag + } + }; + + builder + .addFunction("catch_rethrow", kSig_v_v) + .addBody([ + kExprTry, kWasmStmt, + kExprCallFunction, jsfuncIndex, + kExprCatch, tagIndex, + kExprDrop, + kExprRethrow, 0x00, + kExprEnd + ]) + .exportFunc(); + + builder + .addFunction("catch_all_rethrow", kSig_v_v) + .addBody([ + kExprTry, kWasmStmt, + kExprCallFunction, jsfuncIndex, + kExprCatchAll, + kExprRethrow, 0x00, + kExprEnd + ]) + .exportFunc(); + + const buffer = builder.toBuffer(); + WebAssembly.instantiate(buffer, imports).then(result => { + try { + result.instance.exports.catch_rethrow(); + } catch (e) { + assert_equals(e, exn); + assert_not_equals(e, exn_same_payload); + assert_not_equals(e, exn_diff_payload); + } + try { + result.instance.exports.catch_all_rethrow(); + } catch (e) { + assert_equals(e, exn); + assert_not_equals(e, exn_same_payload); + assert_not_equals(e, exn_diff_payload); + } + }); +}, "Identity check"); diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/exception/toString.tentative.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/exception/toString.tentative.any.js index 52635186c76..00e801a6fc1 100644 --- a/tests/wpt/web-platform-tests/wasm/jsapi/exception/toString.tentative.any.js +++ b/tests/wpt/web-platform-tests/wasm/jsapi/exception/toString.tentative.any.js @@ -3,8 +3,8 @@ test(() => { const argument = { parameters: [] }; const tag = new WebAssembly.Tag(argument); - const exception = new WebAssembly.Exception(tag, []); - assert_class_string(exception, "WebAssembly.Exception"); + const exn = new WebAssembly.Exception(tag, []); + assert_class_string(exn, "WebAssembly.Exception"); }, "Object.prototype.toString on an Exception"); test(() => { diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/wasm-module-builder.js b/tests/wpt/web-platform-tests/wasm/jsapi/wasm-module-builder.js index 7be72f86dae..86d836a5a37 100644 --- a/tests/wpt/web-platform-tests/wasm/jsapi/wasm-module-builder.js +++ b/tests/wpt/web-platform-tests/wasm/jsapi/wasm-module-builder.js @@ -65,7 +65,7 @@ let kElementSectionCode = 9; // Elements section let kCodeSectionCode = 10; // Function code let kDataSectionCode = 11; // Data segments let kDataCountSectionCode = 12; // Data segment count (between Element & Code) -let kExceptionSectionCode = 13; // Exception section (between Global & Export) +let kTagSectionCode = 13; // Tag section (between Memory & Global) // Name section types let kModuleNameCode = 0; @@ -104,13 +104,13 @@ let kExternalFunction = 0; let kExternalTable = 1; let kExternalMemory = 2; let kExternalGlobal = 3; -let kExternalException = 4; +let kExternalTag = 4; let kTableZero = 0; let kMemoryZero = 0; let kSegmentZero = 0; -let kExceptionAttribute = 0; +let kTagAttribute = 0; // Useful signatures let kSig_i_i = makeSig([kWasmI32], [kWasmI32]); @@ -681,7 +681,7 @@ class WasmModuleBuilder { this.exports = []; this.globals = []; this.tables = []; - this.exceptions = []; + this.tags = []; this.functions = []; this.element_segments = []; this.data_segments = []; @@ -689,7 +689,7 @@ class WasmModuleBuilder { this.num_imported_funcs = 0; this.num_imported_globals = 0; this.num_imported_tables = 0; - this.num_imported_exceptions = 0; + this.num_imported_tags = 0; return this; } @@ -752,10 +752,10 @@ class WasmModuleBuilder { return table; } - addException(type) { + addTag(type) { let type_index = (typeof type) == "number" ? type : this.addType(type); - let except_index = this.exceptions.length + this.num_imported_exceptions; - this.exceptions.push(type_index); + let except_index = this.tags.length + this.num_imported_tags; + this.tags.push(type_index); return except_index; } @@ -804,14 +804,14 @@ class WasmModuleBuilder { return this.num_imported_tables++; } - addImportedException(module, name, type) { - if (this.exceptions.length != 0) { - throw new Error('Imported exceptions must be declared before local ones'); + addImportedTag(module, name, type) { + if (this.tags.length != 0) { + throw new Error('Imported tags must be declared before local ones'); } let type_index = (typeof type) == "number" ? type : this.addType(type); - let o = {module: module, name: name, kind: kExternalException, type: type_index}; + let o = {module: module, name: name, kind: kExternalTag, type: type_index}; this.imports.push(o); - return this.num_imported_exceptions++; + return this.num_imported_tags++; } addExport(name, index) { @@ -938,8 +938,8 @@ class WasmModuleBuilder { section.emit_u8(has_max ? 1 : 0); // flags section.emit_u32v(imp.initial); // initial if (has_max) section.emit_u32v(imp.maximum); // maximum - } else if (imp.kind == kExternalException) { - section.emit_u32v(kExceptionAttribute); + } else if (imp.kind == kExternalTag) { + section.emit_u32v(kTagAttribute); section.emit_u32v(imp.type); } else { throw new Error("unknown/unsupported import kind " + imp.kind); @@ -1036,13 +1036,13 @@ class WasmModuleBuilder { }); } - // Add exceptions. - if (wasm.exceptions.length > 0) { - if (debug) print("emitting exceptions @ " + binary.length); - binary.emit_section(kExceptionSectionCode, section => { - section.emit_u32v(wasm.exceptions.length); - for (let type of wasm.exceptions) { - section.emit_u32v(kExceptionAttribute); + // Add tags. + if (wasm.tags.length > 0) { + if (debug) print("emitting tags @ " + binary.length); + binary.emit_section(kTagSectionCode, section => { + section.emit_u32v(wasm.tags.length); + for (let type of wasm.tags) { + section.emit_u32v(kTagAttribute); section.emit_u32v(type); } }); diff --git a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini index befc00e10bb..a5533ff0964 100644 --- a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini +++ b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini @@ -310,3 +310,6 @@ [WebGL test #52: attachment 7 should be 0,255,0,255\nat (4, 0) expected: 0,255,0,255 was 0,2,0,0] expected: FAIL + + [WebGL test #50: attachment 5 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,0,0,0] + expected: FAIL