From b44d064fae0d96b7564912a10187768f3f4203c4 Mon Sep 17 00:00:00 2001 From: Servo WPT Sync <32481905+servo-wpt-sync@users.noreply.github.com> Date: Sun, 19 May 2024 13:33:02 -0400 Subject: [PATCH] Update web-platform-tests to revision b'cb53e377321267af4f5a1f05b3b851aab6fa8ede' (#32313) --- ...t-size-adjust-ic-height.tentative.html.ini | 2 + .../font-palette-values-invalid.html.ini | 3 + .../font-palette-values-valid.html.ini | 3 + ...scroll-markers-computed.tentative.html.ini | 27 + .../scroll-markers-valid.tentative.html.ini | 21 + ...ht-pseudos-computed-001.tentative.html.ini | 24 + .../highlight-pseudos-001.tentative.html.ini | 36 + ...=> CustomElementRegistry-getName.html.ini} | 2 +- .../ElementInternals-accessibility.html.ini | 18 + .../iframe-document-preserve.window.js.ini | 21 + .../fetch/api/abort/general.any.js.ini | 12 + .../serviceworker-intercepted.https.html.ini | 3 + .../api/basic/request-headers.any.js.ini | 8 +- .../api/request/request-consume.any.js.ini | 42 + .../response/response-blob-realm.any.js.ini | 8 + .../response-error-from-stream.any.js.ini | 12 + .../response-stream-bad-chunk.any.js.ini | 5 + ...eshow-events-iframe-contentWindow.html.ini | 3 + .../addFrame.window.js.ini | 4 + .../embedded-opener-remove-frame.html.ini | 1 + ....radius.dompoint.single.argument.html.ini} | 2 +- .../text/2d.text.measure.advances.html.ini | 3 - ...lection-rects-baselines.tentative.html.ini | 3 + ...ection-rects-exceptions.tentative.html.ini | 3 + ...measure.selection-rects.tentative.html.ini | 3 + ....radius.dompoint.single.argument.html.ini} | 2 +- ...us.dompoint.single.argument.worker.js.ini} | 2 +- .../text/2d.text.measure.advances.html.ini | 6 - .../2d.text.measure.advances.worker.js.ini | 6 - ...lection-rects-baselines.tentative.html.ini | 3 + ...on-rects-baselines.tentative.worker.js.ini | 3 + ...ection-rects-exceptions.tentative.html.ini | 3 + ...n-rects-exceptions.tentative.worker.js.ini | 3 + ...measure.selection-rects.tentative.html.ini | 3 + .../iframe_sandbox_popups_escaping-2.html.ini | 2 +- ...rame_sandbox_popups_nonescaping-3.html.ini | 3 +- .../constructing-form-data-set.html.ini | 3 + .../submit-entity-body.html.ini | 40 + ...CustomValidity-normalize-newlines.html.ini | 3 + ...ct-appearance-dark-mode.tentative.html.ini | 2 + .../select-icon-color.tentative.html.ini | 2 + ...te-the-rendering-resize-autofocus.html.ini | 4 + ...nested-context-navigations-iframe.html.ini | 22 + ...lect-later-become-slotted-content.html.ini | 3 + ...webxr-supported-by-feature-policy.html.ini | 7 - ...uestAnimationFrame.tentative.worker.js.ini | 4 - ...lScope_requestAnimationFrame.worker.js.ini | 3 + tests/wpt/meta/MANIFEST.json | 1695 +++++++++++++---- ...t-size-adjust-ic-height.tentative.html.ini | 2 + .../font-palette-values-invalid.html.ini | 3 + .../font-palette-values-valid.html.ini | 3 + ...scroll-markers-computed.tentative.html.ini | 27 + .../scroll-markers-valid.tentative.html.ini | 21 + ...ht-pseudos-computed-001.tentative.html.ini | 24 + .../highlight-pseudos-001.tentative.html.ini | 36 + .../disconnected-element-001.html.ini | 2 + ...=> CustomElementRegistry-getName.html.ini} | 2 +- .../ElementInternals-accessibility.html.ini | 18 + .../iframe-document-preserve.window.js.ini | 21 + .../meta/fetch/api/abort/general.any.js.ini | 12 + .../serviceworker-intercepted.https.html.ini | 3 + .../api/basic/request-headers.any.js.ini | 8 +- .../api/request/request-consume.any.js.ini | 42 + .../response/response-blob-realm.any.js.ini | 8 + .../response-error-from-stream.any.js.ini | 12 + .../response-stream-bad-chunk.any.js.ini | 6 + ...-img-environment-change.https.sub.html.ini | 6 +- .../empty-iframe-load-event.html.ini | 6 + ...tion-unload-cross-origin.sub.window.js.ini | 0 .../addFrame.window.js.ini | 4 + ...ml.ini => traverse_the_history_4.html.ini} | 2 +- .../embedded-opener-remove-frame.html.ini | 3 +- ....radius.dompoint.single.argument.html.ini} | 2 +- .../text/2d.text.measure.advances.html.ini | 3 - ...lection-rects-baselines.tentative.html.ini | 3 + ...ection-rects-exceptions.tentative.html.ini | 3 + ...measure.selection-rects.tentative.html.ini | 3 + .../meta/html/canvas/historical.any.js.ini | 8 + ....radius.dompoint.single.argument.html.ini} | 2 +- ...us.dompoint.single.argument.worker.js.ini} | 2 +- ...text.measure.advances-not-defined.html.ini | 3 + ...measure.advances-not-defined.worker.js.ini | 3 + .../text/2d.text.measure.advances.html.ini | 6 - .../2d.text.measure.advances.worker.js.ini | 6 - ...lection-rects-baselines.tentative.html.ini | 3 + ...on-rects-baselines.tentative.worker.js.ini | 3 + ...ection-rects-exceptions.tentative.html.ini | 3 + ...n-rects-exceptions.tentative.worker.js.ini | 3 + ...measure.selection-rects.tentative.html.ini | 3 + .../autofocus-dialog.html.ini | 3 +- .../supported-elements.html.ini | 12 +- .../iframe_sandbox_popups_escaping-1.html.ini | 2 +- ...rame_sandbox_popups_nonescaping-1.html.ini | 2 +- ...rame_sandbox_popups_nonescaping-3.html.ini | 1 - .../constructing-form-data-set.html.ini | 3 + .../submit-entity-body.html.ini | 40 + ...CustomValidity-normalize-newlines.html.ini | 3 + ...ct-appearance-dark-mode.tentative.html.ini | 2 + .../select-icon-color.tentative.html.ini | 2 + .../defer-script/async-script.html.ini | 4 + ...te-the-rendering-resize-autofocus.html.ini | 4 + ...lect-later-become-slotted-content.html.ini | 3 + ...webxr-supported-by-feature-policy.html.ini | 3 - ...uestAnimationFrame.tentative.worker.js.ini | 3 - ...lScope_requestAnimationFrame.worker.js.ini | 3 + tests/wpt/tests/.github/workflows/docker.yml | 48 + .../crashtests/missing-parent-multi-col.html | 21 + .../2x3-svg-scaled-by-sec-ch-width.py | 22 + .../sec-ch-width-auto-sizes-001.https.html | 34 + .../sec-ch-width-auto-sizes-002.https.html | 34 + .../sec-ch-width-auto-sizes-003.https.html | 40 + .../client-hints/sec-ch-width.https.html | 24 + tests/wpt/tests/core-aam/META.yml | 1 - .../digital-identity.https.html | 19 +- .../fedcm-disclosure-text-shown.https.html | 36 +- .../support/digital-identity-helper.js | 7 + .../support/digital-identity-iframe.html | 4 +- .../manifest_check_disclosure_shown_true.json | 7 + .../token_check_disclosure_shown_false.py | 6 + .../token_check_disclosure_shown_true.py | 22 + .../anchor-inside-outside.html | 54 + .../anchor-parse-valid.html | 2 + .../css-anchor-position/inset-area-basic.html | 2 +- .../inset-area-with-insets.html | 2 +- .../last-successful-basic.html | 57 + .../last-successful-change-options.html | 57 + .../last-successful-change-try-rule.html | 61 + .../last-successful-intermediate-ignored.html | 54 + .../position-anchor-basics.html | 12 +- .../property-interpolations.html | 2 +- .../color-computed-relative-color.html | 2 +- .../content-visibility/WEB_FEATURES.yml | 4 + .../min-height-min-content-crash.html | 5 + .../font-size-adjust-ic-height-ref.html | 27 + .../font-size-adjust-ic-height.tentative.html | 36 + .../parsing/font-palette-values-invalid.html | 14 +- .../parsing/font-palette-values-valid.html | 13 + .../css-inline/text-box-trim/inheritance.html | 14 + .../text-box-trim/resources/README.md | 9 + .../text-box-trim/resources/cap-x-height.ttf | Bin 0 -> 19036 bytes .../text-box-trim/resources/variant-class.js | 13 + .../text-box-trim-float-start-001-ref.html | 20 + .../text-box-trim-float-start-001.html | 26 + ...t-box-trim-half-leading-block-box-001.html | 3 +- ...t-box-trim-half-leading-block-box-002.html | 4 +- ...box-trim-initial-letter-start-001-ref.html | 20 + ...ext-box-trim-initial-letter-start-001.html | 23 + .../text-box-trim-ruby-start-001-ref.html | 15 + .../text-box-trim-ruby-start-001.html | 25 + .../text-box-trim-start-001-ref.html | 35 + .../text-box-trim-start-001.html | 42 + .../text-box-trim-tall-line-001-ref.html | 19 + .../text-box-trim-tall-line-001.html | 21 + .../tests/css/css-overflow/WEB_FEATURES.yml | 7 +- .../scroll-markers-computed.tentative.html | 41 + .../scroll-markers-invalid.tentative.html | 24 + .../scroll-markers-valid.tentative.html | 27 + .../css/css-page/page-box-004-print-ref.html | 92 + .../css/css-page/page-box-004-print.html | 32 + .../css/css-page/page-box-005-print-ref.html | 36 + .../css/css-page/page-box-005-print.html | 35 + .../css/css-page/page-box-006-print-ref.html | 19 + .../css/css-page/page-box-006-print.html | 22 + .../css/css-page/page-box-007-print-ref.html | 16 + .../css/css-page/page-box-007-print.html | 22 + ...gin-auto-negative-print-ref.tentative.html | 15 + ...-margin-auto-negative-print.tentative.html | 26 + .../css-page/page-margin-auto-print-ref.html | 41 + .../css/css-page/page-margin-auto-print.html | 53 + .../css/css-page/page-size-013-print-ref.html | 16 + .../css/css-page/page-size-013-print.html | 21 + .../css/css-page/page-size-014-print-ref.html | 16 + .../css/css-page/page-size-014-print.html | 21 + ...hlight-pseudos-computed-001.tentative.html | 39 + .../highlight-pseudos-001.tentative.html | 27 + .../break-within-bases/basic-ref.html | 16 + .../css-ruby/break-within-bases/basic.html | 18 + .../css/css-ruby/pseudo-first-line-ref.html | 8 +- .../tests/css/css-ruby/pseudo-first-line.html | 4 + ...mooth-anchor-scroll-in-snap-container.html | 61 + .../css-transforms/transform-important.html | 17 + .../css-values/premature-comment-crash.html | 11 + ...-element-below-viewport-offscreen-old.html | 2 +- ...ment-on-top-of-viewport-offscreen-old.html | 2 +- ...ement-right-of-viewport-offscreen-old.html | 2 +- .../sibling-frames-transition-ref.html | 42 + .../sibling-frames-transition.html | 101 + ...tml => CustomElementRegistry-getName.html} | 0 .../ElementInternals-accessibility.html | 6 + ...ment-constructor-customized-builtins.html} | 0 .../AriaMixin-string-attributes.html | 14 +- .../tests/docs/reviewing-tests/reverting.md | 2 +- .../echo-policy-nested.html.headers | 2 +- .../document-write.tentative.html | 91 - .../layout-animations-disabled-tentative.html | 40 - ...animations-disabled-tentative.html.headers | 1 - ...isabled-violation-report-js-tentative.html | 36 - ...violation-report-js-tentative.html.headers | 1 - ...-violation-report-keyframes-tentative.html | 23 - ...on-report-keyframes-tentative.html.headers | 1 - .../layout-animations-enabled-tentative.html | 30 - .../resources/animation-property-height.js | 3 - .../resources/async-script.js | 1 - .../resources/defer-script.js | 1 - .../resources/document-policy-image.html | 13 - .../resources/document-write-allowed.html | 37 - .../resources/document-write-disallowed.html | 37 - .../document-write-disallowed.html.headers | 1 - .../experimental-features/resources/image.jpg | Bin 570855 -> 0 bytes .../experimental-features/resources/image.png | Bin 217 -> 0 bytes .../experimental-features/resources/image.svg | 4 - .../resources/parser-blocking-script.js | 1 - .../resources/sync-script-test.js | 9 - .../sync-script.tentative.https.sub.html | 22 - ...nc-script.tentative.https.sub.html.headers | 1 - .../unsized-media.tentative.https.sub.html | 95 - ...zed-media.tentative.https.sub.html.headers | 1 - .../document-write-report-only-tentative.html | 26 - ...t-write-report-only-tentative.html.headers | 1 - .../document-write-reporting-tentative.html | 32 - ...ent-write-reporting-tentative.html.headers | 1 - .../tests/document-policy/reporting/image.jpg | Bin 2033 -> 0 bytes .../reporting/resources/sync-script.js | 20 - .../reporting/sync-script-reporting.html | 14 - .../sync-script-reporting.html.headers | 1 - .../unsized-media-reporting-tentative.html | 24 - ...zed-media-reporting-tentative.html.headers | 1 - .../required-policy/document-policy.html | 8 +- .../document-policy.html.headers | 2 +- .../required-policy/no-document-policy.html | 4 +- .../required-document-policy-nested.html | 12 +- .../required-document-policy.html | 28 +- .../required-document-policy.html.headers | 2 +- ...d-event-fired-for-programmatic-scroll.html | 166 +- ...nd-event-fired-for-scroll-attr-change.html | 147 ++ .../iframe-document-preserve.window.js | 131 ++ .../resources/moveBefore-iframe.html | 19 + .../scripts/playback-temporary-events.js | 28 +- ...-policy-frame-policy-timing.https.sub.html | 6 +- ...tify-event-top-level-navigation.https.html | 61 + ...event-transient-user-activation.https.html | 85 +- .../window-open-user-activation.https.html | 39 + .../wpt/tests/fetch/api/abort/general.any.js | 2 +- .../serviceworker-intercepted.https.html | 2 +- .../fetch/api/basic/request-headers.any.js | 2 +- .../redirect-referrer-override.any.js | 2 +- .../fetch/api/request/request-consume.any.js | 14 + .../api/response/response-blob-realm.any.js | 23 + .../response-error-from-stream.any.js | 2 + .../response/response-stream-bad-chunk.any.js | 1 + .../addFrame.window.js | 40 + .../resources/executor-window.js | 13 + .../resources/remote-context-helper.js | 20 +- ...ct.1.radius.dompoint.single.argument.html} | 4 +- .../2d.text.measure.advances-not-defined.html | 36 + .../text/2d.text.measure.advances.html | 52 - ...e.selection-rects-baselines.tentative.html | 72 + ....selection-rects-exceptions.tentative.html | 45 + ...ext.measure.selection-rects.tentative.html | 103 + tests/wpt/tests/html/canvas/historical.any.js | 4 + .../tests/html/canvas/historical.window.js | 5 + ...ct.1.radius.dompoint.single.argument.html} | 4 +- ...radius.dompoint.single.argument.worker.js} | 2 +- .../2d.text.measure.advances-not-defined.html | 22 + ...ext.measure.advances-not-defined.worker.js | 16 + .../text/2d.text.measure.advances.html | 41 - .../text/2d.text.measure.advances.worker.js | 35 - ...e.selection-rects-baselines.tentative.html | 73 + ...ection-rects-baselines.tentative.worker.js | 68 + ....selection-rects-exceptions.tentative.html | 46 + ...ction-rects-exceptions.tentative.worker.js | 41 + ...ext.measure.selection-rects.tentative.html | 104 + .../canvas/tools/yaml-new/path-objects.yaml | 2 +- .../html/canvas/tools/yaml-new/text.yaml | 184 +- .../html/dom/aria-attribute-reflection.html | 69 +- .../the-hidden-attribute/WEB_FEATURES.yml | 5 + .../select-1-block-size-001-ref-2.html | 2 +- .../select-1-block-size-001-ref.html | 2 +- .../the-details-element/WEB_FEATURES.yml | 3 + .../constructing-form-data-set.html | 15 + .../resources/form-submission.py | 22 +- .../form-submission-0/submit-entity-body.html | 25 +- .../setCustomValidity-normalize-newlines.html | 15 + .../native-popup-with-datalist-ref.html | 2 + .../native-popup-with-datalist.tentative.html | 2 + .../resources/stylable-select-styles.css | 17 +- .../resources/stylable-select-utils.js | 8 + ...ibility-minimum-target-size.tentative.html | 40 + .../select-appearance-dark-mode-ref.html | 25 + ...select-appearance-dark-mode.tentative.html | 26 + ...-appearance-no-button-no-datalist-ref.html | 2 + ...pearance-writing-mode-vertical-lr-ref.html | 2 + ...pearance-writing-mode-vertical-rl-ref.html | 2 + .../select-icon-color-ref.html | 20 + .../select-icon-color.tentative.html | 17 + .../popovers/popover-anchor-display-ref.html | 1 - .../popover-anchor-display.tentative.html | 23 +- ...update-the-rendering-resize-autofocus.html | 32 + .../reftest/reftest_wait_0-print.html | 13 + .../transform-animation.html | 38 + tests/wpt/tests/lint.ignore | 2 + .../notifications/getnotifications-sw.js | 14 +- .../tests/notifications/instance-checks.js | 40 + tests/wpt/tests/notifications/instance-sw.js | 34 + .../tests/notifications/instance.https.html | 60 - .../notifications/instance.https.window.js | 18 + .../notifications/resources/custom-data.js | 3 +- .../tests/notifications/resources/helpers.js | 10 + ...ermissions-policy-attribute.https.sub.html | 6 +- ...-policy-frame-policy-timing.https.sub.html | 4 +- .../permissions-policy-payment-extension.html | 2 +- .../pointerevent_after_target_appended.html | 30 +- .../pointerevent_after_target_removed.html | 48 +- ...e_mouse_and_release_and_capture_again.html | 90 + ...ture_touch_and_release_at_got_capture.html | 88 + ...ts_after_reappending_last_over_target.html | 221 +++ ...-reporting-bypass-report-to.https.sub.html | 7 +- ...ypass-report-to.https.sub.html.sub.headers | 2 +- ...t-reporting-named-endpoints.https.sub.html | 7 +- ...named-endpoints.https.sub.html.sub.headers | 2 +- ...reporting-override-endpoint.https.sub.html | 7 +- ...erride-endpoint.https.sub.html.sub.headers | 2 +- .../scroll-to-text-fragment/WEB_FEATURES.yml | 2 +- .../same-document-test-sync-load.html | 27 + .../select-later-become-slotted-content.html | 33 + .../cache-storage/cache-abort.https.any.js | 2 +- .../message-event-ports-worker.js | 3 + .../message-event-ports.https.html | 43 + ...ment-caretPositionFromPoint.tentative.html | 70 + ...eclarative-shadow-dom-write-to-iframe.html | 22 + ...ion-web-component-lifecycle.tentative.html | 1 + .../wptrunner/browsers/chrome_ios.py | 18 + .../tools/wptrunner/wptrunner/environment.py | 14 +- .../wptrunner/wptrunner/executors/base.py | 6 +- .../trusted-types-event-handlers.html | 11 +- ...eappending_last_over_target.tentative.html | 457 +++++ tests/wpt/tests/webaudio/META.yml | 1 + .../video-encoder-flush.https.any.js | 30 +- .../webcodecs/videoFrame-drawImage-hbd.any.js | 31 + .../set_permission/set_permission.py | 38 - .../set_permission/user_context.py | 131 ++ .../tests/bidi/input/perform_actions/wheel.py | 10 +- .../bidi/script/get_realms/get_realms.py | 1 - .../tests/classic/perform_actions/wheel.py | 9 +- ...rview-with-bigger-arraybuffer.https.any.js | 1 + .../webnn/resources/test_data/gather.json | 50 + .../webnn/resources/test_data/reduce_l1.json | 39 + .../webnn/resources/test_data/reduce_l2.json | 39 + .../resources/test_data/reduce_log_sum.json | 39 + .../test_data/reduce_log_sum_exp.json | 39 + .../webnn/resources/test_data/reduce_max.json | 39 + .../resources/test_data/reduce_mean.json | 39 + .../webnn/resources/test_data/reduce_min.json | 39 + .../resources/test_data/reduce_product.json | 39 + .../webnn/resources/test_data/reduce_sum.json | 39 + .../test_data/reduce_sum_square.json | 39 + tests/wpt/tests/webnn/resources/utils.js | 6 +- .../tests/webnn/resources/utils_validation.js | 13 +- .../elementwise-binary.https.any.js | 56 + ...py.js => elementwise-logical.https.any.js} | 0 .../validation_tests/gather.https.any.js | 8 +- .../RTCRtpParameters-codec.html | 67 +- .../webxr-supported-by-feature-policy.html | 10 - ...obalScope_requestAnimationFrame.worker.js} | 0 364 files changed, 7960 insertions(+), 1600 deletions(-) create mode 100644 tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-ic-height.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-computed.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-valid.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-pseudo/highlight-cascade/highlight-pseudos-computed-001.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/highlight-pseudos-001.tentative.html.ini rename tests/wpt/meta-legacy-layout/custom-elements/{CustomElementRegistry-getName.tentative.html.ini => CustomElementRegistry-getName.html.ini} (90%) create mode 100644 tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/iframe-document-preserve.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/fetch/api/response/response-blob-realm.any.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/remote-context-helper-tests/addFrame.window.js.ini rename tests/wpt/{meta/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.dompoint.single argument.html.ini => meta-legacy-layout/html/canvas/element/path-objects/2d.path.roundrect.1.radius.dompoint.single.argument.html.ini} (72%) delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.advances.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.selection-rects-baselines.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.selection-rects-exceptions.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.selection-rects.tentative.html.ini rename tests/wpt/meta-legacy-layout/html/canvas/{element/path-objects/2d.path.roundrect.1.radius.dompoint.single argument.html.ini => offscreen/path-objects/2d.path.roundrect.1.radius.dompoint.single.argument.html.ini} (72%) rename tests/wpt/meta-legacy-layout/html/canvas/offscreen/path-objects/{2d.path.roundrect.1.radius.dompoint.single argument.worker.js.ini => 2d.path.roundrect.1.radius.dompoint.single.argument.worker.js.ini} (70%) delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.advances.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.advances.worker.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.selection-rects-baselines.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.selection-rects-baselines.tentative.worker.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.selection-rects-exceptions.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.selection-rects-exceptions.tentative.worker.js.ini create mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.selection-rects.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/forms/form-submission-0/submit-entity-body.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/forms/setCustomValidity-normalize-newlines.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-appearance-dark-mode.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-icon-color.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/webappapis/scripting/event-loops/update-the-rendering-resize-autofocus.html.ini create mode 100644 tests/wpt/meta-legacy-layout/resource-timing/nested-context-navigations-iframe.html.ini create mode 100644 tests/wpt/meta-legacy-layout/selection/shadow-dom/select-later-become-slotted-content.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/webxr/webxr-supported-by-feature-policy.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js.ini create mode 100644 tests/wpt/meta-legacy-layout/workers/WorkerGlobalScope_requestAnimationFrame.worker.js.ini create mode 100644 tests/wpt/meta/css/css-fonts/font-size-adjust-ic-height.tentative.html.ini create mode 100644 tests/wpt/meta/css/css-overflow/parsing/scroll-markers-computed.tentative.html.ini create mode 100644 tests/wpt/meta/css/css-overflow/parsing/scroll-markers-valid.tentative.html.ini create mode 100644 tests/wpt/meta/css/css-pseudo/highlight-cascade/highlight-pseudos-computed-001.tentative.html.ini create mode 100644 tests/wpt/meta/css/css-pseudo/parsing/highlight-pseudos-001.tentative.html.ini create mode 100644 tests/wpt/meta/css/css-transitions/disconnected-element-001.html.ini rename tests/wpt/meta/custom-elements/{CustomElementRegistry-getName.tentative.html.ini => CustomElementRegistry-getName.html.ini} (90%) create mode 100644 tests/wpt/meta/dom/nodes/moveBefore/tentative/iframe-document-preserve.window.js.ini create mode 100644 tests/wpt/meta/fetch/api/response/response-blob-realm.any.js.ini create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini rename tests/wpt/{meta-legacy-layout => meta}/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini (100%) create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/remote-context-helper-tests/addFrame.window.js.ini rename tests/wpt/meta/html/browsers/history/the-history-interface/{traverse_the_history_5.html.ini => traverse_the_history_4.html.ini} (71%) rename tests/wpt/meta/html/canvas/element/path-objects/{2d.path.roundrect.1.radius.dompoint.single argument.html.ini => 2d.path.roundrect.1.radius.dompoint.single.argument.html.ini} (72%) delete mode 100644 tests/wpt/meta/html/canvas/element/text/2d.text.measure.advances.html.ini create mode 100644 tests/wpt/meta/html/canvas/element/text/2d.text.measure.selection-rects-baselines.tentative.html.ini create mode 100644 tests/wpt/meta/html/canvas/element/text/2d.text.measure.selection-rects-exceptions.tentative.html.ini create mode 100644 tests/wpt/meta/html/canvas/element/text/2d.text.measure.selection-rects.tentative.html.ini create mode 100644 tests/wpt/meta/html/canvas/historical.any.js.ini rename tests/wpt/{meta-legacy-layout/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.dompoint.single argument.html.ini => meta/html/canvas/offscreen/path-objects/2d.path.roundrect.1.radius.dompoint.single.argument.html.ini} (72%) rename tests/wpt/meta/html/canvas/offscreen/path-objects/{2d.path.roundrect.1.radius.dompoint.single argument.worker.js.ini => 2d.path.roundrect.1.radius.dompoint.single.argument.worker.js.ini} (70%) create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.advances-not-defined.html.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.advances-not-defined.worker.js.ini delete mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.advances.html.ini delete mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.advances.worker.js.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.selection-rects-baselines.tentative.html.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.selection-rects-baselines.tentative.worker.js.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.selection-rects-exceptions.tentative.html.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.selection-rects-exceptions.tentative.worker.js.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.selection-rects.tentative.html.ini create mode 100644 tests/wpt/meta/html/semantics/forms/form-submission-0/submit-entity-body.html.ini create mode 100644 tests/wpt/meta/html/semantics/forms/setCustomValidity-normalize-newlines.html.ini create mode 100644 tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-appearance-dark-mode.tentative.html.ini create mode 100644 tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-icon-color.tentative.html.ini create mode 100644 tests/wpt/meta/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini create mode 100644 tests/wpt/meta/html/webappapis/scripting/event-loops/update-the-rendering-resize-autofocus.html.ini create mode 100644 tests/wpt/meta/selection/shadow-dom/select-later-become-slotted-content.html.ini delete mode 100644 tests/wpt/meta/webxr/webxr-supported-by-feature-policy.html.ini delete mode 100644 tests/wpt/meta/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js.ini create mode 100644 tests/wpt/meta/workers/WorkerGlobalScope_requestAnimationFrame.worker.js.ini create mode 100644 tests/wpt/tests/.github/workflows/docker.yml create mode 100644 tests/wpt/tests/accessibility/crashtests/missing-parent-multi-col.html create mode 100644 tests/wpt/tests/client-hints/resources/2x3-svg-scaled-by-sec-ch-width.py create mode 100644 tests/wpt/tests/client-hints/sec-ch-width-auto-sizes-001.https.html create mode 100644 tests/wpt/tests/client-hints/sec-ch-width-auto-sizes-002.https.html create mode 100644 tests/wpt/tests/client-hints/sec-ch-width-auto-sizes-003.https.html create mode 100644 tests/wpt/tests/client-hints/sec-ch-width.https.html create mode 100644 tests/wpt/tests/credential-management/support/fedcm/manifest_check_disclosure_shown_true.json create mode 100644 tests/wpt/tests/credential-management/support/fedcm/token_check_disclosure_shown_true.py create mode 100644 tests/wpt/tests/css/css-anchor-position/anchor-inside-outside.html create mode 100644 tests/wpt/tests/css/css-anchor-position/last-successful-basic.html create mode 100644 tests/wpt/tests/css/css-anchor-position/last-successful-change-options.html create mode 100644 tests/wpt/tests/css/css-anchor-position/last-successful-change-try-rule.html create mode 100644 tests/wpt/tests/css/css-anchor-position/last-successful-intermediate-ignored.html create mode 100644 tests/wpt/tests/css/css-flexbox/min-height-min-content-crash.html create mode 100644 tests/wpt/tests/css/css-fonts/font-size-adjust-ic-height-ref.html create mode 100644 tests/wpt/tests/css/css-fonts/font-size-adjust-ic-height.tentative.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/inheritance.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/resources/README.md create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/resources/cap-x-height.ttf create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/resources/variant-class.js create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-float-start-001-ref.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-float-start-001.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-initial-letter-start-001-ref.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-initial-letter-start-001.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-ruby-start-001-ref.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-ruby-start-001.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-start-001-ref.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-start-001.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-tall-line-001-ref.html create mode 100644 tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-tall-line-001.html create mode 100644 tests/wpt/tests/css/css-overflow/parsing/scroll-markers-computed.tentative.html create mode 100644 tests/wpt/tests/css/css-overflow/parsing/scroll-markers-invalid.tentative.html create mode 100644 tests/wpt/tests/css/css-overflow/parsing/scroll-markers-valid.tentative.html create mode 100644 tests/wpt/tests/css/css-page/page-box-004-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-box-004-print.html create mode 100644 tests/wpt/tests/css/css-page/page-box-005-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-box-005-print.html create mode 100644 tests/wpt/tests/css/css-page/page-box-006-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-box-006-print.html create mode 100644 tests/wpt/tests/css/css-page/page-box-007-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-box-007-print.html create mode 100644 tests/wpt/tests/css/css-page/page-margin-auto-negative-print-ref.tentative.html create mode 100644 tests/wpt/tests/css/css-page/page-margin-auto-negative-print.tentative.html create mode 100644 tests/wpt/tests/css/css-page/page-margin-auto-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-margin-auto-print.html create mode 100644 tests/wpt/tests/css/css-page/page-size-013-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-size-013-print.html create mode 100644 tests/wpt/tests/css/css-page/page-size-014-print-ref.html create mode 100644 tests/wpt/tests/css/css-page/page-size-014-print.html create mode 100644 tests/wpt/tests/css/css-pseudo/highlight-cascade/highlight-pseudos-computed-001.tentative.html create mode 100644 tests/wpt/tests/css/css-pseudo/parsing/highlight-pseudos-001.tentative.html create mode 100644 tests/wpt/tests/css/css-ruby/break-within-bases/basic-ref.html create mode 100644 tests/wpt/tests/css/css-ruby/break-within-bases/basic.html create mode 100644 tests/wpt/tests/css/css-scroll-snap/smooth-anchor-scroll-in-snap-container.html create mode 100644 tests/wpt/tests/css/css-transforms/transform-important.html create mode 100644 tests/wpt/tests/css/css-values/premature-comment-crash.html create mode 100644 tests/wpt/tests/css/css-view-transitions/sibling-frames-transition-ref.html create mode 100644 tests/wpt/tests/css/css-view-transitions/sibling-frames-transition.html rename tests/wpt/tests/custom-elements/{CustomElementRegistry-getName.tentative.html => CustomElementRegistry-getName.html} (100%) rename tests/wpt/tests/custom-elements/{HTMLElement-constructor-customized-bulitins.html => HTMLElement-constructor-customized-builtins.html} (100%) delete mode 100644 tests/wpt/tests/document-policy/experimental-features/document-write.tentative.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html.headers delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html.headers delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html.headers delete mode 100644 tests/wpt/tests/document-policy/experimental-features/layout-animations-enabled-tentative.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/animation-property-height.js delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/async-script.js delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/defer-script.js delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/document-policy-image.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/document-write-allowed.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html.headers delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/image.jpg delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/image.png delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/image.svg delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/parser-blocking-script.js delete mode 100644 tests/wpt/tests/document-policy/experimental-features/resources/sync-script-test.js delete mode 100644 tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html.headers delete mode 100644 tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html delete mode 100644 tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html.headers delete mode 100644 tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html delete mode 100644 tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html.headers delete mode 100644 tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html delete mode 100644 tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html.headers delete mode 100644 tests/wpt/tests/document-policy/reporting/image.jpg delete mode 100644 tests/wpt/tests/document-policy/reporting/resources/sync-script.js delete mode 100644 tests/wpt/tests/document-policy/reporting/sync-script-reporting.html delete mode 100644 tests/wpt/tests/document-policy/reporting/sync-script-reporting.html.headers delete mode 100644 tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html delete mode 100644 tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html.headers create mode 100644 tests/wpt/tests/dom/events/scrolling/scrollend-event-fired-for-scroll-attr-change.html create mode 100644 tests/wpt/tests/dom/nodes/moveBefore/tentative/iframe-document-preserve.window.js create mode 100644 tests/wpt/tests/dom/nodes/moveBefore/tentative/resources/moveBefore-iframe.html create mode 100644 tests/wpt/tests/fenced-frame/notify-event-top-level-navigation.https.html create mode 100644 tests/wpt/tests/fenced-frame/window-open-user-activation.https.html create mode 100644 tests/wpt/tests/fetch/api/response/response-blob-realm.any.js create mode 100644 tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addFrame.window.js rename tests/wpt/tests/html/canvas/element/path-objects/{2d.path.roundrect.1.radius.dompoint.single argument.html => 2d.path.roundrect.1.radius.dompoint.single.argument.html} (93%) create mode 100644 tests/wpt/tests/html/canvas/element/text/2d.text.measure.advances-not-defined.html delete mode 100644 tests/wpt/tests/html/canvas/element/text/2d.text.measure.advances.html create mode 100644 tests/wpt/tests/html/canvas/element/text/2d.text.measure.selection-rects-baselines.tentative.html create mode 100644 tests/wpt/tests/html/canvas/element/text/2d.text.measure.selection-rects-exceptions.tentative.html create mode 100644 tests/wpt/tests/html/canvas/element/text/2d.text.measure.selection-rects.tentative.html create mode 100644 tests/wpt/tests/html/canvas/historical.any.js create mode 100644 tests/wpt/tests/html/canvas/historical.window.js rename tests/wpt/tests/html/canvas/offscreen/path-objects/{2d.path.roundrect.1.radius.dompoint.single argument.html => 2d.path.roundrect.1.radius.dompoint.single.argument.html} (95%) rename tests/wpt/tests/html/canvas/offscreen/path-objects/{2d.path.roundrect.1.radius.dompoint.single argument.worker.js => 2d.path.roundrect.1.radius.dompoint.single.argument.worker.js} (98%) create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.advances-not-defined.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.advances-not-defined.worker.js delete mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.advances.html delete mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.advances.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.selection-rects-baselines.tentative.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.selection-rects-baselines.tentative.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.selection-rects-exceptions.tentative.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.selection-rects-exceptions.tentative.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.selection-rects.tentative.html create mode 100644 tests/wpt/tests/html/editing/the-hidden-attribute/WEB_FEATURES.yml create mode 100644 tests/wpt/tests/html/semantics/forms/setCustomValidity-normalize-newlines.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/resources/stylable-select-utils.js create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-accessibility-minimum-target-size.tentative.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-appearance-dark-mode-ref.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-appearance-dark-mode.tentative.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-icon-color-ref.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-icon-color.tentative.html create mode 100644 tests/wpt/tests/html/webappapis/scripting/event-loops/update-the-rendering-resize-autofocus.html create mode 100644 tests/wpt/tests/infrastructure/reftest/reftest_wait_0-print.html create mode 100644 tests/wpt/tests/intersection-observer/transform-animation.html create mode 100644 tests/wpt/tests/notifications/instance-checks.js create mode 100644 tests/wpt/tests/notifications/instance-sw.js delete mode 100644 tests/wpt/tests/notifications/instance.https.html create mode 100644 tests/wpt/tests/notifications/instance.https.window.js create mode 100644 tests/wpt/tests/pointerevents/pointerevent_capture_mouse_and_release_and_capture_again.html create mode 100644 tests/wpt/tests/pointerevents/pointerevent_capture_touch_and_release_at_got_capture.html create mode 100644 tests/wpt/tests/pointerevents/pointerevent_pointer_boundary_events_after_reappending_last_over_target.html create mode 100644 tests/wpt/tests/scroll-to-text-fragment/same-document-test-sync-load.html create mode 100644 tests/wpt/tests/selection/shadow-dom/select-later-become-slotted-content.html create mode 100644 tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports-worker.js create mode 100644 tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html create mode 100644 tests/wpt/tests/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html create mode 100644 tests/wpt/tests/webcodecs/videoFrame-drawImage-hbd.any.js create mode 100644 tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/user_context.py rename tests/wpt/tests/webnn/validation_tests/{elementwise-logical.https.any copy.js => elementwise-logical.https.any.js} (100%) delete mode 100644 tests/wpt/tests/webxr/webxr-supported-by-feature-policy.html rename tests/wpt/tests/workers/{WorkerGlobalScope_requestAnimationFrame.tentative.worker.js => WorkerGlobalScope_requestAnimationFrame.worker.js} (100%) diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-ic-height.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-ic-height.tentative.html.ini new file mode 100644 index 00000000000..69a38ce77ee --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-ic-height.tentative.html.ini @@ -0,0 +1,2 @@ +[font-size-adjust-ic-height.tentative.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-invalid.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-invalid.html.ini index 46c1576d853..86c285fb78a 100644 --- a/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-invalid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-invalid.html.ini @@ -70,3 +70,6 @@ [CSS Fonts Module Level 4: parsing @font-palette-values 24] expected: FAIL + + [CSS Fonts Module Level 4: parsing @font-palette-values 25] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-valid.html.ini index a20fe78d693..70e99209ae0 100644 --- a/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-valid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-fonts/parsing/font-palette-values-valid.html.ini @@ -100,3 +100,6 @@ [CSS Fonts Module Level 4: parsing @font-palette-values 33] expected: FAIL + + [CSS Fonts Module Level 4: parsing @font-palette-values 34] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-computed.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-computed.tentative.html.ini new file mode 100644 index 00000000000..ab5459ae54c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-computed.tentative.html.ini @@ -0,0 +1,27 @@ +[scroll-markers-computed.tentative.html] + [Property scroll-markers value 'initial'] + expected: FAIL + + [Property scroll-markers value 'inherit'] + expected: FAIL + + [Property scroll-markers value 'unset'] + expected: FAIL + + [Property scroll-markers value 'revert'] + expected: FAIL + + [Property scroll-markers value 'none'] + expected: FAIL + + [Property scroll-markers value 'before'] + expected: FAIL + + [Property scroll-markers value 'after'] + expected: FAIL + + [The scroll-markers property shows up in CSSStyleDeclaration enumeration] + expected: FAIL + + [The scroll-markers property shows up in CSSStyleDeclaration.cssText] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-valid.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-valid.tentative.html.ini new file mode 100644 index 00000000000..157a05bffbe --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/scroll-markers-valid.tentative.html.ini @@ -0,0 +1,21 @@ +[scroll-markers-valid.tentative.html] + [e.style['scroll-markers'\] = "initial" should set the property value] + expected: FAIL + + [e.style['scroll-markers'\] = "inherit" should set the property value] + expected: FAIL + + [e.style['scroll-markers'\] = "unset" should set the property value] + expected: FAIL + + [e.style['scroll-markers'\] = "revert" should set the property value] + expected: FAIL + + [e.style['scroll-markers'\] = "none" should set the property value] + expected: FAIL + + [e.style['scroll-markers'\] = "before" should set the property value] + expected: FAIL + + [e.style['scroll-markers'\] = "after" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-pseudo/highlight-cascade/highlight-pseudos-computed-001.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-pseudo/highlight-cascade/highlight-pseudos-computed-001.tentative.html.ini new file mode 100644 index 00000000000..b963cc0fd2c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-pseudo/highlight-cascade/highlight-pseudos-computed-001.tentative.html.ini @@ -0,0 +1,24 @@ +[highlight-pseudos-computed-001.tentative.html] + [getComputedStyle() for ::search-text] + expected: FAIL + + [getComputedStyle() for ::search-text: should return an empty CSSStyleDeclaration] + expected: FAIL + + [getComputedStyle() for ::search-text) should return an empty CSSStyleDeclaration] + expected: FAIL + + [getComputedStyle() for ::search-text( should return an empty CSSStyleDeclaration] + expected: FAIL + + [getComputedStyle() for ::search-text(foo) should return an empty CSSStyleDeclaration] + expected: FAIL + + [getComputedStyle() for ::search-text() should return an empty CSSStyleDeclaration] + expected: FAIL + + [getComputedStyle() for :::search-text should return an empty CSSStyleDeclaration] + expected: FAIL + + [getComputedStyle() for ::search-text. should return an empty CSSStyleDeclaration] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/highlight-pseudos-001.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/highlight-pseudos-001.tentative.html.ini new file mode 100644 index 00000000000..b416a0e6b82 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/highlight-pseudos-001.tentative.html.ini @@ -0,0 +1,36 @@ +[highlight-pseudos-001.tentative.html] + ["::search-text" should be a valid selector] + expected: FAIL + + [".a::search-text" should be a valid selector] + expected: FAIL + + ["div ::search-text" should be a valid selector] + expected: FAIL + + ["::part(my-part)::search-text" should be a valid selector] + expected: FAIL + + ["::search-text:current" should be a valid selector] + expected: FAIL + + [".a::search-text:current" should be a valid selector] + expected: FAIL + + ["div ::search-text:current" should be a valid selector] + expected: FAIL + + ["::part(my-part)::search-text:current" should be a valid selector] + expected: FAIL + + ["::search-text:not(:current)" should be a valid selector] + expected: FAIL + + [".a::search-text:not(:current)" should be a valid selector] + expected: FAIL + + ["div ::search-text:not(:current)" should be a valid selector] + expected: FAIL + + ["::part(my-part)::search-text:not(:current)" should be a valid selector] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/custom-elements/CustomElementRegistry-getName.tentative.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/CustomElementRegistry-getName.html.ini similarity index 90% rename from tests/wpt/meta-legacy-layout/custom-elements/CustomElementRegistry-getName.tentative.html.ini rename to tests/wpt/meta-legacy-layout/custom-elements/CustomElementRegistry-getName.html.ini index b380ba38d07..cb43c25dc3a 100644 --- a/tests/wpt/meta-legacy-layout/custom-elements/CustomElementRegistry-getName.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/custom-elements/CustomElementRegistry-getName.html.ini @@ -1,4 +1,4 @@ -[CustomElementRegistry-getName.tentative.html] +[CustomElementRegistry-getName.html] [customElements.getName must return null when the registry does not contain an entry with the given constructor] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/custom-elements/ElementInternals-accessibility.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/ElementInternals-accessibility.html.ini index d52ce3402d6..a5092997b2b 100644 --- a/tests/wpt/meta-legacy-layout/custom-elements/ElementInternals-accessibility.html.ini +++ b/tests/wpt/meta-legacy-layout/custom-elements/ElementInternals-accessibility.html.ini @@ -136,3 +136,21 @@ [ariaValueText is defined in ElementInternals] expected: FAIL + + [ariaBrailleLabel is defined in ElementInternals] + expected: FAIL + + [ariaBrailleRoleDescription is defined in ElementInternals] + expected: FAIL + + [ariaColIndexText is defined in ElementInternals] + expected: FAIL + + [ariaDescription is defined in ElementInternals] + expected: FAIL + + [ariaRowIndexText is defined in ElementInternals] + expected: FAIL + + [ariaSetSize is defined in ElementInternals] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/iframe-document-preserve.window.js.ini b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/iframe-document-preserve.window.js.ini new file mode 100644 index 00000000000..4c8fde3f8de --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/iframe-document-preserve.window.js.ini @@ -0,0 +1,21 @@ +[iframe-document-preserve.window.html] + [moveBefore(): about:blank iframe's document is preserved] + expected: FAIL + + [moveBefore(): simple same-origin document is preserved] + expected: FAIL + + [moveBefore(): cross-origin iframe is preserved: remove new parent] + expected: FAIL + + [moveBefore(): cross-origin iframe is preserved: remove self] + expected: FAIL + + [moveBefore(): cross-origin iframe is preserved: remove self via replaceChildren()] + expected: FAIL + + [moveBefore(): cross-origin iframe is preserved: remove self via innerHTML] + expected: FAIL + + [window.frames ordering does not change due to moveBefore()] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini index 1e20bc6ed8e..692b5406faf 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/abort/general.any.js.ini @@ -159,6 +159,12 @@ [Signal on request object should also have abort reason] expected: FAIL + [response.bytes() rejects if already aborted] + expected: FAIL + + [Fetch aborted & connection closed when aborted after calling response.bytes()] + expected: FAIL + [general.any.html] type: testharness @@ -321,6 +327,12 @@ [Signal on request object should also have abort reason] expected: FAIL + [response.bytes() rejects if already aborted] + expected: FAIL + + [Fetch aborted & connection closed when aborted after calling response.bytes()] + expected: FAIL + [general.any.serviceworker.html] expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/api/abort/serviceworker-intercepted.https.html.ini b/tests/wpt/meta-legacy-layout/fetch/api/abort/serviceworker-intercepted.https.html.ini index 93165008ded..4bb2c7fb0a4 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/abort/serviceworker-intercepted.https.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/abort/serviceworker-intercepted.https.html.ini @@ -35,3 +35,6 @@ [Abort reason serialization happens on abort] expected: FAIL + + [response.bytes() rejects if already aborted] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/api/basic/request-headers.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/basic/request-headers.any.js.ini index 3d0a15c7101..d8111b4e0ce 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/basic/request-headers.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/basic/request-headers.any.js.ini @@ -1,16 +1,20 @@ [request-headers.any.html] type: testharness - expected: ERROR [Fetch with POST with FormData body] expected: FAIL + [Fetch with POST with Float16Array body] + expected: FAIL + [request-headers.any.worker.html] type: testharness - expected: ERROR [Fetch with POST with FormData body] expected: FAIL + [Fetch with POST with Float16Array body] + expected: FAIL + [request-headers.any.serviceworker.html] expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/api/request/request-consume.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/request/request-consume.any.js.ini index 24f7b9a642f..317f7a2ff85 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/request/request-consume.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/request/request-consume.any.js.ini @@ -2,11 +2,53 @@ [Consume FormData request's body as FormData] expected: FAIL + [Consume String request's body as bytes] + expected: FAIL + + [Consume ArrayBuffer request's body as bytes] + expected: FAIL + + [Consume Uint8Array request's body as bytes] + expected: FAIL + + [Consume Int8Array request's body as bytes] + expected: FAIL + + [Consume Float32Array request's body as bytes] + expected: FAIL + + [Consume DataView request's body as bytes] + expected: FAIL + + [Consume blob response's body as bytes] + expected: FAIL + [request-consume.any.worker.html] [Consume FormData request's body as FormData] expected: FAIL + [Consume String request's body as bytes] + expected: FAIL + + [Consume ArrayBuffer request's body as bytes] + expected: FAIL + + [Consume Uint8Array request's body as bytes] + expected: FAIL + + [Consume Int8Array request's body as bytes] + expected: FAIL + + [Consume Float32Array request's body as bytes] + expected: FAIL + + [Consume DataView request's body as bytes] + expected: FAIL + + [Consume blob response's body as bytes] + expected: FAIL + [request-consume.any.serviceworker.html] expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/api/response/response-blob-realm.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/response/response-blob-realm.any.js.ini new file mode 100644 index 00000000000..cbb16c4bb93 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/fetch/api/response/response-blob-realm.any.js.ini @@ -0,0 +1,8 @@ +[response-blob-realm.any.html] + [realm of the Uint8Array from Response bytes()] + expected: FAIL + + +[response-blob-realm.any.worker.html] + [realm of the Uint8Array from Response bytes()] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/api/response/response-error-from-stream.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/response/response-error-from-stream.any.js.ini index 93d1ce9c644..33616a01abc 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/response/response-error-from-stream.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/response/response-error-from-stream.any.js.ini @@ -1,9 +1,21 @@ [response-error-from-stream.any.worker.html] + [ReadableStream start() Error propagates to Response.bytes() Promise] + expected: FAIL + + [ReadableStream pull() Error propagates to Response.bytes() Promise] + expected: FAIL + [response-error-from-stream.any.serviceworker.html] expected: ERROR [response-error-from-stream.any.html] + [ReadableStream start() Error propagates to Response.bytes() Promise] + expected: FAIL + + [ReadableStream pull() Error propagates to Response.bytes() Promise] + expected: FAIL + [response-error-from-stream.any.sharedworker.html] expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/fetch/api/response/response-stream-bad-chunk.any.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/response/response-stream-bad-chunk.any.js.ini index 9fdc5a9bd14..8c2a6f1d9ba 100644 --- a/tests/wpt/meta-legacy-layout/fetch/api/response/response-stream-bad-chunk.any.js.ini +++ b/tests/wpt/meta-legacy-layout/fetch/api/response/response-stream-bad-chunk.any.js.ini @@ -1,4 +1,7 @@ [response-stream-bad-chunk.any.html] + [ReadableStream with non-Uint8Array chunk passed to Response.bytes() causes TypeError] + expected: FAIL + [response-stream-bad-chunk.any.sharedworker.html] expected: ERROR @@ -7,3 +10,5 @@ expected: ERROR [response-stream-bad-chunk.any.worker.html] + [ReadableStream with non-Uint8Array chunk passed to Response.bytes() causes TypeError] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini index 149bcb4ff8c..b8fd22e2b81 100644 --- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini @@ -10,3 +10,6 @@ [load & pageshow events do not fire on contentWindow of + + + diff --git a/tests/wpt/tests/css/css-view-transitions/sibling-frames-transition.html b/tests/wpt/tests/css/css-view-transitions/sibling-frames-transition.html new file mode 100644 index 00000000000..b4814c5ca81 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/sibling-frames-transition.html @@ -0,0 +1,101 @@ + + +View transitions: main frame and sibling frames transition at the same time + + + + + + + + + + diff --git a/tests/wpt/tests/custom-elements/CustomElementRegistry-getName.tentative.html b/tests/wpt/tests/custom-elements/CustomElementRegistry-getName.html similarity index 100% rename from tests/wpt/tests/custom-elements/CustomElementRegistry-getName.tentative.html rename to tests/wpt/tests/custom-elements/CustomElementRegistry-getName.html diff --git a/tests/wpt/tests/custom-elements/ElementInternals-accessibility.html b/tests/wpt/tests/custom-elements/ElementInternals-accessibility.html index 8a8f1c9aea0..3b04f257dea 100644 --- a/tests/wpt/tests/custom-elements/ElementInternals-accessibility.html +++ b/tests/wpt/tests/custom-elements/ElementInternals-accessibility.html @@ -28,14 +28,18 @@ const properties = [ "ariaActiveDescendantElement", "ariaAtomic", "ariaAutoComplete", + "ariaBrailleLabel", + "ariaBrailleRoleDescription", "ariaBusy", "ariaChecked", "ariaColCount", "ariaColIndex", + "ariaColIndexText", "ariaColSpan", "ariaControlsElements", "ariaCurrent", "ariaDescribedByElements", + "ariaDescription", "ariaDetailsElements", "ariaDisabled", "ariaErrorMessageElements", @@ -63,8 +67,10 @@ const properties = [ "ariaRoleDescription", "ariaRowCount", "ariaRowIndex", + "ariaRowIndexText", "ariaRowSpan", "ariaSelected", + "ariaSetSize", "ariaSort", "ariaValueMax", "ariaValueMin", diff --git a/tests/wpt/tests/custom-elements/HTMLElement-constructor-customized-bulitins.html b/tests/wpt/tests/custom-elements/HTMLElement-constructor-customized-builtins.html similarity index 100% rename from tests/wpt/tests/custom-elements/HTMLElement-constructor-customized-bulitins.html rename to tests/wpt/tests/custom-elements/HTMLElement-constructor-customized-builtins.html diff --git a/tests/wpt/tests/custom-elements/reactions/AriaMixin-string-attributes.html b/tests/wpt/tests/custom-elements/reactions/AriaMixin-string-attributes.html index f71bf2daa9b..c058084ab28 100644 --- a/tests/wpt/tests/custom-elements/reactions/AriaMixin-string-attributes.html +++ b/tests/wpt/tests/custom-elements/reactions/AriaMixin-string-attributes.html @@ -15,34 +15,32 @@
diff --git a/tests/wpt/tests/docs/reviewing-tests/reverting.md b/tests/wpt/tests/docs/reviewing-tests/reverting.md index d374f0558e3..a45b86a969c 100644 --- a/tests/wpt/tests/docs/reviewing-tests/reverting.md +++ b/tests/wpt/tests/docs/reviewing-tests/reverting.md @@ -3,7 +3,7 @@ Testing is imperfect and from time to time changes are merged into master which break things for users of web-platform-tests. Such breakage can include: - * Failures in Travis or Taskcluster runs for this repository, either on the + * Failures in CI runs for this repository, either on the master branch or on pull requests following the breaking change. * Breakage in browser engine repositories which import and run diff --git a/tests/wpt/tests/document-policy/echo-policy-nested.html.headers b/tests/wpt/tests/document-policy/echo-policy-nested.html.headers index 419a3c3dd16..ab319fc4ceb 100644 --- a/tests/wpt/tests/document-policy/echo-policy-nested.html.headers +++ b/tests/wpt/tests/document-policy/echo-policy-nested.html.headers @@ -1 +1 @@ -Document-Policy: lossless-images-max-bpp=0.0 +Document-Policy: sync-xhr=?0 diff --git a/tests/wpt/tests/document-policy/experimental-features/document-write.tentative.html b/tests/wpt/tests/document-policy/experimental-features/document-write.tentative.html deleted file mode 100644 index 551703c6f56..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/document-write.tentative.html +++ /dev/null @@ -1,91 +0,0 @@ - -'document-write' tests - - - - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html b/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html deleted file mode 100644 index fd32ace78e2..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - 'layout-animations' Policy : Correct behavior for affected and unaffected properties when - feature is disabled. - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html.headers b/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html.headers deleted file mode 100644 index 745da550ee5..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: layout-animations=?0 diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html b/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html deleted file mode 100644 index ee7c295156f..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - 'layout-animations' Policy : violation reports from javascript - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html.headers b/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html.headers deleted file mode 100644 index 745da550ee5..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: layout-animations=?0 diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html b/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html deleted file mode 100644 index cd9210cc138..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - 'layout-animations' Policy : violation reports from CSS keyframes - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html.headers b/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html.headers deleted file mode 100644 index 745da550ee5..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: layout-animations=?0 diff --git a/tests/wpt/tests/document-policy/experimental-features/layout-animations-enabled-tentative.html b/tests/wpt/tests/document-policy/experimental-features/layout-animations-enabled-tentative.html deleted file mode 100644 index 19e405496ee..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/layout-animations-enabled-tentative.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - 'layout-animations' Policy : Correct behavior for affected and unaffected properties when - feature is enabled. - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/animation-property-height.js b/tests/wpt/tests/document-policy/experimental-features/resources/animation-property-height.js deleted file mode 100644 index 79316cb488f..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/animation-property-height.js +++ /dev/null @@ -1,3 +0,0 @@ -let div = document.createElement("div"); -document.body.appendChild(div); -div.animate([{"height": "0px"}, {"height": "100px"}]); diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/async-script.js b/tests/wpt/tests/document-policy/experimental-features/resources/async-script.js deleted file mode 100644 index 3c0ee6d0234..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/async-script.js +++ /dev/null @@ -1 +0,0 @@ -window.didExecuteExternalAsyncScript = true; diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/defer-script.js b/tests/wpt/tests/document-policy/experimental-features/resources/defer-script.js deleted file mode 100644 index 8d248ee0d01..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/defer-script.js +++ /dev/null @@ -1 +0,0 @@ -window.didExecuteExternalDeferredScript = true; diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/document-policy-image.html b/tests/wpt/tests/document-policy/experimental-features/resources/document-policy-image.html deleted file mode 100644 index 4e5b919bd11..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/document-policy-image.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/document-write-allowed.html b/tests/wpt/tests/document-policy/experimental-features/resources/document-write-allowed.html deleted file mode 100644 index 633fa85e6ac..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/document-write-allowed.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html b/tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html deleted file mode 100644 index 633fa85e6ac..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html.headers b/tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html.headers deleted file mode 100644 index 32846f724a4..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/document-write-disallowed.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: document-write=?0 \ No newline at end of file diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/image.jpg b/tests/wpt/tests/document-policy/experimental-features/resources/image.jpg deleted file mode 100644 index 430f5c514a86f110293636b513b396ac1ab5ed80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570855 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 LA9-gL_$kbmJF5v}YX<___hH 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%0A1B($C2flFn+AV$V{UBF@^f2cL1{2{_{? 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
xLi;=$)+3U$)x4{{tYqR}Y7=dbXyh^Sr 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

+ + diff --git a/tests/wpt/tests/lint.ignore b/tests/wpt/tests/lint.ignore index 14e02983f75..9d846b35194 100644 --- a/tests/wpt/tests/lint.ignore +++ b/tests/wpt/tests/lint.ignore @@ -808,10 +808,12 @@ TESTDRIVER-IN-UNSUPPORTED-TYPE: html/rendering/non-replaced-elements/the-fieldse TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/native-popup-with-datalist-ref.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/native-popup-with-datalist.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-custom-button-no-datalist.tentative.html +TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-dark-mode.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-no-button-custom-datalist.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-no-button-no-datalist.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-writing-mode-vertical-lr.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-writing-mode-vertical-rl.tentative.html +TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-dark-mode.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-selectlist-element/selectlist-option-arbitrary-content-displayed.tentative.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/popovers/popover-dialog-crash.html TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/popovers/popover-hint-crash.tentative.html diff --git a/tests/wpt/tests/notifications/getnotifications-sw.js b/tests/wpt/tests/notifications/getnotifications-sw.js index 331913b9935..ad2c11c6d5f 100644 --- a/tests/wpt/tests/notifications/getnotifications-sw.js +++ b/tests/wpt/tests/notifications/getnotifications-sw.js @@ -1,4 +1,5 @@ importScripts("/resources/testharness.js"); +importScripts("resources/helpers.js"); async function cleanup() { for (const n of await registration.getNotifications()) { @@ -29,14 +30,9 @@ async function postAll(data) { } } -async function untilActivate() { - if (registration.active) { - return; - } - return new Promise(resolve => { - addEventListener("activate", resolve, { once: true }); - }); -} +promise_setup(async () => { + await untilActivate(); +}); promise_test(async t => { await new Promise((resolve, reject) => { @@ -45,7 +41,7 @@ promise_test(async t => { resolve(); } }); - untilActivate().then(() => postAll("notification-create")).catch(reject); + postAll("notification-create").catch(reject); }); await test_notification(t, "Created from window"); }, "Get notification created from window"); diff --git a/tests/wpt/tests/notifications/instance-checks.js b/tests/wpt/tests/notifications/instance-checks.js new file mode 100644 index 00000000000..31ff0b87093 --- /dev/null +++ b/tests/wpt/tests/notifications/instance-checks.js @@ -0,0 +1,40 @@ +const notification_args = [ + "Radio check", + { + dir: "ltr", + lang: "aa", + body: "This is a radio check.", + tag: "radio_check999", + icon: `${location.origin}/icon.png`, + data: fakeCustomData, + } +]; + +// promise_tests because we need to wait for promise_setup +function notification_instance_test(createFn, testTitle) { + let n; + promise_test(async t => { + n = await createFn(t); + }, `${testTitle}: Setup`); + promise_test(async () => { + assert_equals("Radio check", n.title) + }, `${testTitle}: Attribute exists with expected value: title`) + promise_test(async () => { + assert_equals("ltr", n.dir) + }, `${testTitle}: Attribute exists with expected value: dir`) + promise_test(async () => { + assert_equals("aa", n.lang) + }, `${testTitle}: Attribute exists with expected value: lang`) + promise_test(async () => { + assert_equals("This is a radio check.", n.body) + }, `${testTitle}: Attribute exists with expected value: body`) + promise_test(async () => { + assert_equals("radio_check999", n.tag) + }, `${testTitle}: Attribute exists with expected value: tag`) + promise_test(async () => { + assert_equals(`${location.origin}/icon.png`, n.icon) + }, `${testTitle}: Attribute exists with expected value: icon`) + promise_test(async () => { + assert_custom_data(n.data); + }, `${testTitle}: Attribute exists with expected value: data`) +} diff --git a/tests/wpt/tests/notifications/instance-sw.js b/tests/wpt/tests/notifications/instance-sw.js new file mode 100644 index 00000000000..f08b17e15f8 --- /dev/null +++ b/tests/wpt/tests/notifications/instance-sw.js @@ -0,0 +1,34 @@ +importScripts("/resources/testharness.js"); +importScripts("resources/helpers.js"); +importScripts("resources/custom-data.js"); +importScripts("instance-checks.js"); + +promise_setup(async () => { + await untilActivate(); +}); + +notification_instance_test(async t => { + t.add_cleanup(closeAllNotifications); + + await registration.showNotification(...notification_args); + + let notifications = await registration.getNotifications(); + assert_equals(notifications.length, 1, "The list should include one notification"); + + return notifications[0]; +}, "getNotifications()"); + +// Doing this separately because this times out on Blink and GeckoView +notification_instance_test(async t => { + t.add_cleanup(closeAllNotifications); + + await registration.showNotification(...notification_args); + + let notifications = await registration.getNotifications(); + assert_equals(notifications.length, 1, "The list should include one notification"); + + notifications[0].close(); + const ev = await new Promise(resolve => addEventListener("notificationclose", resolve, { once: true })); + + return ev.notification; +}, "notificationclose"); diff --git a/tests/wpt/tests/notifications/instance.https.html b/tests/wpt/tests/notifications/instance.https.html deleted file mode 100644 index 5ccc6cd1e3a..00000000000 --- a/tests/wpt/tests/notifications/instance.https.html +++ /dev/null @@ -1,60 +0,0 @@ - - -Notification instance basic tests - - - - diff --git a/tests/wpt/tests/notifications/instance.https.window.js b/tests/wpt/tests/notifications/instance.https.window.js new file mode 100644 index 00000000000..ba7c103048f --- /dev/null +++ b/tests/wpt/tests/notifications/instance.https.window.js @@ -0,0 +1,18 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/service-workers/service-worker/resources/test-helpers.sub.js +// META: script=resources/helpers.js +// META: script=resources/custom-data.js +// META: script=instance-checks.js + +promise_setup(async () => { + await trySettingPermission("granted"); +}); + +notification_instance_test(() => { + const n = new Notification(...notification_args); + n.close(); + return n; +}, "new Notification()"); + +service_worker_test("instance-sw.js", "Service worker test setup"); diff --git a/tests/wpt/tests/notifications/resources/custom-data.js b/tests/wpt/tests/notifications/resources/custom-data.js index b21d28a1bb3..49a5c60d811 100644 --- a/tests/wpt/tests/notifications/resources/custom-data.js +++ b/tests/wpt/tests/notifications/resources/custom-data.js @@ -1,8 +1,7 @@ var fakeCustomData = (function() { var buffer = new ArrayBuffer(2); new DataView(buffer).setInt16(0, 42, true); - var canvas = document.createElement("canvas"); - canvas.width = canvas.height = 100; + var canvas = new OffscreenCanvas(100, 100); var context = canvas.getContext("2d"); var map = new Map(); diff --git a/tests/wpt/tests/notifications/resources/helpers.js b/tests/wpt/tests/notifications/resources/helpers.js index ca44e32f7f4..6b418be03ed 100644 --- a/tests/wpt/tests/notifications/resources/helpers.js +++ b/tests/wpt/tests/notifications/resources/helpers.js @@ -33,3 +33,13 @@ async function trySettingPermission(perm) { throw new Error(`Should have the permission ${perm} to continue`); } } + +// Use this in service workers where activation is required e.g. when testing showNotification() +async function untilActivate() { + if (registration.active) { + return; + } + return new Promise(resolve => { + addEventListener("activate", resolve, { once: true }); + }); +} diff --git a/tests/wpt/tests/permissions-policy/payment-extension-allowed-by-permissions-policy-attribute.https.sub.html b/tests/wpt/tests/permissions-policy/payment-extension-allowed-by-permissions-policy-attribute.https.sub.html index d96bc5a0d1b..ba6d033257f 100644 --- a/tests/wpt/tests/permissions-policy/payment-extension-allowed-by-permissions-policy-attribute.https.sub.html +++ b/tests/wpt/tests/permissions-policy/payment-extension-allowed-by-permissions-policy-attribute.https.sub.html @@ -8,14 +8,12 @@ var same_origin_src = '/permissions-policy/resources/permissions-policy-payment-extension.html'; var cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; - var feature_name = 'permissions policy "payment"'; + var feature_name = 'WebAuthn "payment" extension'; var header = 'allow="payment" attribute'; promise_test(t => { return test_feature_availability_with_post_message_result( - t, cross_origin_src, "NotSupportedError#The 'payment' or 'publickey-credentials-create' features are not " + - "enabled in this document. Permissions Policy may be used to " + - "delegate Web Payment capabilities to cross-origin child frames."); + t, cross_origin_src, "NotSupportedError"); }, feature_name + ' is not supported in cross-origin iframe without ' + header); promise_test(t => { diff --git a/tests/wpt/tests/permissions-policy/permissions-policy-frame-policy-timing.https.sub.html b/tests/wpt/tests/permissions-policy/permissions-policy-frame-policy-timing.https.sub.html index 5b2a4888631..bea9673d620 100644 --- a/tests/wpt/tests/permissions-policy/permissions-policy-frame-policy-timing.https.sub.html +++ b/tests/wpt/tests/permissions-policy/permissions-policy-frame-policy-timing.https.sub.html @@ -43,11 +43,11 @@ const iframe = document.createElement('iframe'); document.body.appendChild(iframe); iframe_pre_nav_callback(iframe); - iframe.src = url; - iframe_post_nav_callback(iframe); iframe.onload = t.step_func(() => { + iframe_post_nav_callback(iframe); postMessageToFrame(iframe, t.step_func_done(result_handler)); }); + iframe.src = url; }, test_name); } diff --git a/tests/wpt/tests/permissions-policy/resources/permissions-policy-payment-extension.html b/tests/wpt/tests/permissions-policy/resources/permissions-policy-payment-extension.html index 3f628ae25d8..bb9f86ef016 100644 --- a/tests/wpt/tests/permissions-policy/resources/permissions-policy-payment-extension.html +++ b/tests/wpt/tests/permissions-policy/resources/permissions-policy-payment-extension.html @@ -53,7 +53,7 @@ window.onload = async function() { }); } catch (e) { enabled = false; - name = e.name + '#' + e.message; + name = e.name; } parent.postMessage({ type: 'availability-result', enabled, name }, '*'); } diff --git a/tests/wpt/tests/pointerevents/pointerevent_after_target_appended.html b/tests/wpt/tests/pointerevents/pointerevent_after_target_appended.html index 712670d6479..a5cb82088e8 100644 --- a/tests/wpt/tests/pointerevents/pointerevent_after_target_appended.html +++ b/tests/wpt/tests/pointerevents/pointerevent_after_target_appended.html @@ -158,15 +158,29 @@ setup(); + const hoverable = pointer_type != "touch"; + // Tests for dispatched pointer events. - addPromiseTestForNewChild("pointerdown", "pointer", [ - "pointerover@parent", "pointerenter@parent", - "pointerdown@parent", "(child-attached)", - "pointerout@parent", "pointerover@child", "pointerenter@child", - "pointerup@child", - "pointerdown@child", "pointerup@child", - "pointerout@child", "pointerleave@child", "pointerleave@parent" - ]); + addPromiseTestForNewChild( + "pointerdown", + "pointer", + hoverable + ? ["pointerover@parent", "pointerenter@parent", + "pointerdown@parent", "(child-attached)", + "pointerout@parent", "pointerover@child", "pointerenter@child", + "pointerup@child", + "pointerdown@child", "pointerup@child", + "pointerout@child", "pointerleave@child", "pointerleave@parent"] + : ["pointerover@parent", "pointerenter@parent", + "pointerdown@parent", "(child-attached)", + // pointerup should imply a pointermove over the attached child. + "pointerout@parent", "pointerover@child", "pointerenter@child", + // pointerup should cause pointerout/pointerleave if the input source is not hoverable. + "pointerup@child", "pointerout@child", "pointerleave@child", "pointerleave@parent", + // then, pointerdown should imply a pointermove again. + "pointerover@child", "pointerenter@child", "pointerenter@parent", "pointerdown@child", + "pointerup@child", "pointerout@child", "pointerleave@child", "pointerleave@parent"] + ); addPromiseTestForNewChild("pointerup", "pointer", [ "pointerover@parent", "pointerenter@parent", "pointerdown@parent", "pointerup@parent", "(child-attached)", diff --git a/tests/wpt/tests/pointerevents/pointerevent_after_target_removed.html b/tests/wpt/tests/pointerevents/pointerevent_after_target_removed.html index b63e8b92d18..97a1a83fc87 100644 --- a/tests/wpt/tests/pointerevents/pointerevent_after_target_removed.html +++ b/tests/wpt/tests/pointerevents/pointerevent_after_target_removed.html @@ -104,19 +104,43 @@ setup(); + const hoverable = pointer_type != "touch"; + // Tests for dispatched pointer events. - addPromiseTest("pointerdown", "pointer", [ - "pointerover@child", "pointerenter@parent", "pointerenter@child", - "pointerdown@child", "(child-removed)", "pointerover@parent", "pointerup@parent", - "pointerdown@parent", "pointerup@parent", - "pointerout@parent", "pointerleave@parent" - ]); - addPromiseTest("pointerup", "pointer", [ - "pointerover@child", "pointerenter@parent", "pointerenter@child", - "pointerdown@child", "pointerup@child", "(child-removed)", - "pointerover@parent", "pointerdown@parent", "pointerup@parent", - "pointerout@parent", "pointerleave@parent" - ]); + addPromiseTest( + "pointerdown", + "pointer", + hoverable + ? ["pointerover@child", "pointerenter@parent", "pointerenter@child", + "pointerdown@child", "(child-removed)", "pointerover@parent", "pointerup@parent", + "pointerdown@parent", "pointerup@parent", + "pointerout@parent", "pointerleave@parent"] + : ["pointerover@child", "pointerenter@parent", "pointerenter@child", "pointerdown@child", + "(child-removed)", "pointerover@parent", + // pointerup should cause pointerout/pointerleave if the input source is not hoverable. + "pointerup@parent", "pointerout@parent", "pointerleave@parent", + // then, pointerdown should imply a pointermove again. + "pointerover@parent", "pointerenter@parent", "pointerdown@parent", + "pointerup@parent", "pointerout@parent", "pointerleave@parent"] + ); + addPromiseTest( + "pointerup", + "pointer", + hoverable + ? ["pointerover@child", "pointerenter@parent", "pointerenter@child", + "pointerdown@child", "pointerup@child", "(child-removed)", + "pointerover@parent", "pointerdown@parent", "pointerup@parent", + "pointerout@parent", "pointerleave@parent"] + : ["pointerover@child", "pointerenter@parent", "pointerenter@child", + "pointerdown@child", "pointerup@child", "(child-removed)", + // only pointerleave should be fired if the input source is not hoverable + // because pointerup removed the pointerout event target which is not + // received pointerover event, but the pointer becomes invalid. + "pointerleave@parent", + // then, pointerdown should imply a pointermove again. + "pointerover@parent", "pointerenter@parent", "pointerdown@parent", "pointerup@parent", + "pointerout@parent", "pointerleave@parent"] + ); // Same tests for dispatched compatibility mouse events. addPromiseTest("mousedown", "mouse", [ diff --git a/tests/wpt/tests/pointerevents/pointerevent_capture_mouse_and_release_and_capture_again.html b/tests/wpt/tests/pointerevents/pointerevent_capture_mouse_and_release_and_capture_again.html new file mode 100644 index 00000000000..d060338116c --- /dev/null +++ b/tests/wpt/tests/pointerevents/pointerevent_capture_mouse_and_release_and_capture_again.html @@ -0,0 +1,90 @@ + + + + +Testing pointer events for mouse when capturing the pointer with different element from the pointerdown target and +release it at got capture and capture it again at lost the first capture + + + + + + + + +
div id=listener
+
div id=target
+ + diff --git a/tests/wpt/tests/pointerevents/pointerevent_capture_touch_and_release_at_got_capture.html b/tests/wpt/tests/pointerevents/pointerevent_capture_touch_and_release_at_got_capture.html new file mode 100644 index 00000000000..095b67010d4 --- /dev/null +++ b/tests/wpt/tests/pointerevents/pointerevent_capture_touch_and_release_at_got_capture.html @@ -0,0 +1,88 @@ + + + + +Testing pointer events for touch when capturing the pointer with different element from the pointerdown target and release it at got pointer capture + + + + + + + + +
div id=listener
+
div id=target
+ + diff --git a/tests/wpt/tests/pointerevents/pointerevent_pointer_boundary_events_after_reappending_last_over_target.html b/tests/wpt/tests/pointerevents/pointerevent_pointer_boundary_events_after_reappending_last_over_target.html new file mode 100644 index 00000000000..644bbb3229f --- /dev/null +++ b/tests/wpt/tests/pointerevents/pointerevent_pointer_boundary_events_after_reappending_last_over_target.html @@ -0,0 +1,221 @@ + + + + + +Even temporary removal of "pointerover" target should be considered as removed + + + + + + + + + diff --git a/tests/wpt/tests/reporting/document-reporting-bypass-report-to.https.sub.html b/tests/wpt/tests/reporting/document-reporting-bypass-report-to.https.sub.html index 394bc9e40a0..f599ef8511b 100644 --- a/tests/wpt/tests/reporting/document-reporting-bypass-report-to.https.sub.html +++ b/tests/wpt/tests/reporting/document-reporting-bypass-report-to.https.sub.html @@ -19,7 +19,12 @@ }) }, "document policy violation observed"); - + - + - + + + + + + +
+ This is a line of text. +
diff --git a/tests/wpt/tests/selection/shadow-dom/select-later-become-slotted-content.html b/tests/wpt/tests/selection/shadow-dom/select-later-become-slotted-content.html new file mode 100644 index 00000000000..f38105dd0bb --- /dev/null +++ b/tests/wpt/tests/selection/shadow-dom/select-later-become-slotted-content.html @@ -0,0 +1,33 @@ + + + + +
+ slotted +
+outer + diff --git a/tests/wpt/tests/service-workers/cache-storage/cache-abort.https.any.js b/tests/wpt/tests/service-workers/cache-storage/cache-abort.https.any.js index 960d1bb1bff..99f29b0a08b 100644 --- a/tests/wpt/tests/service-workers/cache-storage/cache-abort.https.any.js +++ b/tests/wpt/tests/service-workers/cache-storage/cache-abort.https.any.js @@ -73,7 +73,7 @@ for (const method in methodsToTest) { `${method} should reject`); // infinite-slow-response.py doesn't know when to stop. - return fetch(`../../../fetch/api/resources/stash-put.py?key=${abortKey}`); + return fetch(`../../../fetch/api/resources/stash-put.py?key=${abortKey}&value=close`); }, `${method}() followed by abort after headers received should reject ` + `with AbortError`); } diff --git a/tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports-worker.js b/tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports-worker.js new file mode 100644 index 00000000000..78cd0d86c01 --- /dev/null +++ b/tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports-worker.js @@ -0,0 +1,3 @@ +self.onmessage = e => { + e.source.postMessage(e.ports === e.ports ? "same ports array" : "different ports array"); +}; diff --git a/tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html b/tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html new file mode 100644 index 00000000000..a0eac39e9b3 --- /dev/null +++ b/tests/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/message-event-ports.https.html @@ -0,0 +1,43 @@ + + + +Service Worker GlobalScope onerror event + + + + + + + + diff --git a/tests/wpt/tests/shadow-dom/Document-caretPositionFromPoint.tentative.html b/tests/wpt/tests/shadow-dom/Document-caretPositionFromPoint.tentative.html index 2b97546d2e2..f3053ee7115 100644 --- a/tests/wpt/tests/shadow-dom/Document-caretPositionFromPoint.tentative.html +++ b/tests/wpt/tests/shadow-dom/Document-caretPositionFromPoint.tentative.html @@ -30,6 +30,34 @@ test(() => { assert_equals(caretPosition.offset, characterIndex); }, "document.caretPositionFromPoint() should return a CaretPosition at the specified location"); +test(() => { + container.setHTMLUnsafe(``); + const rect = container.firstChild.getBoundingClientRect(); + // Get x and y coordinate at left-most location inside input element. + const x = rect.left + 1; + const y = rect.top + rect.height / 2; + const caretPosition = document.caretPositionFromPoint(x, y); + assert_true(caretPosition instanceof CaretPosition); + assert_true(caretPosition.offsetNode instanceof Node); + assert_equals(typeof(caretPosition.offset), "number"); + assert_equals(caretPosition.offsetNode, container.firstChild); + assert_equals(caretPosition.offset, 0); +}, "document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to an input element which is the offsetNode."); + +test(() => { + container.setHTMLUnsafe(``); + const rect = container.firstChild.getBoundingClientRect(); + // Get x and y coordinate at "1234|5678..." + const x = rect.left + 1; + const y = rect.top + rect.height * 0.75; + const caretPosition = document.caretPositionFromPoint(x, y); + assert_true(caretPosition instanceof CaretPosition); + assert_true(caretPosition.offsetNode instanceof Node); + assert_equals(typeof(caretPosition.offset), "number"); + assert_equals(caretPosition.offsetNode, container.firstChild); + assert_equals(caretPosition.offset, 4); +}, "document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to a textarea element which is the offsetNode."); + test(() => { container.setHTMLUnsafe(`a
b`); const shadowRoot = host.attachShadow({mode: 'closed'}); @@ -72,6 +100,48 @@ test(() => { assert_equals(caretPosition.offset, characterIndex); }, 'document.caretPositionFromPoint() should return a CaretPosition at the specified location when the non-intersecting shadow tree is specified as an argument'); +test(() => { + container.setHTMLUnsafe(` + a
+ +
efg`); + const shadowRoot = host.shadowRoot; + const shadowRootInputElement = shadowRoot.querySelector("input"); + const rect = shadowRootInputElement.getBoundingClientRect(); + // Get x and y coordinate at left-most location inside input element. + const x = rect.left + 1; + const y = rect.top + rect.height / 2; + const caretPosition = document.caretPositionFromPoint(x, y, shadowRoot); + assert_true(caretPosition instanceof CaretPosition); + assert_true(caretPosition.offsetNode instanceof Node); + assert_equals(typeof(caretPosition.offset), "number"); + assert_equals(caretPosition.offsetNode, shadowRootInputElement); + assert_equals(caretPosition.offset, 0); +}, "document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to an input element when the shadow tree is specified as an argument."); + +test(() => { + container.setHTMLUnsafe(` + a
+ +
efg`); + const shadowRoot = host.shadowRoot; + const shadowRootInputElement = shadowRoot.querySelector("input"); + const rect = shadowRootInputElement.getBoundingClientRect(); + // Get x and y coordinate at left-most location inside input element. + const x = rect.left + 1; + const y = rect.top + rect.height / 2; + const caretPosition = document.caretPositionFromPoint(x, y); + assert_true(caretPosition instanceof CaretPosition); + assert_true(caretPosition.offsetNode instanceof Node); + assert_equals(typeof(caretPosition.offset), "number"); + assert_equals(caretPosition.offsetNode, container); + assert_equals(caretPosition.offset, 1); +}, "document.caretPositionFromPoint() should return a CaretPosition at the specified location pointing to the input element's shadow host\'s parent when the shadow tree is not specified as an argument."); + test(() => { container.setHTMLUnsafe(` a
diff --git a/tests/wpt/tests/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html b/tests/wpt/tests/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html new file mode 100644 index 00000000000..ab0af5878de --- /dev/null +++ b/tests/wpt/tests/shadow-dom/declarative/declarative-shadow-dom-write-to-iframe.html @@ -0,0 +1,22 @@ + + +`document.write` on inner iframe handles declarative shadow DOM + + + + diff --git a/tests/wpt/tests/soft-navigation-heuristics/soft-navigation-detection-web-component-lifecycle.tentative.html b/tests/wpt/tests/soft-navigation-heuristics/soft-navigation-detection-web-component-lifecycle.tentative.html index 7e27b0073c9..43848935038 100644 --- a/tests/wpt/tests/soft-navigation-heuristics/soft-navigation-detection-web-component-lifecycle.tentative.html +++ b/tests/wpt/tests/soft-navigation-heuristics/soft-navigation-detection-web-component-lifecycle.tentative.html @@ -38,6 +38,7 @@ main.appendChild(spaContent); }, link: link, + pushState: null, test: "Test that a soft navigation is detected when the click is done " + "on a custom element."}); diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome_ios.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome_ios.py index d3beb449e24..20fcb908898 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome_ios.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome_ios.py @@ -1,7 +1,9 @@ # mypy: allow-untyped-defs +import traceback from .base import WebDriverBrowser, require_arg from .base import get_timeout_multiplier # noqa: F401 +from ..environment import wait_for_service from ..executors import executor_kwargs as base_executor_kwargs from ..executors.base import WdspecExecutor # noqa: F401 from ..executors.executorchrome import ChromeDriverPrintRefTestExecutor # noqa: F401 @@ -60,3 +62,19 @@ class ChromeiOSBrowser(WebDriverBrowser): def make_command(self): return ([self.webdriver_binary, f"--port={self.port}"] + self.webdriver_args) + + def start(self, group_metadata, **kwargs): + super().start(group_metadata, **kwargs) + try: + wait_for_service( + self.logger, + self.host, + self.port, + timeout=self.init_timeout, + server_process=self._proc, + ) + except Exception: + self.logger.error( + "WebDriver was not accessible " + f"within the timeout:\n{traceback.format_exc()}") + raise diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/environment.py b/tests/wpt/tests/tools/wptrunner/wptrunner/environment.py index 37951f41d2e..f8538b7da1d 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/environment.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/environment.py @@ -291,12 +291,18 @@ class TestEnvironment: failed.append((scheme, port)) if not failed and self.test_server_port: + # The webtransport-h3 server test blocks (i.e., doesn't fail quickly + # with "Connection refused" like the sockets do), so testing these + # first improves the likelihood the non-webtransport-h3 servers are + # ready by the time they're checked. + for port, server in self.servers.get("webtransport-h3", []): + if not webtranport_h3_server_is_running(host, port, timeout=5): + pending.append((host, port)) + for scheme, servers in self.servers.items(): + if scheme == "webtransport-h3": + continue for port, server in servers: - if scheme == "webtransport-h3": - if not webtranport_h3_server_is_running(host, port, timeout=5.0): - pending.append((host, port)) - continue s = socket.socket() s.settimeout(0.1) try: diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py index 92a782e835c..20bddaa4bc9 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py @@ -215,8 +215,10 @@ class TimedRunner: else: if self.protocol.is_alive(): message = "Executor hit external timeout (this may indicate a hang)\n" - # get a traceback for the current stack of the executor thread - message += "".join(traceback.format_stack(sys._current_frames()[executor.ident])) + if executor.ident in sys._current_frames(): + # get a traceback for the current stack of the executor thread + message += "".join(traceback.format_stack( + sys._current_frames()[executor.ident])) self.result = False, ("EXTERNAL-TIMEOUT", message) else: self.logger.info("Browser not responding, setting status to CRASH") diff --git a/tests/wpt/tests/trusted-types/trusted-types-event-handlers.html b/tests/wpt/tests/trusted-types/trusted-types-event-handlers.html index 9dd7133cbb0..8dd70757e34 100644 --- a/tests/wpt/tests/trusted-types/trusted-types-event-handlers.html +++ b/tests/wpt/tests/trusted-types/trusted-types-event-handlers.html @@ -46,10 +46,15 @@ for(name in div.__proto__) { _ => element.setAttribute(name, "2+2")); }, `Event handler div.${name} should be blocked.`); } else { - test(t => { - element.setAttribute(name, "2+2"); - }, `Non-event handler div.${name} should not be blocked.`); + // Rather than going through all the non-event handler, we randomly choose + // a few examples to test. + if (name == "align" || name == "title" || name == "inert" || name == "draggable") { + test(t => { + element.setAttribute(name, "2+2"); + }, `Non-event handler div.${name} should not be blocked.`); + } } } + diff --git a/tests/wpt/tests/uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html b/tests/wpt/tests/uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html index f75404ad782..62eef0f03e1 100644 --- a/tests/wpt/tests/uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html +++ b/tests/wpt/tests/uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html @@ -145,6 +145,463 @@ addEventListener("load", () => { }, "After re-appending the last over element at mouseenter, " + "mouse boundary events should not be fired"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + div3.addEventListener("mouseover", event => { + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + div2.appendChild(div3); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Removing the node temporarily should not cause mouse boundary events. + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element after mouseover, " + + "mouse boundary events should not be fired"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + let firstMouseOver = true; + div3.addEventListener("mouseover", event => { + div1.insertBefore(div3, div2); + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // The "mouseover" target was moved to outside the deepest "mouseenter" + // target after the node is removed. Therefore, mouse boundary events + // should be fired on the original "mouseover" target again. + { type: "mouseleave", target: div2 }, + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: div3 }, + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element to outside the deepest mouseenter target (but keeps it as under the cursor) at mouseover, " + + "mouse boundary events should be fired on it again to correct the following mouseleave targets"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + let firstMouseOver = true; + div3.addEventListener("mouseover", event => { + div1.append(div3); + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Now, div2 (id=parent) should be under the mouse cursor. However, + // the "mouseover" target was once removed and not reconnected under the + // deepest "mouseenter" target. Therefore, mouse boundary events should + // not be fired on the div3, but should be fired on the div2. + { type: "mouseover", target: div2}, + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element to outside the deepest mouseenter target at mouseover, " + + "mouse boundary events should be fired only on the element under the cursor"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + let firstMouseOver = true; + div3.addEventListener("mouseover", event => { + div2.remove(); + div1.appendChild(div3); + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Reconnecting the last "mouseover" target to a grandparent, div3, (i.e., + // without parent, div2) immediately should be treated as a temporary + // removal because browsers can store only the deepest last "mouseenter" + // target instead of the full path of the event targets. Therefore, + // "mouseover" nor "mouseenter" should not be fired again on div3. + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element to the deepest mouseenter target without the original parent at mouseover, " + + "mouse boundary events should not be fired"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + let firstMouseOver = true; + div3.addEventListener("mouseover", event => { + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + div1.insertBefore(div3, div2); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // The "mouseover" target was moved to outside the deepest "mouseenter" + // target after the node is removed. Therefore, mouse boundary events + // should be fired on the original "mouseover" target again. + { type: "mouseleave", target: div2 }, + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: div3 }, + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element to outside the deepest mouseenter target (but keeps under the cursor) after mouseover, " + + "mouse boundary events should be fired on it again to correct the following mouseleave event targets"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + let firstMouseOver = true; + div3.addEventListener("mouseover", event => { + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + div1.append(div3); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Now, div2 (id=parent) should be under the mouse cursor. However, + // the "mouseover" target was once removed and not reconnected under the + // deepest "mouseenter" target. Therefore, mouse boundary events should + // not be fired on the div3, but should be fired on the div2. + { type: "mouseover", target: div2}, + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element to outside the deepest mouseenter target after mouseover, " + + "mouse boundary events should be fired only on the element under the cursor"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + let firstMouseOver = true; + div3.addEventListener("mouseover", event => { + div2.remove(); + div1.appendChild(div3); + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + div2.remove(); + div1.appendChild(div3); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Reconnecting the last "mouseover" target to a grandparent, div3, (i.e., + // without parent, div2) immediately should be treated as a temporary + // removal because browsers can store only the deepest last "mouseenter" + // target instead of the full path of the event targets. Therefore, + // "mouseover" nor "mouseenter" should not be fired again on div3. + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After re-appending the last over element to the deepest mouseenter target without the original parent after mouseover, " + + "mouse boundary events should not be fired"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + div3.addEventListener("mouseover", event => { + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + div3.remove(); + div2.getBoundingClientRect(); // maybe refresh the layout + div2.appendChild(div3); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Removing the node temporarily should not cause mouse boundary events. + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After removing and re-appending the last over element with flushing layout after mouseover, " + + "mouse boundary events should not be fired"); + + promise_test(async () => { + const {div1, div2, div3} = append3NestedDivElementsToBody(); + const bodyRect = document.body.getBoundingClientRect(); + const div3Rect = div3.getBoundingClientRect(); + let events = []; + for (const type of ["mouseenter", "mouseleave", "mouseover", "mouseout", "mousemove"]) { + for (const node of [document.body, div1, div2, div3]) { + node.addEventListener(type, event => { + if (event.target == node) { + events.push({type: event.type, target: event.target}); + } + }, {capture: true}); + } + } + div3.addEventListener("mouseover", event => { + events = []; + events.push({type: event.type, target: event.target}); + }, {once: true}); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .pointerMove(div3Rect.x + 10, div3Rect.y + 10, {}) + .send(); + await promiseTick(); + div3.remove(); + await new Promise(resolve => requestAnimationFrame(resolve)); + div2.appendChild(div3); + await promiseTick(); + const expectedEvents = [ + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: document.body }, + { type: "mouseenter", target: div1 }, + { type: "mouseenter", target: div2 }, + { type: "mouseenter", target: div3 }, + { type: "mousemove", target: div3 }, + // Removing the node and appending it occurred in different animation + // frames. Therefore, it shouldn't be treated as a temporary removal + // since user may have seen the layout change. + { type: "mouseover", target: div2 }, // no mouseout on div3 because it's not connected at this moment + { type: "mouseout", target: div2 }, + { type: "mouseover", target: div3 }, + { type: "mouseenter", target: div3 }, + ]; + assert_equals( + stringifyEvents(events), + stringifyEvents(expectedEvents), + ); + div1.remove(); + await new test_driver.Actions() + .pointerMove(1, 1, {}) + .send(); + }, + "After removing after mouseover and re-appending the last over element at next animation frame, " + + "mouse boundary events should be fired"); }, {once: true}); diff --git a/tests/wpt/tests/webaudio/META.yml b/tests/wpt/tests/webaudio/META.yml index 3bcd1cb8d37..735f0ebd391 100644 --- a/tests/wpt/tests/webaudio/META.yml +++ b/tests/wpt/tests/webaudio/META.yml @@ -2,3 +2,4 @@ spec: https://webaudio.github.io/web-audio-api/ suggested_reviewers: - hoch - padenot + - chrisguttandin diff --git a/tests/wpt/tests/webcodecs/video-encoder-flush.https.any.js b/tests/wpt/tests/webcodecs/video-encoder-flush.https.any.js index c1ebafc4a3c..291f4df3bc0 100644 --- a/tests/wpt/tests/webcodecs/video-encoder-flush.https.any.js +++ b/tests/wpt/tests/webcodecs/video-encoder-flush.https.any.js @@ -2,32 +2,22 @@ // META: script=/common/media.js // META: script=/webcodecs/utils.js // META: script=/webcodecs/video-encoder-utils.js +// META: variant=?av1 // META: variant=?vp8 // META: variant=?h264_avc -const VP8_CONFIG = { - codec: 'vp8', - width: 640, - height: 480, - displayWidth: 800, - displayHeight: 600, -}; - -const H264_AVC_CONFIG = { - codec: 'avc1.42001e', // Baseline - width: 640, - height: 480, - displayWidth: 800, - displayHeight: 600, - avc: {format: 'avc'}, -}; - let CONFIG = null; promise_setup(async () => { - CONFIG = { - '?vp8': VP8_CONFIG, - '?h264_avc': H264_AVC_CONFIG, + const config = { + '?av1': {codec: 'av01.0.04M.08'}, + '?vp8': {codec: 'vp8'}, + '?h264_avc': {codec: 'avc1.42001e', avc: {format: 'avc'}}, }[location.search]; + config.width = 640; + config.height = 480; + config.displayWidth = 800; + config.displayHeight = 600; + CONFIG = config; }); promise_test(async t => { diff --git a/tests/wpt/tests/webcodecs/videoFrame-drawImage-hbd.any.js b/tests/wpt/tests/webcodecs/videoFrame-drawImage-hbd.any.js new file mode 100644 index 00000000000..f03fce796b0 --- /dev/null +++ b/tests/wpt/tests/webcodecs/videoFrame-drawImage-hbd.any.js @@ -0,0 +1,31 @@ +// META: global=window,dedicatedworker +// META: script=/webcodecs/utils.js + +test(_ => { + let width = 48; + let height = 36; + let expectedPixel = kSRGBPixel; + let canvasOptions = undefined; + let imageSetting = undefined; + let tolerance = 5; + let vfInit = + {format: 'I420P10', timestamp: 0, codedWidth: width, codedHeight: height}; + let data = new Uint16Array(3 * width * height / 2); + let uOffset = width * height; + let vOffset = uOffset + width * height / 4; + // RGB(50, 100, 150) converted to 8-bit YCbCr using BT.709 YUV matrix, then + // shifted to produce approximate 10-bit YUV colors. It would be more accurate + // to directly compute 10-bit colors. + data.fill(96 << 2, 0, uOffset); + data.fill(155 << 2, uOffset, vOffset); + data.fill(104 << 2, vOffset); + let frame = new VideoFrame(data, vfInit); + let canvas = new OffscreenCanvas(width, height); + let ctx = canvas.getContext('2d', canvasOptions); + ctx.drawImage(frame, 0, 0); + testCanvas(ctx, width, height, expectedPixel, imageSetting, + (actual, expected) => { + assert_approx_equals(actual, expected, tolerance); + }); + frame.close(); +}, 'drawImage with 10-bit YUV VideoFrame'); diff --git a/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py b/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py index 18f8e6fed00..574f2149841 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py +++ b/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/set_permission.py @@ -100,41 +100,3 @@ async def test_set_permission_origin_unknown(bidi_session, new_tab, origin, url) origin=origin, ) assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt" - - -@pytest.mark.asyncio -async def test_set_permission_user_context(bidi_session, new_tab, url, create_user_context): - test_url = url("/common/blank.html", protocol="https") - - user_context = await create_user_context() - # new_tab is in the default user context. new_tab2 is in the non-default user context. - new_tab2 = await bidi_session.browsing_context.create(type_hint="tab", user_context=user_context) - - # Navigate a context in the default user context. - await bidi_session.browsing_context.navigate( - context=new_tab["context"], - url=test_url, - wait="complete", - ) - - # Navigate a context in the non-default user context. - await bidi_session.browsing_context.navigate( - context=new_tab2["context"], - url=test_url, - wait="complete", - ) - - origin = await get_context_origin(bidi_session, new_tab) - - assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt" - assert await get_permission_state(bidi_session, new_tab2, "geolocation") == "prompt" - - await bidi_session.permissions.set_permission( - descriptor={"name": "geolocation"}, - state="granted", - origin=origin, - user_context=user_context, - ) - - assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt" - assert await get_permission_state(bidi_session, new_tab2, "geolocation") == "granted" diff --git a/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/user_context.py b/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/user_context.py new file mode 100644 index 00000000000..b45ddb12b7e --- /dev/null +++ b/tests/wpt/tests/webdriver/tests/bidi/external/permissions/set_permission/user_context.py @@ -0,0 +1,131 @@ +import pytest + +from . import get_context_origin, get_permission_state + +pytestmark = pytest.mark.asyncio + + +async def test_set_permission_user_context( + bidi_session, new_tab, url, create_user_context +): + test_url = url("/common/blank.html", protocol="https", domain="alt") + + user_context = await create_user_context() + # new_tab is in the default user context. new_tab2 is in the non-default user context. + new_tab2 = await bidi_session.browsing_context.create( + type_hint="tab", user_context=user_context + ) + + # Navigate a context in the default user context. + await bidi_session.browsing_context.navigate( + context=new_tab["context"], + url=test_url, + wait="complete", + ) + + # Navigate a context in the non-default user context. + await bidi_session.browsing_context.navigate( + context=new_tab2["context"], + url=test_url, + wait="complete", + ) + + origin = await get_context_origin(bidi_session, new_tab) + + assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt" + assert await get_permission_state(bidi_session, new_tab2, "geolocation") == "prompt" + + await bidi_session.permissions.set_permission( + descriptor={"name": "geolocation"}, + state="granted", + origin=origin, + user_context=user_context, + ) + + assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt" + assert ( + await get_permission_state(bidi_session, new_tab2, "geolocation") == "granted" + ) + + # Create another tab in the non-default user context + new_tab3 = await bidi_session.browsing_context.create( + type_hint="tab", user_context=user_context + ) + await bidi_session.browsing_context.navigate( + context=new_tab3["context"], + url=test_url, + wait="complete", + ) + + # Make sure that the permission state is still present. + assert ( + await get_permission_state(bidi_session, new_tab3, "geolocation") == "granted" + ) + + +async def test_set_permission_with_reload(bidi_session, url, create_user_context): + user_context = await create_user_context() + new_tab = await bidi_session.browsing_context.create( + type_hint="tab", user_context=user_context + ) + + test_url = url("/common/blank.html", protocol="https") + await bidi_session.browsing_context.navigate( + context=new_tab["context"], + url=test_url, + wait="complete", + ) + + origin = await get_context_origin(bidi_session, new_tab) + + await bidi_session.permissions.set_permission( + descriptor={"name": "geolocation"}, + state="granted", + origin=origin, + user_context=user_context, + ) + + assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted" + + await bidi_session.browsing_context.reload( + context=new_tab["context"], + wait="complete", + ) + + # Make sure that permission state is still set. + assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted" + + +async def test_reset_permission(bidi_session, url, create_user_context): + test_url = url("/common/blank.html", protocol="https") + + user_context = await create_user_context() + new_tab = await bidi_session.browsing_context.create( + type_hint="tab", user_context=user_context + ) + + await bidi_session.browsing_context.navigate( + context=new_tab["context"], + url=test_url, + wait="complete", + ) + + origin = await get_context_origin(bidi_session, new_tab) + + await bidi_session.permissions.set_permission( + descriptor={"name": "geolocation"}, + state="granted", + origin=origin, + user_context=user_context, + ) + + assert await get_permission_state(bidi_session, new_tab, "geolocation") == "granted" + + # Reset the permission state + await bidi_session.permissions.set_permission( + descriptor={"name": "geolocation"}, + state="prompt", + origin=origin, + user_context=user_context, + ) + assert await get_permission_state(bidi_session, new_tab, "geolocation") == "prompt" diff --git a/tests/wpt/tests/webdriver/tests/bidi/input/perform_actions/wheel.py b/tests/wpt/tests/webdriver/tests/bidi/input/perform_actions/wheel.py index ee0d4d4600d..3129e9b0e63 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/input/perform_actions/wheel.py +++ b/tests/wpt/tests/webdriver/tests/bidi/input/perform_actions/wheel.py @@ -4,6 +4,7 @@ from webdriver.bidi.error import NoSuchFrameException from webdriver.bidi.modules.input import Actions, get_element_origin from webdriver.bidi.modules.script import ContextTarget +from tests.support.sync import AsyncPoll from tests.support.keys import Keys from .. import get_events, get_object_from_context from . import get_shadow_root_from_test_page @@ -73,7 +74,7 @@ async def test_scroll_scrollable_overflow( @pytest.mark.parametrize("delta_x, delta_y", [(0, 10), (5, 0), (5, 10)]) async def test_scroll_iframe( - bidi_session, setup_wheel_test, top_context, get_element, delta_x, delta_y + bidi_session, setup_wheel_test, top_context, get_element, delta_x, delta_y, wait_for_future_safe ): actions = Actions() @@ -85,7 +86,14 @@ async def test_scroll_iframe( await bidi_session.input.perform_actions( actions=actions, context=top_context["context"] ) + + # Chrome requires some time (~10-20ms) to process the event from the iframe, so we wait for it. + async def wait_for_events(_): + return len(await get_events(bidi_session, top_context["context"])) > 0 + + await AsyncPoll(bidi_session, timeout=0.5, interval=0.01, message='No wheel events emitted').until(wait_for_events) events = await get_events(bidi_session, top_context["context"]) + assert len(events) == 1 assert events[0]["type"] == "wheel" assert events[0]["deltaX"] == delta_x diff --git a/tests/wpt/tests/webdriver/tests/bidi/script/get_realms/get_realms.py b/tests/wpt/tests/webdriver/tests/bidi/script/get_realms/get_realms.py index 4dfce5ab494..6e57e7266f0 100644 --- a/tests/wpt/tests/webdriver/tests/bidi/script/get_realms/get_realms.py +++ b/tests/wpt/tests/webdriver/tests/bidi/script/get_realms/get_realms.py @@ -14,7 +14,6 @@ async def test_payload_types(bidi_session): recursive_compare( [ { - "context": any_string, "origin": any_string, "realm": any_string, "type": any_string, diff --git a/tests/wpt/tests/webdriver/tests/classic/perform_actions/wheel.py b/tests/wpt/tests/webdriver/tests/classic/perform_actions/wheel.py index 6d0f9ddb11f..1c9bf082270 100644 --- a/tests/wpt/tests/webdriver/tests/classic/perform_actions/wheel.py +++ b/tests/wpt/tests/webdriver/tests/classic/perform_actions/wheel.py @@ -2,9 +2,10 @@ import pytest from webdriver.error import NoSuchWindowException - +import time from tests.classic.perform_actions.support.refine import get_events from tests.support.keys import Keys +from tests.support.sync import Poll def test_null_response_value(session, wheel_chain): @@ -55,7 +56,13 @@ def test_scroll_iframe(session, test_actions_scroll_page, wheel_chain): wheel_chain.scroll(0, 0, 5, 10, origin=target).perform() + # Chrome requires some time (~10-20ms) to process the event from the iframe, so we wait for it. + def wait_for_events(_): + return len(get_events(session)) > 0 + + Poll(session, timeout=0.5, interval=0.01, message='No wheel events found').until(wait_for_events) events = get_events(session) + assert len(events) == 1 assert events[0]["type"] == "wheel" assert events[0]["deltaX"] == 5 diff --git a/tests/wpt/tests/webnn/conformance_tests/compute-arraybufferview-with-bigger-arraybuffer.https.any.js b/tests/wpt/tests/webnn/conformance_tests/compute-arraybufferview-with-bigger-arraybuffer.https.any.js index 62ce16c93e4..96a20f1fe57 100644 --- a/tests/wpt/tests/webnn/conformance_tests/compute-arraybufferview-with-bigger-arraybuffer.https.any.js +++ b/tests/wpt/tests/webnn/conformance_tests/compute-arraybufferview-with-bigger-arraybuffer.https.any.js @@ -1,5 +1,6 @@ // META: title=test WebNN MLContext.compute() for ArrayBufferView created from bigger ArrayBuffer // META: global=window,dedicatedworker +// META: variant=?cpu // META: variant=?gpu // META: script=../resources/utils.js diff --git a/tests/wpt/tests/webnn/resources/test_data/gather.json b/tests/wpt/tests/webnn/resources/test_data/gather.json index a01654637f1..acd7ad8775e 100644 --- a/tests/wpt/tests/webnn/resources/test_data/gather.json +++ b/tests/wpt/tests/webnn/resources/test_data/gather.json @@ -50,6 +50,56 @@ "type": "float32" } }, + { + "name": "gather float32 1D tensor and int32 0D scalar indices default options", + "inputs": { + "input": { + "shape": [24], + "data": [ + -66.05901336669922, + -68.9197006225586, + -77.02045440673828, + -26.158037185668945, + 89.0337142944336, + -45.89653396606445, + 43.84803771972656, + 48.81806945800781, + 51.79948425292969, + 41.94132614135742, + -1.1303654909133911, + -50.42131042480469, + 90.2870101928711, + 55.620765686035156, + 44.92119598388672, + 56.828636169433594, + 10.829925537109375, + -19.693084716796875, + -37.696800231933594, + 43.11057662963867, + 0.9129875898361206, + -7.699817180633545, + 25.76774024963379, + 73.60064697265625 + ], + "type": "float32" + }, + "indices": { + "shape": [], + "data": [ + 4 + ], + "type": "int32" + } + }, + "expected": { + "name": "output", + "shape": [], + "data": [ + 89.0337142944336 + ], + "type": "float32" + } + }, { "name": "gather float32 1D tensor and int64 0D scalar indices default options", "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_l1.json b/tests/wpt/tests/webnn/resources/test_data/reduce_l1.json index c3f2b618e9b..7637c02be23 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_l1.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_l1.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceL1 float32 0D constant tensor default options", // default options: {axes: null, keepDimensions: false} + "inputs": { + "input": { + "shape": [], + "data": [ + 5.50882625579834 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 5.50882625579834, + "type": "float32" + } + }, + { + "name": "reduceL1 float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 5.50882625579834 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 5.50882625579834, + "type": "float32" + } + }, { "name": "reduceL1 float32 1D constant tensor all positive default options", // default options: {axes: null, keepDimensions: false} "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_l2.json b/tests/wpt/tests/webnn/resources/test_data/reduce_l2.json index d83eea9dfb9..b4d270a7019 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_l2.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_l2.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceL2 float32 0D constant tensor default options", // default options: {axes: null, keepDimensions: false} + "inputs": { + "input": { + "shape": [], + "data": [ + 4.860228061676025 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 4.860228061676025, + "type": "float32" + } + }, + { + "name": "reduceL2 float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 4.860228061676025 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 4.860228061676025, + "type": "float32" + } + }, { "name": "reduceL2 float32 1D constant tensor all positive default options", // default options: {axes: null, keepDimensions: false} "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum.json b/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum.json index 061e12ad516..f3de240e458 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceLogSum float32 0D constant tensor default options", // default options: {axes: null, keepDimensions: false} + "inputs": { + "input": { + "shape": [], + "data": [ + 64.54827117919922 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 4.167413234710693, + "type": "float32" + } + }, + { + "name": "reduceLogSum float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 64.54827117919922 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 4.167413234710693, + "type": "float32" + } + }, { "name": "reduceLogSum float32 1D constant tensor all non-negative default options", // default options: {axes: null, keepDimensions: false} "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum_exp.json b/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum_exp.json index 3577d6aa9ee..b999a567aa5 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum_exp.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_log_sum_exp.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceLogSumExp float32 0D constant tensor default options", // default options: {axes: null, keepDimensions: false} + "inputs": { + "input": { + "shape": [], + "data": [ + 0.7974132895469666 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 0.7974132895469666, + "type": "float32" + } + }, + { + "name": "reduceLogSumExp float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 0.7974132895469666 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 0.7974132895469666, + "type": "float32" + } + }, { "name": "reduceLogSumExp float32 1D constant tensor all positive default options", // default options: {axes: null, keepDimensions: false} "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_max.json b/tests/wpt/tests/webnn/resources/test_data/reduce_max.json index 11ed0ed9191..6cd55492692 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_max.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_max.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceMax float32 0D constant tensor default options", + "inputs": { + "input": { + "shape": [], + "data": [ + 32.16658401489258 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 32.16658401489258, + "type": "float32" + } + }, + { + "name": "reduceMax float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 32.16658401489258 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 32.16658401489258, + "type": "float32" + } + }, { "name": "reduceMax float32 1D constant tensor default options", "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_mean.json b/tests/wpt/tests/webnn/resources/test_data/reduce_mean.json index 8c26d0a5623..b990b0f93bb 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_mean.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_mean.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceMean float32 0D constant tensor default options", + "inputs": { + "input": { + "shape": [], + "data": [ + 95.84498596191406 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 95.84498596191406, + "type": "float32" + } + }, + { + "name": "reduceMean float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 95.84498596191406 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 95.84498596191406, + "type": "float32" + } + }, { "name": "reduceMean float32 1D constant tensor all positive default options", "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_min.json b/tests/wpt/tests/webnn/resources/test_data/reduce_min.json index 6c26df5db16..4d91480bb95 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_min.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_min.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceMin float32 0D constant tensor default options", + "inputs": { + "input": { + "shape": [], + "data": [ + -58.76195526123047 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": -58.76195526123047, + "type": "float32" + } + }, + { + "name": "reduceMin float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + -58.76195526123047 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": -58.76195526123047, + "type": "float32" + } + }, { "name": "reduceMin float32 1D constant tensor default options", "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_product.json b/tests/wpt/tests/webnn/resources/test_data/reduce_product.json index d58af30ec1a..e9b2dc34c26 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_product.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_product.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceProduct float32 0D constant tensor default options", + "inputs": { + "input": { + "shape": [], + "data": [ + -68.75911712646484 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": -68.75911712646484, + "type": "float32" + } + }, + { + "name": "reduceProduct float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + -68.75911712646484 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": -68.75911712646484, + "type": "float32" + } + }, { "name": "reduceProduct float32 1D constant tensor default options", "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_sum.json b/tests/wpt/tests/webnn/resources/test_data/reduce_sum.json index 7027d38b676..fd93e131b3e 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_sum.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_sum.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceSum float32 0D constant tensor default options", + "inputs": { + "input": { + "shape": [], + "data": [ + 69.6038589477539 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 69.6038589477539, + "type": "float32" + } + }, + { + "name": "reduceSum float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 69.6038589477539 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 69.6038589477539, + "type": "float32" + } + }, { "name": "reduceSum float32 1D constant tensor all positive default options", "inputs": { diff --git a/tests/wpt/tests/webnn/resources/test_data/reduce_sum_square.json b/tests/wpt/tests/webnn/resources/test_data/reduce_sum_square.json index bd2ebb341a7..d308cad463a 100644 --- a/tests/wpt/tests/webnn/resources/test_data/reduce_sum_square.json +++ b/tests/wpt/tests/webnn/resources/test_data/reduce_sum_square.json @@ -1,5 +1,44 @@ { "tests": [ + { + "name": "reduceSumSquare float32 0D constant tensor default options", + "inputs": { + "input": { + "shape": [], + "data": [ + 52.5615348815918 + ], + "type": "float32", + "constant": true + } + }, + "expected": { + "name": "output", + "data": 2762.71484375, + "type": "float32" + } + }, + { + "name": "reduceSumSquare float32 0D constant tensor empty axes", + "inputs": { + "input": { + "shape": [], + "data": [ + 52.5615348815918 + ], + "type": "float32", + "constant": true + } + }, + "options": { + "axes": [] + }, + "expected": { + "name": "output", + "data": 2762.71484375, + "type": "float32" + } + }, { "name": "reduceSumSquare float32 1D constant tensor all positive default options", // default options: {axes: null, keepDimensions: false} "inputs": { diff --git a/tests/wpt/tests/webnn/resources/utils.js b/tests/wpt/tests/webnn/resources/utils.js index c231f46bcf5..0d3443b3dc9 100644 --- a/tests/wpt/tests/webnn/resources/utils.js +++ b/tests/wpt/tests/webnn/resources/utils.js @@ -274,9 +274,9 @@ const getReductionPrecisionTolerance = (resources, operationName) => { } else { sizes = inputShape; } - const reducedElementCount = sizes.reduce( - (accumulator, currentValue) => accumulator * currentValue - ); + const reducedElementCount = sizes.length ? + sizes.reduce((accumulator, currentValue) => accumulator * currentValue) : + 1; let tolerance; switch (operationName) { case 'reduceL1': diff --git a/tests/wpt/tests/webnn/resources/utils_validation.js b/tests/wpt/tests/webnn/resources/utils_validation.js index 5c4eb087617..35e634530d7 100644 --- a/tests/wpt/tests/webnn/resources/utils_validation.js +++ b/tests/wpt/tests/webnn/resources/utils_validation.js @@ -219,13 +219,15 @@ function validateTwoInputsBroadcastable(operationName) { const unbroadcastableDimensionsArray = generateUnbroadcastableDimensionsArray(dimensions); for (let unbroadcastableDimensions of unbroadcastableDimensionsArray) { const inputB = builder.input(`inputB${++inputBIndex}`, {dataType, dimensions: unbroadcastableDimensions}); - assert_throws_dom('DataError', () => builder[operationName](inputA, inputB)); - assert_throws_dom('DataError', () => builder[operationName](inputB, inputA)); + assert_throws_js( + TypeError, () => builder[operationName](inputA, inputB)); + assert_throws_js( + TypeError, () => builder[operationName](inputB, inputA)); } } } } - }, `[${operationName}] DataError is expected if two inputs aren't broadcastable`); + }, `[${operationName}] TypeError is expected if two inputs aren't broadcastable`); } function validateTwoInputsOfSameDataType(operationName) { @@ -248,12 +250,13 @@ function validateTwoInputsOfSameDataType(operationName) { for (let dataTypeB of allWebNNOperandDataTypes) { if (dataType !== dataTypeB) { const inputB = builder.input(`inputB${++inputBIndex}`, {dataType: dataTypeB, dimensions}); - assert_throws_dom('DataError', () => builder[subOperationName](inputA, inputB)); + assert_throws_js( + TypeError, () => builder[subOperationName](inputA, inputB)); } } } } - }, `[${subOperationName}] DataError is expected if two inputs aren't of same data type`); + }, `[${subOperationName}] TypeError is expected if two inputs aren't of same data type`); } } diff --git a/tests/wpt/tests/webnn/validation_tests/elementwise-binary.https.any.js b/tests/wpt/tests/webnn/validation_tests/elementwise-binary.https.any.js index f54626b50db..7b3fec938bb 100644 --- a/tests/wpt/tests/webnn/validation_tests/elementwise-binary.https.any.js +++ b/tests/wpt/tests/webnn/validation_tests/elementwise-binary.https.any.js @@ -14,8 +14,64 @@ const kElementwiseBinaryOperators = [ 'pow', ]; + +const tests = [ + { + name: '[binary] Test bidirectionally broadcastable dimensions.', + // Both inputs have axes of length one which are expanded + // during broadcasting. + a: {dataType: 'float32', dimensions: [8, 1, 6, 1]}, + b: {dataType: 'float32', dimensions: [7, 1, 5]}, + output: {dataType: 'float32', dimensions: [8, 7, 6, 5]} + }, + { + name: '[binary] Test unidirectionally broadcastable dimensions.', + // Input a has a single axis of length one which is + // expanded during broadcasting. + a: {dataType: 'float32', dimensions: [4, 2, 1]}, + b: {dataType: 'float32', dimensions: [4]}, + output: {dataType: 'float32', dimensions: [4, 2, 4]} + }, + { + name: '[binary] Test scalar broadcasting.', + a: {dataType: 'float32', dimensions: [4, 2, 4]}, + b: {dataType: 'float32', dimensions: []}, + output: {dataType: 'float32', dimensions: [4, 2, 4]} + }, + { + name: '[binary] Throw if the input shapes are not broadcastable.', + a: {dataType: 'float32', dimensions: [4, 2]}, + b: {dataType: 'float32', dimensions: [4]}, + }, + { + name: '[binary] Throw if the input types don\'t match.', + a: {dataType: 'float32', dimensions: [4, 2]}, + b: {dataType: 'int32', dimensions: [1]}, + }, +]; + +function runElementWiseBinaryTests(operatorName, tests) { + tests.forEach(test => { + promise_test(async t => { + const a = builder.input( + 'a', {dataType: test.a.dataType, dimensions: test.a.dimensions}); + const b = builder.input( + 'b', {dataType: test.b.dataType, dimensions: test.b.dimensions}); + + if (test.output) { + const output = builder[operatorName](a, b); + assert_equals(output.dataType(), test.output.dataType); + assert_array_equals(output.shape(), test.output.dimensions); + } else { + assert_throws_js(TypeError, () => builder[operatorName](a, b)); + } + }, test.name.replace('[binary]', `[${operatorName}]`)); + }); +} + kElementwiseBinaryOperators.forEach((operatorName) => { validateTwoInputsOfSameDataType(operatorName); validateTwoInputsBroadcastable(operatorName); validateTwoInputsFromMultipleBuilders(operatorName); + runElementWiseBinaryTests(operatorName, tests); }); diff --git a/tests/wpt/tests/webnn/validation_tests/elementwise-logical.https.any copy.js b/tests/wpt/tests/webnn/validation_tests/elementwise-logical.https.any.js similarity index 100% rename from tests/wpt/tests/webnn/validation_tests/elementwise-logical.https.any copy.js rename to tests/wpt/tests/webnn/validation_tests/elementwise-logical.https.any.js diff --git a/tests/wpt/tests/webnn/validation_tests/gather.https.any.js b/tests/wpt/tests/webnn/validation_tests/gather.https.any.js index 184e8033e66..668112cc10f 100644 --- a/tests/wpt/tests/webnn/validation_tests/gather.https.any.js +++ b/tests/wpt/tests/webnn/validation_tests/gather.https.any.js @@ -8,7 +8,7 @@ const tests = [ { name: '[gather] Test gather with default options and 0-D indices', input: {dataType: 'int32', dimensions: [3]}, - indices: {dataType: 'uint64', dimensions: []}, + indices: {dataType: 'int64', dimensions: []}, output: {dataType: 'int32', dimensions: []} }, { @@ -24,13 +24,15 @@ const tests = [ indices: {dataType: 'int64', dimensions: [1]} }, { - name: '[gather] TypeError is expected if the axis is greater than the rank of input', + name: + '[gather] TypeError is expected if the axis is greater than the rank of input', input: {dataType: 'float16', dimensions: [1, 2, 3]}, indices: {dataType: 'int32', dimensions: [5, 6]}, axis: 4 }, { - name: '[gather] TypeError is expected if the data type of indices is invalid', + name: + '[gather] TypeError is expected if the data type of indices is invalid', input: {dataType: 'float16', dimensions: [1, 2, 3, 4]}, indices: {dataType: 'float32', dimensions: [5, 6]} } diff --git a/tests/wpt/tests/webrtc-extensions/RTCRtpParameters-codec.html b/tests/wpt/tests/webrtc-extensions/RTCRtpParameters-codec.html index 5fc1401badf..a93e028e6f6 100644 --- a/tests/wpt/tests/webrtc-extensions/RTCRtpParameters-codec.html +++ b/tests/wpt/tests/webrtc-extensions/RTCRtpParameters-codec.html @@ -292,13 +292,13 @@ const opus = findFirstCodec('audio/opus'); const nonOpus = codecsNotMatching(opus.mimeType); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences(nonOpus); - }; const transceiver = pc1.addTransceiver('audio'); exchangeIceCandidates(pc1, pc2); - await exchangeOfferAnswer(pc1, pc2); + const negotiated = exchangeOfferAnswer(pc1, pc2); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences(nonOpus); + await negotiated; const sender = transceiver.sender; let param = sender.getParameters(); @@ -316,13 +316,13 @@ const vp8 = findFirstCodec('video/VP8'); const nonVP8 = codecsNotMatching(vp8.mimeType); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences(nonVP8); - }; const transceiver = pc1.addTransceiver('video'); exchangeIceCandidates(pc1, pc2); - await exchangeOfferAnswer(pc1, pc2); + const negotiated = exchangeOfferAnswer(pc1, pc2); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences(nonVP8); + await negotiated; const sender = transceiver.sender; let param = sender.getParameters(); @@ -340,14 +340,14 @@ const opus = findFirstCodec('audio/opus'); const nonOpus = codecsNotMatching(opus.mimeType); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences(nonOpus); - }; const transceiver = pc1.addTransceiver('audio'); exchangeIceCandidates(pc1, pc2); - await exchangeOfferAnswer(pc1, pc2); + const negotiated = exchangeOfferAnswer(pc1, pc2); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences(nonOpus); + await negotiated; const sender = transceiver.sender; let param = sender.getParameters(); @@ -365,13 +365,13 @@ const vp8 = findFirstCodec('video/VP8'); const nonVP8 = codecsNotMatching(vp8.mimeType); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences(nonVP8); - }; const transceiver = pc1.addTransceiver('video'); exchangeIceCandidates(pc1, pc2); - await exchangeOfferAnswer(pc1, pc2); + const negotiated = exchangeOfferAnswer(pc1, pc2); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences(nonVP8); + await negotiated; const sender = transceiver.sender; let param = sender.getParameters(); @@ -452,15 +452,16 @@ const opus = findFirstCodec('audio/opus'); const nonOpus = codecsNotMatching(opus.mimeType); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences(nonOpus.concat([opus])); - }; const transceiver = pc1.addTransceiver(stream.getTracks()[0]); const sender = transceiver.sender; exchangeIceCandidates(pc1, pc2); - await exchangeOfferAnswer(pc1, pc2); + const negotiated = exchangeOfferAnswer(pc1, pc2); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences(nonOpus.concat([opus])); + await negotiated; + let codecs = await codecsForSender(sender); assert_not_equals(codecs[0], opus.mimeType); @@ -490,15 +491,15 @@ const vp8 = findFirstCodec('video/VP8'); const nonVP8 = codecsNotMatching(vp8.mimeType); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences(nonVP8.concat([vp8])); - }; const transceiver = pc1.addTransceiver(stream.getTracks()[0]); const sender = transceiver.sender; exchangeIceCandidates(pc1, pc2); - await exchangeOfferAnswer(pc1, pc2); + const negotiated = exchangeOfferAnswer(pc1, pc2); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences(nonVP8.concat([vp8])); + await negotiated; let codecs = await codecsForSender(sender); assert_not_equals(codecs[0], vp8.mimeType); @@ -528,16 +529,17 @@ const vp8 = findFirstCodec('video/VP8'); const h264 = findFirstCodec('video/H264'); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences([h264, vp8]); - }; + const transceiver = pc1.addTransceiver(stream.getTracks()[0], { sendEncodings: [{rid: '0'}, {rid: '1'}, {rid: '2'}], }); const sender = transceiver.sender; exchangeIceCandidates(pc1, pc2); - await doOfferToSendSimulcastAndAnswer(pc1, pc2, ['0', '1', '2']); + const negotiated = doOfferToSendSimulcastAndAnswer(pc1, pc2, ['0', '1', '2']); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences([h264, vp8]); + await negotiated; await waitForAllLayers(t, sender); @@ -573,9 +575,6 @@ const vp8 = findFirstCodec('video/VP8'); const h264 = findFirstCodec('video/H264'); - pc2.ontrack = e => { - e.transceiver.setCodecPreferences([h264, vp8]); - }; const transceiver = pc1.addTransceiver(stream.getTracks()[0], { sendEncodings: [{rid: '0'}, {rid: '1'}, {rid: '2'}], @@ -583,7 +582,11 @@ const sender = transceiver.sender; exchangeIceCandidates(pc1, pc2); - await doOfferToSendSimulcastAndAnswer(pc1, pc2, ['0', '1', '2']); + const negotiated = doOfferToSendSimulcastAndAnswer(pc1, pc2, ['0', '1', '2']); + const trackEvent = await new Promise(r => pc2.ontrack = r); + trackEvent.transceiver.setCodecPreferences([h264, vp8]); + await negotiated; + await waitForAllLayers(t, sender); diff --git a/tests/wpt/tests/webxr/webxr-supported-by-feature-policy.html b/tests/wpt/tests/webxr/webxr-supported-by-feature-policy.html deleted file mode 100644 index 2843849a34a..00000000000 --- a/tests/wpt/tests/webxr/webxr-supported-by-feature-policy.html +++ /dev/null @@ -1,10 +0,0 @@ - -Test that xr is advertised in the feature list - - - - diff --git a/tests/wpt/tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js b/tests/wpt/tests/workers/WorkerGlobalScope_requestAnimationFrame.worker.js similarity index 100% rename from tests/wpt/tests/workers/WorkerGlobalScope_requestAnimationFrame.tentative.worker.js rename to tests/wpt/tests/workers/WorkerGlobalScope_requestAnimationFrame.worker.js

sCoQMx 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%0DR+Q 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 diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/image.png b/tests/wpt/tests/document-policy/experimental-features/resources/image.png deleted file mode 100644 index 556fa72704084920c07066054bb57adc5a250b27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk~Bp7wr%FhF7mUKs7M+U~W1%@xC#RK^hJY5_^ zD(2|+8uA@7;Bmcwtm%lTL>0plJ;|yaa?KmnAMk`(G6*LxZMYGklX_CXw8pz)!~XsE z{R_l;B%iO@S+Mxi#d|k1W1jAhOum0pYrW6>o9eGz=B2dXkDg=peCAH+`yAT7-d7m? zpD=neuC5Ya_iW0gUZXDEgTe~DWM4fgQ!vM diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/image.svg b/tests/wpt/tests/document-policy/experimental-features/resources/image.svg deleted file mode 100644 index 73ca820915b..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/image.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/parser-blocking-script.js b/tests/wpt/tests/document-policy/experimental-features/resources/parser-blocking-script.js deleted file mode 100644 index c61efee8a0a..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/parser-blocking-script.js +++ /dev/null @@ -1 +0,0 @@ -window.didExecuteExternalParsingBlockingScript = true; diff --git a/tests/wpt/tests/document-policy/experimental-features/resources/sync-script-test.js b/tests/wpt/tests/document-policy/experimental-features/resources/sync-script-test.js deleted file mode 100644 index 65c1b21e6e8..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/resources/sync-script-test.js +++ /dev/null @@ -1,9 +0,0 @@ -var t = async_test('Test behavior of sync-script feature policy for different script types'); - -window.onload = t.step_func(function() { - assert_equals(undefined, window.didExecuteInlineParsingBlockingScript, 'inline parser blocking script should be blocked'); - assert_equals(undefined, window.didExecuteExternalParsingBlockingScript, 'external parser blocking script should be blocked'); - assert_true(window.didExecuteExternalAsyncScript, 'external async script should not be blocked'); - assert_true(window.didExecuteExternalDeferredScript, 'external defer script should not be blocked'); - t.done(); -}); diff --git a/tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html b/tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html deleted file mode 100644 index a199a4ed3f9..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html.headers b/tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html.headers deleted file mode 100644 index cfe200c27b0..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/sync-script.tentative.https.sub.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: sync-script=?0 diff --git a/tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html b/tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html deleted file mode 100644 index 4e5fbc65558..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - diff --git a/tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html.headers b/tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html.headers deleted file mode 100644 index cf59933e8dd..00000000000 --- a/tests/wpt/tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: unsized-media=?0 diff --git a/tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html b/tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html deleted file mode 100644 index bf17807f4a9..00000000000 --- a/tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html.headers b/tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html.headers deleted file mode 100644 index 924dac8e87b..00000000000 --- a/tests/wpt/tests/document-policy/reporting/document-write-report-only-tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy-Report-Only: document-write=?0 diff --git a/tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html b/tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html deleted file mode 100644 index 65a584ce19d..00000000000 --- a/tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - diff --git a/tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html.headers b/tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html.headers deleted file mode 100644 index 6d05e969b50..00000000000 --- a/tests/wpt/tests/document-policy/reporting/document-write-reporting-tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: document-write=?0 diff --git a/tests/wpt/tests/document-policy/reporting/image.jpg b/tests/wpt/tests/document-policy/reporting/image.jpg deleted file mode 100644 index c059b96d97fc3701ce4325165b79948f69189135..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2033 zcmb7EX*gV28ou||W~nOo7RoZ3Qe`PiOI1j0lTl)4V(iP)WDq+^#3Mw~kwR3^mXswD zf+p6ASR#?MwnwA2#6$;S5M&5xTe?OYblTi9Pw4(R=bj(;obNg3eb4*7-?#UAZx(>< zt?jG<5Cj2R^aJ*O1EejYgZyKH0%>t!F`+aYyHiek{{$=m35(jh(t*VNl6l!0+YxHSyB?F!icnttgI|iN=}|CBTtc$l@VP6V$d^KoH!0AE<=(e z$^74AuLnTH01m*xfCvB~AO->VdI1Fyf6)^T2ObMy#6%%<7xRY*0Aa8oZf_DGVn6_b zF)#ptI~8x+3a4$M0@AdwEskGO6~1n0ooX9$H}I z0TP!I#ORvsTh6(3J*%}-%63INKS$wJ>lW`3Txp3!9MBYzt0tYhZ)%2JQl5gGo@tGuxT4$n-`7!+SA{Mx6T{N@6iAD z*k<7S=T|3m|NQl0m`|Gb0&laEmZdFyMWs;jV~DD;yyt2*3Pnc%5H%O>_fQam!K%Wv zqjWWM{|ozQkO+c zP3`t5*C^X4nHOqCD0v0yl(C)Sea?2QFP!}l-Ll=8`D8RaIIL7_RhJdpRJjPXvSs?O z69e^%s=EJmx91tbqp_{a_xOXv@1>1RFbZP6j@shB&Fy*<9WPrmT;a64#UhR9qI80& z-wyl-LKp;1r>ZlBeSu&0DW!NbsAnjYs8gBx;)?RaH6xoD-+tCkS8GiMq4_6_R%5Jg zAGgmvpw)Rd(K+;-`&gfLGj*hNh*;G<@JJA!C;X6}&XiiwJ&OmrhosZY^pU?>?exR%QKmT^zwAz;!{CQ zE`5}_$QbU^scpP=E7kz-An+fm&d$*8>Fx`1nRMMw4I0`ETYs_xxq!xWLtTX{SrTB#At&0;5LxgQ-CPQDwvC&i;uTpA-PiR1=fK z{F9u2Q6IxQ@!bhkk{;GSb+&?>7i-OkdM*lDk!}gj{uJ$sgybZRvKlC9ElF z93g*WWO>@Rw`5gLm_5zuu2900%6MruuM4~s?7#ECPqO^-PNd2kBxir>AAqPd;C$P< zih)zsb`m+D8amM*bct@F!YCr5#&qZnwA&y6Of&zVokhh158^I*>1oXsURrAWE8R5( z`o@hcNw&&DB$L$jSy$3+Tyk&Uf3A`^V`kyG6xYx-WWK2Lnf;64hG=o6bPHTHeH_T^ zf|O|dm*Kaov%=;CqfsFFpm-q=ci>Avl#?C{Yrswx&c8wv;vdlBwT|8r6Ux}Zu{XAl8sy95OoUN~Y!!*+{TqtpF zbl%-D4yi3EMO9MXw-2hu0ap-V1FC4%!_J59fxG;2Z3kvH+$_Fa*2=v+CVuacdi<}B z23twYRdHoA&*IMl*DvX)cNiT1;lX(@>6GRy%dR2_;h78oD-AI!KQ7k-J(W8jkI}q+ zj063%HgG0Kp37~>tBpiW=T1-=tYWrTXjMHU@|s?Hz`Q}9>BD$Bmu}H=UL4REEZ#9c zv9yytTDaf`x^X3D%{(IV`5=^y&zr`_a3e zD(Yy2F^eGCc%llY~l=h}eBCNnYU?0p;1eO;}sEPoStTc5q*fVYztN6wQl~Ww5 zyXN?E4bU??$RJ)!VNN8hlz!b!=cBw`q7B=Q-SkwHP@maKXD)~6zX8 ZF2vh(MlnsN`172I%Uyna+wHxH{{nFC^~nGL diff --git a/tests/wpt/tests/document-policy/reporting/resources/sync-script.js b/tests/wpt/tests/document-policy/reporting/resources/sync-script.js deleted file mode 100644 index 10d582cb0ec..00000000000 --- a/tests/wpt/tests/document-policy/reporting/resources/sync-script.js +++ /dev/null @@ -1,20 +0,0 @@ -// This is deliberately split from sync-script-reporting.html so that it will -// not be blocked by policy, and can actuall be executed. - -var t = async_test("Sync-script Report Format"); - -var check_report_format = (reports, observer) => { - let report = reports[0]; - assert_equals(report.type, "document-policy-violation"); - assert_equals(report.url, document.location.href); - assert_equals(report.body.featureId, "sync-script"); - assert_equals(report.body.sourceFile, null); - assert_equals(report.body.lineNumber, null); - assert_equals(report.body.columnNumber, null); - assert_equals(report.body.disposition, "enforce"); - check_report_json(report); -}; - -new ReportingObserver(t.step_func_done(check_report_format), - { types: ['document-policy-violation'], - buffered: true}).observe(); diff --git a/tests/wpt/tests/document-policy/reporting/sync-script-reporting.html b/tests/wpt/tests/document-policy/reporting/sync-script-reporting.html deleted file mode 100644 index 45e1b8fc3c8..00000000000 --- a/tests/wpt/tests/document-policy/reporting/sync-script-reporting.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - diff --git a/tests/wpt/tests/document-policy/reporting/sync-script-reporting.html.headers b/tests/wpt/tests/document-policy/reporting/sync-script-reporting.html.headers deleted file mode 100644 index cfe200c27b0..00000000000 --- a/tests/wpt/tests/document-policy/reporting/sync-script-reporting.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: sync-script=?0 diff --git a/tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html b/tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html deleted file mode 100644 index 47a36436464..00000000000 --- a/tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - diff --git a/tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html.headers b/tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html.headers deleted file mode 100644 index cf59933e8dd..00000000000 --- a/tests/wpt/tests/document-policy/reporting/unsized-media-reporting-tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Document-Policy: unsized-media=?0 diff --git a/tests/wpt/tests/document-policy/required-policy/document-policy.html b/tests/wpt/tests/document-policy/required-policy/document-policy.html index aaa8d692001..4beaf3f2164 100644 --- a/tests/wpt/tests/document-policy/required-policy/document-policy.html +++ b/tests/wpt/tests/document-policy/required-policy/document-policy.html @@ -33,9 +33,9 @@ async_test(t => { async_test(t => { var iframe = document.createElement('iframe'); iframe.src = "/document-policy/echo-policy.py?id=2"; - iframe.policy = "font-display-late-swap=?0"; + iframe.policy = "force-load-at-top"; callbacks["2"] = t.step_func_done(result => { - assert_equals(result, "font-display-late-swap=?0"); + assert_equals(result, "force-load-at-top"); }); document.body.appendChild(iframe); }, "Child frame can have a required policy independent of the parent document."); @@ -43,9 +43,9 @@ async_test(t => { async_test(t => { var iframe = document.createElement('iframe'); iframe.src = "/document-policy/echo-policy.py?id=3"; - iframe.policy = "lossless-images-max-bpp=4"; + iframe.policy = "sync-xhr"; callbacks["3"] = t.step_func_done(result => { - assert_equals(result, "lossless-images-max-bpp=4.0"); + assert_equals(result, "sync-xhr"); }); document.body.appendChild(iframe); }, "Child frame can have a required policy which is less strict than the parent document's policy."); diff --git a/tests/wpt/tests/document-policy/required-policy/document-policy.html.headers b/tests/wpt/tests/document-policy/required-policy/document-policy.html.headers index 20629ac15f5..ab319fc4ceb 100644 --- a/tests/wpt/tests/document-policy/required-policy/document-policy.html.headers +++ b/tests/wpt/tests/document-policy/required-policy/document-policy.html.headers @@ -1 +1 @@ -Document-Policy: lossless-images-max-bpp=1.1 +Document-Policy: sync-xhr=?0 diff --git a/tests/wpt/tests/document-policy/required-policy/no-document-policy.html b/tests/wpt/tests/document-policy/required-policy/no-document-policy.html index 8a3624440f3..00a721e8150 100644 --- a/tests/wpt/tests/document-policy/required-policy/no-document-policy.html +++ b/tests/wpt/tests/document-policy/required-policy/no-document-policy.html @@ -33,9 +33,9 @@ async_test(t => { async_test(t => { var iframe = document.createElement('iframe'); iframe.src = "/document-policy/echo-policy.py?id=2"; - iframe.policy = "font-display-late-swap=?0"; + iframe.policy = "force-load-at-top=?0"; callbacks["2"] = t.step_func_done(result => { - assert_equals(result, "font-display-late-swap=?0"); + assert_equals(result, "force-load-at-top=?0"); }); document.body.appendChild(iframe); }, "Child frame can have an explicit required policy."); diff --git a/tests/wpt/tests/document-policy/required-policy/required-document-policy-nested.html b/tests/wpt/tests/document-policy/required-policy/required-document-policy-nested.html index 33de2533a25..0adba51c199 100644 --- a/tests/wpt/tests/document-policy/required-policy/required-document-policy-nested.html +++ b/tests/wpt/tests/document-policy/required-policy/required-document-policy-nested.html @@ -34,29 +34,29 @@ async_test(t => { // Frame tree should be: // Top: -// + diff --git a/tests/wpt/tests/infrastructure/reftest/reftest_wait_0-print.html b/tests/wpt/tests/infrastructure/reftest/reftest_wait_0-print.html new file mode 100644 index 00000000000..fec62a3cae0 --- /dev/null +++ b/tests/wpt/tests/infrastructure/reftest/reftest_wait_0-print.html @@ -0,0 +1,13 @@ + +Test with reftest-wait + + + + diff --git a/tests/wpt/tests/intersection-observer/transform-animation.html b/tests/wpt/tests/intersection-observer/transform-animation.html new file mode 100644 index 00000000000..f27fac40940 --- /dev/null +++ b/tests/wpt/tests/intersection-observer/transform-animation.html @@ -0,0 +1,38 @@ + + + + + + + +