From 6d6070242b835334fe195b1e980ae72658af05cc Mon Sep 17 00:00:00 2001 From: Servo WPT Sync <32481905+servo-wpt-sync@users.noreply.github.com> Date: Sun, 16 Feb 2025 02:35:48 +0100 Subject: [PATCH] Update web-platform-tests to revision b'de61904887c13679551c32e5e3e70b4dc870c98a' (#35480) Signed-off-by: WPT Sync Bot --- ...tition-navigation.tentative.https.html.ini | 2 + ...n-worker-creation.tentative.https.html.ini | 2 + .../cross-partition.tentative.https.html.ini | 2 + .../margin-collapsing-dynamic.html.ini | 2 + .../parsing/corner-shape-computed.html.ini | 33 + .../parsing/corner-shape-valid.html.ini | 24 + .../css/css-overflow/clip-006.html.ini | 2 + .../css/css-overflow/clip-007.html.ini | 2 + .../overflow-clip-margin-002.html.ini | 2 + .../overflow-no-interpolation.html.ini | 24 - .../overflow-clip-margin-computed.html.ini | 6 - .../parsing/overflow-clip-margin.html.ini | 3 - .../parsing/overflow-computed.html.ini | 36 - .../parsing/overflow-valid.html.ini | 12 - ...he-check-pseudo-element.tentative.html.ini | 2 + ...ct-arrow-pseudo-element.tentative.html.ini | 2 + .../stretch/block-height-1.html.ini | 2 - .../stretch/block-height-2.html.ini | 2 - ...teractivity-inert-focus.tentative.html.ini | 2 - .../interactivity-computed.tentative.html.ini | 2 - .../parsing/interactivity.tentative.html.ini | 2 - ...llWidthHeight-negative-margin-001.html.ini | 3 + ...llWidthHeight-negative-margin-002.html.ini | 108 + .../element-internals-shadowroot.html.ini | 6 - .../custom-element-move-reactions.html.ini | 6 + .../observable-constructor.any.js.ini | 18 + .../tentative/observable-from.any.js.ini | 12 + .../quota.tentative.https.window.js.ini | 2 - .../css-font-face.sub.tentative.html.ini | 9 +- .../navigating-across-documents/008.html.ini | 0 .../navigating-across-documents/009.html.ini | 3 - .../iframe-nosrc.html.ini | 6 - .../replace-before-load/a-click.html.ini | 3 + .../getContextAttributes.html.ini | 6 + ...ret-position-edge-cases.tentative.html.ini | 2 - ...re.caret-position-edges.tentative.html.ini | 2 - ....measure.caret-position.tentative.html.ini | 2 - ...ret-position-edge-cases.tentative.html.ini | 2 - ...osition-edge-cases.tentative.worker.js.ini | 2 - ...re.caret-position-edges.tentative.html.ini | 2 - ...ret-position-edges.tentative.worker.js.ini | 2 - ....measure.caret-position.tentative.html.ini | 2 - .../autofocus-dialog.html.ini | 3 +- ...-alignment-and-overflow.tentative.html.ini | 23 +- .../input-type-button-clip.html.ini | 2 + ...rame-loading-lazy-nav-window-open.html.ini | 3 + ...rame_sandbox_popups_nonescaping-1.html.ini | 2 +- ...rame_sandbox_popups_nonescaping-2.html.ini | 2 +- ...rame_sandbox_popups_nonescaping-3.html.ini | 2 +- ...ct-value-selectedOption.tentative.html.ini | 2 - .../toggle-events.tentative.html.ini | 2 + .../invokers/idlharness.tentative.html.ini | 2 - ...terestelement-interface.tentative.html.ini | 2 - ...invokeelement-interface.tentative.html.ini | 2 - ...ype-reset-popovertarget.tentative.html.ini | 2 + .../popover-css-properties.tentative.html.ini | 2 - ...opover-types-with-hints.tentative.html.ini | 2 + .../fully_active_document.window.js.ini | 2 - .../test-navigation-type-reload.html.ini | 9 + .../constructor-basic.https.html.ini | 9 + .../constructor-invalid.https.html.ini | 3 + .../constructor-non-secure.html.ini | 3 + .../fetch-url-resolve.https.window.js.ini | 7 + ...tions-across-processes.https.window.js.ini | 2 + .../global-teardown-crash.html.ini | 2 + .../notifications/historical.any.js.ini | 8 + .../notifications/idlharness.https.any.js.ini | 353 ++ .../instance.https.window.js.ini | 2 + .../notifications/permission.html.ini | 3 + .../permissions-non-secure.html.ini | 10 + ...gistration-association.https.window.js.ini | 4 + ...ion-without-permission.https.window.js.ini | 4 + .../shownotification.https.window.js.ini | 2 + .../notifications/tag.https.html.ini | 4 + .../worker-gc.https.window.js.ini | 4 + .../tentative/detached-frame.html.ini | 2 + .../include-frames-originA-A-A.html.ini | 2 + .../include-frames-originA-A.html.ini | 2 + .../include-frames-originA-AA.html.ini | 2 + .../include-frames-originA-AB.html.ini | 2 + .../include-frames-originA-B-A.html.ini | 2 + .../include-frames-originA-B-B.html.ini | 2 + .../include-frames-originA-B.html.ini | 2 + .../performance-entry-source.html.ini | 2 + .../with-filter-options-originA.html.ini | 2 + .../tentative/fetch.any.js.ini | 26 - .../tentative/script.window.js.ini | 8 - .../js-string/basic.tentative.any.js.ini | 37 +- .../js-string/constants.tentative.any.js.ini | 271 +- .../js-string/imports.tentative.any.js.ini | 41 +- tests/wpt/meta/MANIFEST.json | 4246 +++++++++++++---- .../mix-blend-mode-video-sibling.html.ini | 2 - .../parsing/corner-shape-computed.html.ini | 33 + .../parsing/corner-shape-valid.html.ini | 24 + ...-computed-contrast-color-function.html.ini | 30 + ...lor-valid-contrast-color-function.html.ini | 30 + ...content-alignment-with-abspos-001.html.ini | 3 + ...tomatic-minimum-for-auto-rows-001.html.ini | 9 + .../css-mixins/dashed-function-eval.html.ini | 1 + .../css-mixins/function-conditionals.html.ini | 27 + .../function-container-dynamic.html.ini | 3 + .../function-container-self.html.ini | 3 + .../function-container-style.html.ini | 6 + .../margin-block-end-scroll-area-001.html.ini | 2 - .../scroll-marker-group-018.html.ini | 2 + .../scroll-marker-group-019.html.ini | 2 + .../scroll-marker-group-020.html.ini | 2 + ...table-cell-overflow-auto-scrolled.html.ini | 2 - .../css/css-values/if-invalidation.html.ini | 3 + .../css/css-values/if-style-query.html.ini | 27 + .../custom-element-move-reactions.html.ini | 6 + .../observable-constructor.any.js.ini | 18 + .../tentative/observable-from.any.js.ini | 12 + .../dom/xslt/encoding-single-chunk.html.ini | 2 + ...css-font-face.https.sub.tentative.html.ini | 3 + ...tion-unload-cross-origin.sub.window.js.ini | 3 - ...ation-unload-same-origin-fragment.html.ini | 3 - .../replace-before-load/a-click.html.ini | 3 + ...ml.ini => traverse_the_history_3.html.ini} | 2 +- ...color.type.u8p3.to.u8srgb.to.u8p3.html.ini | 3 + ...lor.type.u8srgb.to.u8p3.to.u8srgb.html.ini | 3 + .../getContextAttributes.html.ini | 6 + ...color.type.u8p3.to.u8srgb.to.u8p3.html.ini | 3 + ....type.u8p3.to.u8srgb.to.u8p3.worker.js.ini | 3 + ...lor.type.u8srgb.to.u8p3.to.u8srgb.html.ini | 3 + ...ype.u8srgb.to.u8p3.to.u8srgb.worker.js.ini | 3 + .../getContextAttributes.html.ini | 6 + .../option-label-whitespace.html.ini | 2 + .../iframe_sandbox_popups_escaping-1.html.ini | 2 +- ...rame_sandbox_popups_nonescaping-1.html.ini | 2 +- ...mit-iframe-then-location-navigate.html.ini | 3 - .../button-type-popovertarget.html.ini | 46 + .../button-type-reset-popovertarget.html.ini | 3 - .../input-type-popovertarget.html.ini | 37 + .../button-type-behavior.tentative.html.ini | 55 + .../button-type-reflection.tentative.html.ini | 27 + .../interface.tentative.html.ini | 9 + .../test-navigation-type-reload.html.ini | 6 + ...ation-id-detached-frame.tentative.html.ini | 4 + ...lightRegistry-highlightsFromPoint.html.ini | 9 + .../signatures/tentative/csp.window.js.ini | 6 + .../signatures/tentative/script.window.js.ini | 3 + .../wasm/jsapi/js-string/basic.any.js.ini | 5 + .../js-string/basic.tentative.any.js.ini | 26 - ...tative.any.js.ini => constants.any.js.ini} | 26 +- .../wasm/jsapi/js-string/imports.any.js.ini | 8 + .../js-string/imports.tentative.any.js.ini | 30 - tests/wpt/tests/.taskcluster.yml | 2 +- .../cross-partition-navigation.https.html | 24 +- .../idbcursor-continue-exception-order.any.js | 88 + .../idbcursor-continue-exception-order.htm | 81 - .../tests/IndexedDB/idbcursor-continue.any.js | 233 + .../tests/IndexedDB/idbcursor-continue.htm | 248 - ...-continuePrimaryKey-exception-order.any.js | 332 ++ ...sor-continuePrimaryKey-exception-order.htm | 380 -- ...ursor-continuePrimaryKey-exceptions.any.js | 107 + ...dbcursor-continuePrimaryKey-exceptions.htm | 107 - .../idbcursor-continuePrimaryKey.any.js | 199 + .../idbcursor-continuePrimaryKey.htm | 134 - .../idbcursor-delete-exception-order.any.js | 72 + .../idbcursor-delete-exception-order.htm | 76 - .../idbcursor-iterating-update.any.js | 57 + .../IndexedDB/idbcursor-iterating-update.htm | 58 - .../wpt/tests/IndexedDB/idbcursor-key.any.js | 43 + tests/wpt/tests/IndexedDB/idbcursor-key.htm | 57 - .../IndexedDB/idbcursor-primarykey.any.js | 51 + .../tests/IndexedDB/idbcursor-primarykey.htm | 61 - .../IndexedDB/idbcursor-request-source.any.js | 26 + .../IndexedDB/idbcursor-request-source.html | 31 - .../tests/IndexedDB/idbcursor-reused.any.js | 68 + .../wpt/tests/IndexedDB/idbcursor-reused.htm | 69 - .../tests/IndexedDB/idbcursor-source.any.js | 63 + .../wpt/tests/IndexedDB/idbcursor-source.htm | 66 - .../idbcursor-update-exception-order.any.js | 104 + .../idbcursor-update-exception-order.htm | 98 - ...e-createObjectStore-exception-order.any.js | 88 + ...base-createObjectStore-exception-order.htm | 84 - ...e-deleteObjectStore-exception-order.any.js | 46 + ...base-deleteObjectStore-exception-order.htm | 45 - ...atabase-transaction-exception-order.any.js | 62 + ...bdatabase-transaction-exception-order.html | 68 - .../tests/IndexedDB/idbdatabase_close.any.js | 74 + .../wpt/tests/IndexedDB/idbdatabase_close.htm | 44 - .../tests/IndexedDB/idbdatabase_close2.htm | 39 - .../IndexedDB/idbtransaction_abort.any.js | 74 +- ...ranslator_translate.tentative.https.any.js | 57 +- .../clear-cache-partitioning.sub.https.html | 56 +- .../common/dispatcher/remote-executor.html | 5 +- .../content-security-policy/resources/ran.js | 1 + .../script-allowed-meta.https.html | 14 + .../script-blocked-meta.https.html | 13 + .../require-sri-for/script.https.html | 164 + .../ancestor-chain-cross-site-embed.html | 2 +- ...cross-site-frame-with-sandboxed-embed.html | 24 + .../resources/same-site-none-embed.html | 17 + ...te-none-cookies-value.tentative.https.html | 41 + .../parsing/corner-shape-computed.html | 13 + .../parsing/corner-shape-invalid.html | 3 + .../tentative/parsing/corner-shape-valid.html | 9 + ...olor-computed-contrast-color-function.html | 51 + ...color-invalid-contrast-color-function.html | 37 + .../color-valid-contrast-color-function.html | 49 + .../flexbox_justifycontent-stretch.html | 9 + .../italic-oblique-fallback-ref.html | 38 + .../css-fonts/italic-oblique-fallback.html | 82 + .../at-font-face-font-matching.html | 23 +- ...d-automatic-minimum-for-auto-rows-001.html | 4 +- ...HighlightRegistry-highlightsFromPoint.html | 83 + .../gradient/gradient-longer-hue-lch-001.html | 1 + .../gradient/gradient-longer-hue-lch-002.html | 1 + .../gradient/gradient-longer-hue-lch-006.html | 1 + .../css/css-inline/empty-span-scroll-ref.html | 25 + .../css/css-inline/empty-span-scroll.html | 38 + .../css/css-mixins/dashed-function-eval.html | 11 + .../css/css-mixins/function-conditionals.html | 182 +- .../function-container-dynamic.html | 58 + .../css-mixins/function-container-self.html | 43 + .../css-mixins/function-container-style.html | 62 + .../tests/css/css-mixins/resources/utils.js | 15 +- ...verflow-clip-margin-border-radius-ref.html | 1 + .../overflow-clip-margin-border-radius.html | 1 + .../css-overflow/overflow-shorthand-002.html | 2 +- .../scroll-marker-activation-scroll.html | 85 + .../css-overflow/scroll-marker-group-018.html | 43 + .../css-overflow/scroll-marker-group-019.html | 43 + .../css-overflow/scroll-marker-group-020.html | 36 + .../scroll-marker-navigation-cycles.html | 67 + .../scroll-marker-next-focus.html | 90 + .../registered-property-parse-crash.html | 7 + .../css-pseudo/highlight-painting-001.html | 1 - .../highlight-painting-002-ref.html | 2 +- .../css-pseudo/highlight-painting-002.html | 2 +- ...highlight-painting-shadows-horizontal.html | 2 +- .../highlight-painting-shadows-vertical.html | 2 +- .../target-text-shadow-vertical.html | 1 - .../text-shadow/basic-negcoord.html | 1 - .../text-shadow/basic-opacity.html | 1 - .../css/css-text-decor/text-shadow/basic.html | 1 - .../text-shadow/color-inherit.html | 1 - .../text-shadow/multiple-noblur.html | 1 - .../text-shadow/standards-decor-noblur-2.html | 2 +- .../text-shadow/svg-fill-none.html | 1 - .../text-shadow/svg-stroke-dasharray.html | 1 - .../backface-visibility-hidden-001.html | 2 +- .../tests/css/css-values/attr-security.html | 50 + .../tests/css/css-values/if-invalidation.html | 33 + .../tests/css/css-values/if-style-query.html | 86 +- .../progress-invalid.tentative.html | 1 - .../css/css-variables/url-syntax-crash.html | 23 + .../animation-name-ua-prefix.html | 15 + .../tests/css/selectors/focus-within-004.html | 1 - .../partitioned-visited-manual.tentative.html | 59 + ...partitioned-visited-cross-site-iframe.html | 9 + .../partitioned-visited-same-site-iframe.html | 9 + .../default-permissions-policy.https.sub.html | 12 +- ...abled-by-permissions-policy.https.sub.html | 16 +- ...rigin-by-permissions-policy.https.sub.html | 14 +- .../custom-element-move-reactions.html | 35 + .../tentative/observable-constructor.any.js | 108 + .../tentative/observable-from.any.js | 98 +- .../dom/xslt/encoding-single-chunk-ref.html | 2 + .../tests/dom/xslt/encoding-single-chunk.html | 9 + .../wpt/tests/dom/xslt/resources/reqLine.xsl | 16 + tests/wpt/tests/dom/xslt/resources/test.xml | 4 + .../tests/dom/xslt/resources/testu1LINE.xml | 2 + .../editing-on-newline-should-not-crash.html | 52 + tests/wpt/tests/editing/data/indent.js | 2 +- ...copy-elements-with-css-vars.tentative.html | 114 + ...aph-ending-with-non-layed-out-content.html | 298 +- .../private-aggregation.https.window.js | 2 + ...eady-check-fullscreen-element-sibling.html | 2 +- .../tests/fullscreen/model/remove-first.html | 14 +- .../tests/fullscreen/model/remove-last.html | 26 +- ...2d.color.type.u8p3.to.f16srgb.to.u8p3.html | 45 + .../2d.color.type.u8p3.to.u8srgb.to.u8p3.html | 44 + ....color.type.u8srgb.to.f16p3.to.u8srgb.html | 45 + ...d.color.type.u8srgb.to.u8p3.to.u8srgb.html | 44 + ...d.filter.no_shadow.drawImage-expected.html | 111 +- ...osite.grid.filter.no_shadow.drawImage.html | 59 +- ...id.filter.no_shadow.fillRect-expected.html | 111 +- ...posite.grid.filter.no_shadow.fillRect.html | 59 +- ...rid.filter.no_shadow.pattern-expected.html | 111 +- ...mposite.grid.filter.no_shadow.pattern.html | 59 +- ...grid.filter.shadow.drawImage-expected.html | 111 +- ...omposite.grid.filter.shadow.drawImage.html | 59 +- ....grid.filter.shadow.fillRect-expected.html | 111 +- ...composite.grid.filter.shadow.fillRect.html | 59 +- ...e.grid.filter.shadow.pattern-expected.html | 111 +- ....composite.grid.filter.shadow.pattern.html | 59 +- ...o_filter.no_shadow.drawImage-expected.html | 111 +- ...te.grid.no_filter.no_shadow.drawImage.html | 59 +- ...no_filter.no_shadow.fillRect-expected.html | 111 +- ...ite.grid.no_filter.no_shadow.fillRect.html | 59 +- ....no_filter.no_shadow.pattern-expected.html | 111 +- ...site.grid.no_filter.no_shadow.pattern.html | 59 +- ...d.no_filter.shadow.drawImage-expected.html | 111 +- ...osite.grid.no_filter.shadow.drawImage.html | 59 +- ...id.no_filter.shadow.fillRect-expected.html | 111 +- ...posite.grid.no_filter.shadow.fillRect.html | 59 +- ...rid.no_filter.shadow.pattern-expected.html | 111 +- ...mposite.grid.no_filter.shadow.pattern.html | 59 +- ...bject.gaussianBlur.tentative-expected.html | 22 +- ...asFilterObject.gaussianBlur.tentative.html | 17 +- ...ayers.gaussianBlur.tentative-expected.html | 22 +- ....filter.layers.gaussianBlur.tentative.html | 17 +- ...ates.ctx-filter.no-transform-expected.html | 39 +- ...global-states.ctx-filter.no-transform.html | 39 +- ...l-states.ctx-filter.rotation-expected.html | 39 +- ...yer.global-states.ctx-filter.rotation.html | 39 +- ...ilter.no-transform.tentative-expected.html | 39 +- ...ter.ctx-filter.no-transform.tentative.html | 39 +- ...tx-filter.rotation.tentative-expected.html | 39 +- ....filter.ctx-filter.rotation.tentative.html | 39 +- ...ilter.no-transform.tentative-expected.html | 39 +- ....no-cxt-filter.no-transform.tentative.html | 39 +- ...xt-filter.rotation.tentative-expected.html | 39 +- ...lter.no-cxt-filter.rotation.tentative.html | 39 +- ...s.no-cxt-filter.no-transform-expected.html | 39 +- ...bal-states.no-cxt-filter.no-transform.html | 39 +- ...tates.no-cxt-filter.rotation-expected.html | 39 +- ....global-states.no-cxt-filter.rotation.html | 39 +- ...yer.globalCompositeOperation-expected.html | 59 +- .../2d.layer.globalCompositeOperation.html | 59 +- .../getContextAttributes.html | 18 +- ...rs-rendering-align.tentative-expected.html | 13 +- ...xt-clusters-rendering-align.tentative.html | 13 +- ...rendering-baseline.tentative-expected.html | 15 +- ...clusters-rendering-baseline.tentative.html | 15 +- ...wing-styles-change.tentative-expected.html | 15 +- ...ering-drawing-styles-change.tentative.html | 15 +- .../2d.color.space.p3.to.p3.html | 2 +- .../2d.color.space.p3.to.srgb.html | 2 +- ...2d.color.type.u8p3.to.f16srgb.to.u8p3.html | 46 + ...lor.type.u8p3.to.f16srgb.to.u8p3.worker.js | 40 + .../2d.color.type.u8p3.to.u8srgb.to.u8p3.html | 45 + ...olor.type.u8p3.to.u8srgb.to.u8p3.worker.js | 39 + ....color.type.u8srgb.to.f16p3.to.u8srgb.html | 46 + ...r.type.u8srgb.to.f16p3.to.u8srgb.worker.js | 40 + ...d.color.type.u8srgb.to.u8p3.to.u8srgb.html | 45 + ...or.type.u8srgb.to.u8p3.to.u8srgb.worker.js | 39 + ...d.filter.no_shadow.drawImage-expected.html | 111 +- ...osite.grid.filter.no_shadow.drawImage.html | 59 +- ...ite.grid.filter.no_shadow.drawImage.w.html | 59 +- ...id.filter.no_shadow.fillRect-expected.html | 111 +- ...posite.grid.filter.no_shadow.fillRect.html | 59 +- ...site.grid.filter.no_shadow.fillRect.w.html | 59 +- ...rid.filter.no_shadow.pattern-expected.html | 111 +- ...mposite.grid.filter.no_shadow.pattern.html | 59 +- ...osite.grid.filter.no_shadow.pattern.w.html | 59 +- ...grid.filter.shadow.drawImage-expected.html | 111 +- ...omposite.grid.filter.shadow.drawImage.html | 59 +- ...posite.grid.filter.shadow.drawImage.w.html | 59 +- ....grid.filter.shadow.fillRect-expected.html | 111 +- ...composite.grid.filter.shadow.fillRect.html | 59 +- ...mposite.grid.filter.shadow.fillRect.w.html | 59 +- ...e.grid.filter.shadow.pattern-expected.html | 111 +- ....composite.grid.filter.shadow.pattern.html | 59 +- ...omposite.grid.filter.shadow.pattern.w.html | 59 +- ...o_filter.no_shadow.drawImage-expected.html | 111 +- ...te.grid.no_filter.no_shadow.drawImage.html | 59 +- ....grid.no_filter.no_shadow.drawImage.w.html | 59 +- ...no_filter.no_shadow.fillRect-expected.html | 111 +- ...ite.grid.no_filter.no_shadow.fillRect.html | 59 +- ...e.grid.no_filter.no_shadow.fillRect.w.html | 59 +- ....no_filter.no_shadow.pattern-expected.html | 111 +- ...site.grid.no_filter.no_shadow.pattern.html | 59 +- ...te.grid.no_filter.no_shadow.pattern.w.html | 59 +- ...d.no_filter.shadow.drawImage-expected.html | 111 +- ...osite.grid.no_filter.shadow.drawImage.html | 59 +- ...ite.grid.no_filter.shadow.drawImage.w.html | 59 +- ...id.no_filter.shadow.fillRect-expected.html | 111 +- ...posite.grid.no_filter.shadow.fillRect.html | 59 +- ...site.grid.no_filter.shadow.fillRect.w.html | 59 +- ...rid.no_filter.shadow.pattern-expected.html | 111 +- ...mposite.grid.no_filter.shadow.pattern.html | 59 +- ...osite.grid.no_filter.shadow.pattern.w.html | 59 +- ...bject.gaussianBlur.tentative-expected.html | 22 +- ...asFilterObject.gaussianBlur.tentative.html | 17 +- ...FilterObject.gaussianBlur.tentative.w.html | 17 +- ...ayers.gaussianBlur.tentative-expected.html | 22 +- ....filter.layers.gaussianBlur.tentative.html | 17 +- ...ilter.layers.gaussianBlur.tentative.w.html | 17 +- ...ates.ctx-filter.no-transform-expected.html | 39 +- ...global-states.ctx-filter.no-transform.html | 39 +- ...obal-states.ctx-filter.no-transform.w.html | 39 +- ...l-states.ctx-filter.rotation-expected.html | 39 +- ...yer.global-states.ctx-filter.rotation.html | 39 +- ...r.global-states.ctx-filter.rotation.w.html | 39 +- ...ilter.no-transform.tentative-expected.html | 39 +- ...ter.ctx-filter.no-transform.tentative.html | 39 +- ...r.ctx-filter.no-transform.tentative.w.html | 39 +- ...tx-filter.rotation.tentative-expected.html | 39 +- ....filter.ctx-filter.rotation.tentative.html | 39 +- ...ilter.ctx-filter.rotation.tentative.w.html | 39 +- ...ilter.no-transform.tentative-expected.html | 39 +- ....no-cxt-filter.no-transform.tentative.html | 39 +- ...o-cxt-filter.no-transform.tentative.w.html | 39 +- ...xt-filter.rotation.tentative-expected.html | 39 +- ...lter.no-cxt-filter.rotation.tentative.html | 39 +- ...er.no-cxt-filter.rotation.tentative.w.html | 39 +- ...s.no-cxt-filter.no-transform-expected.html | 39 +- ...bal-states.no-cxt-filter.no-transform.html | 39 +- ...l-states.no-cxt-filter.no-transform.w.html | 39 +- ...tates.no-cxt-filter.rotation-expected.html | 39 +- ....global-states.no-cxt-filter.rotation.html | 39 +- ...lobal-states.no-cxt-filter.rotation.w.html | 39 +- ...yer.globalCompositeOperation-expected.html | 59 +- .../2d.layer.globalCompositeOperation.html | 59 +- .../2d.layer.globalCompositeOperation.w.html | 59 +- .../getContextAttributes.html | 18 +- ...vas.2d.offscreen.worker.direction-ref.html | 27 + .../canvas.2d.offscreen.worker.direction.html | 24 +- ...2d.offscreen.worker.direction.inherit.html | 29 +- .../text/text-direction-worker-inherit.js | 4 + .../manual/text/text-direction-worker.js | 4 + ...rs-rendering-align.tentative-expected.html | 13 +- ...xt-clusters-rendering-align.tentative.html | 13 +- ...-clusters-rendering-align.tentative.w.html | 13 +- ...rendering-baseline.tentative-expected.html | 15 +- ...clusters-rendering-baseline.tentative.html | 15 +- ...usters-rendering-baseline.tentative.w.html | 15 +- ...wing-styles-change.tentative-expected.html | 15 +- ...ering-drawing-styles-change.tentative.html | 15 +- ...ing-drawing-styles-change.tentative.w.html | 15 +- .../2d.color.space.p3.to.p3.html | 2 +- .../2d.color.space.p3.to.p3.worker.js | 2 +- .../2d.color.space.p3.to.srgb.html | 2 +- .../2d.color.space.p3.to.srgb.worker.js | 2 +- .../canvas/resources/canvas-grid-reftest.css | 16 + .../html/canvas/tools/gentestutilsunion.py | 173 +- .../wpt/tests/html/canvas/tools/name2dir.yaml | 3 +- .../tools/templates/reftest_element_grid.html | 11 +- .../canvas/tools/templates/reftest_grid.html | 11 +- .../tools/templates/reftest_img_grid.html | 11 +- .../templates/reftest_offscreen_grid.html | 11 +- .../tools/templates/reftest_worker_grid.html | 11 +- .../canvas/tools/yaml-new/color_space.yaml | 4 +- .../canvas/tools/yaml-new/color_type.yaml | 93 + .../option-label-whitespace-ref.html | 16 + .../option-label-whitespace.html | 20 + .../video-transparent-controls-ref.html | 6 + .../video-transparent-controls.html | 7 + .../select-events.tentative.html | 26 +- ...ial-focus-display-animation.tentative.html | 36 + .../select-keyboard-behavior.tentative.html | 1 + .../select-listitems-crash.html | 20 + .../select-parsing.tentative.html | 4 +- ...elect-picker-exit-animation.tentative.html | 67 + ...r-interactive-element-focus.tentative.html | 50 + ...elect-picker-starting-style.tentative.html | 47 + .../dialog-close-via-attribute.tentative.html | 14 +- .../dialog-closedby-crash.html | 5 + .../dialog-closedby-start-open.html | 54 + .../dialog-open-add-closedby-crash.html | 7 +- .../dialog-requestclose-crash.html | 7 +- .../dialog-requestclose.html | 37 + .../popovers/button-type-popovertarget.html | 215 + .../button-type-reset-popovertarget.html | 43 - .../popovers/input-type-popovertarget.html | 172 + .../semantics/popovers/popover-focus-2.html | 32 + .../json-module/http-accept-header-checker.py | 6 + .../json-module/http-accept-header.sub.html | 27 + .../button-event-dispatch.tentative.html | 4 +- .../button-type-behavior.tentative.html | 265 + .../button-type-reflection.tentative.html | 64 + .../command-reflection.tentative.html | 42 + .../interface.tentative.html | 12 +- tests/wpt/tests/interfaces/cssom-view.idl | 3 + tests/wpt/tests/interfaces/html.idl | 3 + .../tests/interfaces/media-capabilities.idl | 6 +- .../tests/interfaces/permissions-policy.idl | 1 + tests/wpt/tests/interfaces/speech-api.idl | 21 - .../wpt/tests/interfaces/web-animations-2.idl | 8 + tests/wpt/tests/lint.ignore | 1 + .../tentative/loaf-source-location.html | 4 + tests/wpt/tests/media/speech.wav | Bin 0 -> 95310 bytes ...r-transition-redirect-explicit-commit.html | 39 + .../after-transition-redirect-push.html | 35 + .../after-transition-redirect-replace.html | 35 + .../commit-behavior/redirect-throws.html | 141 + ...er-transition-intercept-with-redirect.html | 66 + .../camera-potential-report-only.https.html | 2 + .../camera-potential-reporting.https.html | 2 + .../resources/digital-credentials-get.html | 13 +- tests/wpt/tests/png/cicp-chunk.html | 2 +- tests/wpt/tests/png/trns-chunk.html | 2 +- tests/wpt/tests/preload/preload-csp.sub.html | 2 +- .../sethtml-tree-construction.sub.dat | 43 + .../support/html5lib-testcase-support.js | 12 +- ...dia-captured-surface-resolution.https.html | 176 + ...ne-view-functional-notation.tentative.html | 12 +- ...imation-longhand-properties.tentative.html | 44 +- .../pseudo-on-scroller-named-timeline.html | 64 + .../timeline-scope-computed.tentative.html | 14 +- .../css/timeline-scope-parsing.tentative.html | 18 +- .../css/view-timeline-animation.html | 19 + .../css/view-timeline-lookup.html | 2 +- .../css/view-timeline-pseudo-on-scroller.html | 62 + .../intermediate-transform.html | 4 +- .../serialPort_loopback-manual.https.html | 1 + ...HighlightRegistry-highlightsFromPoint.html | 150 + .../reading-flow/tentative/flex-flow.html | 10 +- .../grid-auto-flow-reading-order.html | 56 + ...ageDataUint16StorageFormat.https.window.js | 39 - .../tests/speculation-rules/WEB_FEATURES.yml | 3 + ...ing-after-clear-site-data-cache.https.html | 52 + ...chRecognition-availableOnDevice.https.html | 24 + ...ncurrentMediaStreamTrack-manual.https.html | 66 + ...eechRecognition-installOnDevice.https.html | 41 + ...nstallOnDeviceSpeechRecognition.https.html | 48 - ...gnition-mediaStreamTrack-manual.https.html | 55 + ...tion-onDeviceWebSpeechAvailable.https.html | 38 - tests/wpt/tests/storage-access-api/helpers.js | 13 +- ...s-site-sibling-iframes.sub.https.window.js | 1 - .../resources/embedded_responder.js | 7 +- .../signatures/tentative/csp.window.js | 47 + .../signatures/tentative/helper.js | 77 + .../signatures/tentative/script.window.js | 83 +- .../reftests/fill-fallback-currentcolor-1.svg | 10 + .../reftests/fill-fallback-currentcolor-2.svg | 7 + .../reftests/fill-fallback-invalid-uri.svg | 5 + .../reftests/fill-fallback-none-1.svg | 8 + .../reftests/fill-fallback-none-2.svg | 8 + .../reftests/fill-fallback-none-3.svg | 8 + .../reftests/stroke-fallback-invalid-uri.svg | 5 + tests/wpt/tests/tools/ci/run_tc.py | 2 +- tests/wpt/tests/tools/ci/taskcluster-run.py | 6 +- tests/wpt/tests/tools/ci/tc/tasks/test.yml | 20 + .../wpt/tests/tools/ci/tc/tests/test_valid.py | 25 + .../wptrunner/executors/executorwebdriver.py | 11 +- ...tedTypePolicyFactory-getAttributeType.html | 22 + ...butes-mutations-in-callback.tentative.html | 232 + ...t-attributes-no-require-trusted-types.html | 25 + ...-require-trusted-types-default-policy.html | 91 + ...quire-trusted-types-no-default-policy.html | 69 + .../tests/trusted-types/support/attributes.js | 317 ++ .../{basic.tentative.any.js => basic.any.js} | 2 +- ...ants.tentative.any.js => constants.any.js} | 2 +- ...mports.tentative.any.js => imports.any.js} | 2 +- .../AnimationTrigger/constructor.html | 139 + ...etprocessor-no-process-function.https.html | 44 + .../audioworkletprocessor-no-process.js | 19 + tests/wpt/tests/webcodecs/utils.js | 21 - ...er-codec-specific-orientation.https.any.js | 60 + .../videoDecoder-codec-specific-setup.js | 209 + .../videoDecoder-codec-specific.https.any.js | 212 +- .../webcodecs/videoFrame-drawImage.any.js | 16 +- .../webcodecs/videoFrame-orientation.any.js | 17 +- .../context_destroyed/context_destroyed.py | 31 + .../browsing_context/navigate/navigate.py | 106 +- .../bidi/browsing_context/navigate/wait.py | 16 +- .../navigation_started/navigation_started.py | 31 +- .../bidi/browsing_context/reload/wait.py | 52 +- .../bidi/input/perform_actions/invalid.py | 2 +- .../bidi/network/fetch_error/fetch_error.py | 13 +- .../bidi/session/subscribe/user_contexts.py | 292 +- .../bidi/session/unsubscribe/subscriptions.py | 518 +- .../tests/classic/add_cookie/user_prompts.py | 14 +- .../tests/classic/back/user_prompts.py | 14 +- .../classic/close_window/user_prompts.py | 14 +- .../delete_all_cookies/user_prompts.py | 14 +- .../classic/delete_cookie/user_prompts.py | 14 +- .../classic/element_clear/user_prompts.py | 14 +- .../classic/element_click/user_prompts.py | 14 +- .../classic/element_send_keys/user_prompts.py | 14 +- .../execute_async_script/user_prompts.py | 14 +- .../classic/execute_script/user_prompts.py | 14 +- .../classic/find_element/user_prompts.py | 14 +- .../find_element_from_element/user_prompts.py | 14 +- .../user_prompts.py | 14 +- .../classic/find_elements/user_prompts.py | 14 +- .../user_prompts.py | 14 +- .../user_prompts.py | 14 +- .../tests/classic/forward/user_prompts.py | 14 +- .../classic/fullscreen_window/user_prompts.py | 14 +- .../get_active_element/user_prompts.py | 14 +- .../get_computed_label/user_prompts.py | 120 + .../classic/get_computed_role/user_prompts.py | 120 + .../classic/get_current_url/user_prompts.py | 14 +- .../get_element_attribute/user_prompts.py | 14 +- .../get_element_css_value/user_prompts.py | 14 +- .../get_element_property/user_prompts.py | 14 +- .../classic/get_element_rect/user_prompts.py | 14 +- .../get_element_shadow_root/user_prompts.py | 14 +- .../get_element_tag_name/user_prompts.py | 14 +- .../classic/get_element_text/user_prompts.py | 14 +- .../classic/get_named_cookie/user_prompts.py | 14 +- .../classic/get_page_source/user_prompts.py | 14 +- .../tests/classic/get_title/user_prompts.py | 14 +- .../classic/get_window_handle/user_prompts.py | 4 +- .../get_window_handles/user_prompts.py | 4 +- .../classic/get_window_rect/user_prompts.py | 14 +- .../is_element_enabled/user_prompts.py | 14 +- .../is_element_selected/user_prompts.py | 14 +- .../classic/maximize_window/user_prompts.py | 14 +- .../classic/minimize_window/user_prompts.py | 14 +- .../tests/classic/navigate_to/user_prompts.py | 14 +- .../tests/classic/new_window/user_prompts.py | 14 +- .../classic/perform_actions/user_prompts.py | 14 +- .../tests/classic/print/user_prompts.py | 14 +- .../tests/classic/refresh/user_prompts.py | 14 +- .../classic/set_timeouts/user_prompts.py | 4 +- .../classic/set_window_rect/user_prompts.py | 14 +- .../take_element_screenshot/user_prompts.py | 14 +- .../classic/take_screenshot/user_prompts.py | 14 +- .../tests/webdriver/tests/support/asserts.py | 10 +- .../dequantizeLinear.https.any.js | 51 +- .../misc/texture-video-transparent.html.ini | 3 + 608 files changed, 18662 insertions(+), 8348 deletions(-) create mode 100644 tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-navigation.tentative.https.html.ini create mode 100644 tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-worker-creation.tentative.https.html.ini create mode 100644 tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition.tentative.https.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/CSS2/normal-flow/margin-collapsing-dynamic.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/clip-006.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/clip-007.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/overflow-clip-margin-002.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-computed.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-valid.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-select-arrow-pseudo-element.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-1.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-2.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-ui/interactivity-inert-focus.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity-computed.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini rename tests/wpt/{meta => meta-legacy-layout}/html/browsers/browsing-the-web/navigating-across-documents/008.html.ini (100%) delete mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/009.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edges.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.worker.js.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.worker.js.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/rendering/widgets/button-layout/input-type-button-clip.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-window-open.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/select-value-selectedOption.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/interactive-elements/the-dialog-element/toggle-events.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/semantics/invokers/idlharness.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/semantics/invokers/interestelement-interface.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/semantics/invokers/invokeelement-interface.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/popovers/button-type-reset-popovertarget.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-css-properties.tentative.html.ini create mode 100644 tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-types-with-hints.tentative.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/html/webappapis/scripting/event-loops/fully_active_document.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/constructor-basic.https.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/constructor-invalid.https.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/constructor-non-secure.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/fetch-url-resolve.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/getnotifications-across-processes.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/global-teardown-crash.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/historical.any.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/idlharness.https.any.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/instance.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/permission.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/permissions-non-secure.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/registration-association.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/shownotification-without-permission.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/shownotification.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/tag.https.html.ini create mode 100644 tests/wpt/meta-legacy-layout/notifications/worker-gc.https.window.js.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/detached-frame.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A-A.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AA.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AB.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-A.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-B.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/performance-entry-source.html.ini create mode 100644 tests/wpt/meta-legacy-layout/performance-timeline/tentative/with-filter-options-originA.html.ini delete mode 100644 tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/fetch.any.js.ini delete mode 100644 tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/script.window.js.ini delete mode 100644 tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini create mode 100644 tests/wpt/meta/css/css-color/parsing/color-computed-contrast-color-function.html.ini create mode 100644 tests/wpt/meta/css/css-color/parsing/color-valid-contrast-color-function.html.ini create mode 100644 tests/wpt/meta/css/css-grid/alignment/grid-content-alignment-with-abspos-001.html.ini create mode 100644 tests/wpt/meta/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html.ini create mode 100644 tests/wpt/meta/css/css-mixins/function-container-dynamic.html.ini create mode 100644 tests/wpt/meta/css/css-mixins/function-container-self.html.ini create mode 100644 tests/wpt/meta/css/css-mixins/function-container-style.html.ini delete mode 100644 tests/wpt/meta/css/css-overflow/margin-block-end-scroll-area-001.html.ini create mode 100644 tests/wpt/meta/css/css-overflow/scroll-marker-group-018.html.ini create mode 100644 tests/wpt/meta/css/css-overflow/scroll-marker-group-019.html.ini create mode 100644 tests/wpt/meta/css/css-overflow/scroll-marker-group-020.html.ini delete mode 100644 tests/wpt/meta/css/css-tables/table-cell-overflow-auto-scrolled.html.ini create mode 100644 tests/wpt/meta/css/css-values/if-invalidation.html.ini create mode 100644 tests/wpt/meta/dom/xslt/encoding-single-chunk.html.ini delete mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini delete mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini create mode 100644 tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini rename tests/wpt/meta/html/browsers/history/the-history-interface/{traverse_the_history_5.html.ini => traverse_the_history_3.html.ini} (71%) create mode 100644 tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini create mode 100644 tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini create mode 100644 tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js.ini create mode 100644 tests/wpt/meta/html/rendering/replaced-elements/the-option-element/option-label-whitespace.html.ini delete mode 100644 tests/wpt/meta/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini create mode 100644 tests/wpt/meta/html/semantics/popovers/button-type-popovertarget.html.ini delete mode 100644 tests/wpt/meta/html/semantics/popovers/button-type-reset-popovertarget.html.ini create mode 100644 tests/wpt/meta/html/semantics/popovers/input-type-popovertarget.html.ini create mode 100644 tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html.ini create mode 100644 tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html.ini create mode 100644 tests/wpt/meta/performance-timeline/navigation-id-detached-frame.tentative.html.ini create mode 100644 tests/wpt/meta/shadow-dom/HighlightRegistry-highlightsFromPoint.html.ini create mode 100644 tests/wpt/meta/subresource-integrity/signatures/tentative/csp.window.js.ini create mode 100644 tests/wpt/meta/wasm/jsapi/js-string/basic.any.js.ini delete mode 100644 tests/wpt/meta/wasm/jsapi/js-string/basic.tentative.any.js.ini rename tests/wpt/meta/wasm/jsapi/js-string/{constants.tentative.any.js.ini => constants.any.js.ini} (82%) create mode 100644 tests/wpt/meta/wasm/jsapi/js-string/imports.any.js.ini delete mode 100644 tests/wpt/meta/wasm/jsapi/js-string/imports.tentative.any.js.ini create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continue-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continue-exception-order.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continue.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continue.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-iterating-update.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-iterating-update.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-key.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-key.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-primarykey.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-primarykey.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-request-source.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-request-source.html create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-reused.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-reused.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-source.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-source.htm create mode 100644 tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.htm create mode 100644 tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm create mode 100644 tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm create mode 100644 tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.html create mode 100644 tests/wpt/tests/IndexedDB/idbdatabase_close.any.js delete mode 100644 tests/wpt/tests/IndexedDB/idbdatabase_close.htm delete mode 100644 tests/wpt/tests/IndexedDB/idbdatabase_close2.htm create mode 100644 tests/wpt/tests/content-security-policy/resources/ran.js create mode 100644 tests/wpt/tests/content-security-policy/tentative/require-sri-for/script-allowed-meta.https.html create mode 100644 tests/wpt/tests/content-security-policy/tentative/require-sri-for/script-blocked-meta.https.html create mode 100644 tests/wpt/tests/content-security-policy/tentative/require-sri-for/script.https.html create mode 100644 tests/wpt/tests/cookies/samesite/resources/cross-site-frame-with-sandboxed-embed.html create mode 100644 tests/wpt/tests/cookies/samesite/resources/same-site-none-embed.html create mode 100644 tests/wpt/tests/cookies/samesite/sandbox-allow-same-site-none-cookies-value.tentative.https.html create mode 100644 tests/wpt/tests/css/css-color/parsing/color-computed-contrast-color-function.html create mode 100644 tests/wpt/tests/css/css-color/parsing/color-invalid-contrast-color-function.html create mode 100644 tests/wpt/tests/css/css-color/parsing/color-valid-contrast-color-function.html create mode 100644 tests/wpt/tests/css/css-flexbox/flexbox_justifycontent-stretch.html create mode 100644 tests/wpt/tests/css/css-fonts/italic-oblique-fallback-ref.html create mode 100644 tests/wpt/tests/css/css-fonts/italic-oblique-fallback.html create mode 100644 tests/wpt/tests/css/css-highlight-api/HighlightRegistry-highlightsFromPoint.html create mode 100644 tests/wpt/tests/css/css-inline/empty-span-scroll-ref.html create mode 100644 tests/wpt/tests/css/css-inline/empty-span-scroll.html create mode 100644 tests/wpt/tests/css/css-mixins/function-container-dynamic.html create mode 100644 tests/wpt/tests/css/css-mixins/function-container-self.html create mode 100644 tests/wpt/tests/css/css-mixins/function-container-style.html create mode 100644 tests/wpt/tests/css/css-overflow/scroll-marker-activation-scroll.html create mode 100644 tests/wpt/tests/css/css-overflow/scroll-marker-group-018.html create mode 100644 tests/wpt/tests/css/css-overflow/scroll-marker-group-019.html create mode 100644 tests/wpt/tests/css/css-overflow/scroll-marker-group-020.html create mode 100644 tests/wpt/tests/css/css-overflow/scroll-marker-navigation-cycles.html create mode 100644 tests/wpt/tests/css/css-overflow/scroll-marker-next-focus.html create mode 100644 tests/wpt/tests/css/css-properties-values-api/registered-property-parse-crash.html create mode 100644 tests/wpt/tests/css/css-values/if-invalidation.html create mode 100644 tests/wpt/tests/css/css-variables/url-syntax-crash.html create mode 100644 tests/wpt/tests/css/css-view-transitions/animation-name-ua-prefix.html create mode 100644 tests/wpt/tests/css/selectors/partitioned-visited-manual.tentative.html create mode 100644 tests/wpt/tests/css/selectors/resources/partitioned-visited-cross-site-iframe.html create mode 100644 tests/wpt/tests/css/selectors/resources/partitioned-visited-same-site-iframe.html create mode 100644 tests/wpt/tests/dom/xslt/encoding-single-chunk-ref.html create mode 100644 tests/wpt/tests/dom/xslt/encoding-single-chunk.html create mode 100644 tests/wpt/tests/dom/xslt/resources/reqLine.xsl create mode 100644 tests/wpt/tests/dom/xslt/resources/test.xml create mode 100644 tests/wpt/tests/dom/xslt/resources/testu1LINE.xml create mode 100644 tests/wpt/tests/editing/crashtests/editing-on-newline-should-not-crash.html create mode 100644 tests/wpt/tests/editing/other/copy-elements-with-css-vars.tentative.html create mode 100644 tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.html create mode 100644 tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html create mode 100644 tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html create mode 100644 tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html create mode 100644 tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js create mode 100644 tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction-ref.html create mode 100644 tests/wpt/tests/html/canvas/resources/canvas-grid-reftest.css create mode 100644 tests/wpt/tests/html/canvas/tools/yaml-new/color_type.yaml create mode 100644 tests/wpt/tests/html/rendering/replaced-elements/the-option-element/option-label-whitespace-ref.html create mode 100644 tests/wpt/tests/html/rendering/replaced-elements/the-option-element/option-label-whitespace.html create mode 100644 tests/wpt/tests/html/semantics/embedded-content/the-video-element/video-transparent-controls-ref.html create mode 100644 tests/wpt/tests/html/semantics/embedded-content/the-video-element/video-transparent-controls.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-initial-focus-display-animation.tentative.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-listitems-crash.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-exit-animation.tentative.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-interactive-element-focus.tentative.html create mode 100644 tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-starting-style.tentative.html create mode 100644 tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-start-open.html create mode 100644 tests/wpt/tests/html/semantics/popovers/button-type-popovertarget.html delete mode 100644 tests/wpt/tests/html/semantics/popovers/button-type-reset-popovertarget.html create mode 100644 tests/wpt/tests/html/semantics/popovers/input-type-popovertarget.html create mode 100644 tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header-checker.py create mode 100644 tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header.sub.html create mode 100644 tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html create mode 100644 tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html create mode 100644 tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/command-reflection.tentative.html create mode 100644 tests/wpt/tests/media/speech.wav create mode 100644 tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-explicit-commit.html create mode 100644 tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-push.html create mode 100644 tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-replace.html create mode 100644 tests/wpt/tests/navigation-api/commit-behavior/redirect-throws.html create mode 100644 tests/wpt/tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept-with-redirect.html create mode 100644 tests/wpt/tests/screen-capture/tentative/getdisplaymedia-captured-surface-resolution.https.html create mode 100644 tests/wpt/tests/scroll-animations/css/pseudo-on-scroller-named-timeline.html create mode 100644 tests/wpt/tests/scroll-animations/css/view-timeline-pseudo-on-scroller.html create mode 100644 tests/wpt/tests/shadow-dom/HighlightRegistry-highlightsFromPoint.html create mode 100644 tests/wpt/tests/shadow-dom/focus-navigation/reading-flow/tentative/grid-auto-flow-reading-order.html delete mode 100644 tests/wpt/tests/shape-detection/detection-ImageDataUint16StorageFormat.https.window.js create mode 100644 tests/wpt/tests/speculation-rules/WEB_FEATURES.yml create mode 100644 tests/wpt/tests/speculation-rules/prerender/cancel-prerendering-after-clear-site-data-cache.https.html create mode 100644 tests/wpt/tests/speech-api/SpeechRecognition-availableOnDevice.https.html create mode 100644 tests/wpt/tests/speech-api/SpeechRecognition-concurrentMediaStreamTrack-manual.https.html create mode 100644 tests/wpt/tests/speech-api/SpeechRecognition-installOnDevice.https.html delete mode 100644 tests/wpt/tests/speech-api/SpeechRecognition-installOnDeviceSpeechRecognition.https.html create mode 100644 tests/wpt/tests/speech-api/SpeechRecognition-mediaStreamTrack-manual.https.html delete mode 100644 tests/wpt/tests/speech-api/SpeechRecognition-onDeviceWebSpeechAvailable.https.html create mode 100644 tests/wpt/tests/subresource-integrity/signatures/tentative/csp.window.js create mode 100644 tests/wpt/tests/svg/pservers/reftests/fill-fallback-currentcolor-1.svg create mode 100644 tests/wpt/tests/svg/pservers/reftests/fill-fallback-currentcolor-2.svg create mode 100644 tests/wpt/tests/svg/pservers/reftests/fill-fallback-invalid-uri.svg create mode 100644 tests/wpt/tests/svg/pservers/reftests/fill-fallback-none-1.svg create mode 100644 tests/wpt/tests/svg/pservers/reftests/fill-fallback-none-2.svg create mode 100644 tests/wpt/tests/svg/pservers/reftests/fill-fallback-none-3.svg create mode 100644 tests/wpt/tests/svg/pservers/reftests/stroke-fallback-invalid-uri.svg create mode 100644 tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-getAttributeType.html create mode 100644 tests/wpt/tests/trusted-types/set-attributes-mutations-in-callback.tentative.html create mode 100644 tests/wpt/tests/trusted-types/set-attributes-no-require-trusted-types.html create mode 100644 tests/wpt/tests/trusted-types/set-attributes-require-trusted-types-default-policy.html create mode 100644 tests/wpt/tests/trusted-types/set-attributes-require-trusted-types-no-default-policy.html create mode 100644 tests/wpt/tests/trusted-types/support/attributes.js rename tests/wpt/tests/wasm/jsapi/js-string/{basic.tentative.any.js => basic.any.js} (99%) rename tests/wpt/tests/wasm/jsapi/js-string/{constants.tentative.any.js => constants.any.js} (96%) rename tests/wpt/tests/wasm/jsapi/js-string/{imports.tentative.any.js => imports.any.js} (92%) create mode 100644 tests/wpt/tests/web-animations/interfaces/AnimationTrigger/constructor.html create mode 100644 tests/wpt/tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-no-process-function.https.html create mode 100644 tests/wpt/tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-no-process.js create mode 100644 tests/wpt/tests/webcodecs/videoDecoder-codec-specific-orientation.https.any.js create mode 100644 tests/wpt/tests/webcodecs/videoDecoder-codec-specific-setup.js create mode 100644 tests/wpt/tests/webdriver/tests/classic/get_computed_label/user_prompts.py create mode 100644 tests/wpt/tests/webdriver/tests/classic/get_computed_role/user_prompts.py diff --git a/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-navigation.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-navigation.tentative.https.html.ini new file mode 100644 index 00000000000..575e16729cb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-navigation.tentative.https.html.ini @@ -0,0 +1,2 @@ +[cross-partition-navigation.tentative.https.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-worker-creation.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-worker-creation.tentative.https.html.ini new file mode 100644 index 00000000000..06d580aa061 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition-worker-creation.tentative.https.html.ini @@ -0,0 +1,2 @@ +[cross-partition-worker-creation.tentative.https.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition.tentative.https.html.ini new file mode 100644 index 00000000000..5f8ed6cf262 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/FileAPI/BlobURL/cross-partition.tentative.https.html.ini @@ -0,0 +1,2 @@ +[cross-partition.tentative.https.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/CSS2/normal-flow/margin-collapsing-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/CSS2/normal-flow/margin-collapsing-dynamic.html.ini new file mode 100644 index 00000000000..d1e5504226f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/CSS2/normal-flow/margin-collapsing-dynamic.html.ini @@ -0,0 +1,2 @@ +[margin-collapsing-dynamic.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-computed.html.ini index 8faf718c1fe..83214054c53 100644 --- a/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-computed.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-computed.html.ini @@ -55,3 +55,36 @@ [Property corner-bottom-left-shape value 'superellipse(5)'] expected: FAIL + + [Property corner-shape value 'superellipse(5) round'] + expected: FAIL + + [Property corner-shape value 'bevel superellipse(0.1) round squircle'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.1) superellipse(3) superellipse(7) superellipse(0.1)'] + expected: FAIL + + [Property corner-shape value 'round round round round'] + expected: FAIL + + [Property corner-shape value 'round scoop'] + expected: FAIL + + [Property corner-shape value 'round scoop round scoop'] + expected: FAIL + + [Property corner-shape value 'bevel superellipse(2)'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.5) superellipse(3) straight'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.5) superellipse(3) superellipse(1)'] + expected: FAIL + + [Property corner-shape value 'bevel superellipse(2) squircle round'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.5) superellipse(3) superellipse(1) superellipse(infinity)'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-valid.html.ini index 6bc8e7f18bf..e26a4c8d4ab 100644 --- a/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-valid.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-borders/tentative/parsing/corner-shape-valid.html.ini @@ -352,3 +352,27 @@ [e.style['corner-end-end-shape'\] = "superellipse(calc(0.5 * 4))" should set the property value] expected: FAIL + + [e.style['corner-shape'\] = "round round round round" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "round scoop" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "round scoop round scoop" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "bevel superellipse(2)" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "superellipse(0.5) superellipse(3) straight" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "superellipse(0.5) superellipse(3) superellipse(1)" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "bevel superellipse(2) squircle round" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "superellipse(0.5) superellipse(3) superellipse(1) superellipse(infinity)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/clip-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/clip-006.html.ini new file mode 100644 index 00000000000..dbf80db84f8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/clip-006.html.ini @@ -0,0 +1,2 @@ +[clip-006.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/clip-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/clip-007.html.ini new file mode 100644 index 00000000000..1759d3eb6e8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/clip-007.html.ini @@ -0,0 +1,2 @@ +[clip-007.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-clip-margin-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-clip-margin-002.html.ini new file mode 100644 index 00000000000..faf2fc31844 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-clip-margin-002.html.ini @@ -0,0 +1,2 @@ +[overflow-clip-margin-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-no-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-no-interpolation.html.ini index d6cb20b3a73..1143c15e68b 100644 --- a/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-no-interpolation.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-no-interpolation.html.ini @@ -2,9 +2,6 @@ [CSS Transitions with transition-behavior:allow-discrete: property from [initial\] to [123px\] at (-0.3) should be [initial\]] expected: FAIL - [CSS Transitions with transition-behavior:allow-discrete: property from [initial\] to [123px\] at (0) should be [initial\]] - expected: FAIL - [CSS Transitions with transition-behavior:allow-discrete: property from [initial\] to [123px\] at (0.3) should be [initial\]] expected: FAIL @@ -14,18 +11,12 @@ [CSS Transitions with transition-behavior:allow-discrete: property from [initial\] to [123px\] at (0.6) should be [123px\]] expected: FAIL - [CSS Transitions with transition-behavior:allow-discrete: property from [initial\] to [123px\] at (1) should be [123px\]] - expected: FAIL - [CSS Transitions with transition-behavior:allow-discrete: property from [initial\] to [123px\] at (1.5) should be [123px\]] expected: FAIL [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial\] to [123px\] at (-0.3) should be [initial\]] expected: FAIL - [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial\] to [123px\] at (0) should be [initial\]] - expected: FAIL - [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial\] to [123px\] at (0.3) should be [initial\]] expected: FAIL @@ -35,9 +26,6 @@ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial\] to [123px\] at (0.6) should be [123px\]] expected: FAIL - [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial\] to [123px\] at (1) should be [123px\]] - expected: FAIL - [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property from [initial\] to [123px\] at (1.5) should be [123px\]] expected: FAIL @@ -56,9 +44,6 @@ [CSS Transitions: property from [initial\] to [123px\] at (0.6) should be [123px\]] expected: FAIL - [CSS Transitions: property from [initial\] to [123px\] at (1) should be [123px\]] - expected: FAIL - [CSS Transitions: property from [initial\] to [123px\] at (1.5) should be [123px\]] expected: FAIL @@ -77,18 +62,12 @@ [CSS Transitions with transition: all: property from [initial\] to [123px\] at (0.6) should be [123px\]] expected: FAIL - [CSS Transitions with transition: all: property from [initial\] to [123px\] at (1) should be [123px\]] - expected: FAIL - [CSS Transitions with transition: all: property from [initial\] to [123px\] at (1.5) should be [123px\]] expected: FAIL [CSS Animations: property from [initial\] to [123px\] at (-0.3) should be [initial\]] expected: FAIL - [CSS Animations: property from [initial\] to [123px\] at (0) should be [initial\]] - expected: FAIL - [CSS Animations: property from [initial\] to [123px\] at (0.3) should be [initial\]] expected: FAIL @@ -98,9 +77,6 @@ [CSS Animations: property from [initial\] to [123px\] at (0.6) should be [123px\]] expected: FAIL - [CSS Animations: property from [initial\] to [123px\] at (1) should be [123px\]] - expected: FAIL - [CSS Animations: property from [initial\] to [123px\] at (1.5) should be [123px\]] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin-computed.html.ini index 7fc11b99b1a..ff0634d0a3a 100644 --- a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin-computed.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin-computed.html.ini @@ -1,10 +1,4 @@ [overflow-clip-margin-computed.html] - [Property overflow-clip-margin value '0px'] - expected: FAIL - - [Property overflow-clip-margin value '10px'] - expected: FAIL - [Property overflow-clip-margin value 'content-box'] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin.html.ini index eafd1e97a0c..624adbbde4a 100644 --- a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-clip-margin.html.ini @@ -1,7 +1,4 @@ [overflow-clip-margin.html] - [e.style['overflow-clip-margin'\] = "10px" should set the property value] - expected: FAIL - [e.style['overflow-clip-margin'\] = "content-box" should set the property value] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-computed.html.ini deleted file mode 100644 index 9b5caca8929..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-computed.html.ini +++ /dev/null @@ -1,36 +0,0 @@ -[overflow-computed.html] - [Property overflow value 'clip'] - expected: FAIL - - [Property overflow value 'auto clip'] - expected: FAIL - - [Property overflow value 'clip auto'] - expected: FAIL - - [Property overflow value 'clip clip'] - expected: FAIL - - [Property overflow value 'clip hidden'] - expected: FAIL - - [Property overflow value 'clip scroll'] - expected: FAIL - - [Property overflow value 'clip visible'] - expected: FAIL - - [Property overflow value 'hidden clip'] - expected: FAIL - - [Property overflow value 'scroll clip'] - expected: FAIL - - [Property overflow value 'visible clip'] - expected: FAIL - - [Property overflow-y value 'clip'] - expected: FAIL - - [Property overflow-block value 'clip'] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-valid.html.ini deleted file mode 100644 index e6897a734f6..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-overflow/parsing/overflow-valid.html.ini +++ /dev/null @@ -1,12 +0,0 @@ -[overflow-valid.html] - [e.style['overflow'\] = "clip" should set the property value] - expected: FAIL - - [e.style['overflow'\] = "clip clip" should set the property value] - expected: FAIL - - [e.style['overflow-y'\] = "clip" should set the property value] - expected: FAIL - - [e.style['overflow-block'\] = "clip" should set the property value] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini new file mode 100644 index 00000000000..062a58a6e3f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-check-pseudo-element.tentative.html.ini @@ -0,0 +1,2 @@ +[the-check-pseudo-element.tentative.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-select-arrow-pseudo-element.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-select-arrow-pseudo-element.tentative.html.ini new file mode 100644 index 00000000000..a4c4197b59b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-pseudo/parsing/the-select-arrow-pseudo-element.tentative.html.ini @@ -0,0 +1,2 @@ +[the-select-arrow-pseudo-element.tentative.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-1.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-1.html.ini deleted file mode 100644 index 5c9d7ecf7ea..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-1.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[block-height-1.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-2.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-2.html.ini deleted file mode 100644 index 8e53e770c55..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-sizing/stretch/block-height-2.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[block-height-2.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/interactivity-inert-focus.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/interactivity-inert-focus.tentative.html.ini deleted file mode 100644 index 80f1879f2bf..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-ui/interactivity-inert-focus.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[interactivity-inert-focus.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity-computed.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity-computed.tentative.html.ini deleted file mode 100644 index a2f58805782..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity-computed.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[interactivity-computed.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity.tentative.html.ini deleted file mode 100644 index d1821eacb4d..00000000000 --- a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/interactivity.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[interactivity.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-001.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-001.html.ini index 4955e1dd3dc..37c6149f69f 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-001.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-001.html.ini @@ -10,3 +10,6 @@ [scrollWidth/Height with negative margins: ] expected: FAIL + + [scrollWidth/Height with negative margins: overflow: clip;] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-002.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-002.html.ini index 9dead3c969c..5e15ae6eabf 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-002.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom-view/scrollWidthHeight-negative-margin-002.html.ini @@ -479,3 +479,111 @@ [scrollHeight with negative margins: display: flow-root; overflow: scroll; direction: rtl; flex-direction: row;] expected: FAIL + + [scrollWidth with negative margins: display: flow-root; overflow: clip; direction: ltr; flex-direction: row;] + expected: FAIL + + [scrollHeight with negative margins: display: flow-root; overflow: clip; direction: ltr; flex-direction: row;] + expected: FAIL + + [scrollWidth with negative margins: display: flow-root; overflow: clip; direction: rtl; flex-direction: row;] + expected: FAIL + + [scrollHeight with negative margins: display: flow-root; overflow: clip; direction: rtl; flex-direction: row;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: row;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: row;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: row;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: row;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: row-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: row-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: row-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: row-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: row-reverse wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: row-reverse wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: row-reverse wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: row-reverse wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: column;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: column;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: column;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: column;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: column wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: column wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: column wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: column wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: column-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-direction: column-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: column-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-direction: column-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: column-reverse wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: ltr; flex-flow: column-reverse wrap-reverse;] + expected: FAIL + + [scrollWidth with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: column-reverse wrap-reverse;] + expected: FAIL + + [scrollHeight with negative margins: display: flex; overflow: clip; direction: rtl; flex-flow: column-reverse wrap-reverse;] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/custom-elements/element-internals-shadowroot.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/element-internals-shadowroot.html.ini index 092c83cb16b..8867cf85984 100644 --- a/tests/wpt/meta-legacy-layout/custom-elements/element-internals-shadowroot.html.ini +++ b/tests/wpt/meta-legacy-layout/custom-elements/element-internals-shadowroot.html.ini @@ -1,16 +1,10 @@ [element-internals-shadowroot.html] expected: ERROR - [ElementInternals cannot be called before constructor, upgrade case] - expected: FAIL - [ElementInternals.shadowRoot allows access to open shadow root] expected: FAIL [ElementInternals.shadowRoot allows access to closed shadow root] expected: FAIL - [ElementInternals *can* be called after constructor, upgrade case] - expected: FAIL - [ElementInternals.shadowRoot doesn't reveal pre-attached closed shadowRoot] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini index d8b66a385b9..8205a1b4aa7 100644 --- a/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini +++ b/tests/wpt/meta-legacy-layout/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini @@ -10,3 +10,9 @@ [Reactions to atomic move are called in order of element, not in order of operation] expected: FAIL + + [When connectedCallback is not defined, no crash] + expected: FAIL + + [When disconnectedCallback is not defined, no crash] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-constructor.any.js.ini b/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-constructor.any.js.ini index 8221c036594..f6fc12bc3a4 100644 --- a/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-constructor.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-constructor.any.js.ini @@ -119,6 +119,15 @@ [Producer-initiated unsubscription in a downstream Observable fires abort events before each teardown, in downstream->upstream order] expected: FAIL + [Multiple subscriptions share the same producer and teardown runs only after last subscription abort] + expected: FAIL + + [New subscription after complete creates new producer] + expected: FAIL + + [Teardown runs after last unsubscribe regardless of unsubscription order] + expected: FAIL + [observable-constructor.any.html] [Observable constructor] @@ -240,3 +249,12 @@ [Producer-initiated unsubscription in a downstream Observable fires abort events before each teardown, in downstream->upstream order] expected: FAIL + + [Multiple subscriptions share the same producer and teardown runs only after last subscription abort] + expected: FAIL + + [New subscription after complete creates new producer] + expected: FAIL + + [Teardown runs after last unsubscribe regardless of unsubscription order] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini b/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini index 82405955eaa..bbc5fde7bb0 100644 --- a/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini +++ b/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini @@ -146,6 +146,12 @@ [Invalid iterator protocol error is surfaced before Subscriber#signal is consulted] expected: FAIL + [from(): Asynchronous iterable multiple in-flight subscriptions] + expected: FAIL + + [from(): Sync iterable multiple in-flight subscriptions] + expected: FAIL + [observable-from.any.worker.html] [from(): Observable.from() is a function] @@ -294,3 +300,9 @@ [Invalid iterator protocol error is surfaced before Subscriber#signal is consulted] expected: FAIL + + [from(): Asynchronous iterable multiple in-flight subscriptions] + expected: FAIL + + [from(): Sync iterable multiple in-flight subscriptions] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini deleted file mode 100644 index c27d071ac18..00000000000 --- a/tests/wpt/meta-legacy-layout/fetch/fetch-later/quota.tentative.https.window.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[quota.tentative.https.window.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini index 3a6b179aa6e..33b1919a575 100644 --- a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini @@ -23,15 +23,9 @@ [sec-fetch-user - Not sent to non-trustworthy cross-site destination] expected: FAIL - [sec-fetch-dest - Not sent to non-trustworthy cross-site destination] - expected: FAIL - [sec-fetch-dest - Not sent to non-trustworthy same-origin destination] expected: FAIL - [sec-fetch-dest - Not sent to non-trustworthy same-site destination] - expected: FAIL - [sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination] expected: FAIL @@ -40,3 +34,6 @@ [sec-fetch-mode - Not sent to non-trustworthy same-site destination] expected: FAIL + + [sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination] + expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/008.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/008.html.ini similarity index 100% rename from tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/008.html.ini rename to tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/008.html.ini diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/009.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/009.html.ini deleted file mode 100644 index 3fb21c9b2c6..00000000000 --- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/009.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[009.html] - [Link with onclick form submit to javascript url with document.write and href navigation ] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html.ini index 2241163d563..2c06e12ce81 100644 --- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html.ini +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-nosrc.html.ini @@ -1,9 +1,3 @@ [iframe-nosrc.html] [window.open] expected: FAIL - - [form submission] - expected: FAIL - - [link click] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini new file mode 100644 index 00000000000..60a4fa51f8a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini @@ -0,0 +1,3 @@ +[a-click.html] + [aElement.click() before the load event must NOT replace] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini index 83c85188374..1db21456d90 100644 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini +++ b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini @@ -25,3 +25,9 @@ [Test context creation attributes willReadFrequently: false] expected: FAIL + + [Test context creation attributes colorType: unorm8] + expected: FAIL + + [Test context creation attributes colorType: float16] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini deleted file mode 100644 index dc8137a3a4e..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position-edge-cases.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edges.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edges.tentative.html.ini deleted file mode 100644 index c1d026a098f..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position-edges.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position-edges.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position.tentative.html.ini deleted file mode 100644 index 51ffef6397a..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.caret-position.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini deleted file mode 100644 index dc8137a3a4e..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position-edge-cases.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.worker.js.ini deleted file mode 100644 index 074dbcf4af4..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edge-cases.tentative.worker.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position-edge-cases.tentative.worker.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.html.ini deleted file mode 100644 index c1d026a098f..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position-edges.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.worker.js.ini deleted file mode 100644 index 0133a89a2ff..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position-edges.tentative.worker.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position-edges.tentative.worker.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position.tentative.html.ini deleted file mode 100644 index 51ffef6397a..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.caret-position.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[2d.text.measure.caret-position.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini b/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini index 830aeb8ae48..fdc27d37788 100644 --- a/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini +++ b/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini @@ -1,7 +1,6 @@ [autofocus-dialog.html] - expected: TIMEOUT [ can contain autofocus, without stopping page autofocus content from working] expected: FAIL [-contained autofocus element gets focused when the dialog is shown] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini index 6db14726989..5059f928f1a 100644 --- a/tests/wpt/meta-legacy-layout/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini @@ -83,9 +83,6 @@ [] expected: FAIL - [] - expected: FAIL - [] expected: FAIL @@ -137,9 +134,6 @@ [] expected: FAIL - [] - expected: FAIL - [] expected: FAIL @@ -173,9 +167,6 @@ [] expected: FAIL - [] - expected: FAIL - [] expected: FAIL @@ -242,9 +233,6 @@ [] expected: FAIL - [] - expected: FAIL - [] expected: FAIL @@ -299,9 +287,6 @@ [] expected: FAIL - [] - expected: FAIL - [] expected: FAIL @@ -314,9 +299,6 @@ [] expected: FAIL - [] - expected: FAIL - [] expected: FAIL @@ -329,3 +311,8 @@ [] expected: FAIL + [] + expected: FAIL + + [] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/rendering/widgets/button-layout/input-type-button-clip.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/widgets/button-layout/input-type-button-clip.html.ini new file mode 100644 index 00000000000..1a31628240b --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/rendering/widgets/button-layout/input-type-button-clip.html.ini @@ -0,0 +1,2 @@ +[input-type-button-clip.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-window-open.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-window-open.html.ini new file mode 100644 index 00000000000..973d948efa0 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-window-open.html.ini @@ -0,0 +1,3 @@ +[iframe-loading-lazy-nav-window-open.html] + [Navigating iframe loading='lazy' before it is loaded: location.replace] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index 6f7461b9472..27d7d744d3d 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_nonescaping-1.html] type: testharness [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index f2378357bcc..76e34322dca 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-2.html] type: testharness - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index d5fd800f09d..653c5e98f2f 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_nonescaping-3.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/select-value-selectedOption.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/select-value-selectedOption.tentative.html.ini deleted file mode 100644 index 32d785edfa8..00000000000 --- a/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/select-value-selectedOption.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[select-value-selectedOption.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/interactive-elements/the-dialog-element/toggle-events.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/interactive-elements/the-dialog-element/toggle-events.tentative.html.ini new file mode 100644 index 00000000000..2ed41215882 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/semantics/interactive-elements/the-dialog-element/toggle-events.tentative.html.ini @@ -0,0 +1,2 @@ +[toggle-events.tentative.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/invokers/idlharness.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/invokers/idlharness.tentative.html.ini deleted file mode 100644 index 7238af7327e..00000000000 --- a/tests/wpt/meta-legacy-layout/html/semantics/invokers/idlharness.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[idlharness.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/invokers/interestelement-interface.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/invokers/interestelement-interface.tentative.html.ini deleted file mode 100644 index 8fe4e9c2d7b..00000000000 --- a/tests/wpt/meta-legacy-layout/html/semantics/invokers/interestelement-interface.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[interestelement-interface.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/invokers/invokeelement-interface.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/invokers/invokeelement-interface.tentative.html.ini deleted file mode 100644 index 952e7cada9b..00000000000 --- a/tests/wpt/meta-legacy-layout/html/semantics/invokers/invokeelement-interface.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[invokeelement-interface.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/popovers/button-type-reset-popovertarget.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/popovers/button-type-reset-popovertarget.tentative.html.ini new file mode 100644 index 00000000000..8db294c3caa --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/semantics/popovers/button-type-reset-popovertarget.tentative.html.ini @@ -0,0 +1,2 @@ +[button-type-reset-popovertarget.tentative.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-css-properties.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-css-properties.tentative.html.ini deleted file mode 100644 index 5a0e2042d4a..00000000000 --- a/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-css-properties.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[popover-css-properties.tentative.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-types-with-hints.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-types-with-hints.tentative.html.ini new file mode 100644 index 00000000000..b184c9f66a4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/semantics/popovers/popover-types-with-hints.tentative.html.ini @@ -0,0 +1,2 @@ +[popover-types-with-hints.tentative.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/webappapis/scripting/event-loops/fully_active_document.window.js.ini b/tests/wpt/meta-legacy-layout/html/webappapis/scripting/event-loops/fully_active_document.window.js.ini deleted file mode 100644 index 4da444c3096..00000000000 --- a/tests/wpt/meta-legacy-layout/html/webappapis/scripting/event-loops/fully_active_document.window.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[fully_active_document.window.html] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/navigation-timing/test-navigation-type-reload.html.ini b/tests/wpt/meta-legacy-layout/navigation-timing/test-navigation-type-reload.html.ini index 3f58e17f290..c94589149ae 100644 --- a/tests/wpt/meta-legacy-layout/navigation-timing/test-navigation-type-reload.html.ini +++ b/tests/wpt/meta-legacy-layout/navigation-timing/test-navigation-type-reload.html.ini @@ -10,3 +10,12 @@ [Reload domContentLoadedEventEnd > Original domContentLoadedEventEnd] expected: FAIL + + [Reload domContentLoadedEventStart > Original domContentLoadedEventStart] + expected: FAIL + + [Reload domInteractive > Original domInteractive] + expected: FAIL + + [Reload fetchStart > Original fetchStart] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/constructor-basic.https.html.ini b/tests/wpt/meta-legacy-layout/notifications/constructor-basic.https.html.ini new file mode 100644 index 00000000000..e9cc5687908 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/constructor-basic.https.html.ini @@ -0,0 +1,9 @@ +[constructor-basic.https.html] + [Called the notification constructor with one argument.] + expected: FAIL + + [Constructing a notification without a NotificationOptions defaults to null.] + expected: FAIL + + [constructing a notification with a NotificationOptions dictionary correctly sets and reflects the silent attribute.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/constructor-invalid.https.html.ini b/tests/wpt/meta-legacy-layout/notifications/constructor-invalid.https.html.ini new file mode 100644 index 00000000000..c9e61fa72d4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/constructor-invalid.https.html.ini @@ -0,0 +1,3 @@ +[constructor-invalid.https.html] + [Called the notification constructor with no arguments.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/constructor-non-secure.html.ini b/tests/wpt/meta-legacy-layout/notifications/constructor-non-secure.html.ini new file mode 100644 index 00000000000..398ddff620d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/constructor-non-secure.html.ini @@ -0,0 +1,3 @@ +[constructor-non-secure.html] + [new Notification calls onerror in non-secure contexts] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/fetch-url-resolve.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/fetch-url-resolve.https.window.js.ini new file mode 100644 index 00000000000..9bb35084956 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/fetch-url-resolve.https.window.js.ini @@ -0,0 +1,7 @@ +[fetch-url-resolve.https.window.html] + expected: ERROR + [new Notification() should give a resolved icon URL] + expected: NOTRUN + + [getNotifications() should give a resolved icon URL] + expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/notifications/getnotifications-across-processes.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/getnotifications-across-processes.https.window.js.ini new file mode 100644 index 00000000000..feb4af8281c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/getnotifications-across-processes.https.window.js.ini @@ -0,0 +1,2 @@ +[getnotifications-across-processes.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/notifications/global-teardown-crash.html.ini b/tests/wpt/meta-legacy-layout/notifications/global-teardown-crash.html.ini new file mode 100644 index 00000000000..b8f68bcc916 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/global-teardown-crash.html.ini @@ -0,0 +1,2 @@ +[global-teardown-crash.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/notifications/historical.any.js.ini b/tests/wpt/meta-legacy-layout/notifications/historical.any.js.ini new file mode 100644 index 00000000000..30e578ac510 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/historical.any.js.ini @@ -0,0 +1,8 @@ +[historical.any.html] + [Notification.get is obsolete] + expected: FAIL + + +[historical.any.worker.html] + [Notification.get is obsolete] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/idlharness.https.any.js.ini b/tests/wpt/meta-legacy-layout/notifications/idlharness.https.any.js.ini new file mode 100644 index 00000000000..15fff7cc0b8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/idlharness.https.any.js.ini @@ -0,0 +1,353 @@ +[idlharness.https.any.worker.html] + [idl_test setup] + expected: FAIL + + [Notification interface: existence and properties of interface object] + expected: FAIL + + [Notification interface object length] + expected: FAIL + + [Notification interface object name] + expected: FAIL + + [Notification interface: existence and properties of interface prototype object] + expected: FAIL + + [Notification interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [Notification interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Notification interface: attribute permission] + expected: FAIL + + [Notification interface: member requestPermission] + expected: FAIL + + [Notification interface: attribute maxActions] + expected: FAIL + + [Notification interface: attribute onclick] + expected: FAIL + + [Notification interface: attribute onshow] + expected: FAIL + + [Notification interface: attribute onerror] + expected: FAIL + + [Notification interface: attribute onclose] + expected: FAIL + + [Notification interface: attribute title] + expected: FAIL + + [Notification interface: attribute dir] + expected: FAIL + + [Notification interface: attribute lang] + expected: FAIL + + [Notification interface: attribute body] + expected: FAIL + + [Notification interface: attribute tag] + expected: FAIL + + [Notification interface: attribute image] + expected: FAIL + + [Notification interface: attribute icon] + expected: FAIL + + [Notification interface: attribute badge] + expected: FAIL + + [Notification interface: attribute vibrate] + expected: FAIL + + [Notification interface: attribute timestamp] + expected: FAIL + + [Notification interface: attribute renotify] + expected: FAIL + + [Notification interface: attribute silent] + expected: FAIL + + [Notification interface: attribute requireInteraction] + expected: FAIL + + [Notification interface: attribute data] + expected: FAIL + + [Notification interface: attribute actions] + expected: FAIL + + [Notification interface: operation close()] + expected: FAIL + + [Notification must be primary interface of notification] + expected: FAIL + + [Stringification of notification] + expected: FAIL + + [Notification interface: notification must inherit property "permission" with the proper type] + expected: FAIL + + [Notification interface: notification must not have property "requestPermission"] + expected: FAIL + + [Notification interface: notification must inherit property "maxActions" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onclick" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onshow" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onerror" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onclose" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "title" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "dir" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "lang" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "body" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "tag" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "image" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "icon" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "badge" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "vibrate" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "timestamp" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "renotify" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "silent" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "requireInteraction" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "data" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "actions" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "close()" with the proper type] + expected: FAIL + + [ServiceWorkerRegistration interface: operation showNotification(DOMString, optional NotificationOptions)] + expected: FAIL + + [ServiceWorkerRegistration interface: operation getNotifications(optional GetNotificationOptions)] + expected: FAIL + + +[idlharness.https.any.sharedworker.html] + expected: ERROR + +[idlharness.https.any.serviceworker.html] + expected: ERROR + +[idlharness.https.any.html] + [idl_test setup] + expected: FAIL + + [Notification interface: existence and properties of interface object] + expected: FAIL + + [Notification interface object length] + expected: FAIL + + [Notification interface object name] + expected: FAIL + + [Notification interface: existence and properties of interface prototype object] + expected: FAIL + + [Notification interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [Notification interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Notification interface: attribute permission] + expected: FAIL + + [Notification interface: operation requestPermission(optional NotificationPermissionCallback)] + expected: FAIL + + [Notification interface: attribute maxActions] + expected: FAIL + + [Notification interface: attribute onclick] + expected: FAIL + + [Notification interface: attribute onshow] + expected: FAIL + + [Notification interface: attribute onerror] + expected: FAIL + + [Notification interface: attribute onclose] + expected: FAIL + + [Notification interface: attribute title] + expected: FAIL + + [Notification interface: attribute dir] + expected: FAIL + + [Notification interface: attribute lang] + expected: FAIL + + [Notification interface: attribute body] + expected: FAIL + + [Notification interface: attribute tag] + expected: FAIL + + [Notification interface: attribute image] + expected: FAIL + + [Notification interface: attribute icon] + expected: FAIL + + [Notification interface: attribute badge] + expected: FAIL + + [Notification interface: attribute vibrate] + expected: FAIL + + [Notification interface: attribute timestamp] + expected: FAIL + + [Notification interface: attribute renotify] + expected: FAIL + + [Notification interface: attribute silent] + expected: FAIL + + [Notification interface: attribute requireInteraction] + expected: FAIL + + [Notification interface: attribute data] + expected: FAIL + + [Notification interface: attribute actions] + expected: FAIL + + [Notification interface: operation close()] + expected: FAIL + + [Notification must be primary interface of notification] + expected: FAIL + + [Stringification of notification] + expected: FAIL + + [Notification interface: notification must inherit property "permission" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "requestPermission(optional NotificationPermissionCallback)" with the proper type] + expected: FAIL + + [Notification interface: calling requestPermission(optional NotificationPermissionCallback) on notification with too few arguments must throw TypeError] + expected: FAIL + + [Notification interface: notification must inherit property "maxActions" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onclick" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onshow" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onerror" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "onclose" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "title" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "dir" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "lang" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "body" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "tag" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "image" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "icon" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "badge" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "vibrate" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "timestamp" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "renotify" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "silent" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "requireInteraction" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "data" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "actions" with the proper type] + expected: FAIL + + [Notification interface: notification must inherit property "close()" with the proper type] + expected: FAIL + + [ServiceWorkerRegistration interface: operation showNotification(DOMString, optional NotificationOptions)] + expected: FAIL + + [ServiceWorkerRegistration interface: operation getNotifications(optional GetNotificationOptions)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/instance.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/instance.https.window.js.ini new file mode 100644 index 00000000000..a9ef626f55c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/instance.https.window.js.ini @@ -0,0 +1,2 @@ +[instance.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/notifications/permission.html.ini b/tests/wpt/meta-legacy-layout/notifications/permission.html.ini new file mode 100644 index 00000000000..b9b5d759f7c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/permission.html.ini @@ -0,0 +1,3 @@ +[permission.html] + [Checked the Notification.permission property.] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/notifications/permissions-non-secure.html.ini b/tests/wpt/meta-legacy-layout/notifications/permissions-non-secure.html.ini new file mode 100644 index 00000000000..adceb650578 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/permissions-non-secure.html.ini @@ -0,0 +1,10 @@ +[permissions-non-secure.html] + expected: ERROR + [Notification.requestPermission must be called from a secure context] + expected: FAIL + + [Notification.permission must be called from a secure context] + expected: FAIL + + [Notification.permission must be called from a secure worker] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/notifications/registration-association.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/registration-association.https.window.js.ini new file mode 100644 index 00000000000..b762845e0ae --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/registration-association.https.window.js.ini @@ -0,0 +1,4 @@ +[registration-association.https.window.html] + expected: ERROR + [A new SW registration gets no previous notification] + expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/notifications/shownotification-without-permission.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/shownotification-without-permission.https.window.js.ini new file mode 100644 index 00000000000..0cef35ee46a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/shownotification-without-permission.https.window.js.ini @@ -0,0 +1,4 @@ +[shownotification-without-permission.https.window.html] + expected: ERROR + [showNotificaiton should not be listed with permission=default] + expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/notifications/shownotification.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/shownotification.https.window.js.ini new file mode 100644 index 00000000000..f852259e614 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/shownotification.https.window.js.ini @@ -0,0 +1,2 @@ +[shownotification.https.window.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/notifications/tag.https.html.ini b/tests/wpt/meta-legacy-layout/notifications/tag.https.html.ini new file mode 100644 index 00000000000..fa3a0576e2d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/tag.https.html.ini @@ -0,0 +1,4 @@ +[tag.https.html] + expected: ERROR + [Opening two notifications with the same tag should close the first one] + expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/notifications/worker-gc.https.window.js.ini b/tests/wpt/meta-legacy-layout/notifications/worker-gc.https.window.js.ini new file mode 100644 index 00000000000..8dcee2fe7c8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/notifications/worker-gc.https.window.js.ini @@ -0,0 +1,4 @@ +[worker-gc.https.window.html] + expected: ERROR + [An active notification should prevent worker cycle collection] + expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/detached-frame.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/detached-frame.html.ini new file mode 100644 index 00000000000..c5aac72fad4 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/detached-frame.html.ini @@ -0,0 +1,2 @@ +[detached-frame.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A-A.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A-A.html.ini new file mode 100644 index 00000000000..3a52ab8c6bb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A-A.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-A-A.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A.html.ini new file mode 100644 index 00000000000..be55d35736e --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-A.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-A.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AA.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AA.html.ini new file mode 100644 index 00000000000..53d60ea5e29 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AA.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-AA.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AB.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AB.html.ini new file mode 100644 index 00000000000..f2edd3bd1d8 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-AB.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-AB.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-A.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-A.html.ini new file mode 100644 index 00000000000..f9edb91a6d9 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-A.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-B-A.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-B.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-B.html.ini new file mode 100644 index 00000000000..fe446b62c4c --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B-B.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-B-B.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B.html.ini new file mode 100644 index 00000000000..c37ba79c265 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/include-frames-originA-B.html.ini @@ -0,0 +1,2 @@ +[include-frames-originA-B.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/performance-entry-source.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/performance-entry-source.html.ini new file mode 100644 index 00000000000..9590b722a6d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/performance-entry-source.html.ini @@ -0,0 +1,2 @@ +[performance-entry-source.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/performance-timeline/tentative/with-filter-options-originA.html.ini b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/with-filter-options-originA.html.ini new file mode 100644 index 00000000000..8f143701190 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/performance-timeline/tentative/with-filter-options-originA.html.ini @@ -0,0 +1,2 @@ +[with-filter-options-originA.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/fetch.any.js.ini b/tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/fetch.any.js.ini deleted file mode 100644 index 088777c8ee7..00000000000 --- a/tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/fetch.any.js.ini +++ /dev/null @@ -1,26 +0,0 @@ -[fetch.any.worker.html?include=integrity-pass] - expected: TIMEOUT - -[fetch.any.worker.html?include=integrity-none] - expected: TIMEOUT - -[fetch.any.sharedworker.html?include=integrity-pass] - expected: TIMEOUT - -[fetch.any.worker.html?include=integrity-fail] - expected: TIMEOUT - -[fetch.any.html?include=integrity-pass] - expected: TIMEOUT - -[fetch.any.sharedworker.html?include=integrity-fail] - expected: TIMEOUT - -[fetch.any.sharedworker.html?include=integrity-none] - expected: TIMEOUT - -[fetch.any.html?include=integrity-fail] - expected: TIMEOUT - -[fetch.any.html?include=integrity-none] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/script.window.js.ini b/tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/script.window.js.ini deleted file mode 100644 index 6a9720578d3..00000000000 --- a/tests/wpt/meta-legacy-layout/subresource-integrity/identity-digest/tentative/script.window.js.ini +++ /dev/null @@ -1,8 +0,0 @@ -[script.window.html?include=integrity-pass] - expected: TIMEOUT - -[script.window.html?include=integrity-none] - expected: TIMEOUT - -[script.window.html?include=integrity-fail] - expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini index 011ab5071f8..df78ffbd91e 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/basic.tentative.any.js.ini @@ -1,26 +1,23 @@ -[basic.tentative.any.html] - expected: ERROR +[basic.tentative.any.shadowrealm-in-sharedworker.html] + expected: TIMEOUT -[basic.tentative.any.shadowrealm.html] +[basic.tentative.any.html] + expected: TIMEOUT + +[basic.tentative.https.any.shadowrealm-in-serviceworker.html] + expected: TIMEOUT + +[basic.tentative.https.any.shadowrealm-in-audioworklet.html] + expected: TIMEOUT + +[basic.tentative.any.shadowrealm-in-shadowrealm.html] + expected: TIMEOUT + +[basic.tentative.any.shadowrealm-in-dedicatedworker.html] expected: TIMEOUT [basic.tentative.any.worker.html] - expected: ERROR - -[basic.tentative.any.shadowrealm-in-dedicatedworker.html] - expected: ERROR - -[basic.tentative.any.shadowrealm-in-shadowrealm.html] - expected: ERROR - -[basic.tentative.https.any.shadowrealm-in-audioworklet.html] - expected: ERROR + expected: TIMEOUT [basic.tentative.any.shadowrealm-in-window.html] - expected: ERROR - -[basic.tentative.any.shadowrealm-in-sharedworker.html] - expected: ERROR - -[basic.tentative.https.any.shadowrealm-in-serviceworker.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini index 30f84a64c54..e78b97c51f7 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/constants.tentative.any.js.ini @@ -1,264 +1,23 @@ +[constants.tentative.any.shadowrealm-in-window.html] + expected: TIMEOUT + +[constants.tentative.https.any.shadowrealm-in-audioworklet.html] + expected: TIMEOUT + [constants.tentative.any.html] - [constants] - expected: FAIL + expected: TIMEOUT - [constants 1] - expected: FAIL +[constants.tentative.https.any.shadowrealm-in-serviceworker.html] + expected: TIMEOUT - [constants 2] - expected: FAIL +[constants.tentative.any.shadowrealm-in-sharedworker.html] + expected: TIMEOUT - [constants 3] - expected: FAIL +[constants.tentative.any.shadowrealm-in-dedicatedworker.html] + expected: TIMEOUT - [constants 4] - expected: FAIL - - [constants 5] - expected: FAIL - - [constants 6] - expected: FAIL - - [constants 7] - expected: FAIL - - [constants 8] - expected: FAIL - - [constants 9] - expected: FAIL - - [constants 10] - expected: FAIL - - [constants 11] - expected: FAIL - - [constants 12] - expected: FAIL - - [constants 13] - expected: FAIL - - [constants 14] - expected: FAIL - - [constants 15] - expected: FAIL - - [constants 16] - expected: FAIL - - [constants 17] - expected: FAIL - - [constants 18] - expected: FAIL - - [constants 19] - expected: FAIL - - [constants 20] - expected: FAIL - - [constants 21] - expected: FAIL - - [constants 22] - expected: FAIL - - [constants 23] - expected: FAIL - - [constants 24] - expected: FAIL - - [constants 25] - expected: FAIL - - [constants 26] - expected: FAIL - - [constants 27] - expected: FAIL - - [constants 28] - expected: FAIL - - [constants 29] - expected: FAIL - - [constants 30] - expected: FAIL - - [constants 31] - expected: FAIL - - [constants 32] - expected: FAIL - - [constants 33] - expected: FAIL - - [constants 34] - expected: FAIL - - [constants 35] - expected: FAIL - - [constants 36] - expected: FAIL - - [constants 37] - expected: FAIL - - [constants 38] - expected: FAIL - - [constants 39] - expected: FAIL - - -[constants.tentative.any.shadowrealm.html] +[constants.tentative.any.shadowrealm-in-shadowrealm.html] expected: TIMEOUT [constants.tentative.any.worker.html] - [constants] - expected: FAIL - - [constants 1] - expected: FAIL - - [constants 2] - expected: FAIL - - [constants 3] - expected: FAIL - - [constants 4] - expected: FAIL - - [constants 5] - expected: FAIL - - [constants 6] - expected: FAIL - - [constants 7] - expected: FAIL - - [constants 8] - expected: FAIL - - [constants 9] - expected: FAIL - - [constants 10] - expected: FAIL - - [constants 11] - expected: FAIL - - [constants 12] - expected: FAIL - - [constants 13] - expected: FAIL - - [constants 14] - expected: FAIL - - [constants 15] - expected: FAIL - - [constants 16] - expected: FAIL - - [constants 17] - expected: FAIL - - [constants 18] - expected: FAIL - - [constants 19] - expected: FAIL - - [constants 20] - expected: FAIL - - [constants 21] - expected: FAIL - - [constants 22] - expected: FAIL - - [constants 23] - expected: FAIL - - [constants 24] - expected: FAIL - - [constants 25] - expected: FAIL - - [constants 26] - expected: FAIL - - [constants 27] - expected: FAIL - - [constants 28] - expected: FAIL - - [constants 29] - expected: FAIL - - [constants 30] - expected: FAIL - - [constants 31] - expected: FAIL - - [constants 32] - expected: FAIL - - [constants 33] - expected: FAIL - - [constants 34] - expected: FAIL - - [constants 35] - expected: FAIL - - [constants 36] - expected: FAIL - - [constants 37] - expected: FAIL - - [constants 38] - expected: FAIL - - [constants 39] - expected: FAIL - - -[constants.tentative.any.shadowrealm-in-sharedworker.html] - expected: ERROR - -[constants.tentative.any.shadowrealm-in-window.html] - expected: ERROR - -[constants.tentative.any.shadowrealm-in-shadowrealm.html] - expected: ERROR - -[constants.tentative.any.shadowrealm-in-dedicatedworker.html] - expected: ERROR - -[constants.tentative.https.any.shadowrealm-in-serviceworker.html] - expected: ERROR - -[constants.tentative.https.any.shadowrealm-in-audioworklet.html] - expected: ERROR + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini index 43680ccc3fc..a74efd3d8cf 100644 --- a/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini +++ b/tests/wpt/meta-legacy-layout/wasm/jsapi/js-string/imports.tentative.any.js.ini @@ -1,30 +1,23 @@ -[imports.tentative.any.shadowrealm.html] +[imports.tentative.any.shadowrealm-in-shadowrealm.html] + expected: TIMEOUT + +[imports.tentative.https.any.shadowrealm-in-audioworklet.html] + expected: TIMEOUT + +[imports.tentative.any.shadowrealm-in-dedicatedworker.html] + expected: TIMEOUT + +[imports.tentative.any.shadowrealm-in-window.html] + expected: TIMEOUT + +[imports.tentative.any.html] expected: TIMEOUT [imports.tentative.any.worker.html] - [imports] - expected: FAIL - - -[imports.tentative.any.html] - [imports] - expected: FAIL - - -[imports.tentative.https.any.shadowrealm-in-serviceworker.html] - expected: ERROR + expected: TIMEOUT [imports.tentative.any.shadowrealm-in-sharedworker.html] - expected: ERROR + expected: TIMEOUT -[imports.tentative.any.shadowrealm-in-dedicatedworker.html] - expected: ERROR - -[imports.tentative.any.shadowrealm-in-shadowrealm.html] - expected: ERROR - -[imports.tentative.any.shadowrealm-in-window.html] - expected: ERROR - -[imports.tentative.https.any.shadowrealm-in-audioworklet.html] - expected: ERROR +[imports.tentative.https.any.shadowrealm-in-serviceworker.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 466711e22c8..ba197a1f837 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -4379,7 +4379,14 @@ {} ] ] - } + }, + "registered-property-parse-crash.html": [ + "51b583a980658c0a80c81287dfd7586233a41bc7", + [ + null, + {} + ] + ] }, "css-pseudo": { "chrome-bug-1299142-crash.html": [ @@ -5490,6 +5497,13 @@ {} ] ], + "url-syntax-crash.html": [ + "e7ef1b0aa293845857ebbf35f4aa44c0d807be9e", + [ + null, + {} + ] + ], "whitespace-in-fallback-crash.html": [ "7e150e8453e4d7875ad4bce08aa3af4385d4ffa4", [ @@ -6388,6 +6402,13 @@ {} ] ], + "editing-on-newline-should-not-crash.html": [ + "9c2f6ccaf4ffadac9a04adf4dcca687a3041f9c8", + [ + null, + {} + ] + ], "enableInlineTableEditing-after-updating-selection-range-cross-shadow-dom-boundary.html": [ "b248e03ea05fb85b89ab50e782d37ffec9075ea9", [ @@ -7670,6 +7691,15 @@ {} ] ], + "select-listitems-crash.html": [ + "cdda243877f1e3c699410dd67e25548880b868b9", + [ + null, + { + "testdriver": true + } + ] + ], "selected-option-parser-crash.html": [ "09dc02596922f688c058ec0de5f5489727a6e59c", [ @@ -7806,7 +7836,7 @@ ] ], "dialog-closedby-crash.html": [ - "d85f4e2c8489ba92239ab38a3955286f2fd39fb8", + "9c4fc11daeca9927638ca45bf9c98b882a52cd5e", [ null, {} @@ -7827,7 +7857,7 @@ ] ], "dialog-open-add-closedby-crash.html": [ - "028874d29ce13ae8152ba32ce4adda52d03b85e2", + "4255cf706f10c218b652b5a7335f50a1d3f5720d", [ null, {} @@ -7841,7 +7871,7 @@ ] ], "dialog-requestclose-crash.html": [ - "bfa400a7524ff50e0c862732a66ca7d1a400b4f3", + "c4c4850a2d3c66c189c1e81810a856f5b6c86ff2", [ null, {} @@ -21585,7 +21615,14 @@ {} ] ] - } + }, + "partitioned-visited-manual.tentative.html": [ + "a97fe7cf6f0a781b53087969cd2981117eb10642", + [ + null, + {} + ] + ] } }, "document-picture-in-picture": { @@ -25751,7 +25788,7 @@ ] ], "serialPort_loopback-manual.https.html": [ - "bf876b6610b77cc83170b8e97204c4aafc46058d", + "95dc2498d2ad984b6dbd5c76b785710b95dd128e", [ null, {} @@ -25833,6 +25870,20 @@ {} ] ], + "SpeechRecognition-concurrentMediaStreamTrack-manual.https.html": [ + "9da5cc6347830d76febcb516776e4b2fcbc7d9f4", + [ + null, + {} + ] + ], + "SpeechRecognition-mediaStreamTrack-manual.https.html": [ + "01a5cd0825e7bf50b009928e26c2d32ab67398d9", + [ + null, + {} + ] + ], "SpeechRecognition-onerror-manual.https.html": [ "b0d5d5ebed059c92941af734d6e9d317aa6eda87", [ @@ -176489,6 +176540,19 @@ {} ] ], + "flexbox_justifycontent-stretch.html": [ + "d49689d1dc03b2fc7a4b7f1121bec1031ebaeb53", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], "flexbox_margin-auto-overflow.html": [ "8d7860f8866a14861a736119c3169d3b6d2d53f5", [ @@ -183102,6 +183166,19 @@ {} ] ], + "italic-oblique-fallback.html": [ + "48187ea0f7e2556d563ee2d5c817818a8769bf11", + [ + null, + [ + [ + "/css/css-fonts/italic-oblique-fallback-ref.html", + "==" + ] + ], + {} + ] + ], "lang-attribute-affects-rendering.html": [ "041fd8f5abdc1524b585673e919de83126efe49a", [ @@ -196542,7 +196619,7 @@ ] ], "gradient-longer-hue-lch-001.html": [ - "f4217e8467bf026c1627cdba51ba132a63744878", + "c22151b2b02238d19f64900a20f5ae0ba3ec1b18", [ null, [ @@ -196551,11 +196628,27 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 70 + ] + ] + ] + ] + } ] ], "gradient-longer-hue-lch-002.html": [ - "adb54a0dd661886e5a15b4bdea9706991c12e47e", + "448f09033ef2b8940c3321cc7840d95ae525ec61", [ null, [ @@ -196564,7 +196657,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "gradient-longer-hue-lch-003.html": [ @@ -196655,7 +196764,7 @@ ] ], "gradient-longer-hue-lch-006.html": [ - "d44c9c4b9610383f00c8e6df3239c8b5fb91da05", + "4cd257b8bf8c5c8ae4bf399bd3d7ed560ced92e5", [ null, [ @@ -196664,7 +196773,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 20 + ] + ] + ] + ] + } ] ], "gradient-longer-hue-lch-007.html": [ @@ -202268,6 +202393,19 @@ ] ] }, + "empty-span-scroll.html": [ + "a7bb092660246ab370ffd04d16e13a11e20c803e", + [ + null, + [ + [ + "/css/css-inline/empty-span-scroll-ref.html", + "==" + ] + ], + {} + ] + ], "empty-span-size-001.html": [ "bbb33c6fc59221c6df2dd678bd401dac404863f1", [ @@ -223591,7 +223729,7 @@ ] ], "overflow-clip-margin-border-radius.html": [ - "723b7c0e9ee3162bae1fe09feb472f97a18abc00", + "52edf802404cebd11976c24e043ea069252312cd", [ null, [ @@ -224584,6 +224722,45 @@ {} ] ], + "scroll-marker-group-018.html": [ + "927d8ba61b80b6a264c3c4b577a249e32029dc88", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "scroll-marker-group-019.html": [ + "9c2c5a0c0dc3360ab3a9ecde998a52277831ec0e", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "scroll-marker-group-020.html": [ + "1f69fc80d3d991cfef992992702fc5b1b2b9f274", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "scroll-marker-group-add-dynamic-001.html": [ "b12fcdef1b1259e916c3670223289b26b02cce22", [ @@ -231107,7 +231284,7 @@ ] ], "highlight-painting-001.html": [ - "1263be8f887c803d6bfd16dc99fb5ba2e621debd", + "ef253e6117c94ef63f9be97eaac0d94667c9fce3", [ null, [ @@ -231116,27 +231293,11 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 23 - ], - [ - 0, - 3 - ] - ] - ] - ] - } + {} ] ], "highlight-painting-002.html": [ - "55d30af7c633c0ea137710c5d8cae94fd0562a65", + "a00f64d5b659f59945b7b6d7586f7fbdbfcb2149", [ null, [ @@ -231547,7 +231708,7 @@ ] ], "highlight-painting-shadows-horizontal.html": [ - "6ddff5b32e7d30dd5fe3cbf9f33d3aaafcd5fc4d", + "b1762e85ae31fc6dc640fd038ec0edf7ee7d4e25", [ null, [ @@ -231567,7 +231728,7 @@ ], [ 0, - 30 + 20 ] ] ] @@ -231576,7 +231737,7 @@ ] ], "highlight-painting-shadows-vertical.html": [ - "bd1e328ca7b1817ca75ac5e4a41eabb1c4e5254a", + "7187c34da4495fbaded9b9986e5a26889fde6beb", [ null, [ @@ -231596,7 +231757,7 @@ ], [ 0, - 8 + 4 ] ] ] @@ -233153,7 +233314,7 @@ ] ], "target-text-shadow-vertical.html": [ - "3ba2d41a2be17ef9cb0d7cde4f494271b491e080", + "088f6fc175e7a581b74709c7214e22401098cd52", [ null, [ @@ -233162,23 +233323,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 20 - ], - [ - 0, - 6100 - ] - ] - ] - ] - } + {} ] ], "target-text-text-decoration-001.html": [ @@ -271010,7 +271155,7 @@ ], "text-shadow": { "basic-negcoord.html": [ - "52a6d42945d99b85092d5acc61a2212a85241112", + "1e29b42f733ff7b2f76f4dd20a34d9a3528cb84d", [ null, [ @@ -271019,23 +271164,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 100 - ], - [ - 0, - 180 - ] - ] - ] - ] - } + {} ] ], "basic-opacity-near-zero.html": [ @@ -271065,7 +271194,7 @@ ] ], "basic-opacity.html": [ - "daaa0b6c5ab0f46deda82c686a7bee617708547a", + "a8cea6ad0e64d4e2e185d45c9a49262d33e59da0", [ null, [ @@ -271074,27 +271203,11 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 30 - ], - [ - 0, - 210 - ] - ] - ] - ] - } + {} ] ], "basic.html": [ - "289d78c2a2f9d62e86c6db646c15fa9336d215c0", + "fc470ea6d0356702f593699cf7019be11bff11d7", [ null, [ @@ -271103,23 +271216,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 70 - ], - [ - 0, - 560 - ] - ] - ] - ] - } + {} ] ], "blur.html": [ @@ -271136,7 +271233,7 @@ ] ], "color-inherit.html": [ - "e19df003f74027d1e059d1295909ed4ff00e7294", + "abb2cffd0ac24796c06b7225dc94528f7d6efd72", [ null, [ @@ -271145,23 +271242,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 100 - ], - [ - 0, - 170 - ] - ] - ] - ] - } + {} ] ], "color-parserorder.html": [ @@ -271230,7 +271311,7 @@ ] ], "multiple-noblur.html": [ - "5adbb49eb54708ea3b72f31eeba99d7794ec663f", + "cf86e4bb71e8e7a730e8aa95df8d1be3022a7fe6", [ null, [ @@ -271239,23 +271320,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 140 - ], - [ - 0, - 480 - ] - ] - ] - ] - } + {} ] ], "overflow-not-scrollable-1.html": [ @@ -271315,7 +271380,7 @@ ] ], "standards-decor-noblur-2.html": [ - "cb92ae11a6e6939f3c776247685658fd909aa800", + "75d95b578dcf08d073576940c7a7a06f6458909e", [ null, [ @@ -271335,7 +271400,7 @@ ], [ 0, - 1100 + 14 ] ] ] @@ -271357,7 +271422,7 @@ ] ], "svg-fill-none.html": [ - "6ddf2f0d9674d097f003bc8eb587b642777ed0a8", + "389db4a3426e0a98bf0e90d62ef94fdc8facc4f7", [ null, [ @@ -271366,23 +271431,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 100 - ], - [ - 1000, - 2000 - ] - ] - ] - ] - } + {} ] ], "svg-fill-opacity.html": [ @@ -271399,7 +271448,7 @@ ] ], "svg-stroke-dasharray.html": [ - "e8c98fd08526c53d634c75cae254d1764acccfd0", + "bd77d85edf4f7a4f2bc13afc9ae72e06d991b8e7", [ null, [ @@ -271408,23 +271457,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 100 - ], - [ - 2000, - 2300 - ] - ] - ] - ] - } + {} ] ], "svg-stroke.html": [ @@ -272313,7 +272346,7 @@ ] ], "backface-visibility-hidden-001.html": [ - "2476f5b4e44c128f03f9358c9ad58ad642ae4d91", + "476eb289b86785b075338feecaabc785fc39dedf", [ null, [ @@ -272329,11 +272362,11 @@ [ [ 0, - 79 + 100 ], [ 0, - 200 + 300 ] ] ] @@ -300461,6 +300494,19 @@ {} ] ], + "animation-name-ua-prefix.html": [ + "4d31c551d92775e4a8659ae2ccf34f547598a1a1", + [ + null, + [ + [ + "/css/reference/blank.html", + "==" + ] + ], + {} + ] + ], "auto-name-from-id-shadow.html": [ "b5020d658eca8797925d04bb7fb78401d738f147", [ @@ -329214,7 +329260,7 @@ ] ], "focus-within-004.html": [ - "bec71d017a2df1d05ac45bfc9a35d92a0ac67db7", + "169af9e0706aa993a64ce64d6b198679e2e5dcdf", [ null, [ @@ -329223,23 +329269,7 @@ "==" ] ], - { - "fuzzy": [ - [ - null, - [ - [ - 0, - 100 - ], - [ - 0, - 600 - ] - ] - ] - ] - } + {} ] ], "focus-within-005.html": [ @@ -333331,6 +333361,19 @@ ] ], "xslt": { + "encoding-single-chunk.html": [ + "5e6af833ded0472b70d77c89198e6325dfcbb855", + [ + null, + [ + [ + "/dom/xslt/encoding-single-chunk-ref.html", + "==" + ] + ], + {} + ] + ], "large-cdata.html": [ "9c83b731bd0bec908f520fd8d71381f6592aa490", [ @@ -334325,7 +334368,7 @@ ] ], "2d.composite.grid.filter.no_shadow.drawImage.html": [ - "acf9892ec37555645872fc61f225e053a9d98b4e", + "3b55b2e923fb713989a7f8a851bcc2b35c07159e", [ null, [ @@ -334354,7 +334397,7 @@ ] ], "2d.composite.grid.filter.no_shadow.fillRect.html": [ - "be37d492581c7147c239c3b009bc07c2a6b64ce5", + "7addb60d333672f55affdc369c4326918a3a4485", [ null, [ @@ -334383,7 +334426,7 @@ ] ], "2d.composite.grid.filter.no_shadow.pattern.html": [ - "7e68be70eaa9ccbc2ff6ba9a44af57bd842e2b74", + "415b0b78b7eee8cd846b642e3ae08cc84345faaf", [ null, [ @@ -334412,7 +334455,7 @@ ] ], "2d.composite.grid.filter.shadow.drawImage.html": [ - "918debe2e4097230a7b0e2adb9966614f1cabec0", + "e9784a3dc700e07268142b71e6e63723c72018fd", [ null, [ @@ -334441,7 +334484,7 @@ ] ], "2d.composite.grid.filter.shadow.fillRect.html": [ - "363f9ed454efa0ab4fc5409fe907bb477041793a", + "784a068b7174476d5ce9cce77cb43b283e086249", [ null, [ @@ -334470,7 +334513,7 @@ ] ], "2d.composite.grid.filter.shadow.pattern.html": [ - "18ea3a473d8c9b001e3ee455d734c4ebd52e1559", + "e13bf471b94c47a64f664a4d886ad06f79c6a0e4", [ null, [ @@ -334499,7 +334542,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.drawImage.html": [ - "cd9ad95b92c2913f03dacfeb4f9170956dcabc0f", + "42a331f7c9bac63123479d027db9c5c7dc2ddc1e", [ null, [ @@ -334528,7 +334571,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.fillRect.html": [ - "f007fd3fc7e16a3c52937295c5bbbb270b2128e9", + "8a01e7abb0cdd9e4dd8e2e03ede3dd955339f3e9", [ null, [ @@ -334557,7 +334600,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.pattern.html": [ - "5362b2f1f5348b6f340b3d7224f132c746e42c0c", + "6c8d0e69cac01bf49a9f3b15942c493426aee37a", [ null, [ @@ -334586,7 +334629,7 @@ ] ], "2d.composite.grid.no_filter.shadow.drawImage.html": [ - "e77309135d69d819e08a3f695b0567b166f9b325", + "625a613253f267d96b7dc2e9516718aa0f79b0e5", [ null, [ @@ -334615,7 +334658,7 @@ ] ], "2d.composite.grid.no_filter.shadow.fillRect.html": [ - "c82ca80cadfb0519051ef0762fc4388773b10286", + "d01e7bc0ed67f63e02e5ae54c54f5bf9e9516495", [ null, [ @@ -334644,7 +334687,7 @@ ] ], "2d.composite.grid.no_filter.shadow.pattern.html": [ - "bc7d0134b344a0fb6cf108a2c35bf848e2557182", + "7512b21b06913daac65846eea678bf880d8cdfd6", [ null, [ @@ -334817,7 +334860,7 @@ ] ], "2d.filter.canvasFilterObject.gaussianBlur.tentative.html": [ - "1de72acd6a201d7c49122a747edc1afbfbe5f4d7", + "5aff8fd31c39402b1cf18227a9647684c02690b6", [ null, [ @@ -334985,7 +335028,7 @@ ] ], "2d.filter.layers.gaussianBlur.tentative.html": [ - "0bfd704ca1dea73145fffe7a6cfb3c0ec8c9113f", + "1dfc5eae449ad4180c76b5ce1fafd55e1b33e0db", [ null, [ @@ -335390,7 +335433,7 @@ ] ], "2d.layer.global-states.ctx-filter.no-transform.html": [ - "5925870ce2eac2759fd9f29767175ba34bca59aa", + "811666fc3fd338130984a836b47891d57cc21306", [ null, [ @@ -335403,7 +335446,7 @@ ] ], "2d.layer.global-states.ctx-filter.rotation.html": [ - "548b010800508e24b901697bb80df1b039e1eaab", + "bbb0790d2beafd9bb7c08c2eccbec0c60f4fe533", [ null, [ @@ -335416,7 +335459,7 @@ ] ], "2d.layer.global-states.filter.ctx-filter.no-transform.tentative.html": [ - "415cf0360af02ece8c2c4b859098d71ad93024d9", + "91e298b18b002d4c8ba1d3bebf9445a219c07017", [ null, [ @@ -335429,7 +335472,7 @@ ] ], "2d.layer.global-states.filter.ctx-filter.rotation.tentative.html": [ - "0573cd7f3bea33771baff10e818f50d23363633c", + "27c85cbfa40d4682c462c1b8922153ea1eaad1c0", [ null, [ @@ -335442,7 +335485,7 @@ ] ], "2d.layer.global-states.filter.no-cxt-filter.no-transform.tentative.html": [ - "591c58acc97dfe6dd660491316c61e565633802d", + "03d4d5ec595872616b6928e919ae7038abb58f64", [ null, [ @@ -335455,7 +335498,7 @@ ] ], "2d.layer.global-states.filter.no-cxt-filter.rotation.tentative.html": [ - "ca75d4d1515a9b84b180ac4c8a874203e324dd51", + "9bc61e6ddcf9ba6b1193f7d58057209506737afe", [ null, [ @@ -335468,7 +335511,7 @@ ] ], "2d.layer.global-states.no-cxt-filter.no-transform.html": [ - "4da6758c9f42e0d5cc84c32f86478c3d8fb80206", + "de8510b47f1bc10c64ae9e4a292df97859f00bd3", [ null, [ @@ -335481,7 +335524,7 @@ ] ], "2d.layer.global-states.no-cxt-filter.rotation.html": [ - "9ffa680aca3559109171bbf40c58663d07932368", + "37ed61ea955f8b55dfd03694489c244154f97728", [ null, [ @@ -335494,7 +335537,7 @@ ] ], "2d.layer.globalCompositeOperation.html": [ - "29a163260ded0cfa0148d86f044cfbf1a11e90c5", + "3dfe1df7956b02446470d972f5874d7387210523", [ null, [ @@ -337124,7 +337167,7 @@ ] ], "2d.text.measure.text-clusters-rendering-align.tentative.html": [ - "159efb4fee4dd290f35faa76d86b407418a4680b", + "08523af5e7e66a2b76746127874802407c1169ed", [ null, [ @@ -337137,7 +337180,7 @@ ] ], "2d.text.measure.text-clusters-rendering-baseline.tentative.html": [ - "c20e076a3514921f6a82b10304c04fdb01c1da0e", + "ec65e3c2301baf61e89e140a5a792632360f9772", [ null, [ @@ -337150,7 +337193,7 @@ ] ], "2d.text.measure.text-clusters-rendering-drawing-styles-change.tentative.html": [ - "fac5f6f2b67163d652e4ddca6680c39dea3ae754", + "1eb9169dc104476f79ca6a19da791adbdd88c153", [ null, [ @@ -337232,7 +337275,7 @@ "offscreen": { "compositing": { "2d.composite.grid.filter.no_shadow.drawImage.html": [ - "5a90053e8f681b2daf00bf143f46d729b748ce50", + "33cdebbaf9a1e81d131c160f9ec9a0faaaec836c", [ null, [ @@ -337261,7 +337304,7 @@ ] ], "2d.composite.grid.filter.no_shadow.drawImage.w.html": [ - "d010912cd06d497633726f0cdc9c7bb993b72615", + "1dd45863376dfa6cbf402878a71783d9f0ef394c", [ null, [ @@ -337290,7 +337333,7 @@ ] ], "2d.composite.grid.filter.no_shadow.fillRect.html": [ - "6bad129784f26b485759f0ae5bf66c3a14c129e2", + "b0e8021079ed0b548c686b5e30a924eda3f702c4", [ null, [ @@ -337319,7 +337362,7 @@ ] ], "2d.composite.grid.filter.no_shadow.fillRect.w.html": [ - "0c93086b54c89cdcb5d1e7ea58006cd85ad13494", + "ad95af2f11abfc0a9fb7c0237a57e2542927b65d", [ null, [ @@ -337348,7 +337391,7 @@ ] ], "2d.composite.grid.filter.no_shadow.pattern.html": [ - "47cd363f06ee8c030c7e85c38292f268c97ba519", + "cb5578b33303b95b29bfe5c2e1fdd75d289a6f92", [ null, [ @@ -337377,7 +337420,7 @@ ] ], "2d.composite.grid.filter.no_shadow.pattern.w.html": [ - "7f07a2c76451122e9ccb531f0839ebf8676f3976", + "cba6b24442c8cfc930f71c418a3b63a93c255f4d", [ null, [ @@ -337406,7 +337449,7 @@ ] ], "2d.composite.grid.filter.shadow.drawImage.html": [ - "fc8f2e20162c69328476d9041129595041353493", + "b7366604f1eabcc4843fd416766c6386d9b70b62", [ null, [ @@ -337435,7 +337478,7 @@ ] ], "2d.composite.grid.filter.shadow.drawImage.w.html": [ - "fb417b9c57610a1a13c89ee18f67cf9486465af3", + "1ab054dc4926284ef16bf7e4552987095db95ad5", [ null, [ @@ -337464,7 +337507,7 @@ ] ], "2d.composite.grid.filter.shadow.fillRect.html": [ - "995bc9d65e62fe85fc4adec2b556ee3e8ec62541", + "b3d10c8fdd3b730d6fb2e03cb765ef1acee3ef6a", [ null, [ @@ -337493,7 +337536,7 @@ ] ], "2d.composite.grid.filter.shadow.fillRect.w.html": [ - "78c509f40f3c0c125d93f9b54a33feb972f8e4fa", + "cad533fb31fd55b01d7ff68588ae82253e4e5223", [ null, [ @@ -337522,7 +337565,7 @@ ] ], "2d.composite.grid.filter.shadow.pattern.html": [ - "f1bc4c64be79f6e25eebd61c634fd1ce8109e296", + "ce9ec1859db061f9bb8414ed12feb1571cd41584", [ null, [ @@ -337551,7 +337594,7 @@ ] ], "2d.composite.grid.filter.shadow.pattern.w.html": [ - "de144bfaa6410a9130276e7639020bd83fe80114", + "6ea16577b035a87e1902fff69c67463511522912", [ null, [ @@ -337580,7 +337623,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.drawImage.html": [ - "5aac6d6b212d3910bc465d2755ffeeb6d8842c1c", + "3f3e9aa20f9ae9b7d4bb0bfea46b39cae620ecd5", [ null, [ @@ -337609,7 +337652,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.drawImage.w.html": [ - "67fdbabce2ea11eaa40e7ff8f94701c617b481cd", + "a71fa1898d816f8527dec97d73ea99b8c290484e", [ null, [ @@ -337638,7 +337681,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.fillRect.html": [ - "c1001d778158c9de4d95176917321141c2a4f01a", + "5d4cd718736b6078b69709d0381941bfda8b7170", [ null, [ @@ -337667,7 +337710,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.fillRect.w.html": [ - "fcc39718c39980b1c0e1c376f737d1d5e39016a0", + "b65d0781feac0309806344f649983c638910ba82", [ null, [ @@ -337696,7 +337739,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.pattern.html": [ - "b977eb0bec3e239ebd7cfc8ab925fe0f1ecc729c", + "9fdc10468049daba8853064dc600dccc99b6fafd", [ null, [ @@ -337725,7 +337768,7 @@ ] ], "2d.composite.grid.no_filter.no_shadow.pattern.w.html": [ - "9e9eb0229157b2315dfbe83e90e756cd5d42ae4b", + "c3b242623f932e263647ac39d41c75adf2d0cd0c", [ null, [ @@ -337754,7 +337797,7 @@ ] ], "2d.composite.grid.no_filter.shadow.drawImage.html": [ - "382f3abeb195fe5575cfa5f4980262ad0c9f960e", + "edbcce1044996f48ec8e9ab2579e59bd200208d1", [ null, [ @@ -337783,7 +337826,7 @@ ] ], "2d.composite.grid.no_filter.shadow.drawImage.w.html": [ - "56db72864d3f1e5af63a5a55392b588b62313c96", + "65563217ebf8c553d93f47d9f0b976dd33267884", [ null, [ @@ -337812,7 +337855,7 @@ ] ], "2d.composite.grid.no_filter.shadow.fillRect.html": [ - "bb58344fcbd6c3410cd3f6021e91cf2a446d5571", + "faac7dcaf6444a2d17a8186d81c15fd3f9d5a745", [ null, [ @@ -337841,7 +337884,7 @@ ] ], "2d.composite.grid.no_filter.shadow.fillRect.w.html": [ - "3586c806cd4e32efd891b4b6a638635d7106caf9", + "68170021c0b37d9fe87b250c13a44ab802c69570", [ null, [ @@ -337870,7 +337913,7 @@ ] ], "2d.composite.grid.no_filter.shadow.pattern.html": [ - "9703ea138d0baac48fc5e21f2addb4c40c47f77f", + "f92d1b8ac7a7a51455cf7877111a3d55dff7ad07", [ null, [ @@ -337899,7 +337942,7 @@ ] ], "2d.composite.grid.no_filter.shadow.pattern.w.html": [ - "318d2b971e446693cc616090c15427659a68981b", + "898b5ff601e97e0ce15d31ec3b5f0f4b86f64fe8", [ null, [ @@ -338214,7 +338257,7 @@ ] ], "2d.filter.canvasFilterObject.gaussianBlur.tentative.html": [ - "204fa615d4ed4a9316e2ed6229ee66c153c06220", + "809f8f0fa6c90cb3af2afea7e8cfd5630a640253", [ null, [ @@ -338227,7 +338270,7 @@ ] ], "2d.filter.canvasFilterObject.gaussianBlur.tentative.w.html": [ - "8545306c0c6d68001ae5ed9fb95737b6499e4036", + "205fd8df30fa56f21ef4f01a0976744121f799b5", [ null, [ @@ -338550,7 +338593,7 @@ ] ], "2d.filter.layers.gaussianBlur.tentative.html": [ - "f4bbfd8bf2ce0d6a3f2d905fcc70472a3ed08cc5", + "fe5df35cccbf786f679abd2cfc6f45b2c23fc128", [ null, [ @@ -338563,7 +338606,7 @@ ] ], "2d.filter.layers.gaussianBlur.tentative.w.html": [ - "ffbed3f53b77b5692efb420aa090c70ef989b051", + "e76401dc037b4b0493742e0abf6141d639592d62", [ null, [ @@ -339306,7 +339349,7 @@ ] ], "2d.layer.global-states.ctx-filter.no-transform.html": [ - "6d3f95cc7306b0be90217cc0e83f3ad41cae9a01", + "889ed5f8532d4f85bbb6250bf41ce5447c359142", [ null, [ @@ -339319,7 +339362,7 @@ ] ], "2d.layer.global-states.ctx-filter.no-transform.w.html": [ - "d20c6332618d76d2d115c414c1808e36a68f95fa", + "86aba29eaaa7138fa246e1071b1145c8de5e4e6c", [ null, [ @@ -339332,7 +339375,7 @@ ] ], "2d.layer.global-states.ctx-filter.rotation.html": [ - "f974aaf6969937130933402df74cee2cb86caeed", + "7493ffd76daaee8b9fe7d0ca6972417a76497c81", [ null, [ @@ -339345,7 +339388,7 @@ ] ], "2d.layer.global-states.ctx-filter.rotation.w.html": [ - "93e88ea0076a02aa6a5976a3e646dd98fa5245b2", + "9d56f233f045cfce84e6a127c55313c755d62879", [ null, [ @@ -339358,7 +339401,7 @@ ] ], "2d.layer.global-states.filter.ctx-filter.no-transform.tentative.html": [ - "0dd8471feb29d939582cf466878afd1837dc09f9", + "ae2f9768245fb92b8a128155c9d97de2c33d152b", [ null, [ @@ -339371,7 +339414,7 @@ ] ], "2d.layer.global-states.filter.ctx-filter.no-transform.tentative.w.html": [ - "24613ffafa624b59dbd2e18045d9b90305523043", + "54805ece1d317f2141e42e14f5459aa117e48414", [ null, [ @@ -339384,7 +339427,7 @@ ] ], "2d.layer.global-states.filter.ctx-filter.rotation.tentative.html": [ - "ba26f9106955a006acf90ccd0bf416c4d46a6f36", + "251eb4508d6bf34191301daddf0acab421418720", [ null, [ @@ -339397,7 +339440,7 @@ ] ], "2d.layer.global-states.filter.ctx-filter.rotation.tentative.w.html": [ - "59ebb65e7ad0eebe8d364f3754692d6b3009ca8d", + "37ac320b6defbe45f743557461b19b35e0406a6a", [ null, [ @@ -339410,7 +339453,7 @@ ] ], "2d.layer.global-states.filter.no-cxt-filter.no-transform.tentative.html": [ - "388a98f20f7700c079ea0b3bf5cb1e5302f6391f", + "bcbecc6d3381824eb3072a2ca11b16a3210b6548", [ null, [ @@ -339423,7 +339466,7 @@ ] ], "2d.layer.global-states.filter.no-cxt-filter.no-transform.tentative.w.html": [ - "ab1be4924dd87db252ada00d0584f767b2f636c2", + "25904862f9bbedb055e0e10e70fd31c2b99f2add", [ null, [ @@ -339436,7 +339479,7 @@ ] ], "2d.layer.global-states.filter.no-cxt-filter.rotation.tentative.html": [ - "95ce14186d32ad40e1a86d0f77b56334aae09191", + "af24b0d2fc34f3de1dcd325ab6a5f407399a2dbd", [ null, [ @@ -339449,7 +339492,7 @@ ] ], "2d.layer.global-states.filter.no-cxt-filter.rotation.tentative.w.html": [ - "0e0644a45ea8a77a00820d9b653337aebc2200e8", + "a9863a4c2ff918fcaae7bcfdaac1cf64c2eb14f0", [ null, [ @@ -339462,7 +339505,7 @@ ] ], "2d.layer.global-states.no-cxt-filter.no-transform.html": [ - "baaac6e685cf99a370885d1fbb8ab351997865f3", + "207f40b3f27981606e9a7b15883ff6e9f24cb753", [ null, [ @@ -339475,7 +339518,7 @@ ] ], "2d.layer.global-states.no-cxt-filter.no-transform.w.html": [ - "ce1dd2abf1a418f303bf77ee94d54d5fa42a8925", + "83577baa328bc59c3458754883d098db88ae88f6", [ null, [ @@ -339488,7 +339531,7 @@ ] ], "2d.layer.global-states.no-cxt-filter.rotation.html": [ - "77c61a190f2cf8776ed642bb01952c1e9b43174f", + "5c6e4790213455a64ac2960ecb2088a0541feebe", [ null, [ @@ -339501,7 +339544,7 @@ ] ], "2d.layer.global-states.no-cxt-filter.rotation.w.html": [ - "ef4999fa51455bfae5840a86e28c3e81ec4868ba", + "3944e882def2ca5df8b64e2bb5d3fbf102a2c5f0", [ null, [ @@ -339514,7 +339557,7 @@ ] ], "2d.layer.globalCompositeOperation.html": [ - "b9bf19b7e38f9bbd66bf2f66f2ede7993c843c44", + "f6638614144ae9dfd3cc71d66497f4f922b46713", [ null, [ @@ -339527,7 +339570,7 @@ ] ], "2d.layer.globalCompositeOperation.w.html": [ - "6620ee7232a03d5ad293728db04f3083f0e59902", + "16b81441d09c3acd1f48d5ba9bf5bad5f66a9ca9", [ null, [ @@ -340246,12 +340289,12 @@ ] ], "canvas.2d.offscreen.worker.direction.html": [ - "73df0a94fc0ad31c497604e70ca0746430323bdb", + "56c7dc00f2174fe5d707d68f90b6ec4aab2aed71", [ null, [ [ - "/html/canvas/offscreen/manual/text/canvas.2d.offscreen.direction-ref.html", + "/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction-ref.html", "==" ] ], @@ -340259,12 +340302,12 @@ ] ], "canvas.2d.offscreen.worker.direction.inherit.html": [ - "518ae0aed5f1f81252b2fc0b73326c7f193fe5bc", + "a7b7ec66e17ec8ba835376a524ea663c701b7f31", [ null, [ [ - "/html/canvas/offscreen/manual/text/canvas.2d.offscreen.direction-ref.html", + "/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction-ref.html", "==" ] ], @@ -340667,7 +340710,7 @@ ] ], "2d.text.measure.text-clusters-rendering-align.tentative.html": [ - "4fc41c79cc44eba408bba38829ee42e1c7ead945", + "20e80988d258cc6e3c3fb0a7945e6e71ce8a37f1", [ null, [ @@ -340680,7 +340723,7 @@ ] ], "2d.text.measure.text-clusters-rendering-align.tentative.w.html": [ - "35ddd54bfd78bad7f43ac91d0dfff53a541dbd49", + "244c2428fcab5efe9c4e2ba47e846c39711a9db9", [ null, [ @@ -340693,7 +340736,7 @@ ] ], "2d.text.measure.text-clusters-rendering-baseline.tentative.html": [ - "84def142a9ba38c3901d4fb45d53f9ec9ffecc8c", + "de7f89f57fbe56f10bf2279a4ea2ffd3ff5b5620", [ null, [ @@ -340706,7 +340749,7 @@ ] ], "2d.text.measure.text-clusters-rendering-baseline.tentative.w.html": [ - "9227776d8c8f5c274638be3c4acd0cfec4632ed9", + "3e5fc419ce617878c63058b957e5076105236d04", [ null, [ @@ -340719,7 +340762,7 @@ ] ], "2d.text.measure.text-clusters-rendering-drawing-styles-change.tentative.html": [ - "8d304cb1a78dbae42ff19aeb83926570198396aa", + "36596171a93e9bcaad25a4badfad89b785aa19b6", [ null, [ @@ -340732,7 +340775,7 @@ ] ], "2d.text.measure.text-clusters-rendering-drawing-styles-change.tentative.w.html": [ - "76f61dad315a125da4b096c1181ef1b8d0aa30fd", + "6c316b4b0ad5686c9fec5451857f3e16ef737a67", [ null, [ @@ -345161,6 +345204,19 @@ ] }, "the-option-element": { + "option-label-whitespace.html": [ + "185d3ec1f49ede4415a1265b26d0745afe6ac29c", + [ + null, + [ + [ + "/html/rendering/replaced-elements/the-option-element/option-label-whitespace-ref.html", + "==" + ] + ], + {} + ] + ], "option-with-br.html": [ "3b8d992cc2a07dfd902dbb1011e2c348e862baaa", [ @@ -346883,6 +346939,19 @@ {} ] ], + "video-transparent-controls.html": [ + "ede1f1da786efdc6bcba448d3bf38451a1773483", + [ + null, + [ + [ + "/html/semantics/embedded-content/the-video-element/video-transparent-controls-ref.html", + "==" + ] + ], + {} + ] + ], "video_content_image.htm": [ "0808d894aa70d122f84975403d9f56c493d685d4", [ @@ -359534,6 +359603,84 @@ }, "pservers": { "reftests": { + "fill-fallback-currentcolor-1.svg": [ + "81d12ba4ddcff22ffc5ea2ecda358b44a0e87f23", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] + ], + "fill-fallback-currentcolor-2.svg": [ + "12d4ce2876c631badd444c614ef50e63ecf2565e", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] + ], + "fill-fallback-invalid-uri.svg": [ + "5522eb1c4c40581dc7ca1a73aedc1985b6d64737", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] + ], + "fill-fallback-none-1.svg": [ + "ea3ae30251674a628cdc9294443477fcd9cb7318", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] + ], + "fill-fallback-none-2.svg": [ + "9f786e150f2062f521d83d60056aaa0a9ffedbd9", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] + ], + "fill-fallback-none-3.svg": [ + "6652243e1eacd707b03e2aec02677b57a484e7b0", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] + ], "gradient-color-interpolation.svg": [ "f7959437734230d394197d1837be2ba6ffaa7d3c", [ @@ -359822,6 +359969,19 @@ ], {} ] + ], + "stroke-fallback-invalid-uri.svg": [ + "38b34b8ed9a0ee052ea7c5339168df02cf16f818", + [ + null, + [ + [ + "/svg/pservers/reftests/reference/green-100x100.svg", + "==" + ] + ], + {} + ] ] }, "scripted": { @@ -365147,7 +365307,7 @@ [] ], ".taskcluster.yml": [ - "85204ee17b9255ebd7dcd08716acd7da59b75d57", + "18c82321f92862ef9a7e04c5088eafa663cc58f2", [] ], ".well-known": { @@ -369265,7 +369425,7 @@ [] ], "remote-executor.html": [ - "8b0030390d0d196aa4bfc4ce70d6b6ade1915a10", + "f87f566be960fdd9242a072d147a3d1c369ac01b", [] ] }, @@ -389315,6 +389475,12 @@ ] } }, + "resources": { + "ran.js": [ + "8beb22733df9139dc3a29551344a0eaa35f7710f", + [] + ] + }, "sandbox": { "support": { "empty.html": [ @@ -390064,7 +390230,7 @@ "partitioned-cookies": { "resources": { "ancestor-chain-cross-site-embed.html": [ - "fbe2906737d5c4bf543022e2c443908e4a5159b5", + "ecf1aff1844d527d4b82b9d0b67571e27f766fa6", [] ], "ancestor-chain-same-site-embed.html": [ @@ -390209,6 +390375,10 @@ }, "samesite": { "resources": { + "cross-site-frame-with-sandboxed-embed.html": [ + "b00b1e268320b4c2a9278b35646f5869ccb89de5", + [] + ], "echo-cookies.html": [ "a1b29b9b03c198c46c4b1e78094acc4a2f0d157e", [] @@ -390236,6 +390406,10 @@ "puppet.html": [ "6d36132d3a89abea2f707e520e83a41590dac67a", [] + ], + "same-site-none-embed.html": [ + "1dcb97d988ea6095bf5a8cc8d693ef65f673515d", + [] ] } }, @@ -418072,6 +418246,10 @@ "89d41d42252b0998174bd77f47fbaca12984f2bd", [] ], + "italic-oblique-fallback-ref.html": [ + "6dd1a7bac2210e6c4ebe5ff89ec6bfb02344cd45", + [] + ], "lang-attribute-affects-rendering-ref.html": [ "f832a1ef61fe39141c9566f1d76d52161607d83d", [] @@ -428042,6 +428220,10 @@ [] ] }, + "empty-span-scroll-ref.html": [ + "28b7f6e2df48fe2124ed8c623cabb56c1aecb35e", + [] + ], "empty-span-size-001-ref.html": [ "7cdb84a5bb048620b56087b52d3b3172c7c34f1a", [] @@ -430090,7 +430272,7 @@ "css-mixins": { "resources": { "utils.js": [ - "0e196b725733449b00b4dba13e9be9cae8a2736d", + "cc9f008916b20a1e1d230d96301c469999ff56fc", [] ] } @@ -431777,7 +431959,7 @@ [] ], "overflow-clip-margin-border-radius-ref.html": [ - "10301224070288628eb6b61291c08a99dd5eec24", + "1611180e637c7dbb6cad372ac4fb61118fdc17d0", [] ], "overflow-clip-margin-invalidation-ref.html": [ @@ -434119,7 +434301,7 @@ [] ], "highlight-painting-002-ref.html": [ - "7fc1b543b660847b913dca00053cc4c95ae09ee7", + "1582318382658117572ce66810338a3c2547608b", [] ], "highlight-painting-003-ref.html": [ @@ -451994,6 +452176,14 @@ "blue15x15.png": [ "89de32fdb8a4e48b1320f40f5a75352773077cee", [] + ], + "partitioned-visited-cross-site-iframe.html": [ + "7239017b73d3863463ee145a5d6227174c5dc79f", + [] + ], + "partitioned-visited-same-site-iframe.html": [ + "bdc1a983bcdc62485edc4805af2c2d4e1a0f5fef", + [] ] }, "selector-placeholder-shown-type-change-001-ref.html": [ @@ -453582,6 +453772,10 @@ "ac713ce1798e3366a6aa8aaadf47348312592dcd", [] ], + "encoding-single-chunk-ref.html": [ + "572516f9902df269f032f335f1017560eb10f426", + [] + ], "externalScript.js": [ "7a2bf3622554937bf483a3b3afa9f16187fdabf6", [] @@ -453599,6 +453793,18 @@ "3c68a6fc53b070eff800d41a528e55c9119e3f48", [] ], + "reqLine.xsl": [ + "fabb742fc4669c70d0f09551bb47caf8728a1560", + [] + ], + "test.xml": [ + "4a1a43c408282fd9938f0ae256a5fa25a0500acf", + [] + ], + "testu1LINE.xml": [ + "01fa6bf9426646c5a5ef3566fd479c67fb8ef7ff", + [] + ], "xml2html.xsl": [ "88b74a9620f8093dcd5ff2afa4d1604793f049d9", [] @@ -453781,7 +453987,7 @@ [] ], "indent.js": [ - "0265552f0939e3c803b452f965c2a2ce85000dc5", + "100da577458de26ee57e4dbb704e0f08bbe23bc7", [] ], "insert-list-items-in-table-cells.js": [ @@ -462539,7 +462745,7 @@ [] ], "2d.composite.grid.filter.no_shadow.drawImage-expected.html": [ - "eea78248a836f217a93d176c60b45ca202ea43ed", + "6f7bf8e8fe705e97ca9750b2db87c923775b905d", [] ], "2d.composite.grid.filter.no_shadow.drawImage.png": [ @@ -462547,7 +462753,7 @@ [] ], "2d.composite.grid.filter.no_shadow.fillRect-expected.html": [ - "08ed3566fd11df66e8d9e6ec4c84150be8e683bc", + "ec67b35c95963aa344f82119f445d5c2d486c844", [] ], "2d.composite.grid.filter.no_shadow.fillRect.png": [ @@ -462555,7 +462761,7 @@ [] ], "2d.composite.grid.filter.no_shadow.pattern-expected.html": [ - "22c84f42e89b91df473f435c3c10b3399215eb72", + "420cab82fbe6cf99f2d9f115f4d3bc6b1bf3baae", [] ], "2d.composite.grid.filter.no_shadow.pattern.png": [ @@ -462563,7 +462769,7 @@ [] ], "2d.composite.grid.filter.shadow.drawImage-expected.html": [ - "2072348f904966cd1630efc1243aadddfbfe11e9", + "1976dfc466387c2414676024e196623032901a5a", [] ], "2d.composite.grid.filter.shadow.drawImage.png": [ @@ -462571,7 +462777,7 @@ [] ], "2d.composite.grid.filter.shadow.fillRect-expected.html": [ - "1e119bcbde5a2996567214e864ad33d00cc0d877", + "72cd6c78da4dda4f903c24447d1e51cd207ed69d", [] ], "2d.composite.grid.filter.shadow.fillRect.png": [ @@ -462579,7 +462785,7 @@ [] ], "2d.composite.grid.filter.shadow.pattern-expected.html": [ - "f45fe82c302917293852ced72f3dd53628f398c2", + "b7a4f59f84beebf42fcbc79c8063a81058fea9e4", [] ], "2d.composite.grid.filter.shadow.pattern.png": [ @@ -462587,7 +462793,7 @@ [] ], "2d.composite.grid.no_filter.no_shadow.drawImage-expected.html": [ - "923d8360a9d73c9c336e8c460090b0e197e33a12", + "36578e14d4d000e8f19bd16a7487d1a3a4b7cfef", [] ], "2d.composite.grid.no_filter.no_shadow.drawImage.png": [ @@ -462595,7 +462801,7 @@ [] ], "2d.composite.grid.no_filter.no_shadow.fillRect-expected.html": [ - "c809e56cac391699d5f4bd284424164833d09419", + "ae85679c221aadcb1d3d4136a4cafa3fd4f8ec2c", [] ], "2d.composite.grid.no_filter.no_shadow.fillRect.png": [ @@ -462603,7 +462809,7 @@ [] ], "2d.composite.grid.no_filter.no_shadow.pattern-expected.html": [ - "f052442a637ed64db37ad12ea7f799f667ff9cd8", + "5f7f12c9c8a5f4833db5da0a1be53d11310345ad", [] ], "2d.composite.grid.no_filter.no_shadow.pattern.png": [ @@ -462611,7 +462817,7 @@ [] ], "2d.composite.grid.no_filter.shadow.drawImage-expected.html": [ - "ad07c35d3101c61b1e1ac4df2ec05348af251439", + "19439211ddeaa538e89b30bdee6049ce3e5f1192", [] ], "2d.composite.grid.no_filter.shadow.drawImage.png": [ @@ -462619,7 +462825,7 @@ [] ], "2d.composite.grid.no_filter.shadow.fillRect-expected.html": [ - "e16a5fcf4582efd0e691da4057f501e4be3702d3", + "42266582be21d2daa89e5b9ab81d646e3ab552af", [] ], "2d.composite.grid.no_filter.shadow.fillRect.png": [ @@ -462627,7 +462833,7 @@ [] ], "2d.composite.grid.no_filter.shadow.pattern-expected.html": [ - "01e1d4d7b264624b94066ddd3b9e0f696b8c8517", + "8d6d2492b9beaeb50ddbe2c39686372ba78e8882", [] ], "2d.composite.grid.no_filter.shadow.pattern.png": [ @@ -463195,7 +463401,7 @@ [] ], "2d.filter.canvasFilterObject.gaussianBlur.tentative-expected.html": [ - "9c85dfec907e2dd6b1158002e6f8b6ed151b8852", + "6e9ebb5b2e13525bfb7f697b4300998d43daa93a", [] ], "2d.filter.drop-shadow-globalAlpha-expected.html": [ @@ -463227,7 +463433,7 @@ [] ], "2d.filter.layers.gaussianBlur.tentative-expected.html": [ - "f02f08d5f83665159887729d86caa97da645fc5e", + "88d38a8c0c8e1237eeccfc7c23f1d1f04f22c0b8", [] ] }, @@ -463353,39 +463559,39 @@ [] ], "2d.layer.global-states.ctx-filter.no-transform-expected.html": [ - "0472b8f012ed37c7e3801ada30d3acfab923036d", + "1413ae16143911cf056fff18a6dbe92b00066340", [] ], "2d.layer.global-states.ctx-filter.rotation-expected.html": [ - "3290077de1ea57141ae7524d5071315d2bb1c0d6", + "4ea9b7bbc29c66133e47fdd4490827fc8f058ff5", [] ], "2d.layer.global-states.filter.ctx-filter.no-transform.tentative-expected.html": [ - "dae68b3ad7301e5f46a60b7ea466d2931969b24c", + "339c87bff21f7e609f653bcc90a81eb120dc956e", [] ], "2d.layer.global-states.filter.ctx-filter.rotation.tentative-expected.html": [ - "b18ae7f357ac829d17228e15fc490b1b6243cf37", + "d5e03796eb34ace3703c470187e48c886edb25b2", [] ], "2d.layer.global-states.filter.no-cxt-filter.no-transform.tentative-expected.html": [ - "6263d26333a0ddc08abb05de71a4332e25c6944f", + "9908b53716c0737b0b4e4674b5c6d0a0f3a24c22", [] ], "2d.layer.global-states.filter.no-cxt-filter.rotation.tentative-expected.html": [ - "0236c9a5d93681627eb813c43250cfc4a39dcced", + "949a28b82dcb3b8616fd26ffc168786a83256b14", [] ], "2d.layer.global-states.no-cxt-filter.no-transform-expected.html": [ - "fd33e3e4659a2df1fc46afaaa565885d32416026", + "aed32f49cf83e6a33598f0efbc7edca707a9c4c4", [] ], "2d.layer.global-states.no-cxt-filter.rotation-expected.html": [ - "7bee2f7e38ca3ff267e54eaac9847225b806100b", + "26b4bbaafda4063bdcc48f015927be4b11c03675", [] ], "2d.layer.globalCompositeOperation-expected.html": [ - "e00136f6106ecc04161c92c5807bccffaf6b7129", + "d80bae7a559d3e49c162693023f78973c83bf1ed", [] ], "2d.layer.nested-ctx-filter-expected.html": [ @@ -464315,15 +464521,15 @@ [] ], "2d.text.measure.text-clusters-rendering-align.tentative-expected.html": [ - "967ae7e46365ff181f4323b39f9ff13bb62a34c7", + "c983823a3ed190845f3b87a8c6ec543e0017744f", [] ], "2d.text.measure.text-clusters-rendering-baseline.tentative-expected.html": [ - "2dffe90aadc57ae07067fa7decab24fd43fc8728", + "9e184f34de22258d1c5decfa1f84b73d0e976574", [] ], "2d.text.measure.text-clusters-rendering-drawing-styles-change.tentative-expected.html": [ - "6d109c3ffcd3ed269cd68638a4a722ac7d4a5c58", + "484aaf5f7c59f367a85f45ca8c6a467b904b48a2", [] ], "2d.text.measure.text-clusters-rendering-font-change.tentative-expected.html": [ @@ -464361,7 +464567,7 @@ ], "compositing": { "2d.composite.grid.filter.no_shadow.drawImage-expected.html": [ - "eea78248a836f217a93d176c60b45ca202ea43ed", + "6f7bf8e8fe705e97ca9750b2db87c923775b905d", [] ], "2d.composite.grid.filter.no_shadow.drawImage.png": [ @@ -464369,7 +464575,7 @@ [] ], "2d.composite.grid.filter.no_shadow.fillRect-expected.html": [ - "08ed3566fd11df66e8d9e6ec4c84150be8e683bc", + "ec67b35c95963aa344f82119f445d5c2d486c844", [] ], "2d.composite.grid.filter.no_shadow.fillRect.png": [ @@ -464377,7 +464583,7 @@ [] ], "2d.composite.grid.filter.no_shadow.pattern-expected.html": [ - "22c84f42e89b91df473f435c3c10b3399215eb72", + "420cab82fbe6cf99f2d9f115f4d3bc6b1bf3baae", [] ], "2d.composite.grid.filter.no_shadow.pattern.png": [ @@ -464385,7 +464591,7 @@ [] ], "2d.composite.grid.filter.shadow.drawImage-expected.html": [ - "2072348f904966cd1630efc1243aadddfbfe11e9", + "1976dfc466387c2414676024e196623032901a5a", [] ], "2d.composite.grid.filter.shadow.drawImage.png": [ @@ -464393,7 +464599,7 @@ [] ], "2d.composite.grid.filter.shadow.fillRect-expected.html": [ - "1e119bcbde5a2996567214e864ad33d00cc0d877", + "72cd6c78da4dda4f903c24447d1e51cd207ed69d", [] ], "2d.composite.grid.filter.shadow.fillRect.png": [ @@ -464401,7 +464607,7 @@ [] ], "2d.composite.grid.filter.shadow.pattern-expected.html": [ - "f45fe82c302917293852ced72f3dd53628f398c2", + "b7a4f59f84beebf42fcbc79c8063a81058fea9e4", [] ], "2d.composite.grid.filter.shadow.pattern.png": [ @@ -464409,7 +464615,7 @@ [] ], "2d.composite.grid.no_filter.no_shadow.drawImage-expected.html": [ - "923d8360a9d73c9c336e8c460090b0e197e33a12", + "36578e14d4d000e8f19bd16a7487d1a3a4b7cfef", [] ], "2d.composite.grid.no_filter.no_shadow.drawImage.png": [ @@ -464417,7 +464623,7 @@ [] ], "2d.composite.grid.no_filter.no_shadow.fillRect-expected.html": [ - "c809e56cac391699d5f4bd284424164833d09419", + "ae85679c221aadcb1d3d4136a4cafa3fd4f8ec2c", [] ], "2d.composite.grid.no_filter.no_shadow.fillRect.png": [ @@ -464425,7 +464631,7 @@ [] ], "2d.composite.grid.no_filter.no_shadow.pattern-expected.html": [ - "f052442a637ed64db37ad12ea7f799f667ff9cd8", + "5f7f12c9c8a5f4833db5da0a1be53d11310345ad", [] ], "2d.composite.grid.no_filter.no_shadow.pattern.png": [ @@ -464433,7 +464639,7 @@ [] ], "2d.composite.grid.no_filter.shadow.drawImage-expected.html": [ - "ad07c35d3101c61b1e1ac4df2ec05348af251439", + "19439211ddeaa538e89b30bdee6049ce3e5f1192", [] ], "2d.composite.grid.no_filter.shadow.drawImage.png": [ @@ -464441,7 +464647,7 @@ [] ], "2d.composite.grid.no_filter.shadow.fillRect-expected.html": [ - "e16a5fcf4582efd0e691da4057f501e4be3702d3", + "42266582be21d2daa89e5b9ab81d646e3ab552af", [] ], "2d.composite.grid.no_filter.shadow.fillRect.png": [ @@ -464449,7 +464655,7 @@ [] ], "2d.composite.grid.no_filter.shadow.pattern-expected.html": [ - "01e1d4d7b264624b94066ddd3b9e0f696b8c8517", + "8d6d2492b9beaeb50ddbe2c39686372ba78e8882", [] ], "2d.composite.grid.no_filter.shadow.pattern.png": [ @@ -464483,7 +464689,7 @@ [] ], "2d.filter.canvasFilterObject.gaussianBlur.tentative-expected.html": [ - "9c85dfec907e2dd6b1158002e6f8b6ed151b8852", + "6e9ebb5b2e13525bfb7f697b4300998d43daa93a", [] ], "2d.filter.drop-shadow-globalAlpha-expected.html": [ @@ -464515,7 +464721,7 @@ [] ], "2d.filter.layers.gaussianBlur.tentative-expected.html": [ - "f02f08d5f83665159887729d86caa97da645fc5e", + "88d38a8c0c8e1237eeccfc7c23f1d1f04f22c0b8", [] ] }, @@ -464633,39 +464839,39 @@ [] ], "2d.layer.global-states.ctx-filter.no-transform-expected.html": [ - "0472b8f012ed37c7e3801ada30d3acfab923036d", + "1413ae16143911cf056fff18a6dbe92b00066340", [] ], "2d.layer.global-states.ctx-filter.rotation-expected.html": [ - "3290077de1ea57141ae7524d5071315d2bb1c0d6", + "4ea9b7bbc29c66133e47fdd4490827fc8f058ff5", [] ], "2d.layer.global-states.filter.ctx-filter.no-transform.tentative-expected.html": [ - "dae68b3ad7301e5f46a60b7ea466d2931969b24c", + "339c87bff21f7e609f653bcc90a81eb120dc956e", [] ], "2d.layer.global-states.filter.ctx-filter.rotation.tentative-expected.html": [ - "b18ae7f357ac829d17228e15fc490b1b6243cf37", + "d5e03796eb34ace3703c470187e48c886edb25b2", [] ], "2d.layer.global-states.filter.no-cxt-filter.no-transform.tentative-expected.html": [ - "6263d26333a0ddc08abb05de71a4332e25c6944f", + "9908b53716c0737b0b4e4674b5c6d0a0f3a24c22", [] ], "2d.layer.global-states.filter.no-cxt-filter.rotation.tentative-expected.html": [ - "0236c9a5d93681627eb813c43250cfc4a39dcced", + "949a28b82dcb3b8616fd26ffc168786a83256b14", [] ], "2d.layer.global-states.no-cxt-filter.no-transform-expected.html": [ - "fd33e3e4659a2df1fc46afaaa565885d32416026", + "aed32f49cf83e6a33598f0efbc7edca707a9c4c4", [] ], "2d.layer.global-states.no-cxt-filter.rotation-expected.html": [ - "7bee2f7e38ca3ff267e54eaac9847225b806100b", + "26b4bbaafda4063bdcc48f015927be4b11c03675", [] ], "2d.layer.globalCompositeOperation-expected.html": [ - "e00136f6106ecc04161c92c5807bccffaf6b7129", + "d80bae7a559d3e49c162693023f78973c83bf1ed", [] ], "2d.layer.nested-ctx-filter-expected.html": [ @@ -464775,12 +464981,16 @@ "8949caa8486848a4d8f820752e1d73d26e2fc07d", [] ], + "canvas.2d.offscreen.worker.direction-ref.html": [ + "23e70313cdbfd65535e5d16297ae5a074ee645ed", + [] + ], "text-direction-worker-inherit.js": [ - "14eaf588694bf2e52bc567950ff90e0c027c733d", + "a300048d10f59a8e42631edfd968d115f2e3b211", [] ], "text-direction-worker.js": [ - "9375ec16f231ec6f6d7d082fcd1b46ebf72a624f", + "d85504f524e66fce864ab284da961624e2e3c3a5", [] ] }, @@ -464863,15 +465073,15 @@ [] ], "2d.text.measure.text-clusters-rendering-align.tentative-expected.html": [ - "967ae7e46365ff181f4323b39f9ff13bb62a34c7", + "c983823a3ed190845f3b87a8c6ec543e0017744f", [] ], "2d.text.measure.text-clusters-rendering-baseline.tentative-expected.html": [ - "2dffe90aadc57ae07067fa7decab24fd43fc8728", + "9e184f34de22258d1c5decfa1f84b73d0e976574", [] ], "2d.text.measure.text-clusters-rendering-drawing-styles-change.tentative-expected.html": [ - "6d109c3ffcd3ed269cd68638a4a722ac7d4a5c58", + "484aaf5f7c59f367a85f45ca8c6a467b904b48a2", [] ], "2d.text.measure.text-clusters-rendering-font-change.tentative-expected.html": [ @@ -464901,6 +465111,10 @@ "e13897f157263b83b2d69e3e187cb890ff394f6c", [] ], + "canvas-grid-reftest.css": [ + "368a06fbb371fa56850453b0ef05c2241d7be0dd", + [] + ], "canvas-index.css": [ "ef35864bc03faff124dbdcc8ce623217c2cd69a6", [] @@ -464948,7 +465162,7 @@ [] ], "gentestutilsunion.py": [ - "d1bafced0e2151654a77217e51fd909fb3a4c83b", + "62b355f37432da95cf5c7885d8ea5de03b6dcb93", [] ], "name2dir-canvas.yaml": [ @@ -464960,7 +465174,7 @@ [] ], "name2dir.yaml": [ - "a62fab3a04e68bfa30cd1dbefcef358504aebb43", + "bd032d4541a410126c27a2839a11a8f234b619d8", [] ], "templates": { @@ -464973,11 +465187,11 @@ [] ], "reftest_element_grid.html": [ - "559610160c4ec0c6ca770dd9cb1a438654c9525b", + "f2bbb183358a274db1e37282ff33d94befa9f363", [] ], "reftest_grid.html": [ - "f3e5aa745857491cf6096439c053a33179e25a02", + "68a4f507cdc1952a77b11ccf425fcaead78729ae", [] ], "reftest_img.html": [ @@ -464985,7 +465199,7 @@ [] ], "reftest_img_grid.html": [ - "c222ccfc589fb0a5a599356cf67c5d37b75a6cca", + "227184db2ea05349e5d1be398234ad29d1cd1123", [] ], "reftest_offscreen.html": [ @@ -464993,7 +465207,7 @@ [] ], "reftest_offscreen_grid.html": [ - "d79b12e2d16dbf84d4058e48c9cb91a9cea05570", + "a9553e824198db2b414c669f5c2f20c5e20b0fd0", [] ], "reftest_worker.html": [ @@ -465001,7 +465215,7 @@ [] ], "reftest_worker_grid.html": [ - "06143d5da63475e14212e8c5cd3f07d6afc99e62", + "7cbe19775174d1f57d99d839503b65985c378875", [] ], "testharness_element.html": [ @@ -465049,7 +465263,11 @@ }, "yaml-new": { "color_space.yaml": [ - "56f6d01d308de00869b438e7fa6515161345354b", + "0582f4953470c05d1b0f0704d40e778ebfc4dff1", + [] + ], + "color_type.yaml": [ + "58d7038af823d54e06c87152b737bd15a8fa871e", [] ], "compositing.yaml": [ @@ -471116,6 +471334,10 @@ ] }, "the-option-element": { + "option-label-whitespace-ref.html": [ + "442e3479fbb05fdd1360d6058bce9417ead7eb84", + [] + ], "option-with-br-ref.html": [ "954840f389b00529b3b977aaf23884c59b37c88b", [] @@ -472728,6 +472950,10 @@ "66b42e40253f1a47c90ac781e9a13cc94996f52b", [] ], + "video-transparent-controls-ref.html": [ + "4664cbfe2fdd7091e4b7c758076acca848a6355d", + [] + ], "video_content-ref.htm": [ "c02abb1236d3a2883d6e451fdb05d16b1d03157d", [] @@ -474135,6 +474361,10 @@ "c508d5366f70bba37fcc09d128b6537c4adb2c79", [] ], + "http-accept-header-checker.py": [ + "b7ecbb5f352f3635e06e93eb7321f10fce417412", + [] + ], "integrity-matches.js": [ "20459c17e3bb665ba8fa27d02520a35d862bdb4c", [] @@ -478890,7 +479120,7 @@ [] ], "cssom-view.idl": [ - "f922bc81486442108d566645b31c4dd24f257b5b", + "88abb078485fc2159c15b5401dc9944d47a47940", [] ], "cssom.idl": [ @@ -479050,7 +479280,7 @@ [] ], "html.idl": [ - "77e41b6eb9e88dc0784edfcbc0b62961d6656408", + "f10bb72e913eaed514b75cb5178712dfad84505c", [] ], "idle-detection.idl": [ @@ -479146,7 +479376,7 @@ [] ], "media-capabilities.idl": [ - "94339b6d1dd0b80cec63754782852075cb9fb1f6", + "7bd8aca90c32027af67001afa3d33059b0f0f87b", [] ], "media-playback-quality.idl": [ @@ -479270,7 +479500,7 @@ [] ], "permissions-policy.idl": [ - "806d2eb80f6562300ad4cc664d13a968995e0012", + "b17304de8d090fb280a89b6b264ddab8bc0a4003", [] ], "permissions-request.idl": [ @@ -479438,7 +479668,7 @@ [] ], "speech-api.idl": [ - "e4ca6df5c4331c5c66aabb249dcb9fdb7323dc6f", + "025f9424f0120fec097ea7551b5b1ead2fd99144", [] ], "storage-access.idl": [ @@ -479534,7 +479764,7 @@ [] ], "web-animations-2.idl": [ - "ad047f5733a9552251147ccc59cdd88059fa4fe8", + "c4a0c2532d97806eeead38d1e1924c485d775491", [] ], "web-animations.idl": [ @@ -480135,7 +480365,7 @@ ] }, "lint.ignore": [ - "4dd0b96460ca5f6212ff2c25a0b324f5cffb9790", + "a91efc0cf1ab543a9ae4e99df1ac5ad396029269", [] ], "loading": { @@ -481935,6 +482165,10 @@ "239ad2bd08c21ca783b83cd0245951fecdab6a64", [] ], + "speech.wav": [ + "fd5e2f78d5c4762664d78c3d2f958b61002e7649", + [] + ], "test-1s.mp4": [ "76d6820007c2334e8abdbb65b7410fc1d38dfc19", [] @@ -484157,7 +484391,7 @@ [] ], "digital-credentials-get.html": [ - "543417f230a59b3d09705b20775a38cbabaf7a22", + "12a450a1ae41c806c6023d0ef17e3ae55236e931", [] ], "nested-sandbox.html": [ @@ -487982,7 +488216,7 @@ [] ], "sethtml-tree-construction.sub.dat": [ - "c5c30f613134d29030a7dbd8b03ac0f181b630bb", + "c4bb74e9693a0675d7a66929800e2939315cb475", [] ], "sethtml-unsafety.sub.dat": [ @@ -487991,7 +488225,7 @@ ], "support": { "html5lib-testcase-support.js": [ - "fbfe81a1780080dce4c5b8fa78ae08ed5f826a96", + "4d07af87f86efc2aac45e5e58bf254dfb1637cea", [] ] } @@ -492117,6 +492351,10 @@ } }, "speculation-rules": { + "WEB_FEATURES.yml": [ + "bfdb07c4e1e47d4428d203d2e6277987fbab5225", + [] + ], "prefetch": { "no-vary-search": { "README.txt": [ @@ -492746,7 +492984,7 @@ [] ], "helpers.js": [ - "a698fac6491a172f8da9fc0a11519d567385b333", + "3c03ead13b92896277ab3f6215a52228264bf0d5", [] ], "resources": { @@ -492763,7 +493001,7 @@ [] ], "embedded_responder.js": [ - "fb3bef40b2d9245508ce99bad5f5990c5b9615ab", + "8710bfe8d78d3c418182c446db391561b98d12b1", [] ], "embedded_worker.py": [ @@ -492996,7 +493234,7 @@ "signatures": { "tentative": { "helper.js": [ - "51d57eec059f9c5fb1d904bbddf6110f4d8ca308", + "29ed6449c26f3f87a2fd70429e148d121da35a9b", [] ], "resource.py": [ @@ -494515,11 +494753,11 @@ [] ], "run_tc.py": [ - "25cfaee2fc10487796510d026e0fea4a7d78e98f", + "a729bc8878cf4fdb1ffebbf5340c4ead23eba66f", [] ], "taskcluster-run.py": [ - "3badcf3b496a3483d2dcc9d9725805af5e3c579e", + "3affde80c7ef9133aad0e7d535ff787065b1e638", [] ], "tc": { @@ -494553,7 +494791,7 @@ ], "tasks": { "test.yml": [ - "727b6083bd1b78bfc222bb33f1bd8fea3a764e2a", + "947ecff2592cce57b1b735f4c61456afc801578e", [] ] }, @@ -494589,7 +494827,7 @@ [] ], "test_valid.py": [ - "3e7150c70977315f95a09de21ae98d36b4e759aa", + "3b5f7c3e89cd0c01c7b6e45488fed01fb811bc26", [] ] } @@ -505917,7 +506155,7 @@ [] ], "executorwebdriver.py": [ - "7513887998d6cdbcec736ebfb885108c015fd0a7", + "32c61f045ad6a5a993ce7f9412cbe1122ba00d8c", [] ], "executorwktr.py": [ @@ -506806,6 +507044,10 @@ "af6596b29a8080e5cd8d688d0d6933caf49a2090", [] ], + "attributes.js": [ + "7c373ae9e58044025a931fc156e5c0c3f7814aa8", + [] + ], "block-eval-function-constructor-worker.js": [ "0a74a1cdef31c93cd854f6abe0220319002d0303", [] @@ -509633,6 +509875,10 @@ "63b60e490f47f4db77d33d7a4ca2f5b9a4181de8", [] ], + "audioworkletprocessor-no-process.js": [ + "0b856a20b1262ff194d397e205061dbf57752f96", + [] + ], "processors": { "active-processing.js": [ "ef497733cafb471f74ace33045c4b4d43f3ce4f2", @@ -510148,7 +510394,7 @@ [] ], "utils.js": [ - "f09334677a6a42385949c262a163066d41f750d9", + "d2d7195d6b052a9a3ee03d1e3e12f7a18365c15b", [] ], "video-decoder.crossOriginIsolated.https.any.js.headers": [ @@ -510159,6 +510405,10 @@ "916f995156e51d7fed083d9ab175cc44d974dc6b", [] ], + "videoDecoder-codec-specific-setup.js": [ + "19d1a10cb2235341cba14db21fdcf3280b6394a5", + [] + ], "videoFrame-construction.crossOriginIsolated.https.any.js.headers": [ "985da71a2b6ea4da09f38642752d10e888e2c756", [] @@ -511260,7 +511510,7 @@ [] ], "asserts.py": [ - "b87a7eb46cf3a060220bca9137f484e5fcd1ca21", + "1c626a735d53f5540c6f683ae04b0f2d606a8b61", [] ], "defaults.py": [ @@ -516474,7 +516724,7 @@ ], "BlobURL": { "cross-partition-navigation.https.html": [ - "37cb3dc452d8ec1d4d3395126775a279ef79ab96", + "0529cde79e2c5ac4315dee7f0b9a8b0b24933be7", [ null, { @@ -519540,48 +519790,498 @@ } ] ], - "idbcursor-continue-exception-order.htm": [ - "6561ec396c23e13df200ed43c7515305ccb7d2ad", + "idbcursor-continue-exception-order.any.js": [ + "794ec8e32e6d71b312f2efd35ed2c8bd7370a010", [ - null, - {} - ] - ], - "idbcursor-continue.htm": [ - "bcb099f309edbb159814ab296a02ebb4bd3e9f3e", - [ - null, - {} - ] - ], - "idbcursor-continuePrimaryKey-exception-order.htm": [ - "477dabc60e800ac4744b604488170c9fd522f96c", - [ - null, + "IndexedDB/idbcursor-continue-exception-order.any.html", { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continue() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continue-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continue() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continue-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continue() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continue-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continue() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ] + ], + "idbcursor-continue.any.js": [ + "767d5a4fae4add87b46084de32423c3c17b2b1e6", + [ + "IndexedDB/idbcursor-continue.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continue()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continue.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continue()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continue.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continue()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continue.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continue()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ] + ], + "idbcursor-continuePrimaryKey-exception-order.any.js": [ + "b4ea9ca5bb59b1312260c705c19b27dd2b10ddeb", + [ + "IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continuePrimaryKey() - Exception Orders" + ], + [ + "script", + "resources/support.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continuePrimaryKey() - Exception Orders" + ], + [ + "script", + "resources/support.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continuePrimaryKey() - Exception Orders" + ], + [ + "script", + "resources/support.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.continuePrimaryKey() - Exception Orders" + ], + [ + "script", + "resources/support.js" + ], + [ + "timeout", + "long" + ] + ], "timeout": "long" } ] ], - "idbcursor-continuePrimaryKey-exceptions.htm": [ - "862c9c951b5e7976fc8a48ef8677451358c4096b", + "idbcursor-continuePrimaryKey-exceptions.any.js": [ + "581aff2300fe901845a5a20324bd6ccf32df02a7", [ - null, - {} + "IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continuePrimaryKey() exception throwing" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continuePrimaryKey() exception throwing" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continuePrimaryKey() exception throwing" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor continuePrimaryKey() exception throwing" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-continuePrimaryKey.htm": [ - "b45bba7c22138d6f29f980b9a2c1bb87ff5e453d", + "idbcursor-continuePrimaryKey.any.js": [ + "38ab750e36e7a7343bf82179f0c3e1de330e74ec", [ - null, - {} + "IndexedDB/idbcursor-continuePrimaryKey.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor method continuePrimaryKey()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor method continuePrimaryKey()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor method continuePrimaryKey()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-continuePrimaryKey.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor method continuePrimaryKey()" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-delete-exception-order.htm": [ - "72d565749718a624344480d4d336cf23776f71e3", + "idbcursor-delete-exception-order.any.js": [ + "84b7c867d1bbc3b7079e26c0d3704d1b76709394", [ - null, - {} + "IndexedDB/idbcursor-delete-exception-order.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor delete() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-delete-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor delete() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-delete-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor delete() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-delete-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor delete() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "idbcursor-direction-index-keyrange.any.js": [ @@ -519979,32 +520679,320 @@ } ] ], - "idbcursor-iterating-update.htm": [ - "00fdb5a0c008bcc1d2f5ebcef8c2bbc0ba517f4b", + "idbcursor-iterating-update.any.js": [ + "c88b4124669136c6b6c1ed39d3a117f57f9942ec", [ - null, - {} + "IndexedDB/idbcursor-iterating-update.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: Index iteration with cursor updates/deletes" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-iterating-update.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: Index iteration with cursor updates/deletes" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-iterating-update.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: Index iteration with cursor updates/deletes" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-iterating-update.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: Index iteration with cursor updates/deletes" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-key.htm": [ - "c1dbbe15038d782575504b5d84b94a4883ab4731", + "idbcursor-key.any.js": [ + "d8d2848377e4cc81c90d99a9d55eb52a3ed358ae", [ - null, - {} + "IndexedDB/idbcursor-key.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.key" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-key.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.key" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-key.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.key" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-key.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.key" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-primarykey.htm": [ - "c32973874870c89b4b0f669f93b4186437fd04aa", + "idbcursor-primarykey.any.js": [ + "8b9afc677605b786b14d8a13c5562a871656095d", [ - null, - {} + "IndexedDB/idbcursor-primarykey.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.primaryKey" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-primarykey.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.primaryKey" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-primarykey.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.primaryKey" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-primarykey.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.primaryKey" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-request-source.html": [ - "9e2f72b4d45beb6941783a08e69a59dafbde5366", + "idbcursor-request-source.any.js": [ + "2fe8c66f2e590b170a1456648e1dca74077464d8", [ - null, - {} + "IndexedDB/idbcursor-request-source.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: The source of requests made against cursors" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-request-source.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: The source of requests made against cursors" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-request-source.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: The source of requests made against cursors" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-request-source.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: The source of requests made against cursors" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "idbcursor-request.any.js": [ @@ -520032,25 +521020,241 @@ } ] ], - "idbcursor-reused.htm": [ - "30414584fee577a860b01b5b0ca8857738e6494a", + "idbcursor-reused.any.js": [ + "d98b95193ae199587ffb1013c13c52e98d197599", [ - null, - {} + "IndexedDB/idbcursor-reused.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor is reused" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-reused.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor is reused" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-reused.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor is reused" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-reused.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor is reused" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-source.htm": [ - "1882f092942565f927e7bc0eb39ee59ea6809c58", + "idbcursor-source.any.js": [ + "5f0dfa39e6a5bc431b940f12d592eebd05cd3223", [ - null, - {} + "IndexedDB/idbcursor-source.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.source" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-source.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.source" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-source.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.source" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-source.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBCursor.source" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbcursor-update-exception-order.htm": [ - "9324752d5eb7f4d3ccd8c63fd660627a9890f46b", + "idbcursor-update-exception-order.any.js": [ + "f7af4152024ff7bf10128e143f7e4ad85d128394", [ - null, - {} + "IndexedDB/idbcursor-update-exception-order.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor update() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-update-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor update() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-update-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor update() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbcursor-update-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBCursor update() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "idbcursor_advance_index.any.js": [ @@ -520922,39 +522126,320 @@ } ] ], - "idbdatabase-createObjectStore-exception-order.htm": [ - "1ca2ce1d7ccb9915c616645e626e5d0c417cdc2b", + "idbdatabase-createObjectStore-exception-order.any.js": [ + "783ae41dd2f1be2d0ac990c6970af8ee9729fc99", [ - null, - {} + "IndexedDB/idbdatabase-createObjectStore-exception-order.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase createObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-createObjectStore-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase createObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-createObjectStore-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase createObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-createObjectStore-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase createObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbdatabase-deleteObjectStore-exception-order.htm": [ - "4d98a31f120af4503a92d1e695199485e552d887", + "idbdatabase-deleteObjectStore-exception-order.any.js": [ + "061c84c0029dc9d6fd70a7efa4d5199090f7a837", [ - null, - {} + "IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbdatabase-transaction-exception-order.html": [ - "d06efe1d2f91e7bc77a8c0ade62c9bc62d6d1702", + "idbdatabase-transaction-exception-order.any.js": [ + "c5b31f28852339b44ee0662a05d2afd0fbb2cc52", [ - null, - {} + "IndexedDB/idbdatabase-transaction-exception-order.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase transaction() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-transaction-exception-order.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase transaction() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-transaction-exception-order.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase transaction() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase-transaction-exception-order.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IndexedDB: IDBDatabase transaction() Exception Ordering" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], - "idbdatabase_close.htm": [ - "8ebebaf1b8816d0beaec02899114d7c60a442b89", + "idbdatabase_close.any.js": [ + "1fa105171a7f7f0325cf6edff3923a4cc9ad9f28", [ - null, - {} - ] - ], - "idbdatabase_close2.htm": [ - "26bc4ce6383ec8d7abdec06c7cfbd112f9b5afc0", + "IndexedDB/idbdatabase_close.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBDatabase.close()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], [ - null, - {} + "IndexedDB/idbdatabase_close.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBDatabase.close()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase_close.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBDatabase.close()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], + [ + "IndexedDB/idbdatabase_close.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBDatabase.close()" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "idbdatabase_createObjectStore.any.js": [ @@ -526150,7 +527635,7 @@ ] ], "idbtransaction_abort.any.js": [ - "7bc27dc3d6941e0aeb0b4f37ac76a2f2c3c4b712", + "1f14bbe4d5dd7c82a9fea8dc96cc6e63362d2104", [ "IndexedDB/idbtransaction_abort.any.html", { @@ -540436,7 +541921,7 @@ ] ], "ai_translator_translate.tentative.https.any.js": [ - "2041ad82b5aadb44f3073cacfa041c658921c0f0", + "5cd8cb86b22b80f2c96b91fd35663231853c48e7", [ "ai/translator/ai_translator_translate.tentative.https.any.html", { @@ -540447,7 +541932,7 @@ ], [ "global", - "window,worker" + "window" ], [ "timeout", @@ -540456,78 +541941,14 @@ [ "script", "../resources/util.js" - ] - ], - "timeout": "long" - } - ], - [ - "ai/translator/ai_translator_translate.tentative.https.any.serviceworker.html", - { - "script_metadata": [ - [ - "title", - "Translate from English to Japanese" - ], - [ - "global", - "window,worker" - ], - [ - "timeout", - "long" ], [ "script", - "../resources/util.js" - ] - ], - "timeout": "long" - } - ], - [ - "ai/translator/ai_translator_translate.tentative.https.any.sharedworker.html", - { - "script_metadata": [ - [ - "title", - "Translate from English to Japanese" - ], - [ - "global", - "window,worker" - ], - [ - "timeout", - "long" + "../resources/language_codes.js" ], [ "script", - "../resources/util.js" - ] - ], - "timeout": "long" - } - ], - [ - "ai/translator/ai_translator_translate.tentative.https.any.worker.html", - { - "script_metadata": [ - [ - "title", - "Translate from English to Japanese" - ], - [ - "global", - "window,worker" - ], - [ - "timeout", - "long" - ], - [ - "script", - "../resources/util.js" + "/resources/testdriver.js" ] ], "timeout": "long" @@ -548467,7 +549888,7 @@ }, "clear-site-data": { "clear-cache-partitioning.sub.https.html": [ - "35640785662d4e77ac9e5679ca3a108d3155027c", + "b3841450b5a3fcfbe79857cebd7da8855754597a", [ null, { @@ -560885,6 +562306,31 @@ ] ] }, + "tentative": { + "require-sri-for": { + "script-allowed-meta.https.html": [ + "087498f0c573da8a7212f31348898769e070bb7d", + [ + null, + {} + ] + ], + "script-blocked-meta.https.html": [ + "fe69c61f5b6c68bfefc4c88a18c6f48b6466060e", + [ + null, + {} + ] + ], + "script.https.html": [ + "65553e523ccac1764b957dbe7af34f42acdfc551", + [ + null, + {} + ] + ] + } + }, "unsafe-eval": { "eval-allowed.sub.html": [ "186996311b707e1fc646885c847e082797847a9b", @@ -563260,6 +564706,13 @@ } ] ], + "sandbox-allow-same-site-none-cookies-value.tentative.https.html": [ + "77c1386ffb4432987e10215b69385ec83c22af44", + [ + null, + {} + ] + ], "sandbox-iframe-nested.https.html": [ "310f86a44687d5b715106c382afcc246808f5fc7", [ @@ -569350,21 +570803,21 @@ ] ], "corner-shape-computed.html": [ - "402c4b6659e124a095b15f13862a34471708cae1", + "1d084e23397b3bd34764c8dd874aa69bd8678a89", [ null, {} ] ], "corner-shape-invalid.html": [ - "490b8613945607db1756fca94a9dba9f01cdbbc9", + "582617a634afe223aa7f7aca5974b4b58a5a54f6", [ null, {} ] ], "corner-shape-valid.html": [ - "61005759d1258d5e808fa15aef21f7b79555a64e", + "32aaa89fc5b18ae332e983852f61d84397f5cae4", [ null, {} @@ -570987,6 +572440,13 @@ {} ] ], + "color-computed-contrast-color-function.html": [ + "57537dd929fc2d4e6fe0fe9f544037825df2ee71", + [ + null, + {} + ] + ], "color-computed-hex-color.html": [ "7485b34a1df318a25cfaafdf762f6977594f0d69", [ @@ -571064,6 +572524,13 @@ {} ] ], + "color-invalid-contrast-color-function.html": [ + "0c5741e239737afb7c70e729f4115d4804f04e8c", + [ + null, + {} + ] + ], "color-invalid-hex-color.html": [ "f879f334a1e69680f4bb7957aa39747eb43da279", [ @@ -571148,6 +572615,13 @@ {} ] ], + "color-valid-contrast-color-function.html": [ + "85a133b78e985449ee18a26f72beae9fae23581d", + [ + null, + {} + ] + ], "color-valid-hsl.html": [ "a9d2a7b887015cdbdff8f0268549ae4c197abe0c", [ @@ -577275,7 +578749,7 @@ ] ], "at-font-face-font-matching.html": [ - "ba18f9d5ab2e1ea7982b4a9fff468421f8c344e4", + "7511a83c4251729ea69788d810e8ba8f125e86d1", [ null, { @@ -580608,6 +582082,13 @@ {} ] ], + "grid-automatic-minimum-for-auto-rows-001.html": [ + "6c73370937c4fdb074da98158835ebfe0a6cfe7b", + [ + null, + {} + ] + ], "grid-container-percentage-001.html": [ "511e0cd99ead89649884ab7cc0852bfab09eb7da", [ @@ -581295,6 +582776,13 @@ {} ] ], + "HighlightRegistry-highlightsFromPoint.html": [ + "5bb81bea69ac5960db16e3f9ec3bb208f43a7200", + [ + null, + {} + ] + ], "HighlightRegistry-iteration-with-modifications.html": [ "7e1a0c08f3c795fa7d71cc77f531a10d865e0506", [ @@ -583485,14 +584973,35 @@ ] ], "dashed-function-eval.html": [ - "7726e832e0267b57852d099349c779d920aaa2e3", + "1eaad4e3cf01b27d66b6bf9c18ba614f51b116d8", [ null, {} ] ], "function-conditionals.html": [ - "e6113703d70f11ce26e1a630f67e6e3c1118ad96", + "18e82e53b61a339f21034d30d4c6de2da5d879ec", + [ + null, + {} + ] + ], + "function-container-dynamic.html": [ + "f05c347a2ab69752e57a5c4a07850f48119b55ca", + [ + null, + {} + ] + ], + "function-container-self.html": [ + "39a65986a8048229c517316bd5ca185642cc1035", + [ + null, + {} + ] + ], + "function-container-style.html": [ + "260f3d08d1e0ef3a62cabf5910e5c6bc3c49e0c0", [ null, {} @@ -584385,7 +585894,7 @@ ] ], "overflow-shorthand-002.html": [ - "6d5006497b784bb5eee4ff95f6733080a372b2e7", + "a27694887000ab7ffcd55206319d6a4203c269d4", [ null, {} @@ -584681,6 +586190,15 @@ } ] ], + "scroll-marker-activation-scroll.html": [ + "2a8be10d5a4f0553bb077e5cf1aead329972d4ed", + [ + null, + { + "testdriver": true + } + ] + ], "scroll-marker-controls-scroll-tracking-001.html": [ "42dff1a7800176a6d5de9ecbf07d59dd47350e76", [ @@ -584763,6 +586281,24 @@ } ] ], + "scroll-marker-navigation-cycles.html": [ + "d41b720ed9252b78845efb473d566f447ce71991", + [ + null, + { + "testdriver": true + } + ] + ], + "scroll-marker-next-focus.html": [ + "48a86a920262f4fdd6507aa30244a6dffd079632", + [ + null, + { + "testdriver": true + } + ] + ], "scroll-marker-selection-in-padded-scroller.html": [ "94e84d278f2b53b475e6d072cb6f520916bdb283", [ @@ -600447,7 +601983,7 @@ ] ], "attr-security.html": [ - "e8c041671ed5cf8a7589108f8c9b22363ddf545c", + "ee9b030d56f2e4f84dda2a97915c1819e0c15e9a", [ null, {} @@ -601042,8 +602578,15 @@ {} ] ], + "if-invalidation.html": [ + "feec1e526d17081c08f163ea7676cc06127a6693", + [ + null, + {} + ] + ], "if-style-query.html": [ - "fa9e91d7d8fa6ba28cf400103689c8b69b7391b0", + "2bfe6536fc0e37fd6a3e504c87e1b0418f97d44c", [ null, {} @@ -601274,7 +602817,7 @@ ] ], "progress-invalid.tentative.html": [ - "4e6f2e8a7bbf1de78b8c1af1ca3dfa19013b07d1", + "f135487e1c4dd0cef9d99652c7c10a8ebe44070a", [ null, {} @@ -609855,7 +611398,7 @@ ] ], "default-permissions-policy.https.sub.html": [ - "742a94ec4eb8ff079b1b24f17179962818fb3868", + "b4696293a287cfa8ad027e3f0116829052cd267f", [ null, { @@ -609871,7 +611414,7 @@ ] ], "disabled-by-permissions-policy.https.sub.html": [ - "616a3beb0b3cd2a8345ca268adeddeb87a0919fe", + "5c634b1b66d7974f41a2c803037231c0e58f403a", [ null, { @@ -609880,7 +611423,7 @@ ] ], "enabled-on-self-origin-by-permissions-policy.https.sub.html": [ - "a59c5c72fa0efba26775461ab34562d17d138d7d", + "ec70461e3857b5c1111d3b947c45527386569ff6", [ null, { @@ -614171,7 +615714,7 @@ ] ], "custom-element-move-reactions.html": [ - "ce0302cd7342d1222746645331f79a57099c0bec", + "a561180f9457c00a615ba6464751f4bd1ec825dd", [ null, {} @@ -614414,7 +615957,7 @@ ] ], "observable-constructor.any.js": [ - "ea79a82c65fc4bf3482f75c37f971b48ffb15f7b", + "d065c7f04431135f0243bd502bd2008807907411", [ "dom/observable/tentative/observable-constructor.any.html", {} @@ -614534,7 +616077,7 @@ ] ], "observable-from.any.js": [ - "f32ce2dd4829f34def27a28cefe3e41ae8fe1720", + "b5fcb5ed1fc6c89725d3bd26f2702b8156fb159d", [ "dom/observable/tentative/observable-from.any.html", {} @@ -615689,6 +617232,15 @@ } ] ], + "copy-elements-with-css-vars.tentative.html": [ + "d903d5a0017fefb56d2333cd529e05001b2d6f30", + [ + null, + { + "testdriver": true + } + ] + ], "copy-paste-before-non-editable.html": [ "14bd40bc1827d8cba199f1d4cd9b5f3cb293dc0e", [ @@ -618855,10 +620407,12 @@ ] ], "plain-text-copy-paste-of-paragraph-ending-with-non-layed-out-content.html": [ - "4b053e37706c2ed0e044caf5166f1f07fe59fa7e", + "c6f2e3adb5e833ac2d52ff05474d546217df251d", [ null, - {} + { + "testdriver": true + } ] ], "recursive-exec-command-calls.tentative.html": [ @@ -661918,7 +663472,7 @@ ] ], "private-aggregation.https.window.js": [ - "4386610abb34bc2b0b5316724a9282dbfa57ad17", + "a1c261b6291495ffb778753f1444dac5f414b910", [ "fledge/tentative/private-aggregation.https.window.html?1-5", { @@ -669338,7 +670892,7 @@ ] ], "element-ready-check-fullscreen-element-sibling.html": [ - "6394c13ee331417d49a06a21e1067615a82bae59", + "3b2781cc4ffaf0ecaf1f73c3b2baa6aca6a840bc", [ null, { @@ -669740,7 +671294,7 @@ ] ], "remove-first.html": [ - "b4058db320cbe5eed6000e42029f08d1d3dd74e2", + "ff1b251271c9cfd9b9ef2dbe432e7cb41d97c737", [ null, { @@ -669749,7 +671303,7 @@ ] ], "remove-last.html": [ - "760ccaa0bab7d2b218ade41aa950b9454037c7c1", + "72e7ed850aeef510642cac2ac546bd66698d9870", [ null, { @@ -680070,6 +681624,38 @@ ] ] }, + "color-type": { + "color-type": { + "2d.color.type.u8p3.to.f16srgb.to.u8p3.html": [ + "e30d3f7905c288c8b8d41ba79c851dc30306c26f", + [ + null, + {} + ] + ], + "2d.color.type.u8p3.to.u8srgb.to.u8p3.html": [ + "b1cfb4552b92093d7515fb6ec092d277c4089e7b", + [ + null, + {} + ] + ], + "2d.color.type.u8srgb.to.f16p3.to.u8srgb.html": [ + "3ce75d314bc4d1b9b33bf94d90d69f1ac4077167", + [ + null, + {} + ] + ], + "2d.color.type.u8srgb.to.u8p3.to.u8srgb.html": [ + "6d13b8d3c1aaba5358aed11d4414c2b6457fe0fe", + [ + null, + {} + ] + ] + } + }, "compositing": { "2d.composite.canvas.clear.html": [ "c91536c8e82c08d64f5b3dc4ccbc76dc2d965b0a", @@ -683512,7 +685098,7 @@ ] ], "getContextAttributes.html": [ - "6963faa5385898214f26bf9903c6d3a5372b0843", + "3bf7187d5c6f33f4f657fbe4d83cb1077c14e614", [ null, {} @@ -687407,14 +688993,14 @@ ] ], "2d.color.space.p3.to.p3.html": [ - "d917f583bed4cc6383db2b026ad75ad599356375", + "a8841066873199d18fe86cc0f936b6a434c1442d", [ null, {} ] ], "2d.color.space.p3.to.srgb.html": [ - "48f7bd63ecc898f3947a5b172053a1a10bcee9ba", + "8320a2948517ce39da51a6e89c6b289414a539da", [ null, {} @@ -688205,6 +689791,66 @@ ] ] }, + "color-type": { + "color-type": { + "2d.color.type.u8p3.to.f16srgb.to.u8p3.html": [ + "1cc4808a73771cb020fcedefc7771d75723a05f2", + [ + null, + {} + ] + ], + "2d.color.type.u8p3.to.f16srgb.to.u8p3.worker.js": [ + "7b8eb3d687f8413542db20a1f4e08c339a1ace48", + [ + "html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.worker.html", + {} + ] + ], + "2d.color.type.u8p3.to.u8srgb.to.u8p3.html": [ + "1d573b34a199dd6b661c0feeba311741b4ff55b0", + [ + null, + {} + ] + ], + "2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js": [ + "0d03eacf4b6cffe8bb4dcd94069bbf6ecf1ce95f", + [ + "html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.html", + {} + ] + ], + "2d.color.type.u8srgb.to.f16p3.to.u8srgb.html": [ + "4120dafdaf954c8b7678a33abeb1a201062d2339", + [ + null, + {} + ] + ], + "2d.color.type.u8srgb.to.f16p3.to.u8srgb.worker.js": [ + "85f48acf251dbd201ed04dcc5b513f93476baf21", + [ + "html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.worker.html", + {} + ] + ], + "2d.color.type.u8srgb.to.u8p3.to.u8srgb.html": [ + "1edbc9293f4500e12221f02b1154b05fe41b5f2c", + [ + null, + {} + ] + ], + "2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js": [ + "f4d0ebacbcc35c8b14a20ff1172f5fcb00dda7a2", + [ + "html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.html", + {} + ] + ] + } + }, "compositing": { "2d.composite.canvas.clear.html": [ "4e81c6a82645732b0db7ce37a9150bb9ef4d5d21", @@ -694625,7 +696271,7 @@ "manual": { "context-attributes": { "getContextAttributes.html": [ - "82edf974e0d91e380b5eaea381e5a81c2b1b88f6", + "c60e15ec0aed56366735bb02d65201137f131d56", [ null, {} @@ -701454,28 +703100,28 @@ }, "wide-gamut-canvas": { "2d.color.space.p3.to.p3.html": [ - "04823819fa9e82c5c183bfd74b64c8f0aee7f599", + "b05056939bb81fc2c74422d9cf892b6d07e155f8", [ null, {} ] ], "2d.color.space.p3.to.p3.worker.js": [ - "844cd93f81348b4c089b4e8b567f3631f83c1d87", + "1dcd0c0b522736b8215f7a920a12c6352c5348e1", [ "html/canvas/offscreen/wide-gamut-canvas/2d.color.space.p3.to.p3.worker.html", {} ] ], "2d.color.space.p3.to.srgb.html": [ - "60b90f4c0a51577549367342490c2554e10e98cb", + "0197c10ad2882fae964b8963e32961791816a2ed", [ null, {} ] ], "2d.color.space.p3.to.srgb.worker.js": [ - "619c59076da638d66beb848fe1fbd99c9ff31874", + "da84a683bcfadaae54c5f31cf63a0bf50b661514", [ "html/canvas/offscreen/wide-gamut-canvas/2d.color.space.p3.to.srgb.worker.html", {} @@ -719736,7 +721382,7 @@ ] ], "select-events.tentative.html": [ - "a1f98bc05301f69e6d5029f21fdd27e0aef18dfc", + "28abf1534c1ccb7e4ad93e26987e78652c428459", [ null, { @@ -719773,6 +721419,15 @@ } ] ], + "select-initial-focus-display-animation.tentative.html": [ + "b02225bc8ace3a6de3572c0cfb24630024a4470e", + [ + null, + { + "testdriver": true + } + ] + ], "select-innertext.tentative.html": [ "a3e0482d3ed50ffb188d5ccb2093e2d78ff0c127", [ @@ -719801,7 +721456,7 @@ ] ], "select-keyboard-behavior.tentative.html": [ - "f6722a70637d4cb0447512775a38236c9326d4be", + "444a95e85283efe9e00dfc36d1c174f87a18259b", [ null, { @@ -719858,12 +721513,21 @@ ] ], "select-parsing.tentative.html": [ - "780f2743f7c487fa36c363b7c3bd5289e321b8f3", + "cc6596b42fe80caa895e2997dcc86533558fb87a", [ null, {} ] ], + "select-picker-exit-animation.tentative.html": [ + "c7acfaefe678d602062b6b0a05ea2c811668aa13", + [ + null, + { + "testdriver": true + } + ] + ], "select-picker-hover-active-pseudo.tentative.html": [ "4f3570b065ff674072294095948e63db859399dd", [ @@ -719873,6 +721537,24 @@ } ] ], + "select-picker-interactive-element-focus.tentative.html": [ + "39fa568aa25fc2fb96138ead60cd0d3a450e4da1", + [ + null, + { + "testdriver": true + } + ] + ], + "select-picker-starting-style.tentative.html": [ + "c653016875a6455367d337a9e914a7d21bac0dbb", + [ + null, + { + "testdriver": true + } + ] + ], "select-pseudo-open.tentative.html": [ "21dd0aef2aa3afb5b07ebff6ddf7e71366f49c31", [ @@ -720600,7 +722282,7 @@ ] ], "dialog-close-via-attribute.tentative.html": [ - "4ccac5b31cf2e7610397ba2a0763e4b025fbe16b", + "fd4d0ba2a288d659aa0577ccb4ac548713b346c0", [ null, { @@ -720615,6 +722297,16 @@ {} ] ], + "dialog-closedby-start-open.html": [ + "52432ff1b2c48ad7e366572a1d545ce5413a941e", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ], "dialog-closedby.html": [ "65902ed2d5ffc2ee45e367b188012f2da87e0c36", [ @@ -720764,7 +722456,7 @@ ] ], "dialog-requestclose.html": [ - "5cbad9c651935e8296d1fad3c94433965b9303db", + "3790926dda42c13b191c258695bc41cefa8a8de8", [ null, { @@ -721386,8 +723078,8 @@ ] }, "popovers": { - "button-type-reset-popovertarget.html": [ - "975eab0d66eabd7216c51a999d87a0cd145898b4", + "button-type-popovertarget.html": [ + "c495a8d911501f49edcd915f452ab45876d2fb05", [ null, {} @@ -721407,6 +723099,13 @@ {} ] ], + "input-type-popovertarget.html": [ + "00e2e87e78edaae9f87b55c0c37f8580afef2973", + [ + null, + {} + ] + ], "label-in-invoker.html": [ "bf8ab9710dce07085b930b1a48a656a565703f3c", [ @@ -721529,7 +723228,7 @@ ] ], "popover-focus-2.html": [ - "552c8d8206b7b682f422bc8a5e2017f66983d198", + "5fc8e7adf9804027a6a5a87bec15cd4a5c26b99f", [ null, { @@ -723400,6 +725099,13 @@ {} ] ], + "http-accept-header.sub.html": [ + "f29719d09a20951747ce53a679c5052e01ed2148", + [ + null, + {} + ] + ], "integrity.html": [ "0aa92d9fdcbc7625a54572f5c257313074afbe2c", [ @@ -726338,7 +728044,31 @@ "the-button-element": { "command-and-commandfor": { "button-event-dispatch.tentative.html": [ - "54216fdcdeb961070ac638072cafcd324d7dcd3b", + "be90823325b8cce51fafc1dac658c9591b07c476", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ], + "button-type-behavior.tentative.html": [ + "f179ceb653f5fa2ff349b770d49a70328baf0793", + [ + null, + {} + ] + ], + "button-type-reflection.tentative.html": [ + "972861486e86bcf569c5ea9f348285a5d67520fa", + [ + null, + {} + ] + ], + "command-reflection.tentative.html": [ + "cac07b732d71aba3fa3e9ab7db13f7edadada82e", [ null, { @@ -726383,7 +728113,7 @@ ] ], "interface.tentative.html": [ - "6821adf71fee0c0e84376d8c02f34d5556177c06", + "58f0b110c8b7087fa329bf47a44fffbf6ab0583d", [ null, {} @@ -738443,7 +740173,7 @@ ] ], "loaf-source-location.html": [ - "b5982ea339e9c97672660596bf86d24fb94a4efc", + "59c026db69a6d1a0224eb8d4b45d0c07866ab01d", [ null, { @@ -744733,6 +746463,27 @@ {} ] ], + "after-transition-redirect-explicit-commit.html": [ + "7fa356760870c4d519e9d53f92bbebe6b4849a79", + [ + null, + {} + ] + ], + "after-transition-redirect-push.html": [ + "79b46ea475087c0ba16783899d2af93addc5b033", + [ + null, + {} + ] + ], + "after-transition-redirect-replace.html": [ + "e31f5884a2762630abfc2974c3a2dbcd3871b4d3", + [ + null, + {} + ] + ], "after-transition-reload.html": [ "203150eb0516f2eea57f9e398f5bb50a972f0569", [ @@ -744795,6 +746546,13 @@ null, {} ] + ], + "redirect-throws.html": [ + "4bb6f9660711e853d35d9aef41eab04cf80a1a18", + [ + null, + {} + ] ] }, "currententrychange-event": { @@ -747070,6 +748828,17 @@ {} ] ], + "navigate-commit-after-transition-intercept-with-redirect.html": [ + "1d7c47b5e73f7306fbf68a21233caae8310f123e", + [ + "navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept-with-redirect.html?currententrychange", + {} + ], + [ + "navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept-with-redirect.html?no-currententrychange", + {} + ] + ], "navigate-commit-after-transition-intercept.html": [ "16c8796d6f45ce94f594280339596464e60b49cf", [ @@ -753851,14 +755620,14 @@ ] ], "camera-potential-report-only.https.html": [ - "9305f072559141527e5b7ee5b217a19088853709", + "e3b459390c73204aae50edc6594e018189a9ffe6", [ null, {} ] ], "camera-potential-reporting.https.html": [ - "7376f71db625b9b5a3197c6a143a33732a5de2c6", + "daaf1ea86a3f4c02f02582eb34d27fd41cd19659", [ null, {} @@ -754357,7 +756126,7 @@ }, "png": { "cicp-chunk.html": [ - "8add5d602ea0c3478b27fd627e9ad5e9eb465083", + "8d0a1a41adc0f152be846aed8835701c77bf8566", [ null, {} @@ -754371,7 +756140,7 @@ ] ], "trns-chunk.html": [ - "3a24753382b20b4a1d5803ee64c730427dd62c54", + "249903aa6e3a0f86843cae5b120cdaf5b8da7a32", [ null, {} @@ -756475,7 +758244,7 @@ ] ], "preload-csp.sub.html": [ - "524844df2e094ebdfed2eada872421863e9075ab", + "a1b57b78b415f76678064ff9e00d32a4f6d14f6c", [ null, {} @@ -772834,7 +774603,19 @@ "testdriver": true } ] - ] + ], + "tentative": { + "getdisplaymedia-captured-surface-resolution.https.html": [ + "00a5c9bec8330f08954bbb0efa6040d0c754d29c", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ] + } }, "screen-details": { "getScreenDetails.tentative.https.window.js": [ @@ -773352,7 +775133,7 @@ ] ], "animation-timeline-view-functional-notation.tentative.html": [ - "d91dfe924b7756e111bdc9ef6a2fc8fefa5245d4", + "04d8a8a3cb2d59d54b2c3f86458c8914bea6047e", [ null, {} @@ -773380,7 +775161,7 @@ ] ], "progress-based-animation-animation-longhand-properties.tentative.html": [ - "25ce1675533de7643eb0ac2863a7ed88b35322b2", + "0997908ae9526cb83511eba21880248a465ce3cd", [ null, {} @@ -773393,6 +775174,13 @@ {} ] ], + "pseudo-on-scroller-named-timeline.html": [ + "be93144a458c4bbd7bd8797075d921b8b9c8b14b", + [ + null, + {} + ] + ], "pseudo-on-scroller.html": [ "bdeb140a041e27e04d81c40e1cfc88f033f1a250", [ @@ -773604,14 +775392,14 @@ ] ], "timeline-scope-computed.tentative.html": [ - "814933f726658493581a00157a660417ebf367c0", + "2e0a024a60007652daa90aaed2125a6dbbb6f051", [ null, {} ] ], "timeline-scope-parsing.tentative.html": [ - "2885cb758ded6f4ad95f2f0603a977970b519ac7", + "61bf6975a81447024d5e814229fdbd987b7c8223", [ null, {} @@ -773632,7 +775420,7 @@ ] ], "view-timeline-animation.html": [ - "1bf034a742f3b30be5070b78536614c1b53823fe", + "af78b08439fd9ed66c563a1a632bc46819782375", [ null, {} @@ -773688,7 +775476,7 @@ ] ], "view-timeline-lookup.html": [ - "067ac1fa969f119e252d3415f172cbb6e6129d82", + "aaef959d99265557f39d1d58bb9c44511abd28c8", [ null, {} @@ -773715,6 +775503,13 @@ {} ] ], + "view-timeline-pseudo-on-scroller.html": [ + "1cd0e021d2f066b17f81485a1cf52032079ddb05", + [ + null, + {} + ] + ], "view-timeline-range-animation.html": [ "9e5993b63a8792077c8e67302cea16671b8521b5", [ @@ -774052,7 +775847,7 @@ ] ], "intermediate-transform.html": [ - "8d332eaf264e67faacbe8a21630b820266308580", + "24d1ea5c43fcc52633336872df15815bcc84d7b9", [ null, {} @@ -779072,6 +780867,13 @@ {} ] ], + "HighlightRegistry-highlightsFromPoint.html": [ + "5244f923e3404064987ce16d0fd1e9215ad768c3", + [ + null, + {} + ] + ], "MouseEvent-prototype-offsetX-offsetY.html": [ "643736b85c4899126fffda956fe94a40a9fb2ffc", [ @@ -779804,7 +781606,7 @@ "reading-flow": { "tentative": { "flex-flow.html": [ - "e6998105608c99e3a3dca3de610018bebda81172", + "a956ae476fae8febccf32054d50f6b550ac4bbd6", [ null, { @@ -779822,6 +781624,16 @@ } ] ], + "grid-auto-flow-reading-order.html": [ + "66741122ef4532b82eecccd77f9e989e0c117817", + [ + null, + { + "testdriver": true, + "timeout": "long" + } + ] + ], "grid-columns.html": [ "ad9bd81c7a7967fbe582843e02a5c4e2749d477f", [ @@ -780766,20 +782578,6 @@ {} ] ], - "detection-ImageDataUint16StorageFormat.https.window.js": [ - "1afe087abf06a2cffdfab46d3dd99f28d31bc7b9", - [ - "shape-detection/detection-ImageDataUint16StorageFormat.https.window.html", - { - "script_metadata": [ - [ - "script", - "/shape-detection/resources/shapedetection-helpers.js" - ] - ] - } - ] - ], "detection-SVGImageElement.https.window.js": [ "22f1629eccb1954c0385f3833b744b606749c87b", [ @@ -783475,6 +785273,15 @@ } ] ], + "cancel-prerendering-after-clear-site-data-cache.https.html": [ + "cb6dc281d89dadbb6f139dba6d06674c94550920", + [ + null, + { + "timeout": "long" + } + ] + ], "clients-matchall.https.html": [ "b86a18161ae88036a5357b35b5655b9051d62830", [ @@ -785030,6 +786837,13 @@ } }, "speech-api": { + "SpeechRecognition-availableOnDevice.https.html": [ + "5b395976b96f8792742a87243bf0037c687ebd4a", + [ + null, + {} + ] + ], "SpeechRecognition-basics.https.html": [ "d4dfc5edd093d5fc431341a54c66a2f0b7a0adec", [ @@ -785037,15 +786851,8 @@ {} ] ], - "SpeechRecognition-installOnDeviceSpeechRecognition.https.html": [ - "05d8b424c39c27cd46bed62d8372d0fa0d311f7a", - [ - null, - {} - ] - ], - "SpeechRecognition-onDeviceWebSpeechAvailable.https.html": [ - "f04bfead92a212f71f720bfd8112052a018fad31", + "SpeechRecognition-installOnDevice.https.html": [ + "6c6fa37b6cde9e36fd7b1baec6fe9110257b494f", [ null, {} @@ -786307,7 +788114,7 @@ ] ], "requestStorageAccess-cross-site-sibling-iframes.sub.https.window.js": [ - "528b1616368a16b9629f441ee7d9de7cfe54a392", + "8ffa9e178b1b7cb46fa009cacaa2eeeb45bb511b", [ "storage-access-api/requestStorageAccess-cross-site-sibling-iframes.sub.https.window.html", { @@ -798284,6 +800091,20 @@ "subresource-integrity": { "signatures": { "tentative": { + "csp.window.js": [ + "e72e49dd20931eecb2d6a03983dfa0fa6e035e17", + [ + "subresource-integrity/signatures/tentative/csp.window.html", + { + "script_metadata": [ + [ + "script", + "helper.js" + ] + ] + } + ] + ], "fetch.any.js": [ "e14ed8b38a2c372081b213024fbda92f77adf804", [ @@ -798354,7 +800175,7 @@ ] ], "script.window.js": [ - "f8a2572535f0f7bea8a967eb03928d96329b4f95", + "d4c4e57b270ad807bb46306509121469b6627001", [ "subresource-integrity/signatures/tentative/script.window.html", { @@ -802880,6 +804701,13 @@ {} ] ], + "TrustedTypePolicyFactory-getAttributeType.html": [ + "c59798e7090852d86df5324c52bcfef80f264bee", + [ + null, + {} + ] + ], "TrustedTypePolicyFactory-getPropertyType.tentative.html": [ "06428582f456785106be89604a7ebe7f5f9c6150", [ @@ -803257,6 +805085,34 @@ {} ] ], + "set-attributes-mutations-in-callback.tentative.html": [ + "76ea84cf2543a11269983c871be09c8ec1fb18ea", + [ + null, + {} + ] + ], + "set-attributes-no-require-trusted-types.html": [ + "6733eab9d34bd1df4ce43f068860def61571d463", + [ + null, + {} + ] + ], + "set-attributes-require-trusted-types-default-policy.html": [ + "b2b4b386d1eeb34ee704b81e787bd77af37d5402", + [ + null, + {} + ] + ], + "set-attributes-require-trusted-types-no-default-policy.html": [ + "6f909bbc042d3d476b194742e0c0da9d8baccbe5", + [ + null, + {} + ] + ], "set-event-handlers-content-attributes.tentative.html": [ "bd1b91ec91f68d9fb0c5fc08e6a9d55636d1c0c0", [ @@ -813514,8 +815370,8 @@ ] ], "js-string": { - "basic.tentative.any.js": [ - "de4a21c976b5837445c3cff7bcdadb56185198a1", + "basic.any.js": [ + "174bab32eb171b3153fd01de3419efe702d540bc", [ null, { @@ -813523,7 +815379,7 @@ "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813541,12 +815397,12 @@ } ], [ - "wasm/jsapi/js-string/basic.tentative.any.html", + "wasm/jsapi/js-string/basic.any.html", { "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813564,150 +815420,12 @@ } ], [ - "wasm/jsapi/js-string/basic.tentative.any.shadowrealm-in-dedicatedworker.html", + "wasm/jsapi/js-string/basic.any.worker.html", { "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/assertions.js" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ], - [ - "script", - "/wasm/jsapi/js-string/polyfill.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/basic.tentative.any.shadowrealm-in-shadowrealm.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/assertions.js" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ], - [ - "script", - "/wasm/jsapi/js-string/polyfill.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/basic.tentative.any.shadowrealm-in-sharedworker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/assertions.js" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ], - [ - "script", - "/wasm/jsapi/js-string/polyfill.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/basic.tentative.any.shadowrealm-in-window.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/assertions.js" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ], - [ - "script", - "/wasm/jsapi/js-string/polyfill.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/basic.tentative.any.worker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/assertions.js" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ], - [ - "script", - "/wasm/jsapi/js-string/polyfill.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/basic.tentative.https.any.shadowrealm-in-audioworklet.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/assertions.js" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ], - [ - "script", - "/wasm/jsapi/js-string/polyfill.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/basic.tentative.https.any.shadowrealm-in-serviceworker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813725,8 +815443,8 @@ } ] ], - "constants.tentative.any.js": [ - "ef391a90b7ae7c646a03eb67ef13bfcd5100befa", + "constants.any.js": [ + "90cf94df76efcbd93ed749f6caf324007831090d", [ null, { @@ -813734,7 +815452,7 @@ "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813744,12 +815462,12 @@ } ], [ - "wasm/jsapi/js-string/constants.tentative.any.html", + "wasm/jsapi/js-string/constants.any.html", { "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813759,102 +815477,12 @@ } ], [ - "wasm/jsapi/js-string/constants.tentative.any.shadowrealm-in-dedicatedworker.html", + "wasm/jsapi/js-string/constants.any.worker.html", { "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/constants.tentative.any.shadowrealm-in-shadowrealm.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/constants.tentative.any.shadowrealm-in-sharedworker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/constants.tentative.any.shadowrealm-in-window.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/constants.tentative.any.worker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/constants.tentative.https.any.shadowrealm-in-audioworklet.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/constants.tentative.https.any.shadowrealm-in-serviceworker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813864,8 +815492,8 @@ } ] ], - "imports.tentative.any.js": [ - "c357760befb6c386ef2fb7a7e972a0e55f72faf0", + "imports.any.js": [ + "d4e16dc47d060b22cee32bf241fc9c9c17a04827", [ null, { @@ -813873,7 +815501,7 @@ "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813883,12 +815511,12 @@ } ], [ - "wasm/jsapi/js-string/imports.tentative.any.html", + "wasm/jsapi/js-string/imports.any.html", { "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -813898,102 +815526,12 @@ } ], [ - "wasm/jsapi/js-string/imports.tentative.any.shadowrealm-in-dedicatedworker.html", + "wasm/jsapi/js-string/imports.any.worker.html", { "script_metadata": [ [ "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/imports.tentative.any.shadowrealm-in-shadowrealm.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/imports.tentative.any.shadowrealm-in-sharedworker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/imports.tentative.any.shadowrealm-in-window.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/imports.tentative.any.worker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/imports.tentative.https.any.shadowrealm-in-audioworklet.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" - ], - [ - "script", - "/wasm/jsapi/wasm-module-builder.js" - ] - ] - } - ], - [ - "wasm/jsapi/js-string/imports.tentative.https.any.shadowrealm-in-serviceworker.html", - { - "script_metadata": [ - [ - "global", - "window,dedicatedworker,jsshell,shadowrealm" + "window,dedicatedworker,jsshell" ], [ "script", @@ -819249,6 +820787,15 @@ ] ] }, + "AnimationTrigger": { + "constructor.html": [ + "e7b632fd90f1224ea1ceb90acbcca73763eb87b6", + [ + null, + {} + ] + ] + }, "Document": { "timeline.html": [ "b8b4d74d5e536a111449fd0268424ac06a151b95", @@ -822541,6 +824088,13 @@ {} ] ], + "audioworkletprocessor-no-process-function.https.html": [ + "e5578c6f97c504fc6a4acd7c018b0d373abb9d6a", + [ + null, + {} + ] + ], "audioworkletprocessor-options.https.html": [ "ea840ed11ad59bdcbb62773b43c4e404a2903233", [ @@ -830386,8 +831940,613 @@ } ] ], + "videoDecoder-codec-specific-orientation.https.any.js": [ + "9fb1714a7b1126ccec08de98effec7dfa95673c9", + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?av1", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?h264_annexb", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?h264_avc", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?h265_annexb", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?h265_hevc", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?vp8", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.html?vp9", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?av1", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?h264_annexb", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?h264_avc", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?h265_annexb", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?h265_hevc", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?vp8", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ], + [ + "webcodecs/videoDecoder-codec-specific-orientation.https.any.worker.html?vp9", + { + "script_metadata": [ + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], + [ + "variant", + "?av1" + ], + [ + "variant", + "?vp8" + ], + [ + "variant", + "?vp9" + ], + [ + "variant", + "?h264_avc" + ], + [ + "variant", + "?h264_annexb" + ], + [ + "variant", + "?h265_hevc" + ], + [ + "variant", + "?h265_annexb" + ] + ] + } + ] + ], "videoDecoder-codec-specific.https.any.js": [ - "1c3b8f120dbf8843d6cb61d9b82812a2ced04631", + "21beaa0f4b757792c8ca39e5991b1b87acdee6bc", [ "webcodecs/videoDecoder-codec-specific.https.any.html?av1", { @@ -830396,6 +832555,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830435,6 +832598,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830474,6 +832641,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830513,6 +832684,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830552,6 +832727,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830591,6 +832770,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830630,6 +832813,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830669,6 +832856,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830708,6 +832899,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830747,6 +832942,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830786,6 +832985,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830825,6 +833028,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830864,6 +833071,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -830903,6 +833114,10 @@ "global", "window,dedicatedworker" ], + [ + "script", + "videoDecoder-codec-specific-setup.js" + ], [ "variant", "?av1" @@ -831277,7 +833492,7 @@ ] ], "videoFrame-drawImage.any.js": [ - "9830181c4f50a83a36c74453f58b403d91f75493", + "8fcd38a807cd49e8edaecdc078703cd5b57a34de", [ "webcodecs/videoFrame-drawImage.any.html", { @@ -831343,7 +833558,7 @@ ] ], "videoFrame-orientation.any.js": [ - "f4b3d9f10f82fc3543c228f14c42328d775707c5", + "28405764c90783abe7d0097031375edb11c742f0", [ "webcodecs/videoFrame-orientation.any.html", { @@ -836929,7 +839144,7 @@ ] ], "dequantizeLinear.https.any.js": [ - "5ac15593e4e1ea3d4921cd198166154c8628b548", + "ecca03660f42b9da3922f9b6d3164c5eb27662ef", [ "webnn/conformance_tests/dequantizeLinear.https.any.html?cpu", { @@ -911658,15 +913873,6 @@ ] ] }, - "layout-algorithm": { - "grid-automatic-minimum-for-auto-rows-001.html": [ - "77e9c22294d9dd11ac5977630696325bc76b913e", - [ - null, - {} - ] - ] - }, "subgrid": { "repeat-auto-fill-009.html": [ "086a4769d426a6aad48045672231615ec8e72657", @@ -914291,7 +916497,7 @@ }, "context_destroyed": { "context_destroyed.py": [ - "ac964b67687805fa53d75e97e1cdc8f24c718479", + "254708c725a6394b1e094290c30c613e20104932", [ null, {} @@ -914526,14 +916732,14 @@ ] ], "navigate.py": [ - "8f2fd4822abc88e614fab629f7879ce95744f55a", + "83e5f776316ed3e9e4b215ba70fcff21a057d9f3", [ null, {} ] ], "wait.py": [ - "3a351e108908d949a276535bed4eeaa041dcd576", + "e19e516baf3fab4bd31c2c6ac2e3219688dac652", [ null, {} @@ -914560,7 +916766,7 @@ }, "navigation_started": { "navigation_started.py": [ - "599708a5de8e49fd865f4bcfb6c2d742b703b90b", + "80d6907acfaa3b251d4ebcdc16ec6b5584487442", [ null, {} @@ -914666,7 +916872,7 @@ ] ], "wait.py": [ - "a9f113a2a9a4e4c8cca932b942d13ca1da507cf5", + "30e44e1f7c0eb5d22913ca7ba02f41a6aace0a21", [ null, { @@ -914825,7 +917031,7 @@ "input": { "perform_actions": { "invalid.py": [ - "ad7dab399350c01771a6f4238bdd64bf2985d3d6", + "c78090d2c678fc472540c748b5d968240c749d8d", [ null, { @@ -915313,7 +917519,7 @@ }, "fetch_error": { "fetch_error.py": [ - "bdb66722ce9d231d0214d177f107a1dd3c5288cd", + "ea08c99a5ef1efa5222fd8b7147be02ad6677198", [ null, {} @@ -915896,7 +918102,7 @@ ] ], "user_contexts.py": [ - "ee7c65ca44d06c392695bccfeccdc013b020855e", + "f98221ba7e3ed267023e3ac4638a3107a3ededbc", [ null, {} @@ -915926,7 +918132,7 @@ ] ], "subscriptions.py": [ - "b79621ff5a1cac9d5f3bb50eedb4e1f2429f5e15", + "1012229f469519a00f9105a7d862e0555ad858da", [ null, {} @@ -916081,7 +918287,7 @@ ] ], "user_prompts.py": [ - "f58aacd02a71d73112fcb6140c6b766919f9b85f", + "3a819f196662d782411e7fdd48b17458ff93f4b9", [ null, { @@ -916099,7 +918305,7 @@ ] ], "user_prompts.py": [ - "1020a6aaa613889c3e032510e9eb21b76ca13f1c", + "1b4bf0bbc5395e99603368c8b2a4c343ee5152bb", [ null, { @@ -916117,7 +918323,7 @@ ] ], "user_prompts.py": [ - "37928f97589dee7f966824103b1396f16c8b5f5a", + "090b3d281f01151c2597443adc065ac3c5773fb4", [ null, { @@ -916135,7 +918341,7 @@ ] ], "user_prompts.py": [ - "03f34d9f6f949610567f72cfc5c8b09b2c52a551", + "91d3ab3844cbb11214ba208b20e4e3be41549ba1", [ null, { @@ -916153,7 +918359,7 @@ ] ], "user_prompts.py": [ - "1ed7db6e8e320575ffa99ec2f7b7cf2cfeb0ee6a", + "62f41dbdb5d2f943857cd4b64761a2265e93a5e8", [ null, { @@ -916196,7 +918402,7 @@ ] ], "user_prompts.py": [ - "ccf048bc0a5135c499d0683f8c4818474cd0785f", + "5ac2052fc4e27500fd040aa88b7732a1b705aa9c", [ null, { @@ -916277,7 +918483,7 @@ ] ], "user_prompts.py": [ - "a4c62cbca7784fe8303dad8f5f78d2a72a404aa6", + "e8fc892c5c709162f1a3825643f6c8c183098be4", [ null, { @@ -916337,7 +918543,7 @@ ] ], "user_prompts.py": [ - "c1046840fa4ef24a5e063d09aee8c58803e835f7", + "1ed3c7cbdac2a6735b7adc63bf25985b1f2bb5e8", [ null, { @@ -916404,7 +918610,7 @@ ] ], "user_prompts.py": [ - "5243b372e5a5ca81f17b741ab73639be64e68e3e", + "805157fbc3a2741f3686b95240f288e210bfef0e", [ null, { @@ -916478,7 +918684,7 @@ ] ], "user_prompts.py": [ - "74d4c47fc064f7b498def6a838ce36d3d5604ccf", + "a92f908f2cb8d894147d3597c690aa2dcd69b461", [ null, { @@ -916503,7 +918709,7 @@ ] ], "user_prompts.py": [ - "ada8e8ebee33a6ce9fcfb4871093ce1eef1d1dae", + "e7193d110719ae9aa07f4bdc82b83bef5c2d2503", [ null, { @@ -916521,7 +918727,7 @@ ] ], "user_prompts.py": [ - "0537a786189c41420f50e6c3b747482c331fdaa3", + "1fb6fa18749dd00db51800c00cb56dd88c4c14a9", [ null, { @@ -916539,7 +918745,7 @@ ] ], "user_prompts.py": [ - "3e3381e7853b25577a0f465542c848c9429e3099", + "f1e96f64afbef781d640fe89df9473114d4900e8", [ null, { @@ -916557,7 +918763,7 @@ ] ], "user_prompts.py": [ - "f9a45e527515fc7448162a86dca69d3f95e76491", + "767e9b5bbc33c4d2c4fc2b693a9ce1074748c95c", [ null, { @@ -916575,7 +918781,7 @@ ] ], "user_prompts.py": [ - "467bec09a1bd61346b3df2fa5b0b8c16e02fe975", + "b9332b433cde349d5419c19eb848094d6a2d13b4", [ null, { @@ -916593,7 +918799,7 @@ ] ], "user_prompts.py": [ - "45986ad6dab9322ca7126050d623904d2542e338", + "41dc75227d981fad1c2faac141a1a9152a60eaf3", [ null, { @@ -916611,7 +918817,7 @@ ] ], "user_prompts.py": [ - "dfcba6469d5e6b7101976faa9a836733f13ec710", + "1bf8a54e4314a09a9356d72d1481a841b001bc47", [ null, { @@ -916645,7 +918851,7 @@ ] ], "user_prompts.py": [ - "106bc457f0c18769afe1d9f76c39937d17783666", + "cb99c468bf10f9b2e732389f197fd6dca01e7478", [ null, { @@ -916663,7 +918869,7 @@ ] ], "user_prompts.py": [ - "1ff77697b707886bbfeaee8acf08bdb8aba2de38", + "a78c2ed158ac978037960094a7c3bce891d48c43", [ null, { @@ -916688,6 +918894,15 @@ null, {} ] + ], + "user_prompts.py": [ + "232ecb529261dec762a6e23931aaab92c4f6e34b", + [ + null, + { + "timeout": "long" + } + ] ] }, "get_computed_role": { @@ -916697,6 +918912,15 @@ null, {} ] + ], + "user_prompts.py": [ + "1029b8a9742d8e21cf4fdcf07224552576f86d0a", + [ + null, + { + "timeout": "long" + } + ] ] }, "get_current_url": { @@ -916722,7 +918946,7 @@ ] ], "user_prompts.py": [ - "d657c188241d8e0b53153d6b0e64fd386642847a", + "3359e7302089408d893383a55b32f8c7a3d3b9d9", [ null, { @@ -916740,7 +918964,7 @@ ] ], "user_prompts.py": [ - "009cb1e5fa1e1bdf4a9b433fe943f6ee4a97506d", + "872d530ffe1f46995ca237b72a70477b8b2ea7c1", [ null, { @@ -916758,7 +918982,7 @@ ] ], "user_prompts.py": [ - "b1f9a3fb0a00f17c9c5bd5b590c8628d7888ea2e", + "d5c942dd8716843a8f8010086f3e6ebec383b33d", [ null, { @@ -916776,7 +919000,7 @@ ] ], "user_prompts.py": [ - "e5e76947863e61ca082a66367e3ea876b8ebec73", + "1db033a3ebd263b83a2a92ee88d66bf54c6c0eb5", [ null, { @@ -916794,7 +919018,7 @@ ] ], "user_prompts.py": [ - "20131603381bc574e44251a6909e389457dd0059", + "d040b32c71c54d4fe77dc24d10c61e30b9c1e20f", [ null, { @@ -916812,7 +919036,7 @@ ] ], "user_prompts.py": [ - "5b991bac26b6247b743f81ccf82faaa94dcb71a1", + "66eda0045af2a63426c5fd71af05bd3009bb872b", [ null, { @@ -916830,7 +919054,7 @@ ] ], "user_prompts.py": [ - "89697d0ad6a20503d6ec906862d58e674ed90839", + "d9965fa19a7f9579488a64663e6483adee58a281", [ null, { @@ -916848,7 +919072,7 @@ ] ], "user_prompts.py": [ - "9f0bb386cdf549ae1edbb7843fe893bd74700212", + "93a99ac3cc37b786f41904dee0049237b8449531", [ null, { @@ -916866,7 +919090,7 @@ ] ], "user_prompts.py": [ - "f1669d6c998d436d1ddfbc20d6842c844eb48d72", + "ec6d27bfc97fe91a42fb6b1e09aad1f7c4216099", [ null, { @@ -916884,7 +919108,7 @@ ] ], "user_prompts.py": [ - "13cb31595e6165ffb6e3491661d630921ade5699", + "b9745645ea4683f29fd128c90d2af8fe1eb609c8", [ null, { @@ -916918,7 +919142,7 @@ ] ], "user_prompts.py": [ - "0fd51e46f32ab5c5a6a14392afe08a0cf725115a", + "8e011d23924176e9808586928376dc5ec431c9f7", [ null, { @@ -916936,7 +919160,7 @@ ] ], "user_prompts.py": [ - "0bd660cfa1fb31ba4fc93bb0ecb239fc4a6c136c", + "f3bae4e44075bed5cccb44b2abc7707f1c684150", [ null, { @@ -916954,7 +919178,7 @@ ] ], "user_prompts.py": [ - "217e9849b4417d7124e203f937270a9e4823666a", + "5b5310c5074bda9faab16b0318a87db8de02dba0", [ null, { @@ -916972,7 +919196,7 @@ ] ], "user_prompts.py": [ - "37c8da6bd3838422441fc089d8191930dd2b3da6", + "4f927435c3e24b74c2341aea431dc2109aee835a", [ null, { @@ -916999,7 +919223,7 @@ ] ], "user_prompts.py": [ - "a3af947d516314e1b380af5990feedc7be55cfbf", + "45db225dbfe15837b749824ea4da7dfa122d7bf9", [ null, { @@ -917017,7 +919241,7 @@ ] ], "user_prompts.py": [ - "96da2c08bd7e5465ed12eb49cede25d70a6fbef5", + "f88b7b52a9098a798eb79e0a7b095fb037c06135", [ null, { @@ -917053,7 +919277,7 @@ ] ], "user_prompts.py": [ - "032edc893a53a05dd0272cc081265bde6f0b5d53", + "7cf3ca2f7414298e516b557495a548212b1df397", [ null, { @@ -917082,7 +919306,7 @@ ] ], "user_prompts.py": [ - "19059b3c395ecd22690d999f60838257cbe93449", + "5c797f81f4d0d1453e995f79dc01c4ef1536bfff", [ null, { @@ -917107,7 +919331,7 @@ ] ], "user_prompts.py": [ - "db8d094ebbdf556167544b98110e7dd4ac0492c2", + "2714b5ae7699aa475d95da4ab0a4b7972b966d1a", [ null, { @@ -917235,7 +919459,7 @@ ] ], "user_prompts.py": [ - "0d841468ee48995a4f1b2c71ec7f69adcb37baae", + "327994066b910e19957f184df0d5960cad5827cc", [ null, { @@ -917397,7 +919621,7 @@ ] ], "user_prompts.py": [ - "7fcd720624b1006cb1b5ff43305c79e00279ce0d", + "04ba3e04f9498caff3797ac77cc3838a8546cb5f", [ null, { @@ -917447,7 +919671,7 @@ ] ], "user_prompts.py": [ - "ade1c38a5c473037df15352ab119db57a728822c", + "27900986bb57f038905ffd78121effd7679f4cce", [ null, { @@ -917465,7 +919689,7 @@ ] ], "user_prompts.py": [ - "5787533b5727f05370bc3f9257c7723b12a1c0d3", + "6f30cf6613d485c67bf7b8fe13efdb5f91de7be0", [ null, { @@ -917515,7 +919739,7 @@ ] ], "user_prompts.py": [ - "a98d87e9b2e2ca252a3ed7cf215a20bd1c299818", + "339b0c31f03a22955cfb42ae5d2d979e7d94327f", [ null, { @@ -917542,7 +919766,7 @@ ] ], "user_prompts.py": [ - "e55c2d77f8cc018128aae4b3bd0a0ff21a6b8d24", + "baab00b7cbaa904823545d25e150b271cd81f77d", [ null, { @@ -917631,7 +919855,7 @@ ] ], "user_prompts.py": [ - "39fefe9325a9bf2880d333d48a58337edb3508cd", + "bf14f09868b322a8f6ed2864382b6eb139cbf0fc", [ null, { @@ -917656,7 +919880,7 @@ ] ], "user_prompts.py": [ - "7d57f8f2716b393696fb3ce45ded196d83a0bf68", + "9a93f417ba4e4b1592df92c547d28a27db0f21c0", [ null, { diff --git a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini b/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini deleted file mode 100644 index 55551102b45..00000000000 --- a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-video-sibling.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[mix-blend-mode-video-sibling.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-computed.html.ini b/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-computed.html.ini index 8faf718c1fe..83214054c53 100644 --- a/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-computed.html.ini +++ b/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-computed.html.ini @@ -55,3 +55,36 @@ [Property corner-bottom-left-shape value 'superellipse(5)'] expected: FAIL + + [Property corner-shape value 'superellipse(5) round'] + expected: FAIL + + [Property corner-shape value 'bevel superellipse(0.1) round squircle'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.1) superellipse(3) superellipse(7) superellipse(0.1)'] + expected: FAIL + + [Property corner-shape value 'round round round round'] + expected: FAIL + + [Property corner-shape value 'round scoop'] + expected: FAIL + + [Property corner-shape value 'round scoop round scoop'] + expected: FAIL + + [Property corner-shape value 'bevel superellipse(2)'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.5) superellipse(3) straight'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.5) superellipse(3) superellipse(1)'] + expected: FAIL + + [Property corner-shape value 'bevel superellipse(2) squircle round'] + expected: FAIL + + [Property corner-shape value 'superellipse(0.5) superellipse(3) superellipse(1) superellipse(infinity)'] + expected: FAIL diff --git a/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-valid.html.ini b/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-valid.html.ini index 6bc8e7f18bf..e26a4c8d4ab 100644 --- a/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-valid.html.ini +++ b/tests/wpt/meta/css/css-borders/tentative/parsing/corner-shape-valid.html.ini @@ -352,3 +352,27 @@ [e.style['corner-end-end-shape'\] = "superellipse(calc(0.5 * 4))" should set the property value] expected: FAIL + + [e.style['corner-shape'\] = "round round round round" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "round scoop" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "round scoop round scoop" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "bevel superellipse(2)" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "superellipse(0.5) superellipse(3) straight" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "superellipse(0.5) superellipse(3) superellipse(1)" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "bevel superellipse(2) squircle round" should set the property value] + expected: FAIL + + [e.style['corner-shape'\] = "superellipse(0.5) superellipse(3) superellipse(1) superellipse(infinity)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta/css/css-color/parsing/color-computed-contrast-color-function.html.ini b/tests/wpt/meta/css/css-color/parsing/color-computed-contrast-color-function.html.ini new file mode 100644 index 00000000000..54d1fea8320 --- /dev/null +++ b/tests/wpt/meta/css/css-color/parsing/color-computed-contrast-color-function.html.ini @@ -0,0 +1,30 @@ +[color-computed-contrast-color-function.html] + [Property background-color value 'contrast-color(white)'] + expected: FAIL + + [Property background-color value 'contrast-color(black)'] + expected: FAIL + + [Property background-color value 'contrast-color(pink)'] + expected: FAIL + + [Property background-color value 'contrast-color(color(srgb 1 0 1 / 0.5))'] + expected: FAIL + + [Property background-color value 'contrast-color(lab(0.2 0.5 0.2))'] + expected: FAIL + + [Property background-color value 'contrast-color(color(srgb 10 10 10))'] + expected: FAIL + + [Property background-color value 'contrast-color(color(srgb -10 -10 -10))'] + expected: FAIL + + [Property background-color value 'contrast-color(contrast-color(pink))'] + expected: FAIL + + [Property background-color value 'contrast-color(currentcolor)'] + expected: FAIL + + [Property background-color value 'contrast-color(color(srgb calc(1 + (sign(20cqw - 10px) * 1)) calc(1 + (sign(20cqw - 10px) * 1)) calc(1 + (sign(20cqw - 10px) * 1))))'] + expected: FAIL diff --git a/tests/wpt/meta/css/css-color/parsing/color-valid-contrast-color-function.html.ini b/tests/wpt/meta/css/css-color/parsing/color-valid-contrast-color-function.html.ini new file mode 100644 index 00000000000..08e441bbeeb --- /dev/null +++ b/tests/wpt/meta/css/css-color/parsing/color-valid-contrast-color-function.html.ini @@ -0,0 +1,30 @@ +[color-valid-contrast-color-function.html] + [e.style['background-color'\] = "contrast-color(white)" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(black)" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(pink)" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(color(srgb 1 0 1 / 0.5))" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(lab(0.2 0.5 0.2))" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(color(srgb 10 10 10))" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(color(srgb -10 -10 -10))" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(contrast-color(pink))" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(currentcolor)" should set the property value] + expected: FAIL + + [e.style['background-color'\] = "contrast-color(color(srgb calc(0.5) calc(1 + (sign(20cqw - 10px) * 0.5)) 1 / .5))" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta/css/css-grid/alignment/grid-content-alignment-with-abspos-001.html.ini b/tests/wpt/meta/css/css-grid/alignment/grid-content-alignment-with-abspos-001.html.ini new file mode 100644 index 00000000000..efff2a2620a --- /dev/null +++ b/tests/wpt/meta/css/css-grid/alignment/grid-content-alignment-with-abspos-001.html.ini @@ -0,0 +1,3 @@ +[grid-content-alignment-with-abspos-001.html] + [.grid 1] + expected: FAIL diff --git a/tests/wpt/meta/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html.ini b/tests/wpt/meta/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html.ini new file mode 100644 index 00000000000..e0f9c0c583c --- /dev/null +++ b/tests/wpt/meta/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html.ini @@ -0,0 +1,9 @@ +[grid-automatic-minimum-for-auto-rows-001.html] + [Check that min-height is honored when sizing auto rows.] + expected: FAIL + + [Check that min-height is honored when sizing auto rows and spanning grid items.] + expected: FAIL + + [Check the interactions between height and min-height and auto tracks.] + expected: FAIL diff --git a/tests/wpt/meta/css/css-mixins/dashed-function-eval.html.ini b/tests/wpt/meta/css/css-mixins/dashed-function-eval.html.ini index 255a6137cf0..a7f2f13b9a4 100644 --- a/tests/wpt/meta/css/css-mixins/dashed-function-eval.html.ini +++ b/tests/wpt/meta/css/css-mixins/dashed-function-eval.html.ini @@ -1,4 +1,5 @@ [dashed-function-eval.html] + expected: ERROR [Literal result] expected: FAIL diff --git a/tests/wpt/meta/css/css-mixins/function-conditionals.html.ini b/tests/wpt/meta/css/css-mixins/function-conditionals.html.ini index 416da6f2649..6a7c98d85f2 100644 --- a/tests/wpt/meta/css/css-mixins/function-conditionals.html.ini +++ b/tests/wpt/meta/css/css-mixins/function-conditionals.html.ini @@ -37,3 +37,30 @@ [@media within @supports] expected: FAIL + + [Basic @container] + expected: FAIL + + [Basic @container (false)] + expected: FAIL + + [Nested @container] + expected: FAIL + + [Nested @container (false)] + expected: FAIL + + [Locals within @container] + expected: FAIL + + [@supports within @container] + expected: FAIL + + [@container within @supports] + expected: FAIL + + [@container, @media, @supports] + expected: FAIL + + [@supports, @media, @container] + expected: FAIL diff --git a/tests/wpt/meta/css/css-mixins/function-container-dynamic.html.ini b/tests/wpt/meta/css/css-mixins/function-container-dynamic.html.ini new file mode 100644 index 00000000000..b24c094eb9c --- /dev/null +++ b/tests/wpt/meta/css/css-mixins/function-container-dynamic.html.ini @@ -0,0 +1,3 @@ +[function-container-dynamic.html] + [Custom Functions: @container responds to changes] + expected: FAIL diff --git a/tests/wpt/meta/css/css-mixins/function-container-self.html.ini b/tests/wpt/meta/css/css-mixins/function-container-self.html.ini new file mode 100644 index 00000000000..9c6ca256eb8 --- /dev/null +++ b/tests/wpt/meta/css/css-mixins/function-container-self.html.ini @@ -0,0 +1,3 @@ +[function-container-self.html] + [Custom Functions: @container can not query self] + expected: FAIL diff --git a/tests/wpt/meta/css/css-mixins/function-container-style.html.ini b/tests/wpt/meta/css/css-mixins/function-container-style.html.ini new file mode 100644 index 00000000000..93b2a96cd8c --- /dev/null +++ b/tests/wpt/meta/css/css-mixins/function-container-style.html.ini @@ -0,0 +1,6 @@ +[function-container-style.html] + [Style query on #target should query parent element] + expected: FAIL + + [Style query on ::before should query originating element] + expected: FAIL diff --git a/tests/wpt/meta/css/css-overflow/margin-block-end-scroll-area-001.html.ini b/tests/wpt/meta/css/css-overflow/margin-block-end-scroll-area-001.html.ini deleted file mode 100644 index db0b03d6214..00000000000 --- a/tests/wpt/meta/css/css-overflow/margin-block-end-scroll-area-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[margin-block-end-scroll-area-001.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-overflow/scroll-marker-group-018.html.ini b/tests/wpt/meta/css/css-overflow/scroll-marker-group-018.html.ini new file mode 100644 index 00000000000..19b5b4f1983 --- /dev/null +++ b/tests/wpt/meta/css/css-overflow/scroll-marker-group-018.html.ini @@ -0,0 +1,2 @@ +[scroll-marker-group-018.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-overflow/scroll-marker-group-019.html.ini b/tests/wpt/meta/css/css-overflow/scroll-marker-group-019.html.ini new file mode 100644 index 00000000000..37884926427 --- /dev/null +++ b/tests/wpt/meta/css/css-overflow/scroll-marker-group-019.html.ini @@ -0,0 +1,2 @@ +[scroll-marker-group-019.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-overflow/scroll-marker-group-020.html.ini b/tests/wpt/meta/css/css-overflow/scroll-marker-group-020.html.ini new file mode 100644 index 00000000000..cea794206b8 --- /dev/null +++ b/tests/wpt/meta/css/css-overflow/scroll-marker-group-020.html.ini @@ -0,0 +1,2 @@ +[scroll-marker-group-020.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-tables/table-cell-overflow-auto-scrolled.html.ini b/tests/wpt/meta/css/css-tables/table-cell-overflow-auto-scrolled.html.ini deleted file mode 100644 index 55805c45ee2..00000000000 --- a/tests/wpt/meta/css/css-tables/table-cell-overflow-auto-scrolled.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[table-cell-overflow-auto-scrolled.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-values/if-invalidation.html.ini b/tests/wpt/meta/css/css-values/if-invalidation.html.ini new file mode 100644 index 00000000000..3e4835fcb55 --- /dev/null +++ b/tests/wpt/meta/css/css-values/if-invalidation.html.ini @@ -0,0 +1,3 @@ +[if-invalidation.html] + [CSS Values and Units Test: if() invalidation] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/if-style-query.html.ini b/tests/wpt/meta/css/css-values/if-style-query.html.ini index 225961db9fb..d17bfb0fca0 100644 --- a/tests/wpt/meta/css/css-values/if-style-query.html.ini +++ b/tests/wpt/meta/css/css-values/if-style-query.html.ini @@ -334,3 +334,30 @@ [CSS Values and Units Test: CSS inline if() function 111] expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 112] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 113] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 114] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 115] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 116] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 117] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 118] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 119] + expected: FAIL + + [CSS Values and Units Test: CSS inline if() function 120] + expected: FAIL diff --git a/tests/wpt/meta/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini b/tests/wpt/meta/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini index d8b66a385b9..8205a1b4aa7 100644 --- a/tests/wpt/meta/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini +++ b/tests/wpt/meta/dom/nodes/moveBefore/tentative/custom-element-move-reactions.html.ini @@ -10,3 +10,9 @@ [Reactions to atomic move are called in order of element, not in order of operation] expected: FAIL + + [When connectedCallback is not defined, no crash] + expected: FAIL + + [When disconnectedCallback is not defined, no crash] + expected: FAIL diff --git a/tests/wpt/meta/dom/observable/tentative/observable-constructor.any.js.ini b/tests/wpt/meta/dom/observable/tentative/observable-constructor.any.js.ini index 8221c036594..f6fc12bc3a4 100644 --- a/tests/wpt/meta/dom/observable/tentative/observable-constructor.any.js.ini +++ b/tests/wpt/meta/dom/observable/tentative/observable-constructor.any.js.ini @@ -119,6 +119,15 @@ [Producer-initiated unsubscription in a downstream Observable fires abort events before each teardown, in downstream->upstream order] expected: FAIL + [Multiple subscriptions share the same producer and teardown runs only after last subscription abort] + expected: FAIL + + [New subscription after complete creates new producer] + expected: FAIL + + [Teardown runs after last unsubscribe regardless of unsubscription order] + expected: FAIL + [observable-constructor.any.html] [Observable constructor] @@ -240,3 +249,12 @@ [Producer-initiated unsubscription in a downstream Observable fires abort events before each teardown, in downstream->upstream order] expected: FAIL + + [Multiple subscriptions share the same producer and teardown runs only after last subscription abort] + expected: FAIL + + [New subscription after complete creates new producer] + expected: FAIL + + [Teardown runs after last unsubscribe regardless of unsubscription order] + expected: FAIL diff --git a/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini b/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini index d3e8c846376..2d7096ed7cd 100644 --- a/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini +++ b/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini @@ -146,6 +146,12 @@ [Invalid iterator protocol error is surfaced before Subscriber#signal is consulted] expected: FAIL + [from(): Asynchronous iterable multiple in-flight subscriptions] + expected: FAIL + + [from(): Sync iterable multiple in-flight subscriptions] + expected: FAIL + [observable-from.any.html] [from(): Observable.from() is a function] @@ -294,3 +300,9 @@ [Invalid iterator protocol error is surfaced before Subscriber#signal is consulted] expected: FAIL + + [from(): Asynchronous iterable multiple in-flight subscriptions] + expected: FAIL + + [from(): Sync iterable multiple in-flight subscriptions] + expected: FAIL diff --git a/tests/wpt/meta/dom/xslt/encoding-single-chunk.html.ini b/tests/wpt/meta/dom/xslt/encoding-single-chunk.html.ini new file mode 100644 index 00000000000..f7efe886c7a --- /dev/null +++ b/tests/wpt/meta/dom/xslt/encoding-single-chunk.html.ini @@ -0,0 +1,2 @@ +[encoding-single-chunk.html] + expected: FAIL diff --git a/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini b/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini index c7e0d7d20e9..d471ef76873 100644 --- a/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini +++ b/tests/wpt/meta/fetch/metadata/generated/css-font-face.https.sub.tentative.html.ini @@ -52,3 +52,6 @@ [sec-fetch-storage-access - Same site] expected: FAIL + + [sec-fetch-storage-access - Cross-site] + expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini deleted file mode 100644 index 4ecd6d9f753..00000000000 --- a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[navigation-unload-cross-origin.sub.window.html] - [Cross-origin navigation started from unload handler must be ignored] - expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini deleted file mode 100644 index 49cc2e16746..00000000000 --- a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[navigation-unload-same-origin-fragment.html] - [Tests that a fragment navigation in the unload handler will not block the initial navigation] - expected: FAIL diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini new file mode 100644 index 00000000000..60a4fa51f8a --- /dev/null +++ b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini @@ -0,0 +1,3 @@ +[a-click.html] + [aElement.click() before the load event must NOT replace] + expected: FAIL diff --git a/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini similarity index 71% rename from tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini rename to tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini index 7a5fcb79165..a03a8322165 100644 --- a/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ b/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini @@ -1,3 +1,3 @@ -[traverse_the_history_5.html] +[traverse_the_history_3.html] [Multiple history traversals, last would be aborted] expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini b/tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini new file mode 100644 index 00000000000..ad3875db332 --- /dev/null +++ b/tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini @@ -0,0 +1,3 @@ +[2d.color.type.u8p3.to.u8srgb.to.u8p3.html] + [test srgb unorm8 canvas storing 8-bit display-p3 data accurately] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini b/tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini new file mode 100644 index 00000000000..a4c426099e1 --- /dev/null +++ b/tests/wpt/meta/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini @@ -0,0 +1,3 @@ +[2d.color.type.u8srgb.to.u8p3.to.u8srgb.html] + [test display-p3 unorm8 canvas not storing 8-bit srgb data accurately] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini b/tests/wpt/meta/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini index 83c85188374..1db21456d90 100644 --- a/tests/wpt/meta/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/context-attributes/getContextAttributes.html.ini @@ -25,3 +25,9 @@ [Test context creation attributes willReadFrequently: false] expected: FAIL + + [Test context creation attributes colorType: unorm8] + expected: FAIL + + [Test context creation attributes colorType: float16] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini new file mode 100644 index 00000000000..ad3875db332 --- /dev/null +++ b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html.ini @@ -0,0 +1,3 @@ +[2d.color.type.u8p3.to.u8srgb.to.u8p3.html] + [test srgb unorm8 canvas storing 8-bit display-p3 data accurately] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js.ini new file mode 100644 index 00000000000..909958848d8 --- /dev/null +++ b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js.ini @@ -0,0 +1,3 @@ +[2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.html] + [test srgb unorm8 canvas storing 8-bit display-p3 data accurately] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini new file mode 100644 index 00000000000..a4c426099e1 --- /dev/null +++ b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html.ini @@ -0,0 +1,3 @@ +[2d.color.type.u8srgb.to.u8p3.to.u8srgb.html] + [test display-p3 unorm8 canvas not storing 8-bit srgb data accurately] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js.ini new file mode 100644 index 00000000000..8717c5f76d6 --- /dev/null +++ b/tests/wpt/meta/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js.ini @@ -0,0 +1,3 @@ +[2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.html] + [test display-p3 unorm8 canvas not storing 8-bit srgb data accurately] + expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/manual/context-attributes/getContextAttributes.html.ini b/tests/wpt/meta/html/canvas/offscreen/manual/context-attributes/getContextAttributes.html.ini index e901056f101..4310d17c2b4 100644 --- a/tests/wpt/meta/html/canvas/offscreen/manual/context-attributes/getContextAttributes.html.ini +++ b/tests/wpt/meta/html/canvas/offscreen/manual/context-attributes/getContextAttributes.html.ini @@ -25,3 +25,9 @@ [Test offscreen context creation attributes willReadFrequently: false] expected: FAIL + + [Test context creation attributes colorType: unorm8] + expected: FAIL + + [Test context creation attributes colorType: float16] + expected: FAIL diff --git a/tests/wpt/meta/html/rendering/replaced-elements/the-option-element/option-label-whitespace.html.ini b/tests/wpt/meta/html/rendering/replaced-elements/the-option-element/option-label-whitespace.html.ini new file mode 100644 index 00000000000..e2463ff1b33 --- /dev/null +++ b/tests/wpt/meta/html/rendering/replaced-elements/the-option-element/option-label-whitespace.html.ini @@ -0,0 +1,2 @@ +[option-label-whitespace.html] + expected: FAIL diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index d7d0d3ef89d..24903b5f66f 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_escaping-1.html] expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini index 62a6e7fc812..e8872b3585b 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_nonescaping-1.html] - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/meta/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini b/tests/wpt/meta/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini deleted file mode 100644 index d44f3ccff52..00000000000 --- a/tests/wpt/meta/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[form-submit-iframe-then-location-navigate.html] - [Verifies that location navigations take precedence when following form submissions.] - expected: FAIL diff --git a/tests/wpt/meta/html/semantics/popovers/button-type-popovertarget.html.ini b/tests/wpt/meta/html/semantics/popovers/button-type-popovertarget.html.ini new file mode 100644 index 00000000000..89173f75752 --- /dev/null +++ b/tests/wpt/meta/html/semantics/popovers/button-type-popovertarget.html.ini @@ -0,0 +1,46 @@ +[button-type-popovertarget.html] + expected: ERROR + [Button type=reset in form should trigger form reset and toggle popover] + expected: FAIL + + [Button type=submit in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=button in form should toggle popover] + expected: NOTRUN + + [Button type=invalid in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=reset with form attr should trigger form reset and toggle popover] + expected: NOTRUN + + [Button type=submit with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=button with form attr should toggle popover] + expected: NOTRUN + + [Button type=invalid with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=reset outside form should toggle popover] + expected: NOTRUN + + [Button type=submit outside form should toggle popover] + expected: NOTRUN + + [Button type=button outside form should toggle popover] + expected: NOTRUN + + [Button type=invalid outside form should toggle popover] + expected: NOTRUN + + [Button missing type outside form should toggle popover] + expected: NOTRUN diff --git a/tests/wpt/meta/html/semantics/popovers/button-type-reset-popovertarget.html.ini b/tests/wpt/meta/html/semantics/popovers/button-type-reset-popovertarget.html.ini deleted file mode 100644 index 421fc5dfbb5..00000000000 --- a/tests/wpt/meta/html/semantics/popovers/button-type-reset-popovertarget.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[button-type-reset-popovertarget.html] - [Button type=reset and type=submit should not run popover algorithms when in a form.] - expected: FAIL diff --git a/tests/wpt/meta/html/semantics/popovers/input-type-popovertarget.html.ini b/tests/wpt/meta/html/semantics/popovers/input-type-popovertarget.html.ini new file mode 100644 index 00000000000..6c68e1af44f --- /dev/null +++ b/tests/wpt/meta/html/semantics/popovers/input-type-popovertarget.html.ini @@ -0,0 +1,37 @@ +[input-type-popovertarget.html] + expected: ERROR + [input type=reset in form should trigger form reset and toggle popover] + expected: FAIL + + [input type=submit in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [input type=button in form should toggle popover] + expected: NOTRUN + + [input type=image in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [input type=reset with form attr should trigger form reset and toggle popover] + expected: NOTRUN + + [input type=submit with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [input type=button with form attr should toggle popover] + expected: NOTRUN + + [input type=image with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [input type=reset outside form should toggle popover] + expected: NOTRUN + + [input type=submit outside form should toggle popover] + expected: NOTRUN + + [input type=button outside form should toggle popover] + expected: NOTRUN + + [input type=image outside form should toggle popover] + expected: NOTRUN diff --git a/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html.ini b/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html.ini new file mode 100644 index 00000000000..a96938799f6 --- /dev/null +++ b/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html.ini @@ -0,0 +1,55 @@ +[button-type-behavior.tentative.html] + expected: ERROR + [Button type=reset in form should trigger form reset and toggle popover] + expected: FAIL + + [Button type=submit in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=button in form should not toggle popover] + expected: NOTRUN + + [Button type=invalid in form should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type in form should not trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type in form with only command should not trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type in form with only commandfor should not trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=reset with form attr should trigger form reset and toggle popover] + expected: NOTRUN + + [Button type=submit with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=button with form attr should toggle popover] + expected: NOTRUN + + [Button type=invalid with form attr should trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type with form attr and only command should not trigger form submit and not toggle popover] + expected: NOTRUN + + [Button missing type with form attr and only commandfor should not trigger form submit and not toggle popover] + expected: NOTRUN + + [Button type=reset outside form should toggle popover] + expected: NOTRUN + + [Button type=submit outside form should toggle popover] + expected: NOTRUN + + [Button type=button outside form should toggle popover] + expected: NOTRUN + + [Button type=invalid outside form should toggle popover] + expected: NOTRUN + + [Button missing type outside form should toggle popover] + expected: NOTRUN diff --git a/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html.ini b/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html.ini new file mode 100644 index 00000000000..b43c0450dfc --- /dev/null +++ b/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html.ini @@ -0,0 +1,27 @@ +[button-type-reflection.tentative.html] + [Button with id missing-in-form should reflect type correctly] + expected: FAIL + + [Button with id missing-in-form-command-only should reflect type correctly] + expected: FAIL + + [Button with id missing-in-form-commandfor-only should reflect type correctly] + expected: FAIL + + [Button with id missing-attr-form should reflect type correctly] + expected: FAIL + + [Button with id missing-attr-form-command-only should reflect type correctly] + expected: FAIL + + [Button with id missing-attr-form-commandfor-only should reflect type correctly] + expected: FAIL + + [Button with id missing-outside-form should reflect type correctly] + expected: FAIL + + [Button with id missing-outside-form-command-only should reflect type correctly] + expected: FAIL + + [Button with id missing-outside-form-commandfor-only should reflect type correctly] + expected: FAIL diff --git a/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html.ini b/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html.ini index e2c3ee625eb..6bd44cf281d 100644 --- a/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html.ini +++ b/tests/wpt/meta/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html.ini @@ -28,3 +28,12 @@ [command reflects tostring value 2] expected: FAIL + + [command reflects correctly for invalid] + expected: FAIL + + [command reflects correctly for invalid when array] + expected: FAIL + + [command reflects correctly for invalid when object] + expected: FAIL diff --git a/tests/wpt/meta/navigation-timing/test-navigation-type-reload.html.ini b/tests/wpt/meta/navigation-timing/test-navigation-type-reload.html.ini index 78cee99c19b..4973cd6505f 100644 --- a/tests/wpt/meta/navigation-timing/test-navigation-type-reload.html.ini +++ b/tests/wpt/meta/navigation-timing/test-navigation-type-reload.html.ini @@ -13,3 +13,9 @@ [Reload domInteractive > Original domInteractive] expected: FAIL + + [Reload domContentLoadedEventStart > Original domContentLoadedEventStart] + expected: FAIL + + [Reload fetchStart > Original fetchStart] + expected: FAIL diff --git a/tests/wpt/meta/performance-timeline/navigation-id-detached-frame.tentative.html.ini b/tests/wpt/meta/performance-timeline/navigation-id-detached-frame.tentative.html.ini new file mode 100644 index 00000000000..6764c93df51 --- /dev/null +++ b/tests/wpt/meta/performance-timeline/navigation-id-detached-frame.tentative.html.ini @@ -0,0 +1,4 @@ +[navigation-id-detached-frame.tentative.html] + expected: TIMEOUT + [The navigation_id getter does not crash a window of detached frame] + expected: TIMEOUT diff --git a/tests/wpt/meta/shadow-dom/HighlightRegistry-highlightsFromPoint.html.ini b/tests/wpt/meta/shadow-dom/HighlightRegistry-highlightsFromPoint.html.ini new file mode 100644 index 00000000000..22d63011dfb --- /dev/null +++ b/tests/wpt/meta/shadow-dom/HighlightRegistry-highlightsFromPoint.html.ini @@ -0,0 +1,9 @@ +[HighlightRegistry-highlightsFromPoint.html] + [CSS.highlights.highlightsFromPoint() should throw when called with nodes that are not ShadowRoot objects in options.] + expected: FAIL + + [CSS.highlights.highlightsFromPoint() returns Highlights present at a given point inside a shadow tree in the right order.] + expected: FAIL + + [CSS.highlights.highlightsFromPoint() doesn't return Highlights that are not painted at the given coordinates even when they fall inside the Highlights' ranges] + expected: FAIL diff --git a/tests/wpt/meta/subresource-integrity/signatures/tentative/csp.window.js.ini b/tests/wpt/meta/subresource-integrity/signatures/tentative/csp.window.js.ini new file mode 100644 index 00000000000..491fb898342 --- /dev/null +++ b/tests/wpt/meta/subresource-integrity/signatures/tentative/csp.window.js.ini @@ -0,0 +1,6 @@ +[csp.window.html] + [` - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continue.any.js b/tests/wpt/tests/IndexedDB/idbcursor-continue.any.js new file mode 100644 index 00000000000..767d5a4fae4 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-continue.any.js @@ -0,0 +1,233 @@ +// META: global=window,worker +// META: title=IDBCursor.continue() +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbcursor-continue + +'use strict'; + +const store = [ + { value: 'cupcake', key: 5 }, + { value: 'pancake', key: 3 }, + { value: 'pie', key: 1 }, + { value: 'pie', key: 4 }, + { value: 'taco', key: 2 } +]; + +function upgrade_func(t, db, tx) { + let os; + let i; + os = db.createObjectStore('test'); + os.createIndex('index', ''); + + for (i = 0; i < store.length; i++) + os.add(store[i].value, store[i].key); +} + +indexeddb_test(upgrade_func, function(t, db) { + let count = 0; + const rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor(); + + rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + assert_equals(count, 5, 'count'); + t.done(); + return; + } + const cursor = e.target.result; + + assert_equals(cursor.value, store[count].value); + assert_equals(cursor.primaryKey, store[count].key); + + cursor.continue(); + + count++; + }); + rq.onerror = t.unreached_func('unexpected error'); +}, 'IDBCursor.continue() - continues'); + + +indexeddb_test(upgrade_func, function(t, db) { + let count = 0; + const rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor(); + + rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + assert_equals(count, 3, 'count'); + t.done(); + return; + } + const cursor = e.target.result; + + switch (count) { + case 0: + assert_equals(cursor.value, 'cupcake'); + assert_equals(cursor.primaryKey, 5); + cursor.continue('pie'); + break; + + case 1: + assert_equals(cursor.value, 'pie'); + assert_equals(cursor.primaryKey, 1); + cursor.continue('taco'); + break; + + case 2: + assert_equals(cursor.value, 'taco'); + assert_equals(cursor.primaryKey, 2); + cursor.continue(); + break; + + default: + assert_unreached('Unexpected count: ' + count); + } + + count++; + }); + rq.onerror = t.unreached_func('unexpected error'); +}, 'IDBCursor.continue() - with given key'); + + +indexeddb_test(upgrade_func, function(t, db) { + let count = 0; + const rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor(); + + rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + assert_equals(count, 1, 'count'); + t.done(); + return; + } + const cursor = e.target.result; + + switch (count) { + case 0: + assert_equals(cursor.value, 'cupcake'); + assert_equals(cursor.primaryKey, 5); + break; + + default: + assert_unreached('Unexpected count: ' + count); + } + + count++; + cursor.continue([]); // Arrays are always bigger than strings + }); + rq.onerror = t.unreached_func('unexpected error2'); +}, 'IDBCursor.continue() - skip far forward'); + + +indexeddb_test(upgrade_func, function(t, db) { + let count = 0; + const rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor(IDBKeyRange.lowerBound('cupcake', true)); + + rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + assert_equals(count, 2, 'count'); + t.done(); + return; + } + const cursor = e.target.result; + + switch (count) { + case 0: + assert_equals(cursor.value, 'pancake'); + assert_equals(cursor.primaryKey, 3); + cursor.continue('pie'); + break; + + case 1: + assert_equals(cursor.value, 'pie'); + assert_equals(cursor.primaryKey, 1); + cursor.continue('zzz'); + break; + + default: + assert_unreached('Unexpected count: ' + count); + } + + count++; + }); + rq.onerror = t.unreached_func('unexpected error1'); +}, 'IDBCursor.continue() - within range'); + + +indexeddb_test(upgrade_func, function(t, db) { + let count = 0; + const rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor('pancake'); + + rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + assert_equals(count, 1, 'count'); + t.done(); + return; + } + const cursor = e.target.result; + + switch (count) { + case 0: + assert_equals(cursor.value, 'pancake'); + assert_equals(cursor.primaryKey, 3); + cursor.continue('pie'); + break; + + default: + assert_unreached('Unexpected count: ' + count); + } + + count++; + }); + rq.onerror = t.unreached_func('unexpected error1'); +}, 'IDBCursor.continue() - within single key range'); + +indexeddb_test(upgrade_func, function(t, db) { + let count = 0; + const rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor('pie'); + + rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + assert_equals(count, 2, 'count'); + t.done(); + return; + } + const cursor = e.target.result; + + switch (count) { + case 0: + assert_equals(cursor.value, 'pie'); + assert_equals(cursor.primaryKey, 1); + cursor.continue(); + break; + + case 1: + assert_equals(cursor.value, 'pie'); + assert_equals(cursor.primaryKey, 4); + cursor.continue(); + break; + + default: + assert_unreached('Unexpected count: ' + count); + } + + count++; + }); + rq.onerror = t.unreached_func('unexpected error1'); +}, 'IDBCursor.continue() - within single key range, with several results'); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continue.htm b/tests/wpt/tests/IndexedDB/idbcursor-continue.htm deleted file mode 100644 index bcb099f309e..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-continue.htm +++ /dev/null @@ -1,248 +0,0 @@ - -IDBCursor.continue() - - - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.js b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.js new file mode 100644 index 00000000000..b4ea9ca5bb5 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.any.js @@ -0,0 +1,332 @@ +// META: global=window,worker +// META: title=IDBCursor.continuePrimaryKey() - Exception Orders +// META: script=resources/support.js +// META: timeout=long + +// Spec: http://w3c.github.io/IndexedDB/#dom-idbcursor-continueprimarykey + +'use strict'; + +function setup_test_store(db) { + const records = [ + {iKey: 'A', pKey: 1}, {iKey: 'A', pKey: 2}, {iKey: 'A', pKey: 3}, + {iKey: 'A', pKey: 4}, {iKey: 'B', pKey: 5}, {iKey: 'B', pKey: 6}, + {iKey: 'B', pKey: 7}, {iKey: 'C', pKey: 8}, {iKey: 'C', pKey: 9}, + {iKey: 'D', pKey: 10} + ]; + + const store = db.createObjectStore('test', {keyPath: 'pKey'}); + store.createIndex('idx', 'iKey'); + + for (let i = 0; i < records.length; i++) { + store.add(records[i]); + } + + return store; +} + +indexeddb_test(function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.index('idx').openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + store.deleteIndex('idx'); + }); + txn.oncomplete = t.step_func(() => { + assert_throws_dom('TransactionInactiveError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'transaction-state check should precede deletion check'); + t.done(); + }); +}, null, 'TransactionInactiveError v.s. InvalidStateError(deleted index)'); + +indexeddb_test( + function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + db.deleteObjectStore('test'); + + assert_throws_dom('InvalidStateError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'deletion check should precede index source check'); + t.done(); + }); + }, + null, + 'InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect source)'); + +indexeddb_test( + function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.index('idx').openCursor(null, 'nextunique'); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + store.deleteIndex('idx'); + + assert_throws_dom('InvalidStateError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'deletion check should precede cursor direction check'); + t.done(); + }); + }, + null, + 'InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect direction)'); + +indexeddb_test( + function(t, db, txn) { + const store = db.createObjectStore('test', {keyPath: 'pKey'}); + + store.add({iKey: 'A', pKey: 1}); + + const cursor_rq = + store.createIndex('idx', 'iKey').openCursor(null, 'nextunique'); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + if (e.target.result) { + cursor = e.target.result; + cursor.continue(); + return; + } + + assert_throws_dom('InvalidAccessError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'direction check should precede got_value_flag check'); + t.done(); + }); + }, + null, + 'InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration complete)'); + +indexeddb_test( + function(t, db, txn) { + const store = db.createObjectStore('test', {keyPath: 'pKey'}); + + store.add({iKey: 'A', pKey: 1}); + + const cursor_rq = + store.createIndex('idx', 'iKey').openCursor(null, 'nextunique'); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + if (!cursor) { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + cursor.continue(); + + assert_throws_dom('InvalidAccessError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'direction check should precede iteration ongoing check'); + t.done(); + } + }); + }, + null, + 'InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration ongoing)'); + +indexeddb_test( + function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + if (!cursor) { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + cursor.continue(); + + assert_throws_dom('InvalidAccessError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'index source check should precede iteration ongoing check'); + t.done(); + } + }); + }, + null, + 'InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration ongoing)'); + +indexeddb_test( + function(t, db, txn) { + const store = db.createObjectStore('test', {keyPath: 'pKey'}); + + store.add({iKey: 'A', pKey: 1}); + + const cursor_rq = store.openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + if (e.target.result) { + cursor = e.target.result; + cursor.continue(); + return; + } + + assert_throws_dom('InvalidAccessError', () => { + cursor.continuePrimaryKey('A', 4); + }, 'index source check should precede got_value_flag check'); + t.done(); + }); + }, + null, + 'InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration complete)'); + +indexeddb_test(function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.index('idx').openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + if (!cursor) { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + cursor.continue(); + + assert_throws_dom('InvalidStateError', () => { + cursor.continuePrimaryKey(null, 4); + }, 'iteration ongoing check should precede unset key check'); + t.done(); + } + }); +}, null, 'InvalidStateError(iteration ongoing) v.s. DataError(unset key)'); + +indexeddb_test(function(t, db, txn) { + const store = db.createObjectStore('test', {keyPath: 'pKey'}); + + store.add({iKey: 'A', pKey: 1}); + + const cursor_rq = store.createIndex('idx', 'iKey').openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + if (e.target.result) { + cursor = e.target.result; + cursor.continue(); + return; + } + + assert_throws_dom('InvalidStateError', () => { + cursor.continuePrimaryKey(null, 4); + }, 'got_value_flag check should precede unset key check'); + t.done(); + }); +}, null, 'InvalidStateError(iteration complete) v.s. DataError(unset key)'); + +indexeddb_test(function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.index('idx').openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey(null, 4); + }, 'DataError is expected if key is unset.'); + t.done(); + }); +}, null, 'DataError(unset key)'); + +indexeddb_test(function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.index('idx').openCursor(); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('A', null); + }, 'DataError is expected if primary key is unset.'); + t.done(); + }); +}, null, 'DataError(unset primary key)'); + +indexeddb_test(function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = store.index('idx').openCursor(IDBKeyRange.lowerBound('B')); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func((e) => { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + assert_equals(cursor.key, 'B', 'expected key'); + assert_equals(cursor.primaryKey, 5, 'expected primary key'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('A', 6); + }, 'DataError is expected if key is lower then current one.'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('B', 5); + }, 'DataError is expected if primary key is equal to current one.'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('B', 4); + }, 'DataError is expected if primary key is lower than current one.'); + + t.done(); + }); +}, null, 'DataError(keys are lower then current one) in \'next\' direction'); + +indexeddb_test(function(t, db, txn) { + const store = setup_test_store(db); + const cursor_rq = + store.index('idx').openCursor(IDBKeyRange.upperBound('B'), 'prev'); + let cursor; + + cursor_rq.onerror = t.unreached_func('openCursor should succeed'); + cursor_rq.onsuccess = t.step_func(function(e) { + cursor = e.target.result; + assert_true(!!cursor, 'acquire cursor'); + + assert_equals(cursor.key, 'B', 'expected key'); + assert_equals(cursor.primaryKey, 7, 'expected primary key'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('C', 6); + }, 'DataError is expected if key is larger then current one.'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('B', 7); + }, 'DataError is expected if primary key is equal to current one.'); + + assert_throws_dom('DataError', () => { + cursor.continuePrimaryKey('B', 8); + }, 'DataError is expected if primary key is larger than current one.'); + + t.done(); + }); +}, null, 'DataError(keys are larger then current one) in \'prev\' direction'); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm deleted file mode 100644 index 477dabc60e8..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm +++ /dev/null @@ -1,380 +0,0 @@ - - - -IDBCursor.continuePrimaryKey() - Exception Orders - - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.js b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.js new file mode 100644 index 00000000000..581aff2300f --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.any.js @@ -0,0 +1,107 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBCursor continuePrimaryKey() exception throwing +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbcursor-continueprimarykey + +'use strict'; + +async_test(t => { + const dbname = location + '-' + t.name; + const del = indexedDB.deleteDatabase(dbname); + del.onerror = t.unreached_func('deleteDatabase should succeed'); + const open = indexedDB.open(dbname); + open.onerror = t.unreached_func('open should succeed'); + + open.onupgradeneeded = t.step_func((e) => { + const db = open.result; + t.add_cleanup((e) => { + db.close(); + indexedDB.deleteDatabase(db.name); + }); + const store = db.createObjectStore('store'); + store.put('a', 1).onerror = t.unreached_func('put should not fail'); + const request = store.openCursor(); + request.onerror = t.unreached_func('openCursor should not fail'); + request.onsuccess = t.step_func((e) => { + const cursor = request.result; + assert_class_string( + cursor, 'IDBCursorWithValue', 'result should be a cursor'); + + assert_throws_dom('InvalidAccessError', function() { + cursor.continuePrimaryKey(2, 2); + }, 'continuePrimaryKey() should throw if source is not an index'); + }); + }); + + open.onsuccess = t.step_func((e) => { + const db = open.result; + db.close(); + t.done(); + }); +}, 'IDBCursor continuePrimaryKey() on object store cursor'); + +const testcases = [ + { + direction: 'nextunique', + expected_key: 1, + expected_primaryKey: 'a', + continue_key: 2, + continue_primaryKey: 'a' + }, + { + direction: 'prevunique', + expected_key: 3, + expected_primaryKey: 'a', + continue_key: 2, + continue_primaryKey: 'a' + } +]; + +testcases.forEach(function(testcase) { + async_test(t => { + const dbname = location + '-' + t.name; + const del = indexedDB.deleteDatabase(dbname); + del.onerror = t.unreached_func('deleteDatabase should succeed'); + const open = indexedDB.open(dbname); + open.onerror = t.unreached_func('open should succeed'); + + open.onupgradeneeded = t.step_func(() => { + const db = open.result; + t.add_cleanup((e) => { + db.close(); + indexedDB.deleteDatabase(db.name); + }); + const store = db.createObjectStore('store', {keyPath: 'pk'}); + const index = store.createIndex('index', 'ik', {multiEntry: true}); + store.put({pk: 'a', ik: [1, 2, 3]}).onerror = + t.unreached_func('put should not fail'); + store.put({pk: 'b', ik: [1, 2, 3]}).onerror = + t.unreached_func('put should not fail'); + const request = index.openKeyCursor(null, testcase.direction); + request.onerror = t.unreached_func('openCursor should not fail'); + request.onsuccess = t.step_func((e) => { + const cursor = request.result; + assert_class_string(cursor, 'IDBCursor', 'result should be a cursor'); + assert_equals( + cursor.direction, testcase.direction, + 'direction should be as specified'); + assert_equals(cursor.key, testcase.expected_key, 'key should match'); + assert_equals( + cursor.primaryKey, testcase.expected_primaryKey, + 'primaryKey should match'); + + assert_throws_dom('InvalidAccessError', () => { + cursor.continuePrimaryKey( + testcase.continue_key, testcase.continue_primaryKey); + }, 'continuePrimaryKey() should throw if direction is unique'); + }); + }); + + open.onsuccess = t.step_func(() => { + const db = open.result; + db.close(); + t.done(); + }); + }, 'IDBCursor continuePrimaryKey() on "' + testcase.direction + '" cursor'); +}); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm deleted file mode 100644 index 862c9c951b5..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm +++ /dev/null @@ -1,107 +0,0 @@ - - -IndexedDB: IDBCursor continuePrimaryKey() exception throwing - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.any.js b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.any.js new file mode 100644 index 00000000000..38ab750e36e --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.any.js @@ -0,0 +1,199 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBCursor method continuePrimaryKey() +// META: script=resources/support.js + +// Spec: http://w3c.github.io/IndexedDB/#dom-idbcursor-continueprimarykey + +'use strict'; + +indexeddb_test( + (t, db, txn) => { + const store = db.createObjectStore('store'); + const index = store.createIndex('index', 'indexKey', {multiEntry: true}); + + store.put({indexKey: ['a', 'b']}, 1); + store.put({indexKey: ['a', 'b']}, 2); + store.put({indexKey: ['a', 'b']}, 3); + store.put({indexKey: ['b']}, 4); + + const expectedIndexEntries = [ + {key: 'a', primaryKey: 1}, + {key: 'a', primaryKey: 2}, + {key: 'a', primaryKey: 3}, + {key: 'b', primaryKey: 1}, + {key: 'b', primaryKey: 2}, + {key: 'b', primaryKey: 3}, + {key: 'b', primaryKey: 4}, + ]; + + const request = index.openCursor(); + request.onerror = t.unreached_func('IDBIndex.openCursor should not fail'); + request.onsuccess = t.step_func(() => { + const cursor = request.result; + const expectedEntry = expectedIndexEntries.shift(); + if (expectedEntry) { + assert_equals( + cursor.key, expectedEntry.key, + 'The index entry keys should reflect the object store contents'); + assert_equals( + cursor.primaryKey, expectedEntry.primaryKey, + 'The index entry primary keys should reflect the object store ' + + 'contents'); + cursor.continue(); + } else { + assert_equals( + cursor, null, + 'The index should not have entries that do not reflect the ' + + 'object store contents'); + } + }); + }, + (t, db) => { + const testCases = [ + // Continuing index key. + { + call: cursor => { + cursor.continue(); + }, + result: {key: 'a', primaryKey: 2} + }, + { + call: cursor => { + cursor.continue('a'); + }, + exception: 'DataError' + }, + { + call: cursor => { + cursor.continue('b'); + }, + result: {key: 'b', primaryKey: 1} + }, + { + call: cursor => { + cursor.continue('c'); + }, + result: null + }, + + // Called w/ index key and primary key. + { + call: cursor => { + cursor.continuePrimaryKey('a', 3); + }, + result: {key: 'a', primaryKey: 3} + }, + { + call: cursor => { + cursor.continuePrimaryKey('a', 4); + }, + result: {key: 'b', primaryKey: 1} + }, + { + call: cursor => { + cursor.continuePrimaryKey('b', 1); + }, + result: {key: 'b', primaryKey: 1} + }, + { + call: cursor => { + cursor.continuePrimaryKey('b', 4); + }, + result: {key: 'b', primaryKey: 4} + }, + { + call: cursor => { + cursor.continuePrimaryKey('b', 5); + }, + result: null + }, + { + call: cursor => { + cursor.continuePrimaryKey('c', 1); + }, + result: null + }, + + // Called w/ primary key but w/o index key. + { + call: cursor => { + cursor.continuePrimaryKey(null, 1); + }, + exception: 'DataError' + }, + { + call: cursor => { + cursor.continuePrimaryKey(null, 2); + }, + exception: 'DataError' + }, + { + call: cursor => { + cursor.continuePrimaryKey(null, 3); + }, + exception: 'DataError' + }, + { + call: cursor => { + cursor.continuePrimaryKey(null, 4); + }, + exception: 'DataError' + }, + { + call: cursor => { + cursor.continuePrimaryKey(null, 5); + }, + exception: 'DataError' + }, + + // Called w/ index key but w/o primary key. + { + call: cursor => { + cursor.continuePrimaryKey('a', null); + }, + exception: 'DataError' + }, + ]; + + const verifyContinueCalls = () => { + if (!testCases.length) { + t.done(); + return; + } + + const testCase = testCases.shift(); + + const txn = db.transaction('store', 'readonly'); + txn.oncomplete = t.step_func(verifyContinueCalls); + + const request = txn.objectStore('store').index('index').openCursor(); + let calledContinue = false; + request.onerror = + t.unreached_func('IDBIndex.openCursor should not fail'); + request.onsuccess = t.step_func(() => { + const cursor = request.result; + if (calledContinue) { + if (testCase.result) { + assert_equals( + cursor.key, testCase.result.key, + `${testCase.call.toString()} - result key`); + assert_equals( + cursor.primaryKey, testCase.result.primaryKey, + `${testCase.call.toString()} - result primary key`); + } else { + assert_equals(cursor, null); + } + } else { + calledContinue = true; + if ('exception' in testCase) { + assert_throws_dom(testCase.exception, () => { + testCase.call(cursor); + }, testCase.call.toString()); + } else { + testCase.call(cursor); + } + } + }); + }; + verifyContinueCalls(); + }); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.htm b/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.htm deleted file mode 100644 index b45bba7c221..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-continuePrimaryKey.htm +++ /dev/null @@ -1,134 +0,0 @@ - - -IndexedDB: IDBCursor method continuePrimaryKey() - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.any.js b/tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.any.js new file mode 100644 index 00000000000..84b7c867d1b --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.any.js @@ -0,0 +1,72 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBCursor delete() Exception Ordering +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbcursor-delete + +'use strict'; + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s'); + s.put('value', 'key'); + }, + (t, db) => { + const s = db.transaction('s', 'readonly').objectStore('s'); + const r = s.openCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + setTimeout( + t.step_func(() => { + assert_throws_dom( + 'TransactionInactiveError', () => cursor.delete(), + '"Transaction inactive" check (TransactionInactiveError)' + + 'should precede "read only" check(ReadOnlyError)'); + t.done(); + }), + 0); + }); + }, + 'IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError'); + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s'); + s.put('value', 'key'); + }, + (t, db) => { + const s = db.transaction('s', 'readonly').objectStore('s'); + const r = s.openCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + cursor.continue(); + assert_throws_dom( + 'ReadOnlyError', () => cursor.delete(), + '"Read only" check (ReadOnlyError) should precede ' + + '"got value flag" (InvalidStateError) check'); + t.done(); + }); + }, + 'IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1'); + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s'); + s.put('value', 'key'); + }, + (t, db) => { + const s = db.transaction('s', 'readonly').objectStore('s'); + const r = s.openKeyCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + assert_throws_dom( + 'ReadOnlyError', () => cursor.delete(), + '"Read only" check (ReadOnlyError) should precede ' + + '"key only flag" (InvalidStateError) check'); + t.done(); + }); + }, + 'IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2'); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.htm b/tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.htm deleted file mode 100644 index 72d56574971..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-delete-exception-order.htm +++ /dev/null @@ -1,76 +0,0 @@ - -IndexedDB: IDBCursor delete() Exception Ordering - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-iterating-update.any.js b/tests/wpt/tests/IndexedDB/idbcursor-iterating-update.any.js new file mode 100644 index 00000000000..c88b4124669 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-iterating-update.any.js @@ -0,0 +1,57 @@ +// META: global=window,worker +// META: title=IndexedDB: Index iteration with cursor updates/deletes +// META: script=resources/support.js + +'use strict'; + +const objStoreValues = [ + {name: 'foo', id: 1}, + {name: 'bar', id: 2}, + {name: 'foo', id: 3}, + {name: 'bar', id: 4}, +]; + +const objStoreValuesByIndex = [ + objStoreValues[1], + objStoreValues[3], + objStoreValues[0], + objStoreValues[2], +]; + +const functionsThatShouldNotAffectIteration = [ + (cursor) => cursor.update({}), + (cursor) => cursor.delete(), +]; + +functionsThatShouldNotAffectIteration.forEach( + (func) => indexeddb_test( + (t, db) => { + const objStore = db.createObjectStore('items', {autoIncrement: true}); + objStore.createIndex('name', 'name', {unique: false}); + objStoreValues.forEach((value) => objStore.add(value)); + }, + (t, db) => { + const txn = db.transaction('items', 'readwrite'); + const objStore = txn.objectStore('items'); + const nameIndex = objStore.index('name'); + + const cursorValues = []; + nameIndex.openCursor().onsuccess = (evt) => { + const cursor = evt.target.result; + if (cursor) { + func(cursor); + cursorValues.push(cursor.value); + cursor.continue(); + } else { + assert_equals( + cursorValues.length, 4, + `Cursor should iterate over 4 records`); + + cursorValues.forEach((value, i) => { + assert_object_equals(value, objStoreValuesByIndex[i]); + }); + t.done(); + } + }; + }, + `Calling ${func} doesn't affect index iteration`)); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-iterating-update.htm b/tests/wpt/tests/IndexedDB/idbcursor-iterating-update.htm deleted file mode 100644 index 00fdb5a0c00..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-iterating-update.htm +++ /dev/null @@ -1,58 +0,0 @@ - - -IndexedDB: Index iteration with cursor updates/deletes - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-key.any.js b/tests/wpt/tests/IndexedDB/idbcursor-key.any.js new file mode 100644 index 00000000000..d8d2848377e --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-key.any.js @@ -0,0 +1,43 @@ +// META: global=window,worker +// META: title=IDBCursor.key +// META: script=resources/support.js + +'use strict'; + +function cursor_key(key) { + async_test(t => { + let db; + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore('test'); + objStore.add('data', key); + }; + + open_rq.onsuccess = t.step_func((e) => { + const cursor_rq = + db.transaction('test', 'readonly').objectStore('test').openCursor(); + + cursor_rq.onsuccess = t.step_func((e) => { + const cursor = e.target.result; + assert_equals(cursor.value, 'data', 'prerequisite cursor.value'); + + assert_key_equals(cursor.key, key, 'key'); + assert_readonly(cursor, 'key'); + + if (key instanceof Array) { + cursor.key.push('new'); + key.push('new'); + + assert_key_equals(cursor.key, key, 'key after array push'); + } + + t.done(); + }); + }); + }); +} + +cursor_key(1); +cursor_key('key'); +cursor_key(['my', 'key']); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-key.htm b/tests/wpt/tests/IndexedDB/idbcursor-key.htm deleted file mode 100644 index c1dbbe15038..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-key.htm +++ /dev/null @@ -1,57 +0,0 @@ - -IDBCursor.key - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbcursor-primarykey.any.js b/tests/wpt/tests/IndexedDB/idbcursor-primarykey.any.js new file mode 100644 index 00000000000..8b9afc67760 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-primarykey.any.js @@ -0,0 +1,51 @@ +// META: global=window,worker +// META: title=IDBCursor.primaryKey +// META: script=resources/support.js + +'use strict'; + +function cursor_primarykey(key) { + async_test(t => { + let db; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = t.step_func(e => { + db = e.target.result; + const objStore = db.createObjectStore('test'); + objStore.createIndex('index', ''); + + objStore.add('data', key); + }); + + open_rq.onsuccess = t.step_func(e => { + const cursor_rq = db.transaction('test', 'readonly') + .objectStore('test') + .index('index') + .openCursor(); + + cursor_rq.onsuccess = t.step_func(e => { + const cursor = e.target.result; + + assert_equals(cursor.value, 'data', 'prerequisite cursor.value'); + assert_equals(cursor.key, 'data', 'prerequisite cursor.key'); + + assert_key_equals(cursor.primaryKey, key, 'primaryKey'); + assert_readonly(cursor, 'primaryKey'); + + if (key instanceof Array) { + cursor.primaryKey.push('new'); + key.push('new'); + + assert_key_equals( + cursor.primaryKey, key, 'primaryKey after array push'); + } + + t.done(); + }); + }); + }); +} + +cursor_primarykey(1); +cursor_primarykey('key'); +cursor_primarykey(['my', 'key']); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-primarykey.htm b/tests/wpt/tests/IndexedDB/idbcursor-primarykey.htm deleted file mode 100644 index c3297387487..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-primarykey.htm +++ /dev/null @@ -1,61 +0,0 @@ - -IDBCursor.primaryKey - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbcursor-request-source.any.js b/tests/wpt/tests/IndexedDB/idbcursor-request-source.any.js new file mode 100644 index 00000000000..2fe8c66f2e5 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-request-source.any.js @@ -0,0 +1,26 @@ +// META: global=window,worker +// META: title=IndexedDB: The source of requests made against cursors +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbrequest-source + +'use strict'; + +[cursor => cursor.update(0), cursor => cursor.delete()].forEach( + func => indexeddb_test( + (t, db) => { + db.createObjectStore('store', {autoIncrement: true}); + }, + (t, db) => { + const tx = db.transaction('store', 'readwrite'); + const store = tx.objectStore('store'); + store.put('value'); + store.openCursor().onsuccess = t.step_func(e => { + const cursor = e.target.result; + assert_equals( + func(cursor).source, cursor, + `${func}.source should be the cursor itself`); + t.done(); + }); + }, + `The source of the request from ${func} is the cursor itself`)); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-request-source.html b/tests/wpt/tests/IndexedDB/idbcursor-request-source.html deleted file mode 100644 index 9e2f72b4d45..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-request-source.html +++ /dev/null @@ -1,31 +0,0 @@ - - -IndexedDB: The source of requests made against cursors - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-reused.any.js b/tests/wpt/tests/IndexedDB/idbcursor-reused.any.js new file mode 100644 index 00000000000..d98b95193ae --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-reused.any.js @@ -0,0 +1,68 @@ +// META: global=window,worker +// META: title=IDBCursor is reused +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbcursor-continue + +'use strict'; + +async_test(t => { + let db; + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(e => { + db = e.target.result; + const os = db.createObjectStore('test'); + + os.add('data', 'k'); + os.add('data2', 'k2'); + }); + + open_rq.onsuccess = t.step_func(e => { + let cursor; + let count = 0; + const rq = + db.transaction('test', 'readonly').objectStore('test').openCursor(); + + rq.onsuccess = t.step_func(e => { + switch (count) { + case 0: + cursor = e.target.result; + + assert_equals(cursor.value, 'data', 'prerequisite cursor.value'); + cursor.custom_cursor_value = 1; + e.target.custom_request_value = 2; + + cursor.continue(); + break; + + case 1: + assert_equals(cursor.value, 'data2', 'prerequisite cursor.value'); + assert_equals(cursor.custom_cursor_value, 1, 'custom cursor value'); + assert_equals( + e.target.custom_request_value, 2, 'custom request value'); + + cursor.advance(1); + break; + + case 2: + assert_false(!!e.target.result, 'got cursor'); + assert_equals(cursor.custom_cursor_value, 1, 'custom cursor value'); + assert_equals( + e.target.custom_request_value, 2, 'custom request value'); + break; + } + count++; + }); + + rq.transaction.oncomplete = t.step_func(e => { + assert_equals(count, 3, 'cursor callback runs'); + assert_equals( + rq.custom_request_value, 2, 'variable placed on old IDBRequest'); + assert_equals( + cursor.custom_cursor_value, 1, + 'custom cursor value (transaction.complete)'); + t.done(); + }); + }); +}); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-reused.htm b/tests/wpt/tests/IndexedDB/idbcursor-reused.htm deleted file mode 100644 index 30414584fee..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-reused.htm +++ /dev/null @@ -1,69 +0,0 @@ - -IDBCursor is reused - - - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbcursor-source.any.js b/tests/wpt/tests/IndexedDB/idbcursor-source.any.js new file mode 100644 index 00000000000..5f0dfa39e6a --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-source.any.js @@ -0,0 +1,63 @@ +// META: global=window,worker +// META: title=IDBCursor.source +// META: script=resources/support.js + +'use strict'; + +function cursor_source_test( + test_name, name, stringified_object, cursor_rq_func) { + indexeddb_test( + function(t, db, tx) { + const objStore = db.createObjectStore('my_objectstore'); + objStore.createIndex('my_index', ''); + + objStore.add('data', 1); + objStore.add('data2', 2); + }, + function(t, db) { + const cursor_rq = cursor_rq_func(db); + + cursor_rq.onsuccess = t.step_func((e) => { + if (!e.target.result) { + return; + } + const cursor = e.target.result; + assert_readonly(cursor, 'source'); + + // Direct try + assert_true(cursor.source instanceof Object, 'source isobject'); + assert_equals(cursor.source + '', stringified_object, 'source'); + assert_equals(cursor.source.name, name, 'name'); + + cursor.continue(); + }); + + cursor_rq.transaction.oncomplete = t.step_func((e) => { + t.done(); + }); + + cursor_rq.transaction.onerror = t.step_func((e) => { + assert_unreached( + 'Transaction got error. ' + + (e.target.error ? e.target.error.name : 'unknown')); + }); + }, + test_name); +} + +cursor_source_test( + 'IDBCursor.source - IDBObjectStore', 'my_objectstore', + '[object IDBObjectStore]', function(db) { + return db.transaction('my_objectstore', 'readonly') + .objectStore('my_objectstore') + .openCursor(); + }); + +cursor_source_test( + 'IDBCursor.source - IDBIndex', 'my_index', '[object IDBIndex]', + function(db) { + return db.transaction('my_objectstore', 'readonly') + .objectStore('my_objectstore') + .index('my_index') + .openCursor(); + }); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-source.htm b/tests/wpt/tests/IndexedDB/idbcursor-source.htm deleted file mode 100644 index 1882f092942..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-source.htm +++ /dev/null @@ -1,66 +0,0 @@ - -IDBCursor.source - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.any.js b/tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.any.js new file mode 100644 index 00000000000..f7af4152024 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.any.js @@ -0,0 +1,104 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBCursor update() Exception Ordering +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbcursor-update + +'use strict'; + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s'); + s.put('value', 'key'); + }, + (t, db) => { + const s = db.transaction('s', 'readonly').objectStore('s'); + const r = s.openCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + setTimeout( + t.step_func(() => { + assert_throws_dom( + 'TransactionInactiveError', + () => { + cursor.update('value2'); + }, + '"Transaction inactive" check (TransactionInactiveError) ' + + 'should precede "read only" check (ReadOnlyError)'); + t.done(); + }), 0); + }); + }, + 'IDBCursor.update exception order: TransactionInactiveError vs. ReadOnlyError'); + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s'); + s.put('value', 'key'); + }, + (t, db) => { + const s = db.transaction('s', 'readonly').objectStore('s'); + const r = s.openCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + cursor.continue(); + assert_throws_dom( + 'ReadOnlyError', + () => { + cursor.update('value2'); + }, + '"Read only" check (ReadOnlyError) should precede ' + + '"got value flag" check (InvalidStateError)'); + t.done(); + }); + }, + 'IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #1'); + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s'); + s.put('value', 'key'); + }, + (t, db) => { + const s = db.transaction('s', 'readonly').objectStore('s'); + const r = s.openKeyCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + assert_throws_dom( + 'ReadOnlyError', + () => { + cursor.update('value2'); + }, + '"Read only" check (ReadOnlyError) should precede ' + + '"key only flag" check (InvalidStateError)'); + t.done(); + }); + }, + 'IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #2'); + +indexeddb_test( + (t, db) => { + const s = db.createObjectStore('s', {keyPath: 'id'}); + s.put({id: 123, data: 'value'}); + }, + (t, db) => { + const s = db.transaction('s', 'readwrite').objectStore('s'); + const r = s.openCursor(); + r.onsuccess = t.step_func(() => { + r.onsuccess = null; + const cursor = r.result; + cursor.continue(); + assert_throws_dom( + 'InvalidStateError', + () => { + cursor.update({id: 123, data: 'value2'}); + }, + '"Got value flag" check (InvalidStateError) should precede ' + + '"modified key" check (DataError)'); + t.done(); + }); + }, + 'IDBCursor.update exception order: InvalidStateError vs. DataError'); diff --git a/tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.htm b/tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.htm deleted file mode 100644 index 9324752d5eb..00000000000 --- a/tests/wpt/tests/IndexedDB/idbcursor-update-exception-order.htm +++ /dev/null @@ -1,98 +0,0 @@ - -IndexedDB: IDBCursor update() Exception Ordering - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.any.js b/tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.any.js new file mode 100644 index 00000000000..783ae41dd2f --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.any.js @@ -0,0 +1,88 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBDatabase createObjectStore() Exception Ordering +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbdatabase-createobjectstore + +'use strict'; + +indexeddb_test( + (t, db, txn, rq) => { + db.createObjectStore('s'); + + // Acknowledge the error, to prevent an error from firing in browsers + // that implement that. + rq.onerror = e => { + e.preventDefault(); + }; + + txn.onabort = () => { + setTimeout( + t.step_func(() => { + assert_throws_dom( + 'InvalidStateError', () => db.createObjectStore('s2'), + '"running an upgrade transaction" check (InvalidStateError) ' + + 'should precede "not active" check (TransactionInactiveError)'); + + t.done(); + }), + 0); + }; + txn.abort(); + }, + (t, db) => { + t.assert_unreached( + 'open operation is expected to fail due to the aborted transaction.'); + }, + 'IDBDatabase.createObjectStore exception order: ' + + 'InvalidStateError vs. TransactionInactiveError', + {upgrade_will_abort: true}); + +indexeddb_test( + (t, db, txn) => { + const store = db.createObjectStore('s'); + + txn.abort(); + + assert_throws_dom( + 'TransactionInactiveError', + () => db.createObjectStore('s2', {keyPath: '-invalid-'}), + '"not active" check (TransactionInactiveError) should precede ' + + '"valid key path" check (SyntaxError)'); + + t.done(); + }, + (t, db) => { + t.assert_unreached('open should fail'); + }, + 'IDBDatabase.createObjectStore exception order: ' + + 'TransactionInactiveError vs. SyntaxError', + {upgrade_will_abort: true}); + +indexeddb_test( + (t, db) => { + db.createObjectStore('s'); + assert_throws_dom( + 'SyntaxError', + () => db.createObjectStore('s', {keyPath: 'not a valid key path'}), + '"Invalid key path" check (SyntaxError) should precede ' + + '"duplicate store name" check (ConstraintError)'); + t.done(); + }, + (t, db) => {}, + 'IDBDatabase.createObjectStore exception order: ' + + 'SyntaxError vs. ConstraintError'); + +indexeddb_test( + (t, db) => { + db.createObjectStore('s'); + assert_throws_dom( + 'ConstraintError', + () => db.createObjectStore('s', {autoIncrement: true, keyPath: ''}), + '"already exists" check (ConstraintError) should precede ' + + '"autoIncrement vs. keyPath" check (InvalidAccessError)'); + t.done(); + }, + (t, db) => {}, + 'IDBDatabase.createObjectStore exception order: ' + + 'ConstraintError vs. InvalidAccessError'); diff --git a/tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm b/tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm deleted file mode 100644 index 1ca2ce1d7cc..00000000000 --- a/tests/wpt/tests/IndexedDB/idbdatabase-createObjectStore-exception-order.htm +++ /dev/null @@ -1,84 +0,0 @@ - -IndexedDB: IDBDatabase createObjectStore() Exception Ordering - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.js b/tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.js new file mode 100644 index 00000000000..061c84c0029 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.any.js @@ -0,0 +1,46 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbdatabase-deleteobjectstore + +'use strict'; + +indexeddb_test( + (t, db, txn) => { + db.createObjectStore('s'); + txn.onabort = () => { + setTimeout( + t.step_func(() => { + assert_throws_dom( + 'InvalidStateError', () => db.deleteObjectStore('s'), + '"running an upgrade transaction" check (InvalidStateError) ' + + 'should precede "not active" check (TransactionInactiveError)'); + t.done(); + }), + 0); + }; + txn.abort(); + }, + (t, db) => { + t.assert_unreached('open should fail'); + }, + 'IDBDatabase.deleteObjectStore exception order: ' + + 'InvalidStateError vs. TransactionInactiveError', + {upgrade_will_abort: true}); + +indexeddb_test( + (t, db, txn) => { + txn.abort(); + assert_throws_dom( + 'TransactionInactiveError', () => db.deleteObjectStore('nope'), + '"not active" check (TransactionInactiveError) should precede ' + + '"name in database" check (NotFoundError)'); + t.done(); + }, + (t, db) => { + t.assert_unreached('open should fail'); + }, + 'IDBDatabase.deleteObjectStore exception order: ' + + 'TransactionInactiveError vs. NotFoundError', + {upgrade_will_abort: true}); diff --git a/tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm b/tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm deleted file mode 100644 index 4d98a31f120..00000000000 --- a/tests/wpt/tests/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm +++ /dev/null @@ -1,45 +0,0 @@ - -IndexedDB: IDBDatabase deleteObjectStore() Exception Ordering - - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.any.js b/tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.any.js new file mode 100644 index 00000000000..c5b31f28852 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.any.js @@ -0,0 +1,62 @@ +// META: global=window,worker +// META: title=IndexedDB: IDBDatabase transaction() Exception Ordering +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbdatabase-transaction + +'use strict'; + +indexeddb_test( + (t, db) => { + db.createObjectStore('s'); + }, + (t, db) => { + db.close(); + assert_throws_dom( + 'InvalidStateError', () => db.transaction('no-such-store'), + '"Connection is closed" check (InvalidStateError) should precede ' + + '"store names" check (NotFoundError)'); + t.done(); + }, + 'IDBDatabase.transaction exception order: InvalidStateError vs. NotFoundError'); + +indexeddb_test( + (t, db) => { + db.createObjectStore('s'); + }, + (t, db) => { + db.close(); + assert_throws_dom( + 'InvalidStateError', () => db.transaction([]), + '"Connection is closed" check (InvalidStateError) should precede ' + + '"stores is empty" check (InvalidAccessError)'); + t.done(); + }, + 'IDBDatabase.transaction exception order: InvalidStateError vs. InvalidAccessError'); + +// Verify that the invalid mode check actually throws an exception. +indexeddb_test( + (t, db) => { + db.createObjectStore('s'); + }, + (t, db) => { + assert_throws_js( + TypeError, () => db.transaction('s', 'versionchange'), + '"invalid mode" check should throw TypeError'); + t.done(); + }, + 'IDBDatabase.transaction throws exception on invalid mode'); + +indexeddb_test( + (t, db) => { + db.createObjectStore('s'); + }, + (t, db) => { + assert_throws_dom( + 'NotFoundError', + () => db.transaction('no-such-store', 'versionchange'), + '"No such store" check (NotFoundError) should precede ' + + '"invalid mode" check (TypeError)'); + t.done(); + }, + 'IDBDatabase.transaction exception order: NotFoundError vs. TypeError'); diff --git a/tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.html b/tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.html deleted file mode 100644 index d06efe1d2f9..00000000000 --- a/tests/wpt/tests/IndexedDB/idbdatabase-transaction-exception-order.html +++ /dev/null @@ -1,68 +0,0 @@ - - -IndexedDB: IDBDatabase transaction() Exception Ordering - - - - - diff --git a/tests/wpt/tests/IndexedDB/idbdatabase_close.any.js b/tests/wpt/tests/IndexedDB/idbdatabase_close.any.js new file mode 100644 index 00000000000..1fa105171a7 --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbdatabase_close.any.js @@ -0,0 +1,74 @@ +// META: global=window,worker +// META: title=IDBDatabase.close() +// META: script=resources/support.js + +// Spec: https://w3c.github.io/IndexedDB/#dom-idbdatabase-transaction + +'use strict'; + +async_test(t => { + let db; + let versionchange_fired; + let blocked_fired; + let upgradeneeded_fired; + const open_rq = createdb(t); + let counter = 0; + + open_rq.onupgradeneeded = function() {}; + open_rq.onsuccess = function(e) { + db = e.target.result; + db.onversionchange = t.step_func((e) => { + versionchange_fired = counter++; + }); + const rq = indexedDB.open(db.name, db.version + 1); + rq.onblocked = t.step_func((e) => { + blocked_fired = counter++; + db.close(); + }); + rq.onupgradeneeded = t.step_func((e) => { + upgradeneeded_fired = counter++; + }); + rq.onsuccess = t.step_func((e) => { + assert_equals(versionchange_fired, 0, 'versionchange event fired #'); + assert_equals(blocked_fired, 1, 'block event fired #'); + assert_equals( + upgradeneeded_fired, 2, 'second upgradeneeded event fired #'); + + rq.result.close(); + t.done(); + }); + rq.onerror = t.step_func(e => { + assert_unreached('Unexpected database deletion error: ' + e.target.error); + }); + }; +}, 'Unblock the version change transaction created by an open database request'); + +async_test(t => { + let db; + let blocked_fired = false; + let versionchange_fired = false; + const open_rq = createdb(t); + + open_rq.onupgradeneeded = t.step_func(e => {}); + open_rq.onsuccess = t.step_func(e => { + db = e.target.result; + + db.onversionchange = t.step_func(e => { + versionchange_fired = true; + }); + + const rq = indexedDB.deleteDatabase(db.name); + rq.onblocked = t.step_func(e => { + blocked_fired = true; + db.close(); + }); + rq.onsuccess = t.step_func(e => { + assert_true(versionchange_fired, 'versionchange event fired') + assert_true(blocked_fired, 'block event fired') + t.done(); + }); + rq.onerror = t.step_func(e => { + assert_unreached('Unexpected database deletion error: ' + e.target.error); + }); + }); +}, 'Unblock the delete database request.'); diff --git a/tests/wpt/tests/IndexedDB/idbdatabase_close.htm b/tests/wpt/tests/IndexedDB/idbdatabase_close.htm deleted file mode 100644 index 8ebebaf1b88..00000000000 --- a/tests/wpt/tests/IndexedDB/idbdatabase_close.htm +++ /dev/null @@ -1,44 +0,0 @@ - -IDBDatabase.close() - unblock the version change transaction created by an open database request - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbdatabase_close2.htm b/tests/wpt/tests/IndexedDB/idbdatabase_close2.htm deleted file mode 100644 index 26bc4ce6383..00000000000 --- a/tests/wpt/tests/IndexedDB/idbdatabase_close2.htm +++ /dev/null @@ -1,39 +0,0 @@ - -IDBDatabase.close() - unblock the delete database request - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbtransaction_abort.any.js b/tests/wpt/tests/IndexedDB/idbtransaction_abort.any.js index 7bc27dc3d69..1f14bbe4d5d 100644 --- a/tests/wpt/tests/IndexedDB/idbtransaction_abort.any.js +++ b/tests/wpt/tests/IndexedDB/idbtransaction_abort.any.js @@ -2,6 +2,8 @@ // META: global=window,worker // META: script=resources/support.js +// Spec: https://w3c.github.io/IndexedDB/#transaction-abort + 'use strict'; async_test(t => { @@ -14,7 +16,6 @@ async_test(t => { db = e.target.result; let txn = e.target.transaction; let objStore = db.createObjectStore('store'); - objStore.add(record, 1); objStore.add(record, 2); let index = @@ -34,4 +35,73 @@ async_test(t => { e.target.transaction.oncomplete = fail(t, 'got complete, expected abort'); }; -}); +}, 'Abort event should fire during transaction'); + +indexeddb_test( + (t, db) => { + db.createObjectStore('blobs', {keyPath: 'id', autoIncrement: true}); + }, + (t, db) => { + const txn = db.transaction('blobs', 'readwrite'); + const objectStore = txn.objectStore('blobs'); + const data = new Blob(['test'], {type: 'text/plain'}); + + const putRequest = objectStore.put({id: 0, data: data}); + + putRequest.onsuccess = t.step_func(() => { + t.step_timeout(() => { + assert_throws_dom('InvalidStateError', () => { + txn.abort(); + }, 'Abort should throw InvalidStateError on an auto-committing transaction.'); + }, 0); + }); + + // Ensure the transaction completes. + txn.oncomplete = t.step_func(() => { + t.done(); + }); + + // Abort should fail once the transaction has started committing. + txn.onabort = t.step_func((event) => { + assert_unreached('Unexpected transaction abort: ' + event.target.error); + }); + t.add_cleanup(() => { + if (db) { + db.close(); + } + }); + }, + `Abort during auto-committing should throw InvalidStateError.`); + +indexeddb_test( + (t, db) => { + db.createObjectStore('blobs', {keyPath: 'id', autoIncrement: true}); + }, + (t, db) => { + const txn = db.transaction('blobs', 'readwrite'); + const objectStore = txn.objectStore('blobs'); + const data = new Blob(['test'], {type: 'text/plain'}); + + // Put the object into the store. + const putRequest = objectStore.put({id: 0, data: data}); + + // Handle transaction completion. + txn.oncomplete = t.step_func(() => { + assert_throws_dom('InvalidStateError', () => { + txn.abort(); + }, 'Abort should throw InvalidStateError on a completed transaction.'); + t.done(); + }); + + // Handle transaction error. + txn.onerror = t.step_func((event) => { + assert_unreached('Unexpected transaction error: ' + event.target.error); + }); + + t.add_cleanup(() => { + if (db) { + db.close(); + } + }); + }, + `Abort on completed transaction should throw InvalidStateError.`); diff --git a/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.any.js b/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.any.js index 2041ad82b5a..5cd8cb86b22 100644 --- a/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.any.js +++ b/tests/wpt/tests/ai/translator/ai_translator_translate.tentative.https.any.js @@ -1,24 +1,54 @@ // META: title=Translate from English to Japanese -// META: global=window,worker +// META: global=window // META: timeout=long // META: script=../resources/util.js +// META: script=../resources/language_codes.js +// META: script=/resources/testdriver.js // // Setting `timeout=long` as this test may require downloading the translation // library and the language models. 'use strict'; +async function createTranslator(options) { + return await test_driver.bless('Create translator', async () => { + return await ai.translator.create(options); + }); +} + promise_test(async t => { - const translatorFactory = ai.translator; - assert_not_equals(translatorFactory, null); - const translator = await translatorFactory.create( - {sourceLanguage: 'en', targetLanguage: 'ja'}); + const languagePair = {sourceLanguage: 'en', targetLanguage: 'ja'}; + + // Creating the translator without user activation rejects with + // NotAllowedError. + const createPromise = ai.translator.create(languagePair); + await promise_rejects_dom(t, 'NotAllowedError', createPromise); + + // Creating the translator with user activation succeeds. + await createTranslator(languagePair); + + // TODO(crbug.com/390459310): Replace with availability. + // + // Creating it should have switched it to readily. + const capabilities = await ai.translator.capabilities(); + const {sourceLanguage, targetLanguage} = languagePair; + assert_equals( + capabilities.languagePairAvailable(sourceLanguage, targetLanguage), + 'readily'); + + // Now that it is readily, we should no longer need user activation. + await ai.translator.create(languagePair); +}, 'AITranslator.create() requires user activation when availability is "after-download".'); + +promise_test(async t => { + const translator = + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'}); assert_equals(await translator.translate('hello'), 'こんにちは'); }, 'Simple AITranslator.translate() call'); promise_test(async () => { const translator = - await ai.translator.create({sourceLanguage: 'en', targetLanguage: 'ja'}); + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'}); const streamingResponse = translator.translateStreaming('hello'); assert_equals( Object.prototype.toString.call(streamingResponse), @@ -32,14 +62,14 @@ promise_test(async () => { promise_test(async t => { const translator = - await ai.translator.create({sourceLanguage: 'en', targetLanguage: 'ja'}); + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'}); assert_equals(translator.sourceLanguage, 'en'); assert_equals(translator.targetLanguage, 'ja'); }, 'AITranslator: sourceLanguage and targetLanguage are equal to their respective option passed in to AITranslatorFactory.create.') promise_test(async (t) => { const translator = - await ai.translator.create({sourceLanguage: 'en', targetLanguage: 'ja'}); + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'}); translator.destroy(); await promise_rejects_dom( t, 'InvalidStateError', translator.translate('hello')); @@ -49,7 +79,7 @@ promise_test(async t => { const controller = new AbortController(); controller.abort(); - const createPromise = ai.translator.create( + const createPromise = createTranslator( {signal: controller.signal, sourceLanguage: 'en', targetLanguage: 'ja'}); await promise_rejects_dom(t, 'AbortError', createPromise); @@ -57,7 +87,7 @@ promise_test(async t => { promise_test(async t => { await testAbortPromise(t, signal => { - return ai.translator.create( + return createTranslator( {signal, sourceLanguage: 'en', targetLanguage: 'ja'}); }); }, 'Aborting AITranslatorFactory.create().'); @@ -67,7 +97,7 @@ promise_test(async t => { controller.abort(); const translator = - await ai.translator.create({sourceLanguage: 'en', targetLanguage: 'ja'}); + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'}); const translatePromise = translator.translate('hello', {signal: controller.signal}); @@ -76,7 +106,7 @@ promise_test(async t => { promise_test(async t => { const translator = - await ai.translator.create({sourceLanguage: 'en', targetLanguage: 'ja'}); + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja'}); await testAbortPromise(t, signal => { return translator.translate('hello', {signal}); }); @@ -93,8 +123,7 @@ promise_test(async t => { }); } - await ai.translator.create( - {sourceLanguage: 'en', targetLanguage: 'ja', monitor}); + await createTranslator({sourceLanguage: 'en', targetLanguage: 'ja', monitor}); // Monitor callback must be called. assert_true(monitorCalled); diff --git a/tests/wpt/tests/clear-site-data/clear-cache-partitioning.sub.https.html b/tests/wpt/tests/clear-site-data/clear-cache-partitioning.sub.https.html index 35640785662..b3841450b5a 100644 --- a/tests/wpt/tests/clear-site-data/clear-cache-partitioning.sub.https.html +++ b/tests/wpt/tests/clear-site-data/clear-cache-partitioning.sub.https.html @@ -155,13 +155,16 @@ promise_test(test => { promise_test(test => { const TEST_SITE = { + cache: true, + } + const CLEAR_ORIGIN_CACHE = { iframe: { - cache: true, + clear: "cache", secondOrigin: true, } } return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals); -}, "clearing cache doesn't affect cross origin iframe"); +}, "clear in cross origin iframe doesn't affect embedder"); promise_test(test => { const TEST_SITE = { @@ -214,6 +217,55 @@ promise_test(test => { return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR_IFRAME, TEST_SITE], assert_equals); }, "clear in unpartitioned context doesn't clear partitioned data"); +promise_test(test => { + const TEST_SITE = { + iframe: { + secondOrigin: true, + iframe: { + cache: true, + } + } + } + return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals); +}, "clear in unpartitioned context doesn't clear double partitioned data with intermediate cross origin"); + +promise_test(test => { + const TEST_SITE = { + cache: true, + }; + + const TEST_CLEAR_IFRAME_IFRAME = { + iframe: { + secondOrigin: true, + iframe: { + clear: "cache", + } + } + } + return testCacheClear(test, [TEST_SITE, TEST_CLEAR_IFRAME_IFRAME, TEST_SITE], assert_equals); +}, "clear in double partitioned with intermediate cross origin context doesn't clear unpartitioned data"); + +promise_test(test => { + const TEST_SITE = { + iframe: { + secondOrigin: true, + iframe: { + cache: true, + } + } + } + + const TEST_CLEAR_IFRAME_IFRAME = { + iframe: { + secondOrigin: true, + iframe: { + clear: "cache", + } + } + } + return testCacheClear(test, [TEST_SITE, TEST_CLEAR_IFRAME_IFRAME, TEST_SITE], assert_not_equals); +}, "clear double partitioned context with intermediate cross origin clears that partitioned data"); + diff --git a/tests/wpt/tests/common/dispatcher/remote-executor.html b/tests/wpt/tests/common/dispatcher/remote-executor.html index 8b0030390d0..f87f566be96 100644 --- a/tests/wpt/tests/common/dispatcher/remote-executor.html +++ b/tests/wpt/tests/common/dispatcher/remote-executor.html @@ -3,7 +3,10 @@ - + + + + + + diff --git a/tests/wpt/tests/content-security-policy/tentative/require-sri-for/script-blocked-meta.https.html b/tests/wpt/tests/content-security-policy/tentative/require-sri-for/script-blocked-meta.https.html new file mode 100644 index 00000000000..fe69c61f5b6 --- /dev/null +++ b/tests/wpt/tests/content-security-policy/tentative/require-sri-for/script-blocked-meta.https.html @@ -0,0 +1,13 @@ + + + + + + diff --git a/tests/wpt/tests/content-security-policy/tentative/require-sri-for/script.https.html b/tests/wpt/tests/content-security-policy/tentative/require-sri-for/script.https.html new file mode 100644 index 00000000000..65553e523cc --- /dev/null +++ b/tests/wpt/tests/content-security-policy/tentative/require-sri-for/script.https.html @@ -0,0 +1,164 @@ + + + + + + + + + diff --git a/tests/wpt/tests/cookies/partitioned-cookies/resources/ancestor-chain-cross-site-embed.html b/tests/wpt/tests/cookies/partitioned-cookies/resources/ancestor-chain-cross-site-embed.html index fbe2906737d..ecf1aff1844 100644 --- a/tests/wpt/tests/cookies/partitioned-cookies/resources/ancestor-chain-cross-site-embed.html +++ b/tests/wpt/tests/cookies/partitioned-cookies/resources/ancestor-chain-cross-site-embed.html @@ -21,7 +21,7 @@ promise_test(async () => { iframe.src = url.href; document.body.appendChild(iframe); - new Promise(r => iframe.onload = r); + await new Promise(r => iframe.onload = r); await fetch_tests_from_window(iframe.contentWindow); diff --git a/tests/wpt/tests/cookies/samesite/resources/cross-site-frame-with-sandboxed-embed.html b/tests/wpt/tests/cookies/samesite/resources/cross-site-frame-with-sandboxed-embed.html new file mode 100644 index 00000000000..b00b1e26832 --- /dev/null +++ b/tests/wpt/tests/cookies/samesite/resources/cross-site-frame-with-sandboxed-embed.html @@ -0,0 +1,24 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/tests/cookies/samesite/resources/same-site-none-embed.html b/tests/wpt/tests/cookies/samesite/resources/same-site-none-embed.html new file mode 100644 index 00000000000..1dcb97d988e --- /dev/null +++ b/tests/wpt/tests/cookies/samesite/resources/same-site-none-embed.html @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/tests/wpt/tests/cookies/samesite/sandbox-allow-same-site-none-cookies-value.tentative.https.html b/tests/wpt/tests/cookies/samesite/sandbox-allow-same-site-none-cookies-value.tentative.https.html new file mode 100644 index 00000000000..77c1386ffb4 --- /dev/null +++ b/tests/wpt/tests/cookies/samesite/sandbox-allow-same-site-none-cookies-value.tentative.https.html @@ -0,0 +1,41 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-computed.html b/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-computed.html index 402c4b6659e..1d084e23397 100644 --- a/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-computed.html +++ b/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-computed.html @@ -25,4 +25,17 @@ test_computed_value("corner-top-right-shape", "round"); test_computed_value("corner-top-right-shape", "superellipse(5)"); test_computed_value("corner-bottom-right-shape", "scoop"); test_computed_value("corner-bottom-left-shape", "superellipse(5)"); +test_computed_value("corner-shape", "superellipse(5) round"); +test_computed_value("corner-shape", "round"); +test_computed_value("corner-shape", "bevel superellipse(0.1) round squircle"); +test_computed_value("corner-shape", "superellipse(0.1) superellipse(3) superellipse(7) superellipse(0.1)"); +test_computed_value("corner-shape", "round round round round", "round"); +test_computed_value("corner-shape", "round scoop"); +test_computed_value("corner-shape", "round scoop round scoop", "round scoop"); +test_computed_value("corner-shape", "bevel superellipse(2)", "bevel round"); +test_computed_value("corner-shape", "superellipse(0.5) superellipse(3) straight", "scoop superellipse(3) straight"); +test_computed_value("corner-shape", "superellipse(0.5) superellipse(3) superellipse(1)", "scoop superellipse(3) bevel"); +test_computed_value("corner-shape", "bevel superellipse(2) squircle round", "bevel round squircle"); +test_computed_value("corner-shape", "superellipse(0.5) superellipse(3) superellipse(1) superellipse(infinity)", "scoop superellipse(3) bevel straight"); + diff --git a/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html b/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html index 490b8613945..582617a634a 100644 --- a/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html +++ b/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-invalid.html @@ -19,4 +19,7 @@ test_invalid_value("corner-shape", "superellipse(,)"); test_invalid_value("corner-shape", "superellipse(4,0.1)"); test_invalid_value("corner-shape", "superellipse(foo)"); test_invalid_value("corner-shape", "superellipse(1 abc)"); +test_invalid_value("corner-shape", "superellipse(1) / bevel"); +test_invalid_value("corner-shape", "superellipse(1) / superellipse(3)"); +test_invalid_value("corner-shape", "superellipse(1), superellipse(3)"); diff --git a/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-valid.html b/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-valid.html index 61005759d12..32aaa89fc5b 100644 --- a/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-valid.html +++ b/tests/wpt/tests/css/css-borders/tentative/parsing/corner-shape-valid.html @@ -36,4 +36,13 @@ test_values_for_prop(`corner-${block}-${inline}-shape`); } } + test_valid_value("corner-shape", "round round round round", "round"); + test_valid_value("corner-shape", "round scoop"); + test_valid_value("corner-shape", "round scoop round scoop", "round scoop"); + test_valid_value("corner-shape", "bevel superellipse(2)"); + test_valid_value("corner-shape", "superellipse(0.5) superellipse(3) straight"); + test_valid_value("corner-shape", "superellipse(0.5) superellipse(3) superellipse(1)"); + test_valid_value("corner-shape", "bevel superellipse(2) squircle round", "bevel superellipse(2) squircle round"); + test_valid_value("corner-shape", "superellipse(0.5) superellipse(3) superellipse(1) superellipse(infinity)"); + diff --git a/tests/wpt/tests/css/css-color/parsing/color-computed-contrast-color-function.html b/tests/wpt/tests/css/css-color/parsing/color-computed-contrast-color-function.html new file mode 100644 index 00000000000..57537dd929f --- /dev/null +++ b/tests/wpt/tests/css/css-color/parsing/color-computed-contrast-color-function.html @@ -0,0 +1,51 @@ + + + + +Test CSS Color Module 5 contrast-color() computed value + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/tests/css/css-color/parsing/color-invalid-contrast-color-function.html b/tests/wpt/tests/css/css-color/parsing/color-invalid-contrast-color-function.html new file mode 100644 index 00000000000..0c5741e2397 --- /dev/null +++ b/tests/wpt/tests/css/css-color/parsing/color-invalid-contrast-color-function.html @@ -0,0 +1,37 @@ + + + + +Test CSS Color Module 5 contrast-color() computed value + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/tests/css/css-color/parsing/color-valid-contrast-color-function.html b/tests/wpt/tests/css/css-color/parsing/color-valid-contrast-color-function.html new file mode 100644 index 00000000000..85a133b78e9 --- /dev/null +++ b/tests/wpt/tests/css/css-color/parsing/color-valid-contrast-color-function.html @@ -0,0 +1,49 @@ + + + + +Test CSS Color Module 5 contrast-color() parsing valid values + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/tests/css/css-flexbox/flexbox_justifycontent-stretch.html b/tests/wpt/tests/css/css-flexbox/flexbox_justifycontent-stretch.html new file mode 100644 index 00000000000..d49689d1dc0 --- /dev/null +++ b/tests/wpt/tests/css/css-flexbox/flexbox_justifycontent-stretch.html @@ -0,0 +1,9 @@ + +justify-content:stretch behaves as justify-content:flex-start + + +

Test passes if there is a filled green square.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-fonts/italic-oblique-fallback-ref.html b/tests/wpt/tests/css/css-fonts/italic-oblique-fallback-ref.html new file mode 100644 index 00000000000..6dd1a7bac22 --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/italic-oblique-fallback-ref.html @@ -0,0 +1,38 @@ + + + +CSS Fonts reference: oblique/italic fallback + + + +
AA
+
AA
+
+
AA
+
AA
+
+
AA
+
AA
diff --git a/tests/wpt/tests/css/css-fonts/italic-oblique-fallback.html b/tests/wpt/tests/css/css-fonts/italic-oblique-fallback.html new file mode 100644 index 00000000000..48187ea0f7e --- /dev/null +++ b/tests/wpt/tests/css/css-fonts/italic-oblique-fallback.html @@ -0,0 +1,82 @@ + + + +CSS Fonts testcase: oblique/italic fallback + + + + + + + + + + +
AA
+ +
AA
+ +
+ + + +
AA
+ +
AA
+ +
+ + + +
AA
+
AA
diff --git a/tests/wpt/tests/css/css-fonts/variations/at-font-face-font-matching.html b/tests/wpt/tests/css/css-fonts/variations/at-font-face-font-matching.html index ba18f9d5ab2..7511a83c425 100644 --- a/tests/wpt/tests/css/css-fonts/variations/at-font-face-font-matching.html +++ b/tests/wpt/tests/css/css-fonts/variations/at-font-face-font-matching.html @@ -3,6 +3,7 @@ Testing @font-face font matching logic introduced in CSS Fonts level 4 + @@ -21,7 +22,7 @@ @font-face { font-family: W300; src: url('./resources/csstest-weights-300-kerned.ttf'); } - @font-face { font-family: descriptorPriorityTest; src: url('./resources/csstest-weights-100-kerned.ttf'); font-stretch : 125%; } + @font-face { font-family: descriptorPriorityTest; src: url('./resources/csstest-weights-100-kerned.ttf'); font-stretch: 125%; } @font-face { font-family: descriptorPriorityTest; src: url('./resources/csstest-weights-200-kerned.ttf'); font-style: italic; } @font-face { font-family: descriptorPriorityTest; src: url('./resources/csstest-weights-300-kerned.ttf'); font-weight: 350; } @@ -77,9 +78,9 @@ } var descriptorPriorityCases = [ - { weight: "normal", style: "oblique -5deg", stretch: "125%", expectedFamily: "'W100'", description: "Stretch has higher priority than style"}, - { weight: "350", style: "normal", stretch: "125%", expectedFamily: "'W100'", description: "Stretch has higher priority than weight"}, - { weight: "350", style: "oblique -5deg", stretch: "normal", expectedFamily: "'W200'", description: "Style has higher priority than weight"} + { weight: "normal", style: "italic", stretch: "125%", expectedFamily: "'W100'", description: "Stretch has higher priority than style"}, + { weight: "350", style: "normal", stretch: "125%", expectedFamily: "'W100'", description: "Stretch has higher priority than weight"}, + { weight: "350", style: "italic", stretch: "normal", expectedFamily: "'W200'", description: "Style has higher priority than weight"} ]; descriptorPriorityCases.forEach(function (testCase) { @@ -181,13 +182,13 @@ testDescriptor("font-style", [ { value: "normal", testDescriptors: ["normal", "oblique 10deg 40deg", "oblique 20deg 30deg", "oblique -50deg -20deg", "oblique -40deg -30deg" ] }, { value: "italic", testDescriptors: ["italic", "oblique 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique 5deg 10deg", "oblique 5deg", "normal", "oblique -60deg -30deg", "oblique -50deg -40deg" ] }, - { value: "oblique 20deg", testDescriptors: ["oblique 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique 10deg", "italic", "oblique 0deg", "oblique -50deg -20deg", "oblique -40deg -30deg" ] }, - { value: "oblique 21deg", testDescriptors: ["oblique 21deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique 20deg", "oblique 10deg", "italic", "oblique 0deg", "oblique -50deg -20deg", "oblique -40deg -30deg" ] }, - { value: "oblique 10deg", testDescriptors: ["oblique 10deg", "oblique 5deg", "oblique 15deg 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "italic", "oblique 0deg", "oblique -50deg -20deg", "oblique -40deg -30deg" ] }, - { value: "oblique 0deg", testDescriptors: ["oblique 0deg", "oblique 5deg", "oblique 15deg 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "italic", "oblique -50deg -20deg", "oblique -40deg -30deg" ] }, - { value: "oblique -10deg", testDescriptors: ["oblique -10deg", "oblique -5deg", "oblique -1deg 0deg", "oblique -20deg -15deg", "oblique -60deg -30deg", "oblique -50deg -40deg", "italic", "oblique 0deg 10deg", "oblique 40deg 50deg" ] }, - { value: "oblique -20deg", testDescriptors: ["oblique -20deg", "oblique -60deg -40deg", "oblique -10deg", "italic", "oblique 0deg", "oblique 30deg 60deg", "oblique 40deg 50deg"] }, - { value: "oblique -21deg", testDescriptors: ["oblique -21deg", "oblique -60deg -40deg", "oblique -10deg", "italic", "oblique 0deg", "oblique 30deg 60deg", "oblique 40deg 50deg"] }, + { value: "oblique 20deg", testDescriptors: ["oblique 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique 10deg", "oblique 0deg", "oblique -50deg -20deg", "oblique -40deg -30deg", "italic" ] }, + { value: "oblique 21deg", testDescriptors: ["oblique 21deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique 20deg", "oblique 10deg", "oblique 0deg", "oblique -50deg -20deg", "oblique -40deg -30deg", "italic" ] }, + { value: "oblique 10deg", testDescriptors: ["oblique 10deg", "oblique 5deg", "oblique 15deg 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique 0deg", "oblique -50deg -20deg", "oblique -40deg -30deg", "italic" ] }, + { value: "oblique 0deg", testDescriptors: ["oblique 0deg", "oblique 5deg", "oblique 15deg 20deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "oblique -50deg -20deg", "oblique -40deg -30deg", "italic" ] }, + { value: "oblique -10deg", testDescriptors: ["oblique -10deg", "oblique -5deg", "oblique -1deg 0deg", "oblique -20deg -15deg", "oblique -60deg -30deg", "oblique -50deg -40deg", "oblique 0deg 10deg", "oblique 40deg 50deg", "italic" ] }, + { value: "oblique -20deg", testDescriptors: ["oblique -20deg", "oblique -60deg -40deg", "oblique -10deg", "oblique 0deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "italic"] }, + { value: "oblique -21deg", testDescriptors: ["oblique -21deg", "oblique -60deg -40deg", "oblique -10deg", "oblique 0deg", "oblique 30deg 60deg", "oblique 40deg 50deg", "italic"] }, ]); diff --git a/tests/wpt/tests/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html b/tests/wpt/tests/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html index 77e9c22294d..6c73370937c 100644 --- a/tests/wpt/tests/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html +++ b/tests/wpt/tests/css/css-grid/layout-algorithm/grid-automatic-minimum-for-auto-rows-001.html @@ -39,7 +39,7 @@ .gridAutoAndAuto { grid-template-rows: auto auto; } .gridAutoAndMinMaxAutoAuto { grid-template-rows: auto minmax(auto, auto); } .gridMinMaxAutoMaxContentAndAuto { grid-template-rows: minmax(auto, max-content) auto; } - + @@ -230,7 +230,7 @@ function testGridRowsValues(id, computedRowValue) { assert_equals(window.getComputedStyle(document.getElementById(id)) - .getPropertyValue('grid-template-rows')", computedRowValue); + .getPropertyValue('grid-template-rows'), computedRowValue); } setup({ explicit_done: true }); diff --git a/tests/wpt/tests/css/css-highlight-api/HighlightRegistry-highlightsFromPoint.html b/tests/wpt/tests/css/css-highlight-api/HighlightRegistry-highlightsFromPoint.html new file mode 100644 index 00000000000..5bb81bea69a --- /dev/null +++ b/tests/wpt/tests/css/css-highlight-api/HighlightRegistry-highlightsFromPoint.html @@ -0,0 +1,83 @@ + + + + + + + +0123456789 + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-images/gradient/gradient-longer-hue-lch-001.html b/tests/wpt/tests/css/css-images/gradient/gradient-longer-hue-lch-001.html index f4217e8467b..c22151b2b02 100644 --- a/tests/wpt/tests/css/css-images/gradient/gradient-longer-hue-lch-001.html +++ b/tests/wpt/tests/css/css-images/gradient/gradient-longer-hue-lch-001.html @@ -6,6 +6,7 @@ + +
+
+
+ diff --git a/tests/wpt/tests/css/css-inline/empty-span-scroll.html b/tests/wpt/tests/css/css-inline/empty-span-scroll.html new file mode 100644 index 00000000000..a7bb0926602 --- /dev/null +++ b/tests/wpt/tests/css/css-inline/empty-span-scroll.html @@ -0,0 +1,38 @@ + + + + + + + +
+ + + + + +
+
+ diff --git a/tests/wpt/tests/css/css-mixins/dashed-function-eval.html b/tests/wpt/tests/css/css-mixins/dashed-function-eval.html index 7726e832e02..1eaad4e3cf0 100644 --- a/tests/wpt/tests/css/css-mixins/dashed-function-eval.html +++ b/tests/wpt/tests/css/css-mixins/dashed-function-eval.html @@ -8,6 +8,13 @@
+
+ +
+ @@ -681,4 +688,8 @@ diff --git a/tests/wpt/tests/css/css-mixins/function-conditionals.html b/tests/wpt/tests/css/css-mixins/function-conditionals.html index e6113703d70..18e82e53b61 100644 --- a/tests/wpt/tests/css/css-mixins/function-conditionals.html +++ b/tests/wpt/tests/css/css-mixins/function-conditionals.html @@ -5,7 +5,16 @@ -
+ +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-mixins/function-container-dynamic.html b/tests/wpt/tests/css/css-mixins/function-container-dynamic.html new file mode 100644 index 00000000000..f05c347a2ab --- /dev/null +++ b/tests/wpt/tests/css/css-mixins/function-container-dynamic.html @@ -0,0 +1,58 @@ + +Custom Functions: @container responds to changes + + + + + +
+
+
+
+ + diff --git a/tests/wpt/tests/css/css-mixins/function-container-self.html b/tests/wpt/tests/css/css-mixins/function-container-self.html new file mode 100644 index 00000000000..39a65986a80 --- /dev/null +++ b/tests/wpt/tests/css/css-mixins/function-container-self.html @@ -0,0 +1,43 @@ + +Custom Functions: @container can not query self + + + + + +
+
+
+
+ + diff --git a/tests/wpt/tests/css/css-mixins/function-container-style.html b/tests/wpt/tests/css/css-mixins/function-container-style.html new file mode 100644 index 00000000000..260f3d08d1e --- /dev/null +++ b/tests/wpt/tests/css/css-mixins/function-container-style.html @@ -0,0 +1,62 @@ + +Custom Functions: @container style queries + + + + + +
+
+
+
+
+
+ + diff --git a/tests/wpt/tests/css/css-mixins/resources/utils.js b/tests/wpt/tests/css/css-mixins/resources/utils.js index 0e196b72573..cc9f008916b 100644 --- a/tests/wpt/tests/css/css-mixins/resources/utils.js +++ b/tests/wpt/tests/css/css-mixins/resources/utils.js @@ -15,17 +15,20 @@ // The test passes if the computed value of --actual matches // the computed value of --expected on #target. // -// Elements
and are assumed to exist. -function test_all_templates() { +// Arguments: +// * `styleTarget`, defaults to
, which is assumed to exist. +// * `templateTarget` defaults to , which are assumed to exist. +// * `descriptor` optional test descriptor +function test_all_templates(styleTarget = target, templateTarget = main, descriptor = '') { let templates = document.querySelectorAll('template'); for (let template of templates) { test((t) => { - t.add_cleanup(() => main.replaceChildren()); - main.append(template.content.cloneNode(true)); - let cs = getComputedStyle(target); + t.add_cleanup(() => templateTarget.replaceChildren()); + templateTarget.append(template.content.cloneNode(true)); + let cs = getComputedStyle(styleTarget); let actual = cs.getPropertyValue('--actual'); let expected = cs.getPropertyValue('--expected'); assert_equals(actual, expected); - }, template.getAttribute('data-name')); + }, `${descriptor ? `${descriptor}: `: ''}${template.getAttribute('data-name')}`); } } diff --git a/tests/wpt/tests/css/css-overflow/overflow-clip-margin-border-radius-ref.html b/tests/wpt/tests/css/css-overflow/overflow-clip-margin-border-radius-ref.html index 10301224070..1611180e637 100644 --- a/tests/wpt/tests/css/css-overflow/overflow-clip-margin-border-radius-ref.html +++ b/tests/wpt/tests/css/css-overflow/overflow-clip-margin-border-radius-ref.html @@ -1,4 +1,5 @@ + CSS Reference: overflow-clip-margin with border-radius +
+
+
1
+
2
+
3
+
+
+ diff --git a/tests/wpt/tests/css/css-overflow/scroll-marker-group-018.html b/tests/wpt/tests/css/css-overflow/scroll-marker-group-018.html new file mode 100644 index 00000000000..927d8ba61b8 --- /dev/null +++ b/tests/wpt/tests/css/css-overflow/scroll-marker-group-018.html @@ -0,0 +1,43 @@ + +Absolutely-positioned scroll-marker-group with fixed-positioned scroll markers + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-overflow/scroll-marker-group-019.html b/tests/wpt/tests/css/css-overflow/scroll-marker-group-019.html new file mode 100644 index 00000000000..9c2c5a0c0dc --- /dev/null +++ b/tests/wpt/tests/css/css-overflow/scroll-marker-group-019.html @@ -0,0 +1,43 @@ + +Absolutely-positioned scroll-marker-group with fixed-positioned scroll markers + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-overflow/scroll-marker-group-020.html b/tests/wpt/tests/css/css-overflow/scroll-marker-group-020.html new file mode 100644 index 00000000000..1f69fc80d3d --- /dev/null +++ b/tests/wpt/tests/css/css-overflow/scroll-marker-group-020.html @@ -0,0 +1,36 @@ + +Absolutely-positioned scroll-marker-group with fixed-positioned scroll markers + + + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-overflow/scroll-marker-navigation-cycles.html b/tests/wpt/tests/css/css-overflow/scroll-marker-navigation-cycles.html new file mode 100644 index 00000000000..d41b720ed92 --- /dev/null +++ b/tests/wpt/tests/css/css-overflow/scroll-marker-navigation-cycles.html @@ -0,0 +1,67 @@ + + +CSS Test: ::scroll-marker key navigation cycles + + + + + + + + +
+
+
+
+
+ \ No newline at end of file diff --git a/tests/wpt/tests/css/css-overflow/scroll-marker-next-focus.html b/tests/wpt/tests/css/css-overflow/scroll-marker-next-focus.html new file mode 100644 index 00000000000..48a86a92026 --- /dev/null +++ b/tests/wpt/tests/css/css-overflow/scroll-marker-next-focus.html @@ -0,0 +1,90 @@ + + +CSS Test: next focus search start after ::scroll-marker activation is from its ultimate originating element + + + + + + + + +
+
Section 1
+
+ Section 2 + +
+
Section 3
+
+ + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-properties-values-api/registered-property-parse-crash.html b/tests/wpt/tests/css/css-properties-values-api/registered-property-parse-crash.html new file mode 100644 index 00000000000..51b583a9806 --- /dev/null +++ b/tests/wpt/tests/css/css-properties-values-api/registered-property-parse-crash.html @@ -0,0 +1,7 @@ + +Spurious block start in @property prelude + + +

quick diff --git a/tests/wpt/tests/css/css-pseudo/highlight-painting-shadows-horizontal.html b/tests/wpt/tests/css/css-pseudo/highlight-painting-shadows-horizontal.html index 6ddff5b32e7..b1762e85ae3 100644 --- a/tests/wpt/tests/css/css-pseudo/highlight-painting-shadows-horizontal.html +++ b/tests/wpt/tests/css/css-pseudo/highlight-painting-shadows-horizontal.html @@ -5,7 +5,7 @@ - + diff --git a/tests/wpt/tests/css/css-text-decor/text-shadow/svg-stroke-dasharray.html b/tests/wpt/tests/css/css-text-decor/text-shadow/svg-stroke-dasharray.html index e8c98fd0852..bd77d85edf4 100644 --- a/tests/wpt/tests/css/css-text-decor/text-shadow/svg-stroke-dasharray.html +++ b/tests/wpt/tests/css/css-text-decor/text-shadow/svg-stroke-dasharray.html @@ -2,7 +2,6 @@ CSS Test: 'text-shadow' respects stroke-dasharray - diff --git a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-001.html b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-001.html index 2476f5b4e44..476eb289b86 100644 --- a/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-001.html +++ b/tests/wpt/tests/css/css-transforms/backface-visibility-hidden-001.html @@ -6,7 +6,7 @@ - + + + + +

+ + + + \ No newline at end of file diff --git a/tests/wpt/tests/css/css-values/if-style-query.html b/tests/wpt/tests/css/css-values/if-style-query.html index fa9e91d7d8f..2bfe6536fc0 100644 --- a/tests/wpt/tests/css/css-values/if-style-query.html +++ b/tests/wpt/tests/css/css-values/if-style-query.html @@ -47,13 +47,13 @@ --length: 30px; --length-inherited: 30px; } - .outer { + .inner { --inherited: inner_value; }
-
+
@@ -66,6 +66,13 @@ }); } + function clear_custom_properties(customPropertiesData) { + customPropertiesData.forEach(entry => { + const [customPropertyName, customPropertyValue] = entry; + document.getElementById("if").style.removeProperty(customPropertyName); + }); + } + function test_if(ifValue, customPropertiesData, expectedValue) { set_custom_properties(customPropertiesData); var elem = document.getElementById("if"); @@ -78,7 +85,8 @@ '"' + ifValue + '" should be substituted to "' + expectedValue + '".'); }); - elem.style.setProperty(property, ''); + clear_custom_properties(customPropertiesData); + elem.style.removeProperty(property); } // Valid if() with unregistered custom properties in conditions. @@ -92,8 +100,10 @@ test_if('if(style(--x: 0): )', [['--x', '0']], ''); test_if('if(style(--x: blue): true_value;)', [['--x', 'blue']], 'true_value'); test_if('if(style(--x: 3): true_value; else: false_value)', [['--x', '3']], 'true_value'); - test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', '']], 'true_value'); + test_if('if(style(--non-existent: var(--non-existent)): true_value; else: false_value)', [], 'false_value'); + test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', '']], 'false_value'); test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', 'initial']], 'true_value'); + test_if('if(style(--non-existent: initial): true_value; else: false_value)', [], 'true_value'); test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', '3']], 'false_value'); test_if(`if(style(--inherited: inherit): true_value; else: false_value)`, @@ -103,30 +113,35 @@ else: false_value)`, [['--inherited', 'inherit']], 'true_value'); + test_if(`if(style(--inherited: inherit): true_value; + else: false_value)`, + [['--inherited', 'unset']], + 'true_value'); test_if(`if(style(--inherited: inherit): true_value; else: false_value)`, [['--inherited', 'inner_value']], 'false_value'); + test_if(`if(style(--inherited: unset): true_value; + else: false_value)`, + [['--inherited', 'outer_value']], + 'true_value'); + test_if(`if(style(--inherited: unset): true_value; + else: false_value)`, + [['--inherited', 'unset']], + 'true_value'); + test_if(`if(style(--inherited: unset): true_value; + else: false_value)`, + [['--inherited', 'inner_value']], + 'false_value'); + test_if(`if(style(--inherited: unset): true_value; + else: false_value)`, + [['--inherited', 'inherit']], + 'true_value'); test_if('if(style(--x: 3): true_value; else:false_value)', [['--x', '3']], 'true_value'); test_if('if(style(--x: 3): true_value; else: false_value;)', [['--x', '3']], 'true_value'); test_if('if(style(--x: 0): true_value; else: false_value)', [['--x', '3']], 'false_value'); test_if('if( style( --x: 0 ) : true_value ; else : false_value)', [['--x', '3']], 'false_value'); test_if('if(style(not (--unknown)): true_value;)', [['--x', '3']], 'true_value'); - test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', '']], 'true_value'); - test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', 'initial']], 'true_value'); - test_if('if(style(--x: initial): true_value; else: false_value)', [['--x', '3']], 'false_value'); - test_if(`if(style(--inherited: inherit): true_value; - else: false_value)`, - [['--inherited', 'outer_value']], - 'true_value'); - test_if(`if(style(--inherited: inherit): true_value; - else: false_value)`, - [['--inherited', 'inherit']], - 'true_value'); - test_if(`if(style(--inherited: inherit): true_value; - else: false_value)`, - [['--inherited', 'inner_value']], - 'false_value'); test_if(`if(style(--x: 0): true_value; else: )`, [['--x', '3']], @@ -167,6 +182,9 @@ else: false_value)`, [['--x', '']], 'false_value'); + test_if(`if(style(--x):a)if(style(--x):b)`, + [['--x', '3']], + 'a/**/b'); // Valid if() with multiple conditions with unregistered custom properties test_if(`if(style(--non-existent): value1; @@ -310,14 +328,18 @@ else: false_value)`, [['--length', '1em']], 'true_value'); - test_if(`if(style(--length: initial): true_value; + test_if(`if(style(--length: 3): true_value; else: false_value)`, [], - 'true_value'); + 'false_value'); test_if(`if(style(--length: initial): true_value; else: false_value)`, [['--length', '3px']], 'true_value'); + test_if(`if(style(--length: initial): true_value; + else: false_value)`, + [], + 'true_value'); test_if(`if(style(--length: inherit): true_value; else: false_value)`, [], @@ -326,14 +348,30 @@ else: false_value)`, [['--length', '30px']], 'true_value'); + test_if(`if(style(--length: unset): true_value; + else: false_value)`, + [['--length', '3px']], + 'true_value'); test_if(`if(style(--length-inherited: inherit): true_value; else: false_value)`, [], 'true_value'); - test_if(`if(style(--length: inherit): true_value; + test_if(`if(style(--length-inherited: inherit): true_value; else: false_value)`, [['--length-inherited', '30px']], 'true_value'); + test_if(`if(style(--length-inherited: inherit): true_value; + else: false_value)`, + [['--length-inherited', 'unset']], + 'true_value'); + test_if(`if(style(--length-inherited: unset): true_value; + else: false_value)`, + [['--length-inherited', '30px']], + 'true_value'); + test_if(`if(style(--length-inherited: unset): true_value; + else: false_value)`, + [['--length-inherited', 'inherit']], + 'true_value'); test_if(`if(style(--percentage: 30%): true_value; else: false_value)`, @@ -477,4 +515,8 @@ style(--z: 3px): value3;)`, [['--x', '3'], ['--y', 'red'], ['--z', '10px']], ''); + + // Equality of attr-tainted if() + test_if('if(style(--x: attr(data-attr type(*))): true_value; else: false_value)', [['--x', 'attr']], 'true_value'); + test_if('if(style(--x: attr): true_value; else: false_value)', [['--x', 'attr(data-attr type(*))']], 'true_value'); diff --git a/tests/wpt/tests/css/css-values/progress-invalid.tentative.html b/tests/wpt/tests/css/css-values/progress-invalid.tentative.html index 4e6f2e8a7bb..f135487e1c4 100644 --- a/tests/wpt/tests/css/css-values/progress-invalid.tentative.html +++ b/tests/wpt/tests/css/css-values/progress-invalid.tentative.html @@ -30,7 +30,6 @@ test_invalid_number('progress(to,,,,)'); test_invalid_number('progress(0,,, 10,, 200)'); test_invalid_number('progress(0,,, 10,,, 200)'); test_invalid_number('progress(0,, 10,, 200)'); -test_invalid_number('progress(0, 10, 200)'); test_invalid_number('progress(0 from 10 to 200)'); // General tests diff --git a/tests/wpt/tests/css/css-variables/url-syntax-crash.html b/tests/wpt/tests/css/css-variables/url-syntax-crash.html new file mode 100644 index 00000000000..e7ef1b0aa29 --- /dev/null +++ b/tests/wpt/tests/css/css-variables/url-syntax-crash.html @@ -0,0 +1,23 @@ + + + + + diff --git a/tests/wpt/tests/css/css-view-transitions/animation-name-ua-prefix.html b/tests/wpt/tests/css/css-view-transitions/animation-name-ua-prefix.html new file mode 100644 index 00000000000..4d31c551d92 --- /dev/null +++ b/tests/wpt/tests/css/css-view-transitions/animation-name-ua-prefix.html @@ -0,0 +1,15 @@ + +View transitions UA animations are accessible to author sheets + + + + + +
diff --git a/tests/wpt/tests/css/selectors/focus-within-004.html b/tests/wpt/tests/css/selectors/focus-within-004.html index bec71d017a2..169af9e0706 100644 --- a/tests/wpt/tests/css/selectors/focus-within-004.html +++ b/tests/wpt/tests/css/selectors/focus-within-004.html @@ -6,7 +6,6 @@ - + + +
This is a sample text.
+
+ + + \ No newline at end of file diff --git a/tests/wpt/tests/editing/data/indent.js b/tests/wpt/tests/editing/data/indent.js index 0265552f093..100da577458 100644 --- a/tests/wpt/tests/editing/data/indent.js +++ b/tests/wpt/tests/editing/data/indent.js @@ -689,7 +689,7 @@ var browserTests = [ {"indent":[false,false,"",false,false,""]}], ["
  1. foo
    1. bar
    [baz]
", [["indent",""]], - "
  1. foo
    1. bar
    2. [baz]
", + "
    1. foo
      1. bar
      [baz]
", [true], {"indent":[false,false,"",false,false,""]}], ["
  1. [foo
    1. bar]
    baz
", diff --git a/tests/wpt/tests/editing/other/copy-elements-with-css-vars.tentative.html b/tests/wpt/tests/editing/other/copy-elements-with-css-vars.tentative.html new file mode 100644 index 00000000000..d903d5a0017 --- /dev/null +++ b/tests/wpt/tests/editing/other/copy-elements-with-css-vars.tentative.html @@ -0,0 +1,114 @@ + + + + Test for resolving css variables on copy + + + + + + + + + + +
+ Span text + + + + + +
Row 1, Cell 1Row 1, Cell 2
+
+
+
+ + + + + diff --git a/tests/wpt/tests/editing/other/plain-text-copy-paste-of-paragraph-ending-with-non-layed-out-content.html b/tests/wpt/tests/editing/other/plain-text-copy-paste-of-paragraph-ending-with-non-layed-out-content.html index 4b053e37706..c6f2e3adb5e 100644 --- a/tests/wpt/tests/editing/other/plain-text-copy-paste-of-paragraph-ending-with-non-layed-out-content.html +++ b/tests/wpt/tests/editing/other/plain-text-copy-paste-of-paragraph-ending-with-non-layed-out-content.html @@ -1,121 +1,203 @@ - - -This test is for testing plain text copy paste of paragraph -ending with non layed out content. - - + + + + This test is for testing plain text copy paste of paragraph ending with non + layed out content. + + + + + + +
-

line 1

-

line 2

-

line 3

+

line 1

+

line 2

+

line 3

+
+
+ test
; +
diff --git a/tests/wpt/tests/fledge/tentative/private-aggregation.https.window.js b/tests/wpt/tests/fledge/tentative/private-aggregation.https.window.js index 4386610abb3..a1c261b6291 100644 --- a/tests/wpt/tests/fledge/tentative/private-aggregation.https.window.js +++ b/tests/wpt/tests/fledge/tentative/private-aggregation.https.window.js @@ -162,6 +162,8 @@ function createAuctionConfigOverrides( maybeDelay(fragments.sellerDelay), seller: MAIN_ORIGIN, interestGroupBuyers: [MAIN_ORIGIN], + privateAggregationConfig: + { aggregationCoordinatorOrigin: window.location.origin }, ...moreAuctionConfigOverrides }; } diff --git a/tests/wpt/tests/fullscreen/api/element-ready-check-fullscreen-element-sibling.html b/tests/wpt/tests/fullscreen/api/element-ready-check-fullscreen-element-sibling.html index 6394c13ee33..3b2781cc4ff 100644 --- a/tests/wpt/tests/fullscreen/api/element-ready-check-fullscreen-element-sibling.html +++ b/tests/wpt/tests/fullscreen/api/element-ready-check-fullscreen-element-sibling.html @@ -11,7 +11,7 @@ diff --git a/tests/wpt/tests/fullscreen/model/remove-last.html b/tests/wpt/tests/fullscreen/model/remove-last.html index 760ccaa0bab..72e7ed850ae 100644 --- a/tests/wpt/tests/fullscreen/model/remove-last.html +++ b/tests/wpt/tests/fullscreen/model/remove-last.html @@ -22,26 +22,26 @@ fullScreenChange(), ]); - assert_equals(document.fullscreenElement, first); - assert_equals(firstEvent.target, first); + assert_equals(document.fullscreenElement, first, "fullscreen element after first request"); + assert_equals(firstEvent.target, first, "first fullscreenchange event target"); const last = document.getElementById("last"); - const [, lastEvent] = await Promise.all([ + const [, secondEvent] = await Promise.all([ trusted_request(last), fullScreenChange(), ]); - assert_equals(document.fullscreenElement, last); - assert_equals(event.target, last); + assert_equals(document.fullscreenElement, last, "fullscreen element after second request"); + assert_equals(secondEvent.target, last, "second fullscreenchange event target"); last.remove(); - // Because /last/ was removed from the top layer, we exit - // fullscreen element synchronously. - assert_equals(document.fullscreenElement, first); + // Although /last/ was removed from the top layer synchronously, /first/ remains + // and becomes the new fullscreen element. + assert_equals(document.fullscreenElement, first, "fullscreen element immediately after removal"); - const finalEvent = await fullScreenChange(); - // fullscreen change element should be queued against the - // document target. - assert_equals(document.fullscreenElement, null); - assert_equals(event.target, document); + // The removal of the fullscreen element triggers exiting fullscreen, but those changes + // happen async when the event is fired. + const thirdEvent = await fullScreenChange(); + assert_equals(document.fullscreenElement, null, "fullscreen element after third event"); + assert_equals(thirdEvent.target, document, "third fullscreenchange event target"); }); diff --git a/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.html b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.html new file mode 100644 index 00000000000..e30d3f7905c --- /dev/null +++ b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.html @@ -0,0 +1,45 @@ + + + +Canvas test: 2d.color.type.u8p3.to.f16srgb.to.u8p3 + + + + + + +

2d.color.type.u8p3.to.f16srgb.to.u8p3

+

test srgb float16 canvas storing 8-bit display-p3 data accurately

+ + +

Actual output:

+

FAIL (fallback content)

+ +
    + + diff --git a/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html new file mode 100644 index 00000000000..b1cfb4552b9 --- /dev/null +++ b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html @@ -0,0 +1,44 @@ + + + +Canvas test: 2d.color.type.u8p3.to.u8srgb.to.u8p3 + + + + + + +

    2d.color.type.u8p3.to.u8srgb.to.u8p3

    +

    test srgb unorm8 canvas storing 8-bit display-p3 data accurately

    + + +

    Actual output:

    +

    FAIL (fallback content)

    + +
      + + diff --git a/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html new file mode 100644 index 00000000000..3ce75d314bc --- /dev/null +++ b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html @@ -0,0 +1,45 @@ + + + +Canvas test: 2d.color.type.u8srgb.to.f16p3.to.u8srgb + + + + + + +

      2d.color.type.u8srgb.to.f16p3.to.u8srgb

      +

      test display-p3 float16 canvas storing 8-bit srgb data accurately

      + + +

      Actual output:

      +

      FAIL (fallback content)

      + +
        + + diff --git a/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html new file mode 100644 index 00000000000..6d13b8d3c1a --- /dev/null +++ b/tests/wpt/tests/html/canvas/element/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html @@ -0,0 +1,44 @@ + + + +Canvas test: 2d.color.type.u8srgb.to.u8p3.to.u8srgb + + + + + + +

        2d.color.type.u8srgb.to.u8p3.to.u8srgb

        +

        test display-p3 unorm8 canvas not storing 8-bit srgb data accurately

        + + +

        Actual output:

        +

        FAIL (fallback content)

        + +
          + + diff --git a/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html b/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html index eea78248a83..6f7bf8e8fe7 100644 --- a/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html +++ b/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html @@ -1,17 +1,16 @@ Canvas test: 2d.composite.grid.filter.no_shadow.drawImage -

          2d.composite.grid.filter.no_shadow.drawImage

          + +

          2d.composite.grid.filter.no_shadow.drawImage

          -
          +
          source-over
          @@ -20,8 +19,8 @@
          source-in
          @@ -30,8 +29,8 @@
          source-out
          @@ -40,8 +39,8 @@
          source-atop
          @@ -50,8 +49,8 @@
          destination-over
          @@ -60,8 +59,8 @@
          destination-in
          @@ -70,8 +69,8 @@
          destination-out
          @@ -80,8 +79,8 @@
          destination-atop
          @@ -90,8 +89,8 @@
          lighter
          @@ -100,8 +99,8 @@
          copy
          @@ -110,8 +109,8 @@
          xor
          @@ -120,8 +119,8 @@
          multiply
          @@ -130,8 +129,8 @@
          screen
          @@ -140,8 +139,8 @@
          overlay
          @@ -150,8 +149,8 @@
          darken
          @@ -160,8 +159,8 @@
          lighten
          @@ -170,8 +169,8 @@
          color-dodge
          @@ -180,8 +179,8 @@
          color-burn
          @@ -190,8 +189,8 @@
          hard-light
          @@ -200,8 +199,8 @@
          soft-light
          @@ -210,8 +209,8 @@
          difference
          @@ -220,8 +219,8 @@
          exclusion
          @@ -230,8 +229,8 @@
          hue
          @@ -240,8 +239,8 @@
          saturation
          @@ -250,8 +249,8 @@
          color
          @@ -260,8 +259,8 @@
          luminosity
          diff --git a/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html b/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html index acf9892ec37..3b55b2e923f 100644 --- a/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html +++ b/tests/wpt/tests/html/canvas/element/compositing/2d.composite.grid.filter.no_shadow.drawImage.html @@ -1,18 +1,17 @@ + Canvas test: 2d.composite.grid.filter.no_shadow.drawImage -

          2d.composite.grid.filter.no_shadow.drawImage

          +

          2d.composite.grid.filter.no_shadow.drawImage

          -
          +
          source-over
          - +

          FAIL (fallback content)

          + + + +

          2d.color.type.u8p3.to.f16srgb.to.u8p3

          +

          test srgb float16 canvas storing 8-bit display-p3 data accurately

          + + + diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.worker.js b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.worker.js new file mode 100644 index 00000000000..7b8eb3d687f --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.f16srgb.to.u8p3.worker.js @@ -0,0 +1,40 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.color.type.u8p3.to.f16srgb.to.u8p3 +// Description:test srgb float16 canvas storing 8-bit display-p3 data accurately +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("test srgb float16 canvas storing 8-bit display-p3 data accurately"); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + + var canvas = new OffscreenCanvas(100, 50); + var ctx = canvas.getContext('2d', {colorType: "float16", colorSpace: "srgb"}); + + // Consider the color in Display P3: + // (5,250,128)/255 + // In sRGB this is: + // (-0.4990661502955996, 0.9982902153915844, 0.43901323244980783) + // Quantized to float16, this is: + // (0xB7FC, 0x3BFC, 0x3706) + // (-0.49902344, 0.9980469, 0.43896484) + // Converted back to Display P3 this is: + // (4.783888129523, 249.938708036787, 127.979725000698)/255 + // Quantized to 8-bit, this is: + // (5, 250, 128) + var input = new ImageData(new Uint8ClampedArray([5, 250, 128, 255]), + 1, 1, {colorSpace: "display-p3"}); + ctx.putImageData(input, 0, 0); + var readback = ctx.getImageData(0, 0, 1, 1, {colorSpace:"display-p3"}); + const kEpsilon = 2; + assert_approx_equals(readback.data[0], 5, kEpsilon); + assert_approx_equals(readback.data[1], 250, kEpsilon); + assert_approx_equals(readback.data[2], 128, kEpsilon); + t.done(); +}); +done(); diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html new file mode 100644 index 00000000000..1d573b34a19 --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.html @@ -0,0 +1,45 @@ + + + +OffscreenCanvas test: 2d.color.type.u8p3.to.u8srgb.to.u8p3 + + + + +

          2d.color.type.u8p3.to.u8srgb.to.u8p3

          +

          test srgb unorm8 canvas storing 8-bit display-p3 data accurately

          + + + diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js new file mode 100644 index 00000000000..0d03eacf4b6 --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8p3.to.u8srgb.to.u8p3.worker.js @@ -0,0 +1,39 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.color.type.u8p3.to.u8srgb.to.u8p3 +// Description:test srgb unorm8 canvas storing 8-bit display-p3 data accurately +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("test srgb unorm8 canvas storing 8-bit display-p3 data accurately"); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + + var canvas = new OffscreenCanvas(100, 50); + var ctx = canvas.getContext('2d', {colorType: "unorm8", colorSpace: "srgb"}); + + // Consider the color in Display P3: + // (5,250,128)/255 + // In sRGB this is: + // (-0.4990661502955996, 0.9982902153915844, 0.43901323244980783) + // Quantized to 8-bit, this is: + // (0, 255, 112)/255 + // Converted back to Display P3 this is: + // (116.892405498713, 251.242468747889, 129.109129531237)/255 + // Quantized to 8-bit, this is: + // (116, 251, 129) + var input = new ImageData(new Uint8ClampedArray([5, 250, 128, 255]), + 1, 1, {colorSpace: "display-p3"}); + ctx.putImageData(input, 0, 0); + var readback = ctx.getImageData(0, 0, 1, 1, {colorSpace:"display-p3"}); + const kEpsilon = 2; + assert_approx_equals(readback.data[0], 116, kEpsilon); + assert_approx_equals(readback.data[1], 251, kEpsilon); + assert_approx_equals(readback.data[2], 129, kEpsilon); + t.done(); +}); +done(); diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html new file mode 100644 index 00000000000..4120dafdaf9 --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.html @@ -0,0 +1,46 @@ + + + +OffscreenCanvas test: 2d.color.type.u8srgb.to.f16p3.to.u8srgb + + + + +

          2d.color.type.u8srgb.to.f16p3.to.u8srgb

          +

          test display-p3 float16 canvas storing 8-bit srgb data accurately

          + + + diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.worker.js b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.worker.js new file mode 100644 index 00000000000..85f48acf251 --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.f16p3.to.u8srgb.worker.js @@ -0,0 +1,40 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.color.type.u8srgb.to.f16p3.to.u8srgb +// Description:test display-p3 float16 canvas storing 8-bit srgb data accurately +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("test display-p3 float16 canvas storing 8-bit srgb data accurately"); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + + var canvas = new OffscreenCanvas(100, 50); + var ctx = canvas.getContext('2d', {colorType: "float16", colorSpace: "display-p3"}); + + // Consider the color in sRGB: + // (5,250,128)/255 + // In Display P3 this is: + // (0.450400386839, 0.9659537931, 0.55239459823) + // Quantized to float16, that should evaluate to: + // (0x3735, 0x3BBA, 0x386B) + // (0.450439453125, 0.9658203125, 0.55224609375) + // Converted back to sRGB this is: + // (5.342920953809, 249.965067892273, 127.959124250169)/255 + // Quantized to 8-bit, this is: + // (5, 250, 128) + var input = new ImageData(new Uint8ClampedArray([5, 250, 128, 255]), + 1, 1, {colorSpace: "srgb"}); + ctx.putImageData(input, 0, 0); + var readback = ctx.getImageData(0, 0, 1, 1, {colorSpace:"srgb"}); + const kEpsilon = 2; + assert_approx_equals(readback.data[0], 5, kEpsilon); + assert_approx_equals(readback.data[1], 250, kEpsilon); + assert_approx_equals(readback.data[2], 128, kEpsilon); + t.done(); +}); +done(); diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html new file mode 100644 index 00000000000..1edbc9293f4 --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.html @@ -0,0 +1,45 @@ + + + +OffscreenCanvas test: 2d.color.type.u8srgb.to.u8p3.to.u8srgb + + + + +

          2d.color.type.u8srgb.to.u8p3.to.u8srgb

          +

          test display-p3 unorm8 canvas not storing 8-bit srgb data accurately

          + + + diff --git a/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js new file mode 100644 index 00000000000..f4d0ebacbcc --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/color-type/color-type/2d.color.type.u8srgb.to.u8p3.to.u8srgb.worker.js @@ -0,0 +1,39 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.color.type.u8srgb.to.u8p3.to.u8srgb +// Description:test display-p3 unorm8 canvas not storing 8-bit srgb data accurately +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("test display-p3 unorm8 canvas not storing 8-bit srgb data accurately"); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + + var canvas = new OffscreenCanvas(100, 50); + var ctx = canvas.getContext('2d', {colorType: "unorm8", colorSpace: "display-p3"}); + + // Consider the color in sRGB: + // (5,250,128)/255 + // In Display P3 this is: + // (0.4504003868394956, 0.9659537930632748, 0.5523945982276097) + // Quantized to 8-bit, this is: + // (115, 246, 141)/255 + // Converted back to sRGB this is: + // (8.909609662725, 249.672568247041, 128.228541784731)/255 + // Quantized to 8-bit, this is: + // (9, 250, 128) + var input = new ImageData(new Uint8ClampedArray([5, 250, 128, 255]), + 1, 1, {colorSpace: "srgb"}); + ctx.putImageData(input, 0, 0); + var readback = ctx.getImageData(0, 0, 1, 1, {colorSpace:"srgb"}); + const kEpsilon = 2; + assert_approx_equals(readback.data[0], 9, kEpsilon); + assert_approx_equals(readback.data[1], 250, kEpsilon); + assert_approx_equals(readback.data[2], 128, kEpsilon); + t.done(); +}); +done(); diff --git a/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html b/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html index eea78248a83..6f7bf8e8fe7 100644 --- a/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html +++ b/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage-expected.html @@ -1,17 +1,16 @@ Canvas test: 2d.composite.grid.filter.no_shadow.drawImage -

          2d.composite.grid.filter.no_shadow.drawImage

          + +

          2d.composite.grid.filter.no_shadow.drawImage

          -
          +
          source-over
          @@ -20,8 +19,8 @@
          source-in
          @@ -30,8 +29,8 @@
          source-out
          @@ -40,8 +39,8 @@
          source-atop
          @@ -50,8 +49,8 @@
          destination-over
          @@ -60,8 +59,8 @@
          destination-in
          @@ -70,8 +69,8 @@
          destination-out
          @@ -80,8 +79,8 @@
          destination-atop
          @@ -90,8 +89,8 @@
          lighter
          @@ -100,8 +99,8 @@
          copy
          @@ -110,8 +109,8 @@
          xor
          @@ -120,8 +119,8 @@
          multiply
          @@ -130,8 +129,8 @@
          screen
          @@ -140,8 +139,8 @@
          overlay
          @@ -150,8 +149,8 @@
          darken
          @@ -160,8 +159,8 @@
          lighten
          @@ -170,8 +169,8 @@
          color-dodge
          @@ -180,8 +179,8 @@
          color-burn
          @@ -190,8 +189,8 @@
          hard-light
          @@ -200,8 +199,8 @@
          soft-light
          @@ -210,8 +209,8 @@
          difference
          @@ -220,8 +219,8 @@
          exclusion
          @@ -230,8 +229,8 @@
          hue
          @@ -240,8 +239,8 @@
          saturation
          @@ -250,8 +249,8 @@
          color
          @@ -260,8 +259,8 @@
          luminosity
          diff --git a/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html b/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html index 5a90053e8f6..33cdebbaf9a 100644 --- a/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html +++ b/tests/wpt/tests/html/canvas/offscreen/compositing/2d.composite.grid.filter.no_shadow.drawImage.html @@ -1,18 +1,17 @@ + Canvas test: 2d.composite.grid.filter.no_shadow.drawImage -

          2d.composite.grid.filter.no_shadow.drawImage

          +

          2d.composite.grid.filter.no_shadow.drawImage

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          -
          +
          x-only
          - +

          FAIL (fallback content)

          -
          +
          x-only
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          no-globalAlpha
          no-composite-op
          no-shadow
          - +

          FAIL (fallback content)

          -
          +
          source-over
          - +

          FAIL (fallback content)

          + + + + Browser does not support HTML5 Canvas. + + + diff --git a/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.html b/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.html index 73df0a94fc0..56c7dc00f21 100644 --- a/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.html +++ b/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.html @@ -3,7 +3,7 @@ HTML5 Canvas Test: The direction attribute is respected in offscreen worker canvas - + @@ -11,13 +11,29 @@ diff --git a/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.inherit.html b/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.inherit.html index 518ae0aed5f..a7b7ec66e17 100644 --- a/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.inherit.html +++ b/tests/wpt/tests/html/canvas/offscreen/manual/text/canvas.2d.offscreen.worker.direction.inherit.html @@ -3,26 +3,43 @@ HTML5 Canvas Test: The direction attribute is inherited in offscreen worker canvas - + - + - + Browser does not support HTML5 Canvas. diff --git a/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker-inherit.js b/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker-inherit.js index 14eaf588694..a300048d10f 100644 --- a/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker-inherit.js +++ b/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker-inherit.js @@ -4,4 +4,8 @@ self.onmessage = function(e) { offscreen_ctx.font = "25px serif"; offscreen_ctx.fillText("ABC!", 60, 50); + + // Fill a pixel, used to detect when the worker has completed. + offscreen_ctx.fillStyle = '#0f0'; + offscreen_ctx.fillRect(0, 0, 1, 1); } \ No newline at end of file diff --git a/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker.js b/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker.js index 9375ec16f23..d85504f524e 100644 --- a/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker.js +++ b/tests/wpt/tests/html/canvas/offscreen/manual/text/text-direction-worker.js @@ -5,4 +5,8 @@ self.onmessage = function(e) { offscreen_ctx.font = "25px serif"; offscreen_ctx.direction = "rtl"; offscreen_ctx.fillText("ABC!", 60, 50); + + // Fill a pixel, used to detect when the worker has completed. + offscreen_ctx.fillStyle = '#0f0'; + offscreen_ctx.fillRect(0, 0, 1, 1); } \ No newline at end of file diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.text-clusters-rendering-align.tentative-expected.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.text-clusters-rendering-align.tentative-expected.html index 967ae7e4636..c983823a3ed 100644 --- a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.text-clusters-rendering-align.tentative-expected.html +++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.text-clusters-rendering-align.tentative-expected.html @@ -1,16 +1,15 @@ + Canvas test: 2d.text.measure.text-clusters-rendering-align.tentative -

          2d.text.measure.text-clusters-rendering-align.tentative

          +

          2d.text.measure.text-clusters-rendering-align.tentative

          Test that fillTextCluster() correctly positions the text, taking into account the textAlign from the context at the time the text was measured.

          -
          +
          ctx_align_left
          - +

          FAIL (fallback content)

          -
          +
          ctx_align_left
          - +

          FAIL (fallback content)

          -
          +
          ctx_baseline_top
          - +

          FAIL (fallback content)

          -
          +
          letter_spacing
          - +

          FAIL (fallback content)

          {% endif %} @@ -12,7 +13,7 @@ {% if timeout %} {% endif %} Canvas test: {{ name }} -

          {{ name }}

          +

          {{ name }}

          {{ desc }}

          {% if notes %}

          {{ notes }}{% endif %} {% for image in images %} @@ -23,18 +24,16 @@ }}" class="resource"> {% endfor %} -

          +
          {% for variant in variants %} {% for variant_name in variant.grid_variant_names %}
          {{ variant_name }}
          {% endfor %} - + }}"{{ variant.canvas }}>

          FAIL (fallback content)

          {% endif %} @@ -10,22 +11,20 @@ {% if timeout %} {% endif %} Canvas test: {{ name }} -

          {{ name }}

          +

          {{ name }}

          {{ desc }}

          {% if notes %}

          {{ notes }}{% endif %} -

          +
          {% for variant in variants %} {% for variant_name in variant.grid_variant_names %}
          {{ variant_name }}
          {% endfor %} - + }}"{{ variant.canvas }}>

          FAIL (fallback content)

          -
          +
          {% for variant in variants %} {% for variant_name in variant.grid_variant_names %}
          {{ variant_name }}
          {% endfor %} - + }}"{{ variant.canvas }}>

          FAIL (fallback content)

          + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-behavior.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-behavior.tentative.html index f6722a70637..444a95e8528 100644 --- a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-behavior.tentative.html +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-keyboard-behavior.tentative.html @@ -51,6 +51,7 @@ for (const id of ['defaultbutton', 'custombutton']) { async function closeListbox() { await test_driver.click(select); + select.focus(); await new Promise(requestAnimationFrame); } diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-listitems-crash.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-listitems-crash.html new file mode 100644 index 00000000000..cdda243877f --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-listitems-crash.html @@ -0,0 +1,20 @@ + + + + + + + diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-parsing.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-parsing.tentative.html index 780f2743f7c..cc6596b42fe 100644 --- a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-parsing.tentative.html +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-parsing.tentative.html @@ -85,8 +85,8 @@ diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-exit-animation.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-exit-animation.tentative.html new file mode 100644 index 00000000000..c7acfaefe67 --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-exit-animation.tentative.html @@ -0,0 +1,67 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-interactive-element-focus.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-interactive-element-focus.tentative.html new file mode 100644 index 00000000000..39fa568aa25 --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-interactive-element-focus.tentative.html @@ -0,0 +1,50 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-starting-style.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-starting-style.tentative.html new file mode 100644 index 00000000000..c653016875a --- /dev/null +++ b/tests/wpt/tests/html/semantics/forms/the-select-element/customizable-select/select-picker-starting-style.tentative.html @@ -0,0 +1,47 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html index 4ccac5b31cf..fd4d0ba2a28 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-via-attribute.tentative.html @@ -33,8 +33,8 @@ promise_test(async t => { await new Promise(resolve => t.step_timeout(resolve, 0)); await new Promise(requestAnimationFrame); - assert_equals(document.activeElement, button, - 'Previously focused element should be focused after waiting for a task.'); + assert_not_equals(document.activeElement, button, + 'Previously focused element should not be focused, even after waiting for a task.'); assert_false(dialog.matches(':modal'), 'The dialog should not match :modal after closing.'); assert_false(cancelFired, @@ -47,6 +47,9 @@ promise_test(async t => { await test_driver.click(button); assert_true(buttonFiredClick, 'The page should not be inert or blocked after removing the open attribute.'); + // Clean up + dialog.showModal(); + dialog.close(); }, 'Removing the open attribute from an open modal dialog should run the closing algorithm.'); promise_test(async t => { @@ -66,11 +69,14 @@ promise_test(async t => { await new Promise(resolve => t.step_timeout(resolve, 0)); await new Promise(requestAnimationFrame); - assert_equals(document.activeElement, button, - 'Previously focused element should be focused after waiting for a task.'); + assert_not_equals(document.activeElement, button, + 'Previously focused element should not be focused, even after waiting for a task.'); assert_false(cancelFired, 'The cancel event should not fire when removing the open attribute.'); assert_true(closeFired, 'The close event should be fired when removing the open attribute.'); + // Clean up + dialog.show(); + dialog.close(); }, 'Removing the open attribute from an open non-modal dialog should fire a close event.'); diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-crash.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-crash.html index d85f4e2c848..9c4fc11daec 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-crash.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-crash.html @@ -1,5 +1,10 @@ + + + Dialog +Dialog +Dialog diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-start-open.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-start-open.html new file mode 100644 index 00000000000..52432ff1b2c --- /dev/null +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-start-open.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + +
          +
          + +
          + + diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-add-closedby-crash.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-add-closedby-crash.html index 028874d29ce..4255cf706f1 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-add-closedby-crash.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-open-add-closedby-crash.html @@ -1,11 +1,12 @@ + + + Dialog diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html index bfa400a7524..c4c4850a2d3 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html @@ -1,11 +1,12 @@ + + + Dialog diff --git a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.html b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.html index 5cbad9c6519..3790926dda4 100644 --- a/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.html +++ b/tests/wpt/tests/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose.html @@ -144,4 +144,41 @@ async function setup(t,closedby) { } }); }); + +promise_test(async (t) => { + await setup(t); + dialog.open = true; + dialog.requestClose(); + assert_false(dialog.open); +},`requestClose basic behavior when dialog is open via attribute`); + +promise_test(async (t) => { + const signal = await setup(t); + let events = []; + dialog.addEventListener('cancel',() => events.push('cancel'),{signal}); + dialog.addEventListener('close',() => events.push('close'),{signal}); + dialog.open = true; + assert_array_equals(events,[]); + dialog.requestClose(); + assert_false(dialog.open); + assert_array_equals(events,['cancel'],'close is scheduled'); + await new Promise(resolve => requestAnimationFrame(resolve)); + assert_array_equals(events,['cancel','close']); +},`requestClose fires cancel and close when dialog is open via attribute`); + +promise_test(async (t) => { + await setup(t); + dialog.open = true; + assert_equals(dialog.returnValue,'','Return value starts out empty'); + const returnValue = 'The return value'; + dialog.requestClose(returnValue); + assert_false(dialog.open); + assert_equals(dialog.returnValue,returnValue,'Return value should be set'); + dialog.show(); + dialog.close(); + assert_equals(dialog.returnValue,returnValue,'Return value should not be changed by close()'); + dialog.show(); + dialog.close('another'); + assert_equals(dialog.returnValue,'another','Return value changes via close(value)'); +},`requestClose(returnValue) passes along the return value when dialog is open via attribute`); diff --git a/tests/wpt/tests/html/semantics/popovers/button-type-popovertarget.html b/tests/wpt/tests/html/semantics/popovers/button-type-popovertarget.html new file mode 100644 index 00000000000..c495a8d9115 --- /dev/null +++ b/tests/wpt/tests/html/semantics/popovers/button-type-popovertarget.html @@ -0,0 +1,215 @@ + + + + + + + +
          popover
          + + +
          + + + + + +
          + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/popovers/button-type-reset-popovertarget.html b/tests/wpt/tests/html/semantics/popovers/button-type-reset-popovertarget.html deleted file mode 100644 index 975eab0d66e..00000000000 --- a/tests/wpt/tests/html/semantics/popovers/button-type-reset-popovertarget.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - -
          popover
          - - -
          - - - -
          - - - - - - diff --git a/tests/wpt/tests/html/semantics/popovers/input-type-popovertarget.html b/tests/wpt/tests/html/semantics/popovers/input-type-popovertarget.html new file mode 100644 index 00000000000..00e2e87e78e --- /dev/null +++ b/tests/wpt/tests/html/semantics/popovers/input-type-popovertarget.html @@ -0,0 +1,172 @@ + + + + + + + +
          popover
          + + +
          + + + + +
          + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html b/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html index 552c8d8206b..5fc8e7adf98 100644 --- a/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html +++ b/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html @@ -173,3 +173,35 @@ promise_test(async t => { assert_equals(document.activeElement,otherElement,'focus does not move because it was not inside the popover'); }, "Popover focus only returns to invoker when focus is within the popover"); + +
          + +
          + Popover with +
          Nested popover with
          +
          +
          + diff --git a/tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header-checker.py b/tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header-checker.py new file mode 100644 index 00000000000..b7ecbb5f352 --- /dev/null +++ b/tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header-checker.py @@ -0,0 +1,6 @@ +def main(request, response): + accept = request.headers.get(b"accept", b"") + response_headers = [(b"Content-Type", b"application/json"), + (b"Access-Control-Allow-Origin", b"*")] + return (200, response_headers, + b'{"accept": "' + accept + b'"}') diff --git a/tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header.sub.html b/tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header.sub.html new file mode 100644 index 00000000000..f29719d09a2 --- /dev/null +++ b/tests/wpt/tests/html/semantics/scripting-1/the-script-element/json-module/http-accept-header.sub.html @@ -0,0 +1,27 @@ + + + +HTTP Accept header with JSON module requests + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-event-dispatch.tentative.html b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-event-dispatch.tentative.html index 54216fdcdeb..be90823325b 100644 --- a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-event-dispatch.tentative.html +++ b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-event-dispatch.tentative.html @@ -195,8 +195,8 @@ invokerbutton.setAttribute("form", "aform"); invokerbutton.setAttribute("type", "reset"); await clickOn(invokerbutton); - assert_false(called, "event was not called"); - }, "event does NOT dispatch if button is form associated, with explicit type=reset"); + assert_true(called, "event was called"); + }, "event does dispatch if button is form associated, with explicit type=reset"); promise_test(async function (t) { svgInvokee = document.createElementNS("http://www.w3.org/2000/svg", "svg"); diff --git a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html new file mode 100644 index 00000000000..f179ceb653f --- /dev/null +++ b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-behavior.tentative.html @@ -0,0 +1,265 @@ + + + + + +
          popover
          + + +
          + + + + + + + +
          + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html new file mode 100644 index 00000000000..972861486e8 --- /dev/null +++ b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/button-type-reflection.tentative.html @@ -0,0 +1,64 @@ + + + + + + +
          + + + + + + + +
          + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/command-reflection.tentative.html b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/command-reflection.tentative.html new file mode 100644 index 00000000000..cac07b732d7 --- /dev/null +++ b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/command-reflection.tentative.html @@ -0,0 +1,42 @@ + + + + + + + + + + + + +
          + + + diff --git a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html index 6821adf71fe..58f0b110c8b 100644 --- a/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html +++ b/tests/wpt/tests/html/semantics/the-button-element/command-and-commandfor/interface.tentative.html @@ -60,8 +60,8 @@ test(function () { invoker.command = "fooBarBaz"; assert_equals(invoker.getAttribute("command"), "fooBarBaz"); - assert_equals(invoker.command, "fooBarBaz"); - }, "command reflects same casing"); + assert_equals(invoker.command, ""); + }, "command reflects correctly for invalid"); test(function () { invoker.command = ""; @@ -72,8 +72,8 @@ test(function () { invoker.command = [1, 2, 3]; assert_equals(invoker.getAttribute("command"), "1,2,3"); - assert_equals(invoker.command, "1,2,3"); - }, "command reflects tostring value"); + assert_equals(invoker.command, ""); + }, "command reflects correctly for invalid when array"); test(function () { invoker.command = []; @@ -83,6 +83,6 @@ test(function () { invoker.command = {}; - assert_equals(invoker.command, "[object Object]"); - }, "command reflects tostring value 2"); + assert_equals(invoker.command, ""); + }, "command reflects correctly for invalid when object"); diff --git a/tests/wpt/tests/interfaces/cssom-view.idl b/tests/wpt/tests/interfaces/cssom-view.idl index f922bc81486..88abb078485 100644 --- a/tests/wpt/tests/interfaces/cssom-view.idl +++ b/tests/wpt/tests/interfaces/cssom-view.idl @@ -103,8 +103,11 @@ enum ScrollLogicalPosition { "start", "center", "end", "nearest" }; dictionary ScrollIntoViewOptions : ScrollOptions { ScrollLogicalPosition block = "start"; ScrollLogicalPosition inline = "nearest"; + ScrollIntoViewContainer container = "all"; }; +enum ScrollIntoViewContainer { "all", "nearest" }; + dictionary CheckVisibilityOptions { boolean checkOpacity = false; boolean checkVisibilityCSS = false; diff --git a/tests/wpt/tests/interfaces/html.idl b/tests/wpt/tests/interfaces/html.idl index 77e41b6eb9e..f10bb72e913 100644 --- a/tests/wpt/tests/interfaces/html.idl +++ b/tests/wpt/tests/interfaces/html.idl @@ -1305,12 +1305,15 @@ typedef (HTMLOrSVGImageElement or enum PredefinedColorSpace { "srgb", "display-p3" }; +enum CanvasColorType { "unorm8", "float16" }; + enum CanvasFillRule { "nonzero", "evenodd" }; dictionary CanvasRenderingContext2DSettings { boolean alpha = true; boolean desynchronized = false; PredefinedColorSpace colorSpace = "srgb"; + CanvasColorType colorType = "unorm8"; boolean willReadFrequently = false; }; diff --git a/tests/wpt/tests/interfaces/media-capabilities.idl b/tests/wpt/tests/interfaces/media-capabilities.idl index 94339b6d1dd..7bd8aca90c3 100644 --- a/tests/wpt/tests/interfaces/media-capabilities.idl +++ b/tests/wpt/tests/interfaces/media-capabilities.idl @@ -110,6 +110,8 @@ partial interface WorkerNavigator { [Exposed=(Window, Worker)] interface MediaCapabilities { - [NewObject] Promise decodingInfo(MediaDecodingConfiguration configuration); - [NewObject] Promise encodingInfo(MediaEncodingConfiguration configuration); + [NewObject] Promise decodingInfo( + MediaDecodingConfiguration configuration); + [NewObject] Promise encodingInfo( + MediaEncodingConfiguration configuration); }; diff --git a/tests/wpt/tests/interfaces/permissions-policy.idl b/tests/wpt/tests/interfaces/permissions-policy.idl index 806d2eb80f6..b17304de8d0 100644 --- a/tests/wpt/tests/interfaces/permissions-policy.idl +++ b/tests/wpt/tests/interfaces/permissions-policy.idl @@ -28,4 +28,5 @@ interface PermissionsPolicyViolationReportBody : ReportBody { readonly attribute long? columnNumber; readonly attribute DOMString disposition; readonly attribute DOMString? allowAttribute; + readonly attribute DOMString? srcAttribute; }; diff --git a/tests/wpt/tests/interfaces/speech-api.idl b/tests/wpt/tests/interfaces/speech-api.idl index e4ca6df5c43..025f9424f01 100644 --- a/tests/wpt/tests/interfaces/speech-api.idl +++ b/tests/wpt/tests/interfaces/speech-api.idl @@ -8,7 +8,6 @@ interface SpeechRecognition : EventTarget { constructor(); // recognition parameters - attribute SpeechGrammarList grammars; attribute DOMString lang; attribute boolean continuous; attribute boolean interimResults; @@ -44,7 +43,6 @@ enum SpeechRecognitionErrorCode { "network", "not-allowed", "service-not-allowed", - "bad-grammar", "language-not-supported" }; @@ -101,25 +99,6 @@ dictionary SpeechRecognitionEventInit : EventInit { required SpeechRecognitionResultList results; }; -// The object representing a speech grammar -[Exposed=Window] -interface SpeechGrammar { - attribute DOMString src; - attribute float weight; -}; - -// The object representing a speech grammar collection -[Exposed=Window] -interface SpeechGrammarList { - constructor(); - readonly attribute unsigned long length; - getter SpeechGrammar item(unsigned long index); - undefined addFromURI(DOMString src, - optional float weight = 1.0); - undefined addFromString(DOMString string, - optional float weight = 1.0); -}; - [Exposed=Window] interface SpeechSynthesis : EventTarget { readonly attribute boolean pending; diff --git a/tests/wpt/tests/interfaces/web-animations-2.idl b/tests/wpt/tests/interfaces/web-animations-2.idl index ad047f5733a..c4a0c2532d9 100644 --- a/tests/wpt/tests/interfaces/web-animations-2.idl +++ b/tests/wpt/tests/interfaces/web-animations-2.idl @@ -119,11 +119,19 @@ interface AnimationTrigger { constructor(optional AnimationTriggerOptions options = {}); attribute AnimationTimeline timeline; attribute AnimationTriggerType type; + attribute any rangeStart; + attribute any rangeEnd; + attribute any exitRangeStart; + attribute any exitRangeEnd; }; dictionary AnimationTriggerOptions { AnimationTimeline? timeline; AnimationTriggerType? type = "once"; + (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeStart = "normal"; + (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) rangeEnd = "normal"; + (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) exitRangeStart = "auto"; + (TimelineRangeOffset or CSSNumericValue or CSSKeywordValue or DOMString) exitRangeEnd = "auto"; }; enum AnimationTriggerType { "once", "repeat", "alternate", "state" }; diff --git a/tests/wpt/tests/lint.ignore b/tests/wpt/tests/lint.ignore index 4dd0b96460c..a91efc0cf1a 100644 --- a/tests/wpt/tests/lint.ignore +++ b/tests/wpt/tests/lint.ignore @@ -101,6 +101,7 @@ TRAILING WHITESPACE: webvtt/parsing/file-parsing/support/*.vtt TRAILING WHITESPACE: webvtt/parsing/file-parsing/tests/support/*.vtt TRAILING WHITESPACE: xhr/resources/headers-some-are-empty.asis TRAILING WHITESPACE: content-security-policy/support/manifest.json +TRAILING WHITESPACE: dom/xslt/resources/testu1LINE.xml # Intentional use of print statements PRINT STATEMENT: dom/nodes/Document-createElement-namespace-tests/generate.py diff --git a/tests/wpt/tests/long-animation-frame/tentative/loaf-source-location.html b/tests/wpt/tests/long-animation-frame/tentative/loaf-source-location.html index b5982ea339e..59c026db69a 100644 --- a/tests/wpt/tests/long-animation-frame/tentative/loaf-source-location.html +++ b/tests/wpt/tests/long-animation-frame/tentative/loaf-source-location.html @@ -20,6 +20,8 @@ promise_test(async t => { assert_equals(script.sourceURL, location.href); assert_equals(script.sourceFunctionName, "non_bound_function"); assert_greater_than(script.sourceCharPosition, 0); + assert_greater_than(script.sourceLine, 0); + assert_greater_than(script.sourceColumn, 0); }, "Source location should be extracted from non-bound functions"); promise_test(async t => { @@ -32,6 +34,8 @@ promise_test(async t => { assert_equals(script.sourceURL, location.href); assert_equals(script.sourceFunctionName, "my_bound_function"); assert_greater_than(script.sourceCharPosition, 0); + assert_greater_than(script.sourceLine, 0); + assert_greater_than(script.sourceColumn, 0); }, "Source location should be extracted from bound functions"); promise_test(async t => { diff --git a/tests/wpt/tests/media/speech.wav b/tests/wpt/tests/media/speech.wav new file mode 100644 index 0000000000000000000000000000000000000000..fd5e2f78d5c4762664d78c3d2f958b61002e7649 GIT binary patch literal 95310 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

          _@TEc2Q+>oYL*S-Y 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 + + + + + diff --git a/tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-push.html b/tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-push.html new file mode 100644 index 00000000000..79b46ea4750 --- /dev/null +++ b/tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-push.html @@ -0,0 +1,35 @@ + + + + + + diff --git a/tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-replace.html b/tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-replace.html new file mode 100644 index 00000000000..e31f5884a27 --- /dev/null +++ b/tests/wpt/tests/navigation-api/commit-behavior/after-transition-redirect-replace.html @@ -0,0 +1,35 @@ + + + + + + diff --git a/tests/wpt/tests/navigation-api/commit-behavior/redirect-throws.html b/tests/wpt/tests/navigation-api/commit-behavior/redirect-throws.html new file mode 100644 index 00000000000..4bb6f966071 --- /dev/null +++ b/tests/wpt/tests/navigation-api/commit-behavior/redirect-throws.html @@ -0,0 +1,141 @@ + + + + + + diff --git a/tests/wpt/tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept-with-redirect.html b/tests/wpt/tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept-with-redirect.html new file mode 100644 index 00000000000..1d7c47b5e73 --- /dev/null +++ b/tests/wpt/tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept-with-redirect.html @@ -0,0 +1,66 @@ + + + + + + + diff --git a/tests/wpt/tests/permissions-policy/reporting/camera-potential-report-only.https.html b/tests/wpt/tests/permissions-policy/reporting/camera-potential-report-only.https.html index 9305f072559..e3b459390c7 100644 --- a/tests/wpt/tests/permissions-policy/reporting/camera-potential-report-only.https.html +++ b/tests/wpt/tests/permissions-policy/reporting/camera-potential-report-only.https.html @@ -14,6 +14,8 @@ var check_report_format = (reports, observer) => { assert_equals(report.url, document.location.href); assert_equals(report.body.featureId, "camera"); assert_equals(report.body.disposition, "report"); + assert_equals(report.body.allowAttribute, "camera"); + assert_equals(report.body.srcAttribute, "/"); }; new ReportingObserver(t.step_func_done(check_report_format), diff --git a/tests/wpt/tests/permissions-policy/reporting/camera-potential-reporting.https.html b/tests/wpt/tests/permissions-policy/reporting/camera-potential-reporting.https.html index 7376f71db62..daaf1ea86a3 100644 --- a/tests/wpt/tests/permissions-policy/reporting/camera-potential-reporting.https.html +++ b/tests/wpt/tests/permissions-policy/reporting/camera-potential-reporting.https.html @@ -14,6 +14,8 @@ var check_report_format = (reports, observer) => { assert_equals(report.url, document.location.href); assert_equals(report.body.featureId, "camera"); assert_equals(report.body.disposition, "enforce"); + assert_equals(report.body.allowAttribute, "camera"); + assert_equals(report.body.srcAttribute, "/"); }; new ReportingObserver(t.step_func_done(check_report_format), diff --git a/tests/wpt/tests/permissions-policy/resources/digital-credentials-get.html b/tests/wpt/tests/permissions-policy/resources/digital-credentials-get.html index 543417f230a..12a450a1ae4 100644 --- a/tests/wpt/tests/permissions-policy/resources/digital-credentials-get.html +++ b/tests/wpt/tests/permissions-policy/resources/digital-credentials-get.html @@ -11,17 +11,22 @@ } let enabled = undefined; try { - await navigator.credentials.get(makeGetOptions([])); + // Provide a complete correct request to test permission policy. + await navigator.credentials.get(makeGetOptions("openid4vp")); + // If no exception is thrown, then the feature is allowed by + // the permission policy. + enabled = true; } catch (e) { switch (e.name) { + // Unless a "NotAllowedError" exception is thrown, we assume + // the feature is allowed by permission policy. This is + // suitable for the tests that are using this helper method. case "NotAllowedError": enabled = false; break; - case "TypeError": + default: enabled = true; break; - default: - throw e; } } finally { window.parent.postMessage({ type, enabled }, "*"); diff --git a/tests/wpt/tests/png/cicp-chunk.html b/tests/wpt/tests/png/cicp-chunk.html index 8add5d602ea..8d0a1a41adc 100644 --- a/tests/wpt/tests/png/cicp-chunk.html +++ b/tests/wpt/tests/png/cicp-chunk.html @@ -20,7 +20,7 @@ img.onload = () => { _addTest(function(canvas, ctx) { ctx.drawImage(img, 0, 0); - var pixel = ctx.getImageData(5, 5, 1, 1, {colorSpace: "srgb", storageFormat: "uint8"}).data; + var pixel = ctx.getImageData(5, 5, 1, 1, {colorSpace: "srgb"}).data; // The pixel values stored are (51 red, 102 green, 153 blue). // These numbers are chosen because 0.2 * 255 = 51. diff --git a/tests/wpt/tests/png/trns-chunk.html b/tests/wpt/tests/png/trns-chunk.html index 3a24753382b..249903aa6e3 100644 --- a/tests/wpt/tests/png/trns-chunk.html +++ b/tests/wpt/tests/png/trns-chunk.html @@ -20,7 +20,7 @@ img.onload = () => { _addTest(function(canvas, ctx) { ctx.drawImage(img, 0, 0); - var pixel = ctx.getImageData(5, 5, 1, 1, {colorSpace: "srgb", storageFormat: "uint8"}).data; + var pixel = ctx.getImageData(5, 5, 1, 1, {colorSpace: "srgb"}).data; const pixel_expected = [255, 0, 0, 0]; const epsilon = 2; diff --git a/tests/wpt/tests/preload/preload-csp.sub.html b/tests/wpt/tests/preload/preload-csp.sub.html index 524844df2e0..a1b57b78b41 100644 --- a/tests/wpt/tests/preload/preload-csp.sub.html +++ b/tests/wpt/tests/preload/preload-csp.sub.html @@ -1,5 +1,5 @@ - + Makes sure that preload requests respect CSP diff --git a/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.sub.dat b/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.sub.dat index c5c30f61313..c4bb74e9693 100644 --- a/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.sub.dat +++ b/tests/wpt/tests/sanitizer-api/sethtml-tree-construction.sub.dat @@ -586,3 +586,46 @@ test

          p
          tt

          div

          test |
          | +#data + +#config +{} +#document +|