aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorServo WPT Sync <32481905+servo-wpt-sync@users.noreply.github.com>2024-06-30 07:14:33 -0400
committerGitHub <noreply@github.com>2024-06-30 11:14:33 +0000
commite2e7476404e407caa3e6625f4cf4bd6aed9ded6b (patch)
treef2c9cc10dfd22c6c5b2b23c0cc160508a1c01fea
parent3a0f56491614508af069fc393a8cc0dbeb733d71 (diff)
downloadservo-e2e7476404e407caa3e6625f4cf4bd6aed9ded6b.tar.gz
servo-e2e7476404e407caa3e6625f4cf4bd6aed9ded6b.zip
Sync WPT with upstream (30-06-2024) (#32649)
* Update web-platform-tests to revision b'639fa536940371f833fbbcc10104e20f435f9777' Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org> * Delete tests/wpt/meta/css/css-values/cap-invalidation.html.ini * Update css-font-face.https.sub.tentative.html.ini --------- Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org> Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-cascade/scope-featureless.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-size.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-animation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-transition.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-parsing.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-serialization.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-parsing.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-serialization.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/auto-scrollbars.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/backdrop-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/calc-evaluation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/change-display-in-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/column-spanner-in-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/conditional-container-status.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-computed.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-for-shadow-dom.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inheritance.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inner-at-rules.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-longhand-animation-type.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-computed.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-parsing.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-tree-scoped.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-nested.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-parsing.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection-unknown-features.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-computed.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-containment.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-parsing.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-animation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-basic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-computational-independence.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-content-box.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-ineligible-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-media-queries.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-rule-cache.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-selection.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-shadow.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-svglength.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-typed-om.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-flex-circular.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-queries.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-query-change.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/dialog-backdrop-create.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-in-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-none.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fieldset-legend-change.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fragmented-container-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/get-animations.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-item-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/idlharness.html.ini48
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/ineligible-containment.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inheritance-from-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-and-min-width.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/layout-dependent-focus.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-container-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-inside-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-query-containers.html.ini97
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/never-match-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002b.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-009.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-010.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-012.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-013.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-content-box.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation-style.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/registered-color-style-queries.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/sibling-layout-dependency.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-container-no-principal-box.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-feature-evaluation.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-change-in-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-not-sharing-float.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-g-no-size-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-root-size-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog-container.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-scrollbars.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/unsupported-axis.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units-dynamic.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini12
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-ui/text-overflow-023.html.ini5
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/various-values-important.html.ini12
-rw-r--r--tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini14
-rw-r--r--tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini13
-rw-r--r--tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget-interop.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/css/selectors/invalidation/nth-child-whole-subtree.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini9
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/windows/embedded-opener-remove-frame.html.ini1
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.attributes.parse.minus.html.ini1
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini87
-rw-r--r--tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-property-is-ignored.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.tentative.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.tentative.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display.html.ini (renamed from tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display.tentative.html.ini)2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini (renamed from tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini)0
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/forms/historical.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/resource-timing/response-status-code.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/resource-timing/test_resource_timing.https.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/url/failure.html.ini1
-rw-r--r--tests/wpt/meta-legacy-layout/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/meta/MANIFEST.json2989
-rw-r--r--tests/wpt/meta/css/css-cascade/scope-featureless.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/animation-container-size.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/animation-nested-animation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/animation-nested-transition.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/at-container-parsing.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/at-container-serialization.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/at-container-style-parsing.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/at-container-style-serialization.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/auto-scrollbars.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/backdrop-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/calc-evaluation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-004.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-005.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-006.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/change-display-in-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/column-spanner-in-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/conditional-container-status.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-computed.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-for-shadow-dom.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-inheritance.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-inner-at-rules.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-longhand-animation-type.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-name-computed.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-name-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-name-parsing.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-name-tree-scoped.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-nested.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-parsing.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-selection-unknown-features.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-selection.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-type-computed.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-type-containment.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-type-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-type-parsing.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-animation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-basic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-computational-independence.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-content-box.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-ineligible-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-media-queries.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-rule-cache.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-selection.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-shadow.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-svglength.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/container-units-typed-om.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/counters-flex-circular.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/counters-in-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-queries.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-query-change.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/dialog-backdrop-create.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/display-contents.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/display-in-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/display-none.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/fieldset-legend-change.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/font-relative-units.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/fragmented-container-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/get-animations.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/grid-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/grid-item-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/idlharness.html.ini48
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/iframe-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/ineligible-containment.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/inheritance-from-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/inline-size-and-min-width.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/layout-dependent-focus.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/multicol-container-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/multicol-inside-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/nested-query-containers.html.ini97
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/never-match-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002b.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-003.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-004.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-005.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-006.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-007.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-008.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-009.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-010.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-011.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-012.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-013.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/query-content-box.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/query-evaluation-style.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/query-evaluation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/registered-color-style-queries.html.ini6
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/sibling-layout-dependency.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/size-container-no-principal-box.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/size-feature-evaluation.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/style-change-in-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/style-not-sharing-float.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/svg-g-no-size-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/svg-root-size-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog-container.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/transition-scrollbars.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/unsupported-axis.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/viewport-units-dynamic.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/viewport-units.html.ini2
-rw-r--r--tests/wpt/meta/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini2
-rw-r--r--tests/wpt/meta/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini3
-rw-r--r--tests/wpt/meta/css/css-ui/text-overflow-023.html.ini2
-rw-r--r--tests/wpt/meta/css/css-values/various-values-important.html.ini12
-rw-r--r--tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini2
-rw-r--r--tests/wpt/meta/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini11
-rw-r--r--tests/wpt/meta/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini5
-rw-r--r--tests/wpt/meta/css/cssom-view/MediaQueryListEvent.html.ini4
-rw-r--r--tests/wpt/meta/css/selectors/invalidation/nth-child-whole-subtree.html.ini3
-rw-r--r--tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini2
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini2
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini2
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini2
-rw-r--r--tests/wpt/meta/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini87
-rw-r--r--tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini12
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.tentative.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-display.html.ini (renamed from tests/wpt/meta/html/rendering/the-details-element/details-display.tentative.html.ini)2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.html.ini2
-rw-r--r--tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/media-elements/track/track-element/no-cuechange-before-play.html.ini3
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/forms/historical.html.ini3
-rw-r--r--tests/wpt/meta/html/syntax/parsing/DOMContentLoaded-defer.html.ini (renamed from tests/wpt/meta-legacy-layout/html/syntax/parsing/DOMContentLoaded-defer.html.ini)0
-rw-r--r--tests/wpt/meta/resource-timing/nested-context-navigations-iframe.html.ini19
-rw-r--r--tests/wpt/meta/resource-timing/response-status-code.html.ini22
-rw-r--r--tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini3
-rw-r--r--tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini3
-rw-r--r--tests/wpt/tests/.well-known/web-identity2
-rw-r--r--tests/wpt/tests/IndexedDB/bigint_value.htm72
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index.any.js311
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index.htm52
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index2.htm49
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index3.htm54
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index4.htm65
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index5.htm64
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index6.htm64
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index7.htm38
-rw-r--r--tests/wpt/tests/IndexedDB/idbcursor_continue_index8.htm38
-rw-r--r--tests/wpt/tests/IndexedDB/value.any.js88
-rw-r--r--tests/wpt/tests/IndexedDB/value.htm40
-rw-r--r--tests/wpt/tests/attribution-reporting/header-parsing-error-debug-report.sub.https.html2
-rw-r--r--tests/wpt/tests/attribution-reporting/referrer-policy.sub.https.html2
-rw-r--r--tests/wpt/tests/attribution-reporting/request-format.sub.https.html2
-rw-r--r--tests/wpt/tests/attribution-reporting/resources/helpers.js45
-rw-r--r--tests/wpt/tests/common/dispatcher/dispatcher.js6
-rw-r--r--tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904409.html17
-rw-r--r--tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904419.html35
-rw-r--r--tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904421.html14
-rw-r--r--tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904428.html32
-rw-r--r--tests/wpt/tests/css/css-anchor-position/anchor-transition-focus.html43
-rw-r--r--tests/wpt/tests/css/css-break/firefox-bug-1693616-001-crash.html (renamed from tests/wpt/tests/css/css-break/firefox-bug1693616-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-break/firefox-bug-1693616-002-crash.html (renamed from tests/wpt/tests/css/css-break/firefox-bug1693616-002-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-break/firefox-bug-1903652-crash.html23
-rw-r--r--tests/wpt/tests/css/css-cascade/scope-featureless-ref.html9
-rw-r--r--tests/wpt/tests/css/css-cascade/scope-featureless.html20
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/WEB_FEATURES.yml (renamed from tests/wpt/tests/css/css-contain/container-queries/WEB_FEATURES.yml)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/animation-container-size.html (renamed from tests/wpt/tests/css/css-contain/container-queries/animation-container-size.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/animation-container-type-dynamic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/animation-container-type-dynamic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/animation-nested-animation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/animation-nested-animation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/animation-nested-transition.html (renamed from tests/wpt/tests/css/css-contain/container-queries/animation-nested-transition.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/at-container-parsing.html (renamed from tests/wpt/tests/css/css-contain/container-queries/at-container-parsing.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/at-container-serialization.html (renamed from tests/wpt/tests/css/css-contain/container-queries/at-container-serialization.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/at-container-style-parsing.html (renamed from tests/wpt/tests/css/css-contain/container-queries/at-container-style-parsing.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/at-container-style-serialization.html (renamed from tests/wpt/tests/css/css-contain/container-queries/at-container-style-serialization.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/auto-scrollbars.html (renamed from tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/backdrop-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/backdrop-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/calc-evaluation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/calc-evaluation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-001.html (renamed from tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-001.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-002.html (renamed from tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-002.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-003.html (renamed from tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-003.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-004.html (renamed from tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-004.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-005.html (renamed from tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-005.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-006.html (renamed from tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-006.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/change-display-in-container-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/change-display-in-container-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/change-display-in-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/change-display-in-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html (renamed from tests/wpt/tests/css/css-contain/container-queries/chrome-legacy-skip-recalc.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/column-spanner-in-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/column-spanner-in-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/conditional-container-status.html (renamed from tests/wpt/tests/css/css-contain/container-queries/conditional-container-status.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-computed.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-computed.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-for-cue-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-for-cue-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-for-cue.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-for-cue.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-for-shadow-dom.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-for-shadow-dom.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-inheritance.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-inheritance.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-inner-at-rules.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-inner-at-rules.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-inside-multicol-with-table.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-inside-multicol-with-table.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-longhand-animation-type.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-longhand-animation-type.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-name-computed.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-name-computed.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-name-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-name-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-name-parsing.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-name-parsing.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-name-tree-scoped.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-name-tree-scoped.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-nested.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-nested.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-parsing.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-parsing.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-selection-unknown-features.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-selection-unknown-features.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-selection.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-selection.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-size-invalidation-after-load.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-size-invalidation-after-load.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-size-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-size-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-size-nested-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-size-nested-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-size-shadow-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-size-shadow-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-type-computed.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-type-computed.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-type-containment.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-type-containment.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-type-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-type-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-type-layout-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-type-layout-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-type-parsing.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-type-parsing.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-animation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-animation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-basic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-basic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-computational-independence.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-computational-independence.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-content-box.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-content-box.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-gradient-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-gradient-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-gradient.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container-fallback.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-ineligible-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-ineligible-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-media-queries.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-media-queries.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-rule-cache-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-rule-cache-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-rule-cache.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-rule-cache.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-selection.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-selection.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-shadow.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-shadow.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-sharing-via-rule-node-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-sharing-via-rule-node-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-sharing-via-rule-node.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-small-viewport-fallback.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-small-viewport-fallback.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-svglength.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-svglength.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/container-units-typed-om.html (renamed from tests/wpt/tests/css/css-contain/container-queries/container-units-typed-om.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/counters-flex-circular.html (renamed from tests/wpt/tests/css/css-contain/container-queries/counters-flex-circular.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/counters-in-container-dynamic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/counters-in-container-dynamic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/counters-in-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/counters-in-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/counters-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/counters-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/br-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/br-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/canvas-as-container-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/canvas-as-container-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1289718-000-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-000-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1289718-001-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1346969-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1346969-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1362391-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1362391-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1429955-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1429955-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1505250-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1505250-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-346264227-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-346264227-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-custom-highlight-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-custom-highlight-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-layout-root-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-layout-root-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-quotes-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-quotes-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-remove-insert-evaluator-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-remove-insert-evaluator-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/columns-in-table-001-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/columns-in-table-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/columns-in-table-002-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/container-in-canvas-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/container-in-canvas-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/container-type-change-chrome-legacy-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/container-type-change-chrome-legacy-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/dialog-backdrop-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/dialog-backdrop-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/dirty-rowgroup-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/dirty-rowgroup-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-000-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-000-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-001-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-002-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-002-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-003-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-003-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/focus-inside-content-visibility-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/focus-inside-content-visibility-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/force-sibling-style-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/force-sibling-style-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-000-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-000-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-001-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-002-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-002-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-003-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-003-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/iframe-init-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/iframe-init-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-multicol-inside-container-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-multicol-inside-container-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-with-columns-000-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-with-columns-000-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-with-columns-001-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-with-columns-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/input-column-group-container-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/input-column-group-container-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/input-placeholder-inline-size-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/input-placeholder-inline-size-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/marker-gcs-after-disconnect-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/marker-gcs-after-disconnect-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/math-block-container-child-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/math-block-container-child-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/mathml-container-type-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/mathml-container-type-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/orthogonal-replaced-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/orthogonal-replaced-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/pseudo-container-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/pseudo-container-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/remove-dom-child-change-style.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/remove-dom-child-change-style.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/reversed-ol-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/reversed-ol-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/size-change-during-transition-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/svg-layout-root-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/svg-layout-root-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/svg-text-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/svg-text-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-000-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-000-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-001-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-001-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-002-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-002-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-003-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-003-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-004-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-005-crash.html (renamed from tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/custom-layout-container-001.https.html (renamed from tests/wpt/tests/css/css-contain/container-queries/custom-layout-container-001.https.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/custom-property-style-queries.html (renamed from tests/wpt/tests/css/css-contain/container-queries/custom-property-style-queries.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/custom-property-style-query-change.html (renamed from tests/wpt/tests/css/css-contain/container-queries/custom-property-style-query-change.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/deep-nested-inline-size-containers.html (renamed from tests/wpt/tests/css/css-contain/container-queries/deep-nested-inline-size-containers.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/dialog-backdrop-create.html (renamed from tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/dialog-backdrop-remove.html (renamed from tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-remove.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html (renamed from tests/wpt/tests/css/css-contain/container-queries/display-contents-dynamic-style-queries.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/display-contents.html (renamed from tests/wpt/tests/css/css-contain/container-queries/display-contents.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/display-in-container-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/display-in-container-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/display-in-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/display-in-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/display-none.html (renamed from tests/wpt/tests/css/css-contain/container-queries/display-none.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/fieldset-legend-change-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/fieldset-legend-change-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/fieldset-legend-change.html (renamed from tests/wpt/tests/css/css-contain/container-queries/fieldset-legend-change.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/font-relative-calc-dynamic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/font-relative-calc-dynamic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/font-relative-units-dynamic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/font-relative-units-dynamic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/font-relative-units.html (renamed from tests/wpt/tests/css/css-contain/container-queries/font-relative-units.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/fragmented-container-001.html (renamed from tests/wpt/tests/css/css-contain/container-queries/fragmented-container-001.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/get-animations.html (renamed from tests/wpt/tests/css/css-contain/container-queries/get-animations.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/grid-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/grid-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/grid-item-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/grid-item-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/idlharness.html (renamed from tests/wpt/tests/css/css-contain/container-queries/idlharness.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/iframe-in-container-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/iframe-in-container-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/iframe-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/iframe-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/ineligible-containment.html (renamed from tests/wpt/tests/css/css-contain/container-queries/ineligible-containment.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inheritance-from-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inheritance-from-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inline-size-and-min-width.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inline-size-and-min-width.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inline-size-bfc-floats-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inline-size-bfc-floats-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inline-size-bfc-floats.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inline-size-bfc-floats.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inline-size-containment-vertical-rl.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inline-size-containment.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inline-size-containment.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inner-first-line-non-matching-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inner-first-line-non-matching-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/inner-first-line-non-matching.html (renamed from tests/wpt/tests/css/css-contain/container-queries/inner-first-line-non-matching.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/layout-dependent-focus.html (renamed from tests/wpt/tests/css/css-contain/container-queries/layout-dependent-focus.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/multicol-container-001.html (renamed from tests/wpt/tests/css/css-contain/container-queries/multicol-container-001.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/multicol-inside-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/multicol-inside-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/nested-query-containers.html (renamed from tests/wpt/tests/css/css-contain/container-queries/nested-query-containers.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/nested-size-style-container-invalidation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/nested-size-style-container-invalidation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/never-match-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/never-match-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/orthogonal-wm-container-query.html (renamed from tests/wpt/tests/css/css-contain/container-queries/orthogonal-wm-container-query.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/percentage-padding-orthogonal.html (renamed from tests/wpt/tests/css/css-contain/container-queries/percentage-padding-orthogonal.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-001.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-001.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002b-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002b-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002b.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002b.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-003.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-003.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-004.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-004.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-005.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-005.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-006.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-006.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-007.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-007.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-008.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-008.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-009-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-009.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-010-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-010.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-011.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-011.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-012.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-012.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-013.html (renamed from tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-013.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/query-content-box.html (renamed from tests/wpt/tests/css/css-contain/container-queries/query-content-box.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/query-evaluation-style.html (renamed from tests/wpt/tests/css/css-contain/container-queries/query-evaluation-style.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/query-evaluation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/query-evaluation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/reattach-container-with-dirty-child.html (renamed from tests/wpt/tests/css/css-contain/container-queries/reattach-container-with-dirty-child.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/registered-color-style-queries.html (renamed from tests/wpt/tests/css/css-contain/container-queries/registered-color-style-queries.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/resize-while-content-visibility-hidden-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/resize-while-content-visibility-hidden-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html (renamed from tests/wpt/tests/css/css-contain/container-queries/resize-while-content-visibility-hidden.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/sibling-layout-dependency.html (renamed from tests/wpt/tests/css/css-contain/container-queries/sibling-layout-dependency.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/size-container-no-principal-box.html (renamed from tests/wpt/tests/css/css-contain/container-queries/size-container-no-principal-box.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/size-container-with-quotes-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/size-container-with-quotes-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/size-container-with-quotes.html (renamed from tests/wpt/tests/css/css-contain/container-queries/size-container-with-quotes.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/size-feature-evaluation.html (renamed from tests/wpt/tests/css/css-contain/container-queries/size-feature-evaluation.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/style-change-in-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/style-change-in-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/style-container-for-shadow-dom.html (renamed from tests/wpt/tests/css/css-contain/container-queries/style-container-for-shadow-dom.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/style-container-invalidation-inheritance.html (renamed from tests/wpt/tests/css/css-contain/container-queries/style-container-invalidation-inheritance.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/style-not-sharing-float.html (renamed from tests/wpt/tests/css/css-contain/container-queries/style-not-sharing-float.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/style-query-with-unknown-width.html (renamed from tests/wpt/tests/css/css-contain/container-queries/style-query-with-unknown-width.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/support/cq-testcommon.js (renamed from tests/wpt/tests/css/css-contain/container-queries/support/cq-testcommon.js)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/support/test.vtt (renamed from tests/wpt/tests/css/css-contain/container-queries/support/test.vtt)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-child-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-child-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-no-size-container-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-no-size-container-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-no-size-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/svg-g-no-size-container-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/svg-g-no-size-container-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/svg-g-no-size-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/svg-g-no-size-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/svg-root-size-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/svg-root-size-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/table-inside-container-changing-display-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/table-inside-container-changing-display-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/table-inside-container-changing-display.html (renamed from tests/wpt/tests/css/css-contain/container-queries/table-inside-container-changing-display.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-backdrop-ref.html (renamed from tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-backdrop-ref.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-backdrop.html (renamed from tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-backdrop.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-container.html (renamed from tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-container.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog.html (renamed from tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/top-layer-nested-dialog.html (renamed from tests/wpt/tests/css/css-contain/container-queries/top-layer-nested-dialog.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/transition-scrollbars.html (renamed from tests/wpt/tests/css/css-contain/container-queries/transition-scrollbars.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/transition-style-change-event-002.html (renamed from tests/wpt/tests/css/css-contain/container-queries/transition-style-change-event-002.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/transition-style-change-event.html (renamed from tests/wpt/tests/css/css-contain/container-queries/transition-style-change-event.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/unsupported-axis.html (renamed from tests/wpt/tests/css/css-contain/container-queries/unsupported-axis.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/viewport-units-dynamic.html (renamed from tests/wpt/tests/css/css-contain/container-queries/viewport-units-dynamic.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/viewport-units.html (renamed from tests/wpt/tests/css/css-contain/container-queries/viewport-units.html)0
-rw-r--r--tests/wpt/tests/css/css-conditional/container-queries/whitespace-update-after-removal.html (renamed from tests/wpt/tests/css/css-contain/container-queries/whitespace-update-after-removal.html)0
-rw-r--r--tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles-ref.html57
-rw-r--r--tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles.html28
-rw-r--r--tests/wpt/tests/css/css-page/cssom/margin-001.html107
-rw-r--r--tests/wpt/tests/css/css-page/cssom/margin-002.html40
-rw-r--r--tests/wpt/tests/css/css-page/cssom/margin-003.html68
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/background-001-print-ref.html14
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/background-001-print.html19
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-001-print-ref.html14
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-001-print.html1
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-002-print-ref.html22
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-002-print.html24
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-003-print-ref.html12
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-003-print.html17
-rw-r--r--tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-001.html38
-rw-r--r--tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-002.html37
-rw-r--r--tests/wpt/tests/css/css-text/letter-spacing/reference/letter-spacing-trim-start-001-ref.html34
-rw-r--r--tests/wpt/tests/css/css-values/various-values-important.html34
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/border-spacing.html62
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/list-style-image.html47
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/border-spacing-ref.html61
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/list-style-image-ref.html48
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/stroke-ref.html42
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/text-indent-ref.html21
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/text-shadow-ref.html21
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/text-stroke-width-ref.html23
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/text-underline-offset-ref.html22
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/reference/word-spacing-ref.html29
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/stroke.html42
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/svg-path-ref.html6
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/svg-path.html9
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/text-indent.html18
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/text-shadow.html18
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/text-stroke-width.html23
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/text-underline-offset.html21
-rw-r--r--tests/wpt/tests/css/css-viewport/zoom/word-spacing.html26
-rw-r--r--tests/wpt/tests/css/selectors/invalidation/nth-child-whole-subtree.html22
-rw-r--r--tests/wpt/tests/css/selectors/invalidation/nth-of-namespace-class-invalidation-crash.html15
-rw-r--r--tests/wpt/tests/fedcm/support/accounts.py2
-rw-r--r--tests/wpt/tests/fedcm/support/accounts_check_same_site_strict.py2
-rw-r--r--tests/wpt/tests/fedcm/support/accounts_no_approved_clients.py2
-rw-r--r--tests/wpt/tests/fedcm/support/client_metadata.py6
-rw-r--r--tests/wpt/tests/fedcm/support/client_metadata_clear_count.py4
-rw-r--r--tests/wpt/tests/fedcm/support/continue_on.py2
-rw-r--r--tests/wpt/tests/fedcm/support/disconnect.py2
-rw-r--r--tests/wpt/tests/fedcm/support/error_with_code_and_url.py2
-rw-r--r--tests/wpt/tests/fedcm/support/keys.py (renamed from tests/wpt/tests/credential-management/support/fedcm/keys.py)0
-rw-r--r--tests/wpt/tests/fedcm/support/manifest.py2
-rw-r--r--tests/wpt/tests/fedcm/support/no_accounts.py2
-rw-r--r--tests/wpt/tests/fedcm/support/request-params-check.py (renamed from tests/wpt/tests/credential-management/support/fedcm/request-params-check.py)0
-rw-r--r--tests/wpt/tests/fedcm/support/select_manifest_in_root_manifest.py4
-rw-r--r--tests/wpt/tests/fedcm/support/single_account.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_check_disclosure_shown_false.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_check_disclosure_shown_true.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_check_same_site_strict.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_with_account_id.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_with_auto_selected_flag.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_with_http_error.py2
-rw-r--r--tests/wpt/tests/fedcm/support/token_with_rp_mode.py2
-rw-r--r--tests/wpt/tests/fedcm/support/two_accounts.py2
-rw-r--r--tests/wpt/tests/fedcm/support/variable_accounts.py2
-rw-r--r--tests/wpt/tests/fenced-frame/webrtc-peer-connection.https.html33
-rw-r--r--tests/wpt/tests/html-aam/roles-generic.html1
-rw-r--r--tests/wpt/tests/html-aam/roles-generic.tentative.html21
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-srcdoc.window.js10
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.js59
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType-data.window.js24
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.js50
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/resources/test-helper.js7
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/executor-window.py3
-rw-r--r--tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js138
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.fontStretch.settings.html2
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.TextRendering.html30
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none.html32
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html16
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2.html18
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font-expected.html17
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font.html21
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.html2
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.worker.js2
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html31
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js26
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html33
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js28
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html16
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html21
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html35
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font-expected.html17
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html24
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html38
-rw-r--r--tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml53
-rw-r--r--tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html178
-rw-r--r--tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.headers1
-rw-r--r--tests/wpt/tests/html/document-isolation-policy/resources/sw-store-to-cache-storage.js31
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored-ref.html21
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored.html26
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-display-type-001.html (renamed from tests/wpt/tests/html/rendering/the-details-element/details-display-type-001.tentative.html)0
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-display-type-002.html (renamed from tests/wpt/tests/html/rendering/the-details-element/details-display-type-002.tentative.html)0
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-display.html (renamed from tests/wpt/tests/html/rendering/the-details-element/details-display.tentative.html)0
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-001.html (renamed from tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html)0
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-002.html (renamed from tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html)0
-rw-r--r--tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-003.html (renamed from tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html)0
-rw-r--r--tests/wpt/tests/html/semantics/popovers/popover-focus.html4
-rw-r--r--tests/wpt/tests/mediacapture-record/MediaRecorder-canvas-media-source.https.html2
-rw-r--r--tests/wpt/tests/mediacapture-record/MediaRecorder-events-and-exceptions.html2
-rw-r--r--tests/wpt/tests/mediacapture-record/MediaRecorder-pause-resume.html2
-rw-r--r--tests/wpt/tests/mediacapture-record/MediaRecorder-peerconnection.https.html2
-rw-r--r--tests/wpt/tests/mediacapture-record/MediaRecorder-stop.html2
-rw-r--r--tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html (renamed from tests/wpt/tests/pointerevents/deviceproperties/get-device-properties-uniqueid-from-pointer-event.tentative.html)6
-rw-r--r--tests/wpt/tests/pointerevents/persistentDeviceId/persistentdeviceid-is-unique-manual.tentative.html (renamed from tests/wpt/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html)31
-rw-r--r--tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html (renamed from tests/wpt/tests/pointerevents/deviceproperties/pointer-event-has-device-properties-uniqueid-from-pointer-event-init.tentative.html)49
-rw-r--r--tests/wpt/tests/pointerevents/pointerevent_after_target_removed_from_slot.html31
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html8
-rw-r--r--tests/wpt/tests/svg/animations/animate-path-animation-Ll-Vv-Hh.tentative.html15
-rw-r--r--tests/wpt/tests/svg/animations/animate-path-animation-Mm-Aa-Z.tentative.html18
-rw-r--r--tests/wpt/tests/svg/animations/animate-path-animation-Qq-Tt.tentative.html15
-rw-r--r--tests/wpt/tests/svg/animations/support/animated-path-helpers.js22
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-cap.html4
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-ch.html6
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-ic.html2
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-lh.html2
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-rem.html2
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-rlh.html2
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-viewport.html4
-rw-r--r--tests/wpt/tests/tools/serve/serve.py4
-rw-r--r--tests/wpt/tests/tools/webdriver/webdriver/bidi/modules/browsing_context.py5
-rw-r--r--tests/wpt/tests/tools/webdriver/webdriver/transport.py4
-rw-r--r--tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py10
-rw-r--r--tests/wpt/tests/tools/wptrunner/wptrunner/tests/browsers/test_webkitgtk.py3
-rw-r--r--tests/wpt/tests/wai-aria/role/grid-roles.html14
-rw-r--r--tests/wpt/tests/wai-aria/role/grid-roles.tentative.html33
-rw-r--r--tests/wpt/tests/wai-aria/role/list-roles.html10
-rw-r--r--tests/wpt/tests/wai-aria/role/list-roles.tentative.html29
-rw-r--r--tests/wpt/tests/wai-aria/role/listbox-roles.html10
-rw-r--r--tests/wpt/tests/wai-aria/role/listbox-roles.tentative.html29
-rw-r--r--tests/wpt/tests/wai-aria/role/menu-roles.html26
-rw-r--r--tests/wpt/tests/wai-aria/role/menu-roles.tentative.html45
-rw-r--r--tests/wpt/tests/wai-aria/role/tab-roles.html10
-rw-r--r--tests/wpt/tests/wai-aria/role/tab-roles.tentative.html29
-rw-r--r--tests/wpt/tests/wai-aria/role/table-roles.html8
-rw-r--r--tests/wpt/tests/wai-aria/role/tree-roles.html9
-rw-r--r--tests/wpt/tests/wai-aria/role/tree-roles.tentative.html28
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/__init__.py2
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/invalid.py6
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/prompt_unload.py104
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/context_created.py4
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/original_opener.py8
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_destroyed/original_opener.py106
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/get_tree/original_opener.py112
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/handle_user_prompt/handle_user_prompt.py22
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/beforeunload.py5
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/user_prompt_closed.py14
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_opened/user_prompt_opened.py14
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/__init__.py3
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/conftest.py62
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/continue_request/headers.py30
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/provide_response/body.py91
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/provide_response/cookies.py438
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/provide_response/headers.py189
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/provide_response/reason_phrase.py53
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/provide_response/request.py23
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/provide_response/status_code.py58
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.css3
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.html12
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.js3
-rw-r--r--tests/wpt/tests/webdriver/tests/classic/get_current_url/file.py5
-rw-r--r--tests/wpt/tests/webdriver/tests/classic/navigate_to/file.py5
-rw-r--r--tests/wpt/tests/webdriver/tests/classic/new_session/merge.py26
-rw-r--r--tests/wpt/tests/webdriver/tests/classic/new_session/platform_name.py8
-rw-r--r--tests/wpt/tests/webdriver/tests/support/__init__.py11
-rw-r--r--tests/wpt/tests/webdriver/tests/support/fixtures.py5
-rw-r--r--tests/wpt/tests/webdriver/tests/support/helpers.py5
-rw-r--r--tests/wpt/tests/webnn/resources/utils_validation.js2
-rw-r--r--tests/wpt/tests/webnn/validation_tests/constant-changed-buffer.https.any.js61
-rw-r--r--tests/wpt/tests/webrtc/RTCError.html5
802 files changed, 7851 insertions, 1997 deletions
diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-featureless.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-featureless.html.ini
new file mode 100644
index 00000000000..7ad66440741
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-featureless.html.ini
@@ -0,0 +1,2 @@
+[scope-featureless.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-size.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-size.html.ini
new file mode 100644
index 00000000000..752af30b054
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-size.html.ini
@@ -0,0 +1,2 @@
+[animation-container-size.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini
new file mode 100644
index 00000000000..654f3e50001
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini
@@ -0,0 +1,2 @@
+[animation-container-type-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-animation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-animation.html.ini
new file mode 100644
index 00000000000..3efa56c46ed
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-animation.html.ini
@@ -0,0 +1,2 @@
+[animation-nested-animation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-transition.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-transition.html.ini
new file mode 100644
index 00000000000..9f4156ea923
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/animation-nested-transition.html.ini
@@ -0,0 +1,2 @@
+[animation-nested-transition.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini
new file mode 100644
index 00000000000..4d4382d75a2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini
@@ -0,0 +1,2 @@
+[aspect-ratio-feature-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-parsing.html.ini
new file mode 100644
index 00000000000..0174391e3e3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-parsing.html.ini
@@ -0,0 +1,2 @@
+[at-container-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-serialization.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-serialization.html.ini
new file mode 100644
index 00000000000..c5a746c5610
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-serialization.html.ini
@@ -0,0 +1,2 @@
+[at-container-serialization.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-parsing.html.ini
new file mode 100644
index 00000000000..acf71f6fc49
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-parsing.html.ini
@@ -0,0 +1,2 @@
+[at-container-style-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-serialization.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-serialization.html.ini
new file mode 100644
index 00000000000..8aa20a36948
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/at-container-style-serialization.html.ini
@@ -0,0 +1,2 @@
+[at-container-style-serialization.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/auto-scrollbars.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/auto-scrollbars.html.ini
new file mode 100644
index 00000000000..b3c3f5540c7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/auto-scrollbars.html.ini
@@ -0,0 +1,2 @@
+[auto-scrollbars.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/backdrop-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/backdrop-invalidation.html.ini
new file mode 100644
index 00000000000..8b089b438d3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/backdrop-invalidation.html.ini
@@ -0,0 +1,2 @@
+[backdrop-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/calc-evaluation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/calc-evaluation.html.ini
new file mode 100644
index 00000000000..95db9d4fb1e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/calc-evaluation.html.ini
@@ -0,0 +1,2 @@
+[calc-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-001.html.ini
new file mode 100644
index 00000000000..1ec473fc019
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-001.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-002.html.ini
new file mode 100644
index 00000000000..762a29375eb
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-002.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-003.html.ini
new file mode 100644
index 00000000000..e6ff9db8dd5
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-003.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-004.html.ini
new file mode 100644
index 00000000000..e745dc1dbab
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-004.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-005.html.ini
new file mode 100644
index 00000000000..fc391da5312
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-005.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-005.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-006.html.ini
new file mode 100644
index 00000000000..5fc52bb6346
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/canvas-as-container-006.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-006.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/change-display-in-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/change-display-in-container.html.ini
new file mode 100644
index 00000000000..1a14360fad1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/change-display-in-container.html.ini
@@ -0,0 +1,2 @@
+[change-display-in-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini
new file mode 100644
index 00000000000..41721cec3c7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini
@@ -0,0 +1,2 @@
+[chrome-legacy-skip-recalc.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/column-spanner-in-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/column-spanner-in-container.html.ini
new file mode 100644
index 00000000000..f5cdfb7f54c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/column-spanner-in-container.html.ini
@@ -0,0 +1,2 @@
+[column-spanner-in-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/conditional-container-status.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/conditional-container-status.html.ini
new file mode 100644
index 00000000000..c0ee6c64a5b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/conditional-container-status.html.ini
@@ -0,0 +1,2 @@
+[conditional-container-status.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-computed.html.ini
new file mode 100644
index 00000000000..5cfd149c490
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-computed.html.ini
@@ -0,0 +1,2 @@
+[container-computed.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-for-shadow-dom.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-for-shadow-dom.html.ini
new file mode 100644
index 00000000000..3efb9a4484d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-for-shadow-dom.html.ini
@@ -0,0 +1,2 @@
+[container-for-shadow-dom.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inheritance.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inheritance.html.ini
new file mode 100644
index 00000000000..7895da15473
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inheritance.html.ini
@@ -0,0 +1,2 @@
+[container-inheritance.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inner-at-rules.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inner-at-rules.html.ini
new file mode 100644
index 00000000000..fe9df8888c4
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inner-at-rules.html.ini
@@ -0,0 +1,2 @@
+[container-inner-at-rules.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini
new file mode 100644
index 00000000000..45bac59ad68
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini
@@ -0,0 +1,2 @@
+[container-inside-multicol-with-table.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-longhand-animation-type.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-longhand-animation-type.html.ini
new file mode 100644
index 00000000000..6fcb3d3d017
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-longhand-animation-type.html.ini
@@ -0,0 +1,2 @@
+[container-longhand-animation-type.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-computed.html.ini
new file mode 100644
index 00000000000..4c6f92ff91f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-computed.html.ini
@@ -0,0 +1,2 @@
+[container-name-computed.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-invalidation.html.ini
new file mode 100644
index 00000000000..9699d557f71
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-name-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-parsing.html.ini
new file mode 100644
index 00000000000..a1d910e8bc6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-parsing.html.ini
@@ -0,0 +1,2 @@
+[container-name-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-tree-scoped.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-tree-scoped.html.ini
new file mode 100644
index 00000000000..944100b2a6d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-name-tree-scoped.html.ini
@@ -0,0 +1,2 @@
+[container-name-tree-scoped.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-nested.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-nested.html.ini
new file mode 100644
index 00000000000..270c4929976
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-nested.html.ini
@@ -0,0 +1,2 @@
+[container-nested.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-parsing.html.ini
new file mode 100644
index 00000000000..4a67b2a0bb4
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-parsing.html.ini
@@ -0,0 +1,2 @@
+[container-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection-unknown-features.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection-unknown-features.html.ini
new file mode 100644
index 00000000000..b8c01fff881
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection-unknown-features.html.ini
@@ -0,0 +1,2 @@
+[container-selection-unknown-features.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection.html.ini
new file mode 100644
index 00000000000..078f5f5fca0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-selection.html.ini
@@ -0,0 +1,2 @@
+[container-selection.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini
new file mode 100644
index 00000000000..ac18a07d13d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini
@@ -0,0 +1,2 @@
+[container-size-invalidation-after-load.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation.html.ini
new file mode 100644
index 00000000000..2110c73f00a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-size-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini
new file mode 100644
index 00000000000..6b313211a58
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-size-nested-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini
new file mode 100644
index 00000000000..36983f995f6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-size-shadow-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-computed.html.ini
new file mode 100644
index 00000000000..1c738ca9d2f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-computed.html.ini
@@ -0,0 +1,2 @@
+[container-type-computed.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-containment.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-containment.html.ini
new file mode 100644
index 00000000000..78eac66a53b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-containment.html.ini
@@ -0,0 +1,2 @@
+[container-type-containment.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-invalidation.html.ini
new file mode 100644
index 00000000000..ceeef89bc5e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-type-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini
new file mode 100644
index 00000000000..2ee85b9d254
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-type-layout-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-parsing.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-parsing.html.ini
new file mode 100644
index 00000000000..1c739f25052
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-type-parsing.html.ini
@@ -0,0 +1,2 @@
+[container-type-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-animation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-animation.html.ini
new file mode 100644
index 00000000000..343a20cdded
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-animation.html.ini
@@ -0,0 +1,2 @@
+[container-units-animation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-basic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-basic.html.ini
new file mode 100644
index 00000000000..be0e8789a85
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-basic.html.ini
@@ -0,0 +1,2 @@
+[container-units-basic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-computational-independence.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-computational-independence.html.ini
new file mode 100644
index 00000000000..2d243ce7664
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-computational-independence.html.ini
@@ -0,0 +1,2 @@
+[container-units-computational-independence.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-content-box.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-content-box.html.ini
new file mode 100644
index 00000000000..94994f5b988
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-content-box.html.ini
@@ -0,0 +1,2 @@
+[container-units-content-box.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini
new file mode 100644
index 00000000000..a59c030f234
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-units-gradient-invalidation.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient.html.ini
new file mode 100644
index 00000000000..07bea8cdf00
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-gradient.html.ini
@@ -0,0 +1,2 @@
+[container-units-gradient.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini
new file mode 100644
index 00000000000..06ecbee89c8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini
@@ -0,0 +1,2 @@
+[container-units-in-at-container-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini
new file mode 100644
index 00000000000..8e57c948e7d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini
@@ -0,0 +1,2 @@
+[container-units-in-at-container-fallback.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container.html.ini
new file mode 100644
index 00000000000..5c3e6915c56
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-in-at-container.html.ini
@@ -0,0 +1,2 @@
+[container-units-in-at-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-ineligible-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-ineligible-container.html.ini
new file mode 100644
index 00000000000..344a8137596
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-ineligible-container.html.ini
@@ -0,0 +1,2 @@
+[container-units-ineligible-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-invalidation.html.ini
new file mode 100644
index 00000000000..7f82447127a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-units-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-media-queries.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-media-queries.html.ini
new file mode 100644
index 00000000000..5732050c44b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-media-queries.html.ini
@@ -0,0 +1,2 @@
+[container-units-media-queries.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-rule-cache.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-rule-cache.html.ini
new file mode 100644
index 00000000000..5200eb952ef
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-rule-cache.html.ini
@@ -0,0 +1,2 @@
+[container-units-rule-cache.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-selection.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-selection.html.ini
new file mode 100644
index 00000000000..a0a35f1f266
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-selection.html.ini
@@ -0,0 +1,2 @@
+[container-units-selection.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-shadow.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-shadow.html.ini
new file mode 100644
index 00000000000..334c7ef1552
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-shadow.html.ini
@@ -0,0 +1,2 @@
+[container-units-shadow.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini
new file mode 100644
index 00000000000..5e9561d2e94
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini
@@ -0,0 +1,2 @@
+[container-units-sharing-via-rule-node.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini
new file mode 100644
index 00000000000..2d628428bc9
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini
@@ -0,0 +1,2 @@
+[container-units-small-viewport-fallback.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-svglength.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-svglength.html.ini
new file mode 100644
index 00000000000..ce5935891d8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-svglength.html.ini
@@ -0,0 +1,2 @@
+[container-units-svglength.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-typed-om.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-typed-om.html.ini
new file mode 100644
index 00000000000..dea0e2a76cd
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/container-units-typed-om.html.ini
@@ -0,0 +1,2 @@
+[container-units-typed-om.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-flex-circular.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-flex-circular.html.ini
new file mode 100644
index 00000000000..d306fb202be
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-flex-circular.html.ini
@@ -0,0 +1,2 @@
+[counters-flex-circular.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini
new file mode 100644
index 00000000000..7cd3bd77b75
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini
@@ -0,0 +1,2 @@
+[counters-in-container-dynamic.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container.html.ini
new file mode 100644
index 00000000000..4bf610e9b83
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/counters-in-container.html.ini
@@ -0,0 +1,2 @@
+[counters-in-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini
new file mode 100644
index 00000000000..d4f04e8e769
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini
@@ -0,0 +1,2 @@
+[size-change-during-transition-crash.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini
new file mode 100644
index 00000000000..a27199b58f3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini
@@ -0,0 +1,2 @@
+[custom-layout-container-001.https.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-queries.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-queries.html.ini
new file mode 100644
index 00000000000..f95a4577590
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-queries.html.ini
@@ -0,0 +1,2 @@
+[custom-property-style-queries.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-query-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-query-change.html.ini
new file mode 100644
index 00000000000..b2c98b304ba
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/custom-property-style-query-change.html.ini
@@ -0,0 +1,2 @@
+[custom-property-style-query-change.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini
new file mode 100644
index 00000000000..49ed002ee86
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini
@@ -0,0 +1,2 @@
+[deep-nested-inline-size-containers.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/dialog-backdrop-create.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/dialog-backdrop-create.html.ini
new file mode 100644
index 00000000000..aabdad22faf
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/dialog-backdrop-create.html.ini
@@ -0,0 +1,2 @@
+[dialog-backdrop-create.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini
new file mode 100644
index 00000000000..cec4b309306
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini
@@ -0,0 +1,2 @@
+[display-contents-dynamic-style-queries.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents.html.ini
new file mode 100644
index 00000000000..218ccadd27e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-contents.html.ini
@@ -0,0 +1,2 @@
+[display-contents.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-in-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-in-container.html.ini
new file mode 100644
index 00000000000..f9ae83de225
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-in-container.html.ini
@@ -0,0 +1,2 @@
+[display-in-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-none.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-none.html.ini
new file mode 100644
index 00000000000..30e7ac379eb
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/display-none.html.ini
@@ -0,0 +1,2 @@
+[display-none.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fieldset-legend-change.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fieldset-legend-change.html.ini
new file mode 100644
index 00000000000..9d5d377cd9c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fieldset-legend-change.html.ini
@@ -0,0 +1,2 @@
+[fieldset-legend-change.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini
new file mode 100644
index 00000000000..5b988b5dede
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini
@@ -0,0 +1,2 @@
+[font-relative-calc-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini
new file mode 100644
index 00000000000..bac1ca5c34b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini
@@ -0,0 +1,2 @@
+[font-relative-units-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units.html.ini
new file mode 100644
index 00000000000..e08fa7e3a64
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/font-relative-units.html.ini
@@ -0,0 +1,2 @@
+[font-relative-units.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fragmented-container-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fragmented-container-001.html.ini
new file mode 100644
index 00000000000..45e3fff97d5
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/fragmented-container-001.html.ini
@@ -0,0 +1,2 @@
+[fragmented-container-001.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/get-animations.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/get-animations.html.ini
new file mode 100644
index 00000000000..696dab96168
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/get-animations.html.ini
@@ -0,0 +1,2 @@
+[get-animations.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-container.html.ini
new file mode 100644
index 00000000000..7e24be270ac
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-container.html.ini
@@ -0,0 +1,2 @@
+[grid-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-item-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-item-container.html.ini
new file mode 100644
index 00000000000..739a704af3b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/grid-item-container.html.ini
@@ -0,0 +1,2 @@
+[grid-item-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/idlharness.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/idlharness.html.ini
new file mode 100644
index 00000000000..3beda2b56c2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/idlharness.html.ini
@@ -0,0 +1,48 @@
+[idlharness.html]
+ [CSSContainerRule interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CSSContainerRule interface object length]
+ expected: FAIL
+
+ [CSSContainerRule interface object name]
+ expected: FAIL
+
+ [CSSContainerRule interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CSSContainerRule interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CSSContainerRule interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CSSContainerRule interface: attribute containerName]
+ expected: FAIL
+
+ [CSSContainerRule interface: attribute containerQuery]
+ expected: FAIL
+
+ [CSSContainerRule must be primary interface of sheet.cssRules[0\]]
+ expected: FAIL
+
+ [Stringification of sheet.cssRules[0\]]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\] must inherit property "containerName" with the proper type]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\] must inherit property "containerQuery" with the proper type]
+ expected: FAIL
+
+ [CSSContainerRule must be primary interface of sheet.cssRules[0\].cssRules[0\]]
+ expected: FAIL
+
+ [Stringification of sheet.cssRules[0\].cssRules[0\]]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\].cssRules[0\] must inherit property "containerName" with the proper type]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\].cssRules[0\] must inherit property "containerQuery" with the proper type]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini
new file mode 100644
index 00000000000..320d3763208
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini
@@ -0,0 +1,2 @@
+[iframe-in-container-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-invalidation.html.ini
new file mode 100644
index 00000000000..40277008114
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/iframe-invalidation.html.ini
@@ -0,0 +1,2 @@
+[iframe-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/ineligible-containment.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/ineligible-containment.html.ini
new file mode 100644
index 00000000000..fb675be1df6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/ineligible-containment.html.ini
@@ -0,0 +1,2 @@
+[ineligible-containment.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inheritance-from-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inheritance-from-container.html.ini
new file mode 100644
index 00000000000..15b82349e6a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inheritance-from-container.html.ini
@@ -0,0 +1,2 @@
+[inheritance-from-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-and-min-width.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-and-min-width.html.ini
new file mode 100644
index 00000000000..2d5cb15bd9b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-and-min-width.html.ini
@@ -0,0 +1,2 @@
+[inline-size-and-min-width.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini
new file mode 100644
index 00000000000..0efd1511e95
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini
@@ -0,0 +1,2 @@
+[inline-size-bfc-floats.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini
new file mode 100644
index 00000000000..65be79b6779
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini
@@ -0,0 +1,2 @@
+[inline-size-containment-vertical-rl.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment.html.ini
new file mode 100644
index 00000000000..d5f1b19aeef
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inline-size-containment.html.ini
@@ -0,0 +1,2 @@
+[inline-size-containment.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini
new file mode 100644
index 00000000000..e85c47582d8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini
@@ -0,0 +1,2 @@
+[inner-first-line-non-matching.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/layout-dependent-focus.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/layout-dependent-focus.html.ini
new file mode 100644
index 00000000000..215241c0ac3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/layout-dependent-focus.html.ini
@@ -0,0 +1,2 @@
+[layout-dependent-focus.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-container-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-container-001.html.ini
new file mode 100644
index 00000000000..5e75ff3c653
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-container-001.html.ini
@@ -0,0 +1,2 @@
+[multicol-container-001.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-inside-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-inside-container.html.ini
new file mode 100644
index 00000000000..0e9d4ebfc9d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/multicol-inside-container.html.ini
@@ -0,0 +1,2 @@
+[multicol-inside-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-query-containers.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-query-containers.html.ini
new file mode 100644
index 00000000000..3ef3646b538
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-query-containers.html.ini
@@ -0,0 +1,97 @@
+[nested-query-containers.html]
+ expected: ERROR
+ [test1 - inline - 0b000]
+ expected: NOTRUN
+
+ [test2 - inline - 0b001]
+ expected: NOTRUN
+
+ [test3 - inline - 0b010]
+ expected: NOTRUN
+
+ [test4 - inline - 0b011]
+ expected: NOTRUN
+
+ [test5 - inline - 0b100]
+ expected: NOTRUN
+
+ [test6 - inline - 0b101]
+ expected: NOTRUN
+
+ [test7 - inline - 0b110]
+ expected: NOTRUN
+
+ [test8 - inline - 0b111]
+ expected: NOTRUN
+
+ [test9 - contents - 0b000]
+ expected: NOTRUN
+
+ [test10 - contents - 0b001]
+ expected: NOTRUN
+
+ [test11 - contents - 0b010]
+ expected: NOTRUN
+
+ [test12 - contents - 0b011]
+ expected: NOTRUN
+
+ [test13 - contents - 0b100]
+ expected: NOTRUN
+
+ [test14 - contents - 0b101]
+ expected: NOTRUN
+
+ [test15 - contents - 0b110]
+ expected: NOTRUN
+
+ [test16 - contents - 0b111]
+ expected: NOTRUN
+
+ [test17 - table-cell - 0b000]
+ expected: NOTRUN
+
+ [test18 - table-cell - 0b001]
+ expected: NOTRUN
+
+ [test19 - table-cell - 0b010]
+ expected: NOTRUN
+
+ [test20 - table-cell - 0b011]
+ expected: NOTRUN
+
+ [test21 - table-cell - 0b100]
+ expected: NOTRUN
+
+ [test22 - table-cell - 0b101]
+ expected: NOTRUN
+
+ [test23 - table-cell - 0b110]
+ expected: NOTRUN
+
+ [test24 - table-cell - 0b111]
+ expected: NOTRUN
+
+ [test25 - table - 0b000]
+ expected: NOTRUN
+
+ [test26 - table - 0b001]
+ expected: NOTRUN
+
+ [test27 - table - 0b010]
+ expected: NOTRUN
+
+ [test28 - table - 0b011]
+ expected: NOTRUN
+
+ [test29 - table - 0b100]
+ expected: NOTRUN
+
+ [test30 - table - 0b101]
+ expected: NOTRUN
+
+ [test31 - table - 0b110]
+ expected: NOTRUN
+
+ [test32 - table - 0b111]
+ expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini
new file mode 100644
index 00000000000..e6474f713b8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini
@@ -0,0 +1,2 @@
+[nested-size-style-container-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/never-match-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/never-match-container.html.ini
new file mode 100644
index 00000000000..bd76185e545
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/never-match-container.html.ini
@@ -0,0 +1,2 @@
+[never-match-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini
new file mode 100644
index 00000000000..5f5c04ee0f8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini
@@ -0,0 +1,2 @@
+[orthogonal-wm-container-query.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini
new file mode 100644
index 00000000000..06ce1345089
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini
@@ -0,0 +1,2 @@
+[percentage-padding-orthogonal.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-001.html.ini
new file mode 100644
index 00000000000..8049e81a747
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-001.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-001.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002.html.ini
new file mode 100644
index 00000000000..f8f422e67ca
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002b.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002b.html.ini
new file mode 100644
index 00000000000..69aa9d81543
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-002b.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-002b.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-003.html.ini
new file mode 100644
index 00000000000..8ae4a2f4aa0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-003.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-003.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-004.html.ini
new file mode 100644
index 00000000000..a8ca0682f2b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-004.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-004.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-005.html.ini
new file mode 100644
index 00000000000..5796ec48559
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-005.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-005.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-006.html.ini
new file mode 100644
index 00000000000..56688ff7a14
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-006.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-006.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-007.html.ini
new file mode 100644
index 00000000000..a2d2a17ce5c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-007.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-007.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-008.html.ini
new file mode 100644
index 00000000000..2a832c4409e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-008.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-008.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-009.html.ini
new file mode 100644
index 00000000000..35162efd32e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-009.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-009.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-010.html.ini
new file mode 100644
index 00000000000..40ed46b1488
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-010.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-010.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-011.html.ini
new file mode 100644
index 00000000000..f916d851667
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-011.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-012.html.ini
new file mode 100644
index 00000000000..867719bc5d2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-012.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-012.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-013.html.ini
new file mode 100644
index 00000000000..19dae0ed51f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/pseudo-elements-013.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-013.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-content-box.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-content-box.html.ini
new file mode 100644
index 00000000000..8d3aec97963
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-content-box.html.ini
@@ -0,0 +1,2 @@
+[query-content-box.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation-style.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation-style.html.ini
new file mode 100644
index 00000000000..249f397ea3e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation-style.html.ini
@@ -0,0 +1,2 @@
+[query-evaluation-style.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation.html.ini
new file mode 100644
index 00000000000..45622b2e02b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/query-evaluation.html.ini
@@ -0,0 +1,2 @@
+[query-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini
new file mode 100644
index 00000000000..cf8a718cb42
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini
@@ -0,0 +1,2 @@
+[reattach-container-with-dirty-child.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/registered-color-style-queries.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/registered-color-style-queries.html.ini
new file mode 100644
index 00000000000..3befc312c69
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/registered-color-style-queries.html.ini
@@ -0,0 +1,6 @@
+[registered-color-style-queries.html]
+ [Registered color with light color-scheme and light-dark()]
+ expected: FAIL
+
+ [Registered color with dark color-scheme and light-dark()]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini
new file mode 100644
index 00000000000..9a43f8e35d1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini
@@ -0,0 +1,2 @@
+[resize-while-content-visibility-hidden.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/sibling-layout-dependency.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/sibling-layout-dependency.html.ini
new file mode 100644
index 00000000000..0cb8fb94d65
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/sibling-layout-dependency.html.ini
@@ -0,0 +1,2 @@
+[sibling-layout-dependency.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-container-no-principal-box.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-container-no-principal-box.html.ini
new file mode 100644
index 00000000000..e44c18a4a5d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-container-no-principal-box.html.ini
@@ -0,0 +1,2 @@
+[size-container-no-principal-box.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-feature-evaluation.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-feature-evaluation.html.ini
new file mode 100644
index 00000000000..7e1afb0335b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/size-feature-evaluation.html.ini
@@ -0,0 +1,2 @@
+[size-feature-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-change-in-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-change-in-container.html.ini
new file mode 100644
index 00000000000..90db297fc71
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-change-in-container.html.ini
@@ -0,0 +1,2 @@
+[style-change-in-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini
new file mode 100644
index 00000000000..875ed231ad8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini
@@ -0,0 +1,2 @@
+[style-container-for-shadow-dom.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini
new file mode 100644
index 00000000000..fa5ecda0b0c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini
@@ -0,0 +1,2 @@
+[style-container-invalidation-inheritance.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-not-sharing-float.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-not-sharing-float.html.ini
new file mode 100644
index 00000000000..d0bccfa30c8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-not-sharing-float.html.ini
@@ -0,0 +1,2 @@
+[style-not-sharing-float.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini
new file mode 100644
index 00000000000..d06eb50d36d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini
@@ -0,0 +1,2 @@
+[style-query-with-unknown-width.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini
new file mode 100644
index 00000000000..ff3f6c92e7c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini
@@ -0,0 +1,2 @@
+[svg-foreignobject-child-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini
new file mode 100644
index 00000000000..ecfd70444c2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-foreignobject-no-size-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-g-no-size-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-g-no-size-container.html.ini
new file mode 100644
index 00000000000..4213a08a811
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-g-no-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-g-no-size-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-root-size-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-root-size-container.html.ini
new file mode 100644
index 00000000000..e7885ba7658
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/svg-root-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-root-size-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini
new file mode 100644
index 00000000000..dbb9c713fa6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini
@@ -0,0 +1,2 @@
+[table-inside-container-changing-display.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog-container.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog-container.html.ini
new file mode 100644
index 00000000000..ff2fa350ce4
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog-container.html.ini
@@ -0,0 +1,2 @@
+[top-layer-dialog-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog.html.ini
new file mode 100644
index 00000000000..41dcc8744af
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-dialog.html.ini
@@ -0,0 +1,2 @@
+[top-layer-dialog.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini
new file mode 100644
index 00000000000..249dfb5daee
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini
@@ -0,0 +1,2 @@
+[top-layer-nested-dialog.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-scrollbars.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-scrollbars.html.ini
new file mode 100644
index 00000000000..47f71664131
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-scrollbars.html.ini
@@ -0,0 +1,2 @@
+[transition-scrollbars.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event-002.html.ini
new file mode 100644
index 00000000000..41841cf9807
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event-002.html.ini
@@ -0,0 +1,2 @@
+[transition-style-change-event-002.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event.html.ini
new file mode 100644
index 00000000000..ea88c4c0f84
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/transition-style-change-event.html.ini
@@ -0,0 +1,2 @@
+[transition-style-change-event.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/unsupported-axis.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/unsupported-axis.html.ini
new file mode 100644
index 00000000000..9fbd827569b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/unsupported-axis.html.ini
@@ -0,0 +1,2 @@
+[unsupported-axis.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units-dynamic.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units-dynamic.html.ini
new file mode 100644
index 00000000000..519f8fc8648
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units-dynamic.html.ini
@@ -0,0 +1,2 @@
+[viewport-units-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units.html.ini
new file mode 100644
index 00000000000..b33875ea11d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/viewport-units.html.ini
@@ -0,0 +1,2 @@
+[viewport-units.html]
+ expected: ERROR
diff --git a/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini
new file mode 100644
index 00000000000..4d3034d71f7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini
@@ -0,0 +1,2 @@
+[whitespace-update-after-removal.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini
index a4ff0f8504c..6474581d56b 100644
--- a/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini
@@ -5,9 +5,6 @@
[@font-face matching for quoted and unquoted sans-serif]
expected: FAIL
- [@font-face matching for quoted and unquoted cursive]
- expected: FAIL
-
[@font-face matching for quoted and unquoted fantasy]
expected: FAIL
@@ -25,3 +22,12 @@
[@font-face matching for quoted and unquoted ui-rounded]
expected: FAIL
+
+ [@font-face matching for quoted and unquoted fangsong]
+ expected: FAIL
+
+ [@font-face matching for quoted and unquoted ui-sans-serif]
+ expected: FAIL
+
+ [@font-face matching for quoted and unquoted ui-monospace]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-001.html.ini
new file mode 100644
index 00000000000..efeea7c02f2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-001.html.ini
@@ -0,0 +1,2 @@
+[letter-spacing-trim-start-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini
new file mode 100644
index 00000000000..eb2eae5396b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini
@@ -0,0 +1,3 @@
+[letter-spacing-trim-start-002.html]
+ [assert_equals(t.offsetWidth, refWidth, "widths should now match")]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/text-overflow-023.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/text-overflow-023.html.ini
index c712fc94363..4ffe7c52fcb 100644
--- a/tests/wpt/meta-legacy-layout/css/css-ui/text-overflow-023.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-ui/text-overflow-023.html.ini
@@ -1,8 +1,3 @@
[text-overflow-023.html]
- expected: ERROR
- [Checks hit testing on the ellipsis]
- expected: FAIL
-
[CSS Basic User Interface Test: interacting with the ellipsis]
expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/various-values-important.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/various-values-important.html.ini
new file mode 100644
index 00000000000..cebe0b88cbf
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/various-values-important.html.ini
@@ -0,0 +1,12 @@
+[various-values-important.html]
+ [CSS Values: !important flag parsing]
+ expected: FAIL
+
+ [CSS Values: !important flag parsing 1]
+ expected: FAIL
+
+ [CSS Values: !important flag parsing 2]
+ expected: FAIL
+
+ [CSS Values: !important flag parsing 3]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini
index 037d7e0f951..7b233e19a3d 100644
--- a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini
@@ -1,6 +1,16 @@
[MediaQueryList-addListener-handleEvent.html]
+ expected: TIMEOUT
[throws if handleEvent is falsy and not callable]
- expected: FAIL
+ expected: NOTRUN
[throws if handleEvent is thruthy and not callable]
- expected: FAIL
+ expected: NOTRUN
+
+ [looks up handleEvent method on every event dispatch]
+ expected: TIMEOUT
+
+ [doesn't look up handleEvent method on callable event listeners]
+ expected: NOTRUN
+
+ [rethrows errors when getting handleEvent]
+ expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
index 314dca9c1f5..7fe2fa192e4 100644
--- a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
@@ -1,3 +1,16 @@
[MediaQueryList-addListener-removeListener.html]
+ expected: TIMEOUT
[listeners are called when <iframe> is resized]
expected: FAIL
+
+ [listener that was added twice is called only once]
+ expected: NOTRUN
+
+ [listeners are called in order their MQLs were created]
+ expected: NOTRUN
+
+ [removing listener from one MQL doesn't remove it from all MQLs]
+ expected: NOTRUN
+
+ [MediaQueryList::removeListener removes added listener]
+ expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget-interop.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget-interop.html.ini
index 758c26f2a2d..d42c17f0e92 100644
--- a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget-interop.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget-interop.html.ini
@@ -1,3 +1,10 @@
[MediaQueryList-extends-EventTarget-interop.html]
+ expected: TIMEOUT
[listeners are called in order they were added, ignoring capture parameter]
expected: FAIL
+
+ [removeListener doesn't remove listener added with addEventListener (capture)]
+ expected: NOTRUN
+
+ [capturing event listener fires before non-capturing listener at target]
+ expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini
new file mode 100644
index 00000000000..80b5e466055
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini
@@ -0,0 +1,4 @@
+[MediaQueryList-extends-EventTarget.html]
+ expected: TIMEOUT
+ [removeEventListener removes listener]
+ expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/css/selectors/invalidation/nth-child-whole-subtree.html.ini b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/nth-child-whole-subtree.html.ini
new file mode 100644
index 00000000000..0affb9ffb90
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/selectors/invalidation/nth-child-whole-subtree.html.ini
@@ -0,0 +1,3 @@
+[nth-child-whole-subtree.html]
+ [CSS Selectors Invalidation: :nth-child(... of :not()) combined with whole subtree invalidation]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini
deleted file mode 100644
index 2ca05f57bb0..00000000000
--- a/tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[HTMLMediaElement.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 795f2544cb6..fc799433890 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
@@ -14,9 +14,6 @@
[sec-fetch-dest - Not sent to non-trustworthy cross-site destination]
expected: FAIL
- [sec-fetch-user - Not sent to non-trustworthy same-site destination]
- expected: FAIL
-
[sec-fetch-site - HTTPS downgrade (header not sent)]
expected: FAIL
@@ -25,3 +22,9 @@
[sec-fetch-site - HTTPS downgrade-upgrade]
expected: FAIL
+
+ [sec-fetch-dest - Not sent to non-trustworthy same-origin destination]
+ expected: FAIL
+
+ [sec-fetch-user - Not sent to non-trustworthy same-origin destination]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini
deleted file mode 100644
index 3e07e6b7d1f..00000000000
--- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[empty-iframe-load-event.html]
- [Check execution order from nested timeout]
- expected: FAIL
-
- [Check execution order on load handler]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini
new file mode 100644
index 00000000000..4ecd6d9f753
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini
@@ -0,0 +1,3 @@
+[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-legacy-layout/html/browsers/windows/embedded-opener-remove-frame.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/windows/embedded-opener-remove-frame.html.ini
index 3613f3de8bf..558ce5dcaa5 100644
--- a/tests/wpt/meta-legacy-layout/html/browsers/windows/embedded-opener-remove-frame.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/browsers/windows/embedded-opener-remove-frame.html.ini
@@ -1,5 +1,4 @@
[embedded-opener-remove-frame.html]
- expected: CRASH
[opener and "removed" embedded documents]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.attributes.parse.minus.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.attributes.parse.minus.html.ini
index a1700667887..abcdc2821c8 100644
--- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.attributes.parse.minus.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/canvas-host/2d.canvas.host.size.attributes.parse.minus.html.ini
@@ -1,3 +1,4 @@
[2d.canvas.host.size.attributes.parse.minus.html]
+ expected: CRASH
[Parsing of non-negative integers]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini
new file mode 100644
index 00000000000..f1d3ebff40e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini
@@ -0,0 +1,2 @@
+[2d.text.drawing.style.reset.fontKerning.none2.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini
new file mode 100644
index 00000000000..d257ff26350
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini
@@ -0,0 +1,2 @@
+[2d.text.drawing.style.reset.fontKerning.none2.w.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini
new file mode 100644
index 00000000000..a83584397ff
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini
@@ -0,0 +1,2 @@
+[2d.text.fontVariantCaps.after.reset.font.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini
new file mode 100644
index 00000000000..19f02a9b207
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini
@@ -0,0 +1,2 @@
+[2d.text.fontVariantCaps.after.reset.font.w.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini
new file mode 100644
index 00000000000..28cd6fb1a33
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini
@@ -0,0 +1,87 @@
+[isolate-and-require-corp-load-from-cache-storage.tentative.https.html]
+ [setting up]
+ expected: FAIL
+
+ [Fetch cross-origin cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index d169bd2e9fa..09c25efb089 100644
--- a/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,4 +1,5 @@
[supported-elements.html]
+ expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@@ -6,10 +7,10 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: FAIL
+ expected: NOTRUN
[Area element should support autofocus]
- expected: FAIL
+ expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-property-is-ignored.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-property-is-ignored.html.ini
deleted file mode 100644
index 0eec246967d..00000000000
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-property-is-ignored.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-display-property-is-ignored.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.html.ini
new file mode 100644
index 00000000000..b4e9f7de93b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.html.ini
@@ -0,0 +1,2 @@
+[details-display-type-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.tentative.html.ini
deleted file mode 100644
index 931a0473a98..00000000000
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-display-type-001.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.html.ini
new file mode 100644
index 00000000000..3bc82b94d69
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.html.ini
@@ -0,0 +1,2 @@
+[details-display-type-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.tentative.html.ini
deleted file mode 100644
index 4e5a3ff1e5b..00000000000
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display-type-002.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-display-type-002.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display.html.ini
index 126758f242b..31d0648af61 100644
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-display.html.ini
@@ -1,4 +1,4 @@
-[details-display.tentative.html]
+[details-display.html]
[default display of first summary child of details is list-item]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.html.ini
new file mode 100644
index 00000000000..9096d743875
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.html.ini
@@ -0,0 +1,2 @@
+[details-pseudo-elements-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini
deleted file mode 100644
index a17d6e8fd93..00000000000
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-pseudo-elements-001.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.html.ini
new file mode 100644
index 00000000000..29476194e40
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.html.ini
@@ -0,0 +1,2 @@
+[details-pseudo-elements-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini
deleted file mode 100644
index 75b4ed86b24..00000000000
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-pseudo-elements-002.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.html.ini
new file mode 100644
index 00000000000..7ba56cc1ea2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.html.ini
@@ -0,0 +1,2 @@
+[details-pseudo-elements-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini
deleted file mode 100644
index 8521ca4c028..00000000000
--- a/tests/wpt/meta-legacy-layout/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-pseudo-elements-003.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html.ini
new file mode 100644
index 00000000000..247b8ee99a6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-location-reload.html.ini
@@ -0,0 +1,3 @@
+[iframe-loading-lazy-reload-location-reload.html]
+ [Reloading iframe loading='lazy' before it is loaded: location.reload]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index 26918347169..eacbe5794ea 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
- expected: CRASH
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
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 ff6467094b8..d5fd800f09d 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,3 +1,4 @@
[iframe_sandbox_popups_nonescaping-3.html]
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini
index 7682a4830bf..7682a4830bf 100644
--- a/tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/forms/historical.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/forms/historical.html.ini
deleted file mode 100644
index 5d8289307cc..00000000000
--- a/tests/wpt/meta-legacy-layout/html/semantics/forms/historical.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[historical.html]
- [<input name=isindex> should not be supported]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/resource-timing/response-status-code.html.ini b/tests/wpt/meta-legacy-layout/resource-timing/response-status-code.html.ini
index 38df5f01300..f84018bce54 100644
--- a/tests/wpt/meta-legacy-layout/resource-timing/response-status-code.html.ini
+++ b/tests/wpt/meta-legacy-layout/resource-timing/response-status-code.html.ini
@@ -238,37 +238,37 @@
expected: FAIL
[This test validates the response status of resources. 79]
- expected: FAIL
+ expected: TIMEOUT
[This test validates the response status of resources. 80]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 81]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 82]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 83]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 84]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 85]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 86]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 87]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 88]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 89]
- expected: TIMEOUT
+ expected: NOTRUN
[This test validates the response status of resources. 90]
expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/resource-timing/test_resource_timing.https.html.ini b/tests/wpt/meta-legacy-layout/resource-timing/test_resource_timing.https.html.ini
index 54e3ef35665..32d149c8ae9 100644
--- a/tests/wpt/meta-legacy-layout/resource-timing/test_resource_timing.https.html.ini
+++ b/tests/wpt/meta-legacy-layout/resource-timing/test_resource_timing.https.html.ini
@@ -68,3 +68,6 @@
[PerformanceEntry has correct name, initiatorType, startTime, and duration (link)]
expected: NOTRUN
+
+ [PerformanceEntry has correct name, initiatorType, startTime, and duration (img)]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/url/failure.html.ini b/tests/wpt/meta-legacy-layout/url/failure.html.ini
index e739baf2ea5..9e541022c0a 100644
--- a/tests/wpt/meta-legacy-layout/url/failure.html.ini
+++ b/tests/wpt/meta-legacy-layout/url/failure.html.ini
@@ -1,5 +1,6 @@
[failure.html]
type: testharness
+ expected: CRASH
[Test URL parser failure consistency]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/meta-legacy-layout/workers/constructors/Worker/Worker-constructor.html.ini
deleted file mode 100644
index 80f9a4f15b8..00000000000
--- a/tests/wpt/meta-legacy-layout/workers/constructors/Worker/Worker-constructor.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Worker-constructor.html]
- expected: ERROR
diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json
index b320ff75811..901fa326298 100644
--- a/tests/wpt/meta/MANIFEST.json
+++ b/tests/wpt/meta/MANIFEST.json
@@ -454,6 +454,34 @@
"CSS2": {
"floats": {
"crashtests": {
+ "firefox-bug-1904409.html": [
+ "131443d2438c32e6348d95957cfd3d21a807445c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "firefox-bug-1904419.html": [
+ "192a799edc52a64b5a2b2595a2539b8530ba9b90",
+ [
+ null,
+ {}
+ ]
+ ],
+ "firefox-bug-1904421.html": [
+ "29e7dd3e8ad4a8b3ddff6b173de753fb33abc7d6",
+ [
+ null,
+ {}
+ ]
+ ],
+ "firefox-bug-1904428.html": [
+ "8d2265a7996c72cf38bd888c83ba43c23bb604e3",
+ [
+ null,
+ {}
+ ]
+ ],
"float-rewind-parallel-flow-1-crash.html": [
"79d90b89b6523ccb64502d1b43b6b0a054148cd1",
[
@@ -978,20 +1006,27 @@
{}
]
],
- "firefox-bug1693616-001-crash.html": [
+ "firefox-bug-1693616-001-crash.html": [
"5aadb70037c3b31abc7bd91ee1dc8dc412e0c3e1",
[
null,
{}
]
],
- "firefox-bug1693616-002-crash.html": [
+ "firefox-bug-1693616-002-crash.html": [
"01f836c805d0909a96f759d0b1d4e404fe7509fb",
[
null,
{}
]
],
+ "firefox-bug-1903652-crash.html": [
+ "45dc078c5e84183a5e5f10a597be65bb03991745",
+ [
+ null,
+ {}
+ ]
+ ],
"flex-item-padding-block-in-inline-crash.html": [
"43418771150ce1b430b30c1055e2c5321dde6879",
[
@@ -1465,21 +1500,7 @@
]
]
},
- "css-contain": {
- "contain-crash.html": [
- "373e004c0507e764e1383b17a05e64537b6711ab",
- [
- null,
- {}
- ]
- ],
- "contain-style-remove-element-crash.html": [
- "cbf079523ffe5431b3808795d56fa4be4f3f7849",
- [
- null,
- {}
- ]
- ],
+ "css-conditional": {
"container-queries": {
"crashtests": {
"br-crash.html": [
@@ -1840,7 +1861,23 @@
]
]
}
- },
+ }
+ },
+ "css-contain": {
+ "contain-crash.html": [
+ "373e004c0507e764e1383b17a05e64537b6711ab",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-style-remove-element-crash.html": [
+ "cbf079523ffe5431b3808795d56fa4be4f3f7849",
+ [
+ null,
+ {}
+ ]
+ ],
"content-visibility": {
"content-visibility-auto-applied-to-th-crash.html": [
"cde696e2f65d2c22bec8750c15ddb3ece3e1acf3",
@@ -5385,7 +5422,14 @@
{}
]
]
- }
+ },
+ "nth-of-namespace-class-invalidation-crash.html": [
+ "4ad1cfe1c69c0b498ebdf628a94b59b8886371b2",
+ [
+ null,
+ {}
+ ]
+ ]
},
"link-sharing-crash.html": [
"3bcce92d49d67bd694028db2549b65eb5644fdca",
@@ -24409,18 +24453,18 @@
}
},
"pointerevents": {
- "deviceproperties": {
- "unique-id-is-unique-manual.tentative.html": [
- "55db05353f5a2f5d543b2c0ba2caf1f066537341",
+ "html": {
+ "pointerevent_drag_interaction-manual.html": [
+ "1a80d239b8930a74cd5e764c6307980082e6766b",
[
null,
{}
]
]
},
- "html": {
- "pointerevent_drag_interaction-manual.html": [
- "1a80d239b8930a74cd5e764c6307980082e6766b",
+ "persistentDeviceId": {
+ "persistentdeviceid-is-unique-manual.tentative.html": [
+ "f9f15cfaea85a1aaee1ade8799d4d774c1342b95",
[
null,
{}
@@ -32447,8 +32491,21 @@
{}
]
],
+ "background-001-print.html": [
+ "66560fce099c6848670fcb0d766435fb2afadf28",
+ [
+ null,
+ [
+ [
+ "/css/css-page/margin-boxes/background-001-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"content-001-print.html": [
- "efaa71b8c848bc13733f191a3c1f004edca80f29",
+ "11b5bd6f44d5e01e0296ca37caee0ec2004e0bfc",
[
null,
[
@@ -32460,6 +32517,32 @@
{}
]
],
+ "content-002-print.html": [
+ "9a777c85ec6aed796c4f8962e25ec4b8ea797dfc",
+ [
+ null,
+ [
+ [
+ "/css/css-page/margin-boxes/content-002-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "content-003-print.html": [
+ "8e87e418219cacf12f0a5e16d29c239c855e7d9f",
+ [
+ null,
+ [
+ [
+ "/css/css-page/margin-boxes/content-003-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"dimensions-001-print.html": [
"20d4e3059e0df47c0e4f782bfce782c0184789f1",
[
@@ -145492,6 +145575,19 @@
{}
]
],
+ "scope-featureless.html": [
+ "ca0b1f0217900cb43f162c1d200a13d26ebcbed8",
+ [
+ null,
+ [
+ [
+ "/css/css-cascade/scope-featureless-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"scope-pseudo-element.html": [
"29c446906092dc4bccec7fb4b21fb8b4a20b8f8f",
[
@@ -150495,6 +150591,450 @@
{}
]
],
+ "container-queries": {
+ "canvas-as-container-001.html": [
+ "f904d1fe249bb3ad773f054b7f930deba36eccce",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas-as-container-002.html": [
+ "689feeb5fffdc25ccd03e41c29a317ad1018ced2",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas-as-container-003.html": [
+ "74199cc72b7e68b8d51eb783439e58e12f4ee867",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "canvas-as-container-004.html": [
+ "b23846382b743d260ea87a291dec31af843c16e9",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "change-display-in-container.html": [
+ "8c58d22b7de99f0234ed2b3e45065a2bba2161c8",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/change-display-in-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "chrome-legacy-skip-recalc.html": [
+ "b86a4091a2ca4909515746b2904508908e278816",
+ [
+ null,
+ [
+ [
+ "/css/reference/pass_if_pass_below.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "container-for-cue.html": [
+ "a460f79af061de93f269ad56455f878408437b85",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/container-for-cue-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "container-units-gradient-invalidation.html": [
+ "665a14dcaa1264e456c9a2ae7e7e47ea11a722b6",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/container-units-gradient-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "container-units-gradient.html": [
+ "3d6f5378c22fd33554309420fee047c68eaa51e2",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/container-units-gradient-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "container-units-rule-cache.html": [
+ "cc93f7793ae6bd57a8ee30e5d6322a6ff43e93cb",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/container-units-rule-cache-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "container-units-sharing-via-rule-node.html": [
+ "e1a5c714516bfea5e482acc4f5b9811bbc975a21",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/container-units-sharing-via-rule-node-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "counters-in-container-dynamic.html": [
+ "d85ab6cb425ba792914b39901cd3f3ba3943b606",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/counters-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "counters-in-container.html": [
+ "376f52ea7c2ccccda15e2f99af9ce08bee42f424",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/counters-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "custom-layout-container-001.https.html": [
+ "8f301e8ebf626035f967d01e585e0832eefe72de",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "dialog-backdrop-create.html": [
+ "ef74973addc2ffa660ee38b84686982cbb889a92",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/top-layer-dialog-backdrop-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "dialog-backdrop-remove.html": [
+ "47b40304924aa00613fd520083d12ae65fa82596",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/top-layer-dialog-backdrop-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "display-in-container.html": [
+ "a2a4cd731c8b90b4dcfda30a015b293deef56968",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/display-in-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "fieldset-legend-change.html": [
+ "15b44a0e5231e501929642cc8b088e7204c9d8b4",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/fieldset-legend-change-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "inline-size-bfc-floats.html": [
+ "88b81c67599576677aec1d0b6ac89d4414d15582",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/inline-size-bfc-floats-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "inner-first-line-non-matching.html": [
+ "5f39124e514bcfc2b7293b6e36c7e3c3f4bbd5df",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/inner-first-line-non-matching-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "multicol-inside-container.html": [
+ "9fc8393a513f236996d60fdc39e2401a3dba0376",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pseudo-elements-002.html": [
+ "a44c64c70071109bca11ba0f910cb14213522c9f",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/pseudo-elements-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pseudo-elements-002b.html": [
+ "e1874e035b0784abeccfce306eaa3203b41daf37",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/pseudo-elements-002b-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pseudo-elements-009.html": [
+ "769a5962ff706db4ba2d5a29afaa348c94061c42",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/pseudo-elements-009-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pseudo-elements-010.html": [
+ "e2e8f8659c500e1d91798cbd03437621d7ae01af",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/pseudo-elements-010-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pseudo-elements-011.html": [
+ "26dabbe1dfe58a3350ec4fbf9a9671943a174a8d",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/pseudo-elements-010-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pseudo-elements-012.html": [
+ "7c36d9270d92be6b017253dd4080b8a1e8c61546",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/pseudo-elements-010-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "resize-while-content-visibility-hidden.html": [
+ "a3658f7f34fdda98b2d1198fecce3b6e1a5fef38",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/resize-while-content-visibility-hidden-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "size-container-with-quotes.html": [
+ "b88f882cd043195bb4f1b323c369515fe6107e36",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/size-container-with-quotes-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg-foreignobject-no-size-container.html": [
+ "38fc493a16259bec9091850aed09fbeeae313187",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/svg-foreignobject-no-size-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg-g-no-size-container.html": [
+ "ed9e85367676d988ebff81d60a9ab9201b6ef8d6",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/svg-g-no-size-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "table-inside-container-changing-display.html": [
+ "33a4f4fe721b11e6ea10b0c15b8e42465fd1f1f1",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/table-inside-container-changing-display-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "top-layer-dialog-backdrop.html": [
+ "25635167a54ce461a221e2c649c48fc897245581",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/top-layer-dialog-backdrop-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "whitespace-update-after-removal.html": [
+ "a7df55efc6eb9ce9b25646ce614cc922dcecf7ee",
+ [
+ null,
+ [
+ [
+ "/css/css-conditional/container-queries/change-display-in-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ]
+ },
"css-supports-001.xht": [
"9221309d45fd637e613a1c11519a09fa105a4830",
[
@@ -154984,450 +155524,6 @@
{}
]
],
- "container-queries": {
- "canvas-as-container-001.html": [
- "f904d1fe249bb3ad773f054b7f930deba36eccce",
- [
- null,
- [
- [
- "/css/reference/ref-filled-green-100px-square-only.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "canvas-as-container-002.html": [
- "689feeb5fffdc25ccd03e41c29a317ad1018ced2",
- [
- null,
- [
- [
- "/css/reference/ref-filled-green-100px-square-only.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "canvas-as-container-003.html": [
- "74199cc72b7e68b8d51eb783439e58e12f4ee867",
- [
- null,
- [
- [
- "/css/reference/ref-filled-green-100px-square-only.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "canvas-as-container-004.html": [
- "b23846382b743d260ea87a291dec31af843c16e9",
- [
- null,
- [
- [
- "/css/reference/ref-filled-green-100px-square-only.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "change-display-in-container.html": [
- "8c58d22b7de99f0234ed2b3e45065a2bba2161c8",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/change-display-in-container-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "chrome-legacy-skip-recalc.html": [
- "b86a4091a2ca4909515746b2904508908e278816",
- [
- null,
- [
- [
- "/css/reference/pass_if_pass_below.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "container-for-cue.html": [
- "a460f79af061de93f269ad56455f878408437b85",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/container-for-cue-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "container-units-gradient-invalidation.html": [
- "665a14dcaa1264e456c9a2ae7e7e47ea11a722b6",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/container-units-gradient-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "container-units-gradient.html": [
- "3d6f5378c22fd33554309420fee047c68eaa51e2",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/container-units-gradient-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "container-units-rule-cache.html": [
- "cc93f7793ae6bd57a8ee30e5d6322a6ff43e93cb",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/container-units-rule-cache-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "container-units-sharing-via-rule-node.html": [
- "e1a5c714516bfea5e482acc4f5b9811bbc975a21",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/container-units-sharing-via-rule-node-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "counters-in-container-dynamic.html": [
- "d85ab6cb425ba792914b39901cd3f3ba3943b606",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/counters-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "counters-in-container.html": [
- "376f52ea7c2ccccda15e2f99af9ce08bee42f424",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/counters-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "custom-layout-container-001.https.html": [
- "8f301e8ebf626035f967d01e585e0832eefe72de",
- [
- null,
- [
- [
- "/css/reference/ref-filled-green-100px-square-only.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "dialog-backdrop-create.html": [
- "ef74973addc2ffa660ee38b84686982cbb889a92",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/top-layer-dialog-backdrop-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "dialog-backdrop-remove.html": [
- "47b40304924aa00613fd520083d12ae65fa82596",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/top-layer-dialog-backdrop-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "display-in-container.html": [
- "a2a4cd731c8b90b4dcfda30a015b293deef56968",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/display-in-container-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "fieldset-legend-change.html": [
- "15b44a0e5231e501929642cc8b088e7204c9d8b4",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/fieldset-legend-change-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "inline-size-bfc-floats.html": [
- "88b81c67599576677aec1d0b6ac89d4414d15582",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/inline-size-bfc-floats-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "inner-first-line-non-matching.html": [
- "5f39124e514bcfc2b7293b6e36c7e3c3f4bbd5df",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/inner-first-line-non-matching-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "multicol-inside-container.html": [
- "9fc8393a513f236996d60fdc39e2401a3dba0376",
- [
- null,
- [
- [
- "/css/reference/ref-filled-green-100px-square-only.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "pseudo-elements-002.html": [
- "a44c64c70071109bca11ba0f910cb14213522c9f",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/pseudo-elements-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "pseudo-elements-002b.html": [
- "e1874e035b0784abeccfce306eaa3203b41daf37",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/pseudo-elements-002b-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "pseudo-elements-009.html": [
- "769a5962ff706db4ba2d5a29afaa348c94061c42",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/pseudo-elements-009-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "pseudo-elements-010.html": [
- "e2e8f8659c500e1d91798cbd03437621d7ae01af",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/pseudo-elements-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "pseudo-elements-011.html": [
- "26dabbe1dfe58a3350ec4fbf9a9671943a174a8d",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/pseudo-elements-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "pseudo-elements-012.html": [
- "7c36d9270d92be6b017253dd4080b8a1e8c61546",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/pseudo-elements-010-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "resize-while-content-visibility-hidden.html": [
- "a3658f7f34fdda98b2d1198fecce3b6e1a5fef38",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/resize-while-content-visibility-hidden-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "size-container-with-quotes.html": [
- "b88f882cd043195bb4f1b323c369515fe6107e36",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/size-container-with-quotes-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "svg-foreignobject-no-size-container.html": [
- "38fc493a16259bec9091850aed09fbeeae313187",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/svg-foreignobject-no-size-container-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "svg-g-no-size-container.html": [
- "ed9e85367676d988ebff81d60a9ab9201b6ef8d6",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/svg-g-no-size-container-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "table-inside-container-changing-display.html": [
- "33a4f4fe721b11e6ea10b0c15b8e42465fd1f1f1",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/table-inside-container-changing-display-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "top-layer-dialog-backdrop.html": [
- "25635167a54ce461a221e2c649c48fc897245581",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/top-layer-dialog-backdrop-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "whitespace-update-after-removal.html": [
- "a7df55efc6eb9ce9b25646ce614cc922dcecf7ee",
- [
- null,
- [
- [
- "/css/css-contain/container-queries/change-display-in-container-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ]
- },
"content-visibility": {
"content-visibility-001.html": [
"b6b10164e81115e09342345c61d5c19ab5a75304",
@@ -158440,7 +158536,7 @@
]
],
"disclosure-styles.html": [
- "79ac6ca145d0b435a72469c61d09d0dd4a8c9d03",
+ "e33b4cc2ac6769cd14929248c5b10d91d23524be",
[
null,
[
@@ -240811,6 +240907,19 @@
],
{}
]
+ ],
+ "letter-spacing-trim-start-001.html": [
+ "33cbc8e49a1e076fa0ec0ca9fafd4ea5e0040c8b",
+ [
+ null,
+ [
+ [
+ "/css/css-text/letter-spacing/reference/letter-spacing-trim-start-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
]
},
"line-break": {
@@ -292409,6 +292518,19 @@
{}
]
],
+ "border-spacing.html": [
+ "2801a2920066f24655f84b9a2cccdaf361de2ab1",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/border-spacing-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"font-size.html": [
"e4b20c3c9314acf71bcd49bbcc6fd215207b22f8",
[
@@ -292513,6 +292635,19 @@
{}
]
],
+ "list-style-image.html": [
+ "f6caa249f789758a87f27ebc874e3c2bda9440c9",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/list-style-image-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"relative-units-from-parent.html": [
"57df82b6f1c5b8cd9ef405cdc1097826de0e061f",
[
@@ -292526,6 +292661,32 @@
{}
]
],
+ "stroke.html": [
+ "5af4eec10cce386eb5afce8d89ee4efb5a71cc85",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/stroke-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "svg-path.html": [
+ "9a7bc3ffee97a062409fc6c3e628dcd7a57ed7f4",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/svg-path-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"svg.html": [
"826ce5a80a3b9c06b3c14678704daffd3e2faf7b",
[
@@ -292538,6 +292699,71 @@
],
{}
]
+ ],
+ "text-indent.html": [
+ "2edf6a62223d8d7ba1709a539731d3f9d62c0f78",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/text-indent-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "text-shadow.html": [
+ "1d39a24cd19123f7db5d397dbdd69d884bd7f429",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/text-shadow-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "text-stroke-width.html": [
+ "b11dc67d52c2f46a3a2c384d3e764f964a13ddb1",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/text-stroke-width-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "text-underline-offset.html": [
+ "cdf7b3d7ab26e7c99b5640a617f5e30d30477ea5",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/text-underline-offset-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "word-spacing.html": [
+ "80f52046cd5016a703285d26e9cbd5572107b0d0",
+ [
+ null,
+ [
+ [
+ "/css/css-viewport/zoom/reference/word-spacing-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
]
}
},
@@ -321054,6 +321280,32 @@
]
},
"text": {
+ "2d.text.drawing.style.reset.fontKerning.none2.html": [
+ "78d06b955d8208af01737137726e0256ab4ce7f3",
+ [
+ null,
+ [
+ [
+ "/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "2d.text.fontVariantCaps.after.reset.font.html": [
+ "d1a18627e7a3f826c292aee76171db2e47bfaf27",
+ [
+ null,
+ [
+ [
+ "/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"2d.text.fontVariantCaps1.html": [
"56acfc61f47c32092db1793eb2f4a9966fde04ef",
[
@@ -323130,6 +323382,58 @@
]
},
"text": {
+ "2d.text.drawing.style.reset.fontKerning.none2.html": [
+ "21b699ecc89e73940251eb5c94c60abe5753ceae",
+ [
+ null,
+ [
+ [
+ "/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "2d.text.drawing.style.reset.fontKerning.none2.w.html": [
+ "6f81dfe0b1f74db19f66ec46f8370bc8e2a86071",
+ [
+ null,
+ [
+ [
+ "/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "2d.text.fontVariantCaps.after.reset.font.html": [
+ "bd09cc2ca0646434e6603a605e0be7d873a4a226",
+ [
+ null,
+ [
+ [
+ "/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "2d.text.fontVariantCaps.after.reset.font.w.html": [
+ "8f9ba4a1564ab19bdb41156f047e1b9ea5d8ac6d",
+ [
+ null,
+ [
+ [
+ "/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"2d.text.fontVariantCaps1.html": [
"3c216f07daac09924ae79221b05665ea0510000b",
[
@@ -327868,19 +328172,6 @@
{}
]
],
- "details-display-property-is-ignored.html": [
- "445b4e483d00c8aabfa76a946d8cb0871e479c7d",
- [
- null,
- [
- [
- "/html/rendering/the-details-element/details-display-property-is-ignored-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
"details-display-type-001-ref.html": [
"925ee19f775fd07ac6e679598329d05f609e5335",
[
@@ -327894,7 +328185,7 @@
{}
]
],
- "details-display-type-001.tentative.html": [
+ "details-display-type-001.html": [
"3188c1eafda1bbb4e43a5c048bc9d33647b6e444",
[
null,
@@ -327907,7 +328198,7 @@
{}
]
],
- "details-display-type-002.tentative.html": [
+ "details-display-type-002.html": [
"6426e1c524f0b12b88330678263951af1b1e42d7",
[
null,
@@ -327920,7 +328211,7 @@
{}
]
],
- "details-pseudo-elements-001.tentative.html": [
+ "details-pseudo-elements-001.html": [
"8ea3d0f85af933b6202f15ee00b9fdac451ab0c9",
[
null,
@@ -327933,7 +328224,7 @@
{}
]
],
- "details-pseudo-elements-002.tentative.html": [
+ "details-pseudo-elements-002.html": [
"0f1176a3316bb08f9a49c63544d4ae090d878e40",
[
null,
@@ -327946,7 +328237,7 @@
{}
]
],
- "details-pseudo-elements-003.tentative.html": [
+ "details-pseudo-elements-003.html": [
"ee5b42f13ac166f65ee2884722ab76cf0e2a1ba1",
[
null,
@@ -346117,7 +346408,7 @@
]
},
"web-identity": [
- "c36f63e813868d095f578bb511a3e409e3051abd",
+ "3369c96de284723699219b856f48f7862edb80e6",
[]
]
},
@@ -348814,7 +349105,7 @@
[]
],
"helpers.js": [
- "7157742e6e5c98746ec73933f4e0d6812eef12fb",
+ "0f20a71237c83589f676afeacb4660b39457fea3",
[]
],
"reporting_origin.py": [
@@ -350022,7 +350313,7 @@
[]
],
"dispatcher.js": [
- "ce17a7c9145311fe06e68e201caf732aaf8badcd",
+ "dab0100020b82919bfbf4e68a10bec1e2e3b66ab",
[]
],
"dispatcher.py": [
@@ -371204,18 +371495,10 @@
"fd0bb71a0c7ac405a7b1d148d6a08341c44117d7",
[]
],
- "keys.py": [
- "6b7d67e21e7eea7927a40ab094847b7224d49985",
- []
- ],
"pending-userinfo-iframe.html": [
"da2cd26066abd87eaa04d5ade3845424d49de103",
[]
],
- "request-params-check.py": [
- "08c28e32b7942d6db83f7b9c2e4664c9cf47987f",
- []
- ],
"simple.html": [
"d62419ce8a0ac12a85f5b8e595a874714b038b44",
[]
@@ -392243,6 +392526,10 @@
"661016619c0c46c113dedc57aa890f62b35e137c",
[]
],
+ "scope-featureless-ref.html": [
+ "b53c789544655dddf05bb40fb5cc8ad46622e0e2",
+ []
+ ],
"scope-pseudo-element-ref.html": [
"2ad6a0995a9e3bb9db0131eb2c42b19d09768fb4",
[]
@@ -392965,6 +393252,102 @@
"3e1f9b6a78416bd7c74759c5ad859001f101081e",
[]
],
+ "container-queries": {
+ "WEB_FEATURES.yml": [
+ "445ceb373f006b2741029c1360416dee2d3d7057",
+ []
+ ],
+ "change-display-in-container-ref.html": [
+ "8dd3b8b2c1dea6230357f8ff6ec1225154650094",
+ []
+ ],
+ "container-for-cue-ref.html": [
+ "40b0a07ae0183163576247a4adcf534345b068c1",
+ []
+ ],
+ "container-units-gradient-ref.html": [
+ "dbdabd9bc4ecee3eec34406e7fd13a1e04141978",
+ []
+ ],
+ "container-units-rule-cache-ref.html": [
+ "6c8261959f674aa8a80f1f1f8fda343e64450114",
+ []
+ ],
+ "container-units-sharing-via-rule-node-ref.html": [
+ "c664ce4ccf38f781834dfbdc4d38f8d7af57484b",
+ []
+ ],
+ "counters-ref.html": [
+ "303c1e89bdfe5449177a2d144f4be1e1760a80d5",
+ []
+ ],
+ "display-in-container-ref.html": [
+ "fd8e9ef0c10f523ff3347d5a71530f0adca66b4e",
+ []
+ ],
+ "fieldset-legend-change-ref.html": [
+ "b6e8dc603849e6691dc509b6c7085ea7a23d46b6",
+ []
+ ],
+ "inline-size-bfc-floats-ref.html": [
+ "ecd72b7516c41c83b6e8d320c9b0b87f9c231781",
+ []
+ ],
+ "inner-first-line-non-matching-ref.html": [
+ "99e9c334bf2c856535c7643911a3050390658a6f",
+ []
+ ],
+ "pseudo-elements-002-ref.html": [
+ "da96a826cffe697475ff552aafe97d72d613e9fb",
+ []
+ ],
+ "pseudo-elements-002b-ref.html": [
+ "5783b77fec394dbee9fe97bfd0925ffc1043dacb",
+ []
+ ],
+ "pseudo-elements-009-ref.html": [
+ "fe6fbb140b387701bbfbb6f82e65845c96715896",
+ []
+ ],
+ "pseudo-elements-010-ref.html": [
+ "a98a4023284ae0c489d8a6cb161e1b1f67ee4cf4",
+ []
+ ],
+ "resize-while-content-visibility-hidden-ref.html": [
+ "2a87df85b7aba82588c984e7c41132feb777f427",
+ []
+ ],
+ "size-container-with-quotes-ref.html": [
+ "e1822fa544ec91a113eaa911f69243d767eaf5cc",
+ []
+ ],
+ "support": {
+ "cq-testcommon.js": [
+ "2eaca1dd091cbf7c3a406fa02c2696d7a9c258e4",
+ []
+ ],
+ "test.vtt": [
+ "ffd1d4ca443d3c86e1c2076f0584ef9a7b4a049f",
+ []
+ ]
+ },
+ "svg-foreignobject-no-size-container-ref.html": [
+ "abf1af122baad9f9ae39640be4ebc56171b4db23",
+ []
+ ],
+ "svg-g-no-size-container-ref.html": [
+ "4f30c399399796410b47ca5a63b49c97509f9fad",
+ []
+ ],
+ "table-inside-container-changing-display-ref.html": [
+ "c0355d2f5019b8c7c1e0b387e2f9c3b1a0c1f81c",
+ []
+ ],
+ "top-layer-dialog-backdrop-ref.html": [
+ "49c46974c9de23284852d302b57b0ad206158d0f",
+ []
+ ]
+ },
"reference": {
"background-lime.html": [
"fcb243c7fb1f72c5cf1f995e0a3d9771ec5d71fd",
@@ -393235,102 +393618,6 @@
"feef9209f5c19f51233a2025108b66c63b58f34c",
[]
],
- "container-queries": {
- "WEB_FEATURES.yml": [
- "445ceb373f006b2741029c1360416dee2d3d7057",
- []
- ],
- "change-display-in-container-ref.html": [
- "8dd3b8b2c1dea6230357f8ff6ec1225154650094",
- []
- ],
- "container-for-cue-ref.html": [
- "40b0a07ae0183163576247a4adcf534345b068c1",
- []
- ],
- "container-units-gradient-ref.html": [
- "dbdabd9bc4ecee3eec34406e7fd13a1e04141978",
- []
- ],
- "container-units-rule-cache-ref.html": [
- "6c8261959f674aa8a80f1f1f8fda343e64450114",
- []
- ],
- "container-units-sharing-via-rule-node-ref.html": [
- "c664ce4ccf38f781834dfbdc4d38f8d7af57484b",
- []
- ],
- "counters-ref.html": [
- "303c1e89bdfe5449177a2d144f4be1e1760a80d5",
- []
- ],
- "display-in-container-ref.html": [
- "fd8e9ef0c10f523ff3347d5a71530f0adca66b4e",
- []
- ],
- "fieldset-legend-change-ref.html": [
- "b6e8dc603849e6691dc509b6c7085ea7a23d46b6",
- []
- ],
- "inline-size-bfc-floats-ref.html": [
- "ecd72b7516c41c83b6e8d320c9b0b87f9c231781",
- []
- ],
- "inner-first-line-non-matching-ref.html": [
- "99e9c334bf2c856535c7643911a3050390658a6f",
- []
- ],
- "pseudo-elements-002-ref.html": [
- "da96a826cffe697475ff552aafe97d72d613e9fb",
- []
- ],
- "pseudo-elements-002b-ref.html": [
- "5783b77fec394dbee9fe97bfd0925ffc1043dacb",
- []
- ],
- "pseudo-elements-009-ref.html": [
- "fe6fbb140b387701bbfbb6f82e65845c96715896",
- []
- ],
- "pseudo-elements-010-ref.html": [
- "a98a4023284ae0c489d8a6cb161e1b1f67ee4cf4",
- []
- ],
- "resize-while-content-visibility-hidden-ref.html": [
- "2a87df85b7aba82588c984e7c41132feb777f427",
- []
- ],
- "size-container-with-quotes-ref.html": [
- "e1822fa544ec91a113eaa911f69243d767eaf5cc",
- []
- ],
- "support": {
- "cq-testcommon.js": [
- "2eaca1dd091cbf7c3a406fa02c2696d7a9c258e4",
- []
- ],
- "test.vtt": [
- "ffd1d4ca443d3c86e1c2076f0584ef9a7b4a049f",
- []
- ]
- },
- "svg-foreignobject-no-size-container-ref.html": [
- "abf1af122baad9f9ae39640be4ebc56171b4db23",
- []
- ],
- "svg-g-no-size-container-ref.html": [
- "4f30c399399796410b47ca5a63b49c97509f9fad",
- []
- ],
- "table-inside-container-changing-display-ref.html": [
- "c0355d2f5019b8c7c1e0b387e2f9c3b1a0c1f81c",
- []
- ],
- "top-layer-dialog-backdrop-ref.html": [
- "49c46974c9de23284852d302b57b0ad206158d0f",
- []
- ]
- },
"content-visibility": {
"WEB_FEATURES.yml": [
"bf7ea3fd50d60d298034656065ad7e1d17b1d7fe",
@@ -394451,7 +394738,7 @@
[]
],
"disclosure-styles-ref.html": [
- "a1dafa7560fbe424bbf160e4484603e973dbf0e3",
+ "d9191d6e542d2f9072a3ba03a9f612c7c241cb2a",
[]
],
"empty-string-symbol-notref.html": [
@@ -411908,8 +412195,20 @@
"252633b0581a6b2cd09244b0b000b7e7f7effdb8",
[]
],
+ "background-001-print-ref.html": [
+ "d43af0ca4bfef4f4ed8f24cec818741c4fd61c5c",
+ []
+ ],
"content-001-print-ref.html": [
- "bd3ba7e0ccf47a6b18b548cccf0b01ae62e5212b",
+ "00c44928daa664661b5650443faf92fd2b7bc351",
+ []
+ ],
+ "content-002-print-ref.html": [
+ "a1452bc916183e4cf49cac7eab6b884bafd02be6",
+ []
+ ],
+ "content-003-print-ref.html": [
+ "ba45b88cd4d84e429c97796d5941fe999e0143fd",
[]
],
"dimensions-001-print-ref.html": [
@@ -418002,6 +418301,10 @@
"letter-spacing-percent-001-ref.html": [
"1025ecb67cda6ffbb108566279dbc9ba7311eb72",
[]
+ ],
+ "letter-spacing-trim-start-001-ref.html": [
+ "d684934983024f8198cfeb3fb0648985de175d7e",
+ []
]
},
"support": {
@@ -426107,6 +426410,10 @@
[]
],
"reference": {
+ "border-spacing-ref.html": [
+ "df01e965a27404c85784f8a86dda9bba7ceb7ddb",
+ []
+ ],
"iframe-zoom-nested-ref.html": [
"fcdc16b1fb784f829bd1d964f04987737abfe02f",
[]
@@ -426118,6 +426425,34 @@
"letter-spacing-ref.html": [
"7d050672c4eae54a27f888957173eb62f4a451ec",
[]
+ ],
+ "list-style-image-ref.html": [
+ "c9f5f53b24dd194734448c147c347e48cad88ee2",
+ []
+ ],
+ "stroke-ref.html": [
+ "75742b1dc34e522a202bdedf7e4e66d472edc922",
+ []
+ ],
+ "text-indent-ref.html": [
+ "6dc0f8527c289c66a90fa7e109fc2aeed60b7959",
+ []
+ ],
+ "text-shadow-ref.html": [
+ "0538ba2c538ba4daa096a12d8721474836009fea",
+ []
+ ],
+ "text-stroke-width-ref.html": [
+ "d1c675fc77d14f2238221aa2cb1a86a5a02a1069",
+ []
+ ],
+ "text-underline-offset-ref.html": [
+ "11b61e0acaa286cb222031afa0ab6ea8a60f3e34",
+ []
+ ],
+ "word-spacing-ref.html": [
+ "02ace8352adde979c0eb4df39aebc3e342093172",
+ []
]
},
"relative-units-from-parent-ref.html": [
@@ -426146,6 +426481,10 @@
[]
]
},
+ "svg-path-ref.html": [
+ "29f4d3bbff481991354be360948e92334f6043dd",
+ []
+ ],
"svg-ref.html": [
"10bf2decaa74ae0108c86d5b97ad0480f85bf307",
[]
@@ -434696,19 +435035,19 @@
"fedcm": {
"support": {
"accounts.py": [
- "126f911a58c80a62de06b6062cdb4488549471b9",
+ "c0117862816ff4668b6dd9416633bee6eb9af227",
[]
],
"accounts_check_same_site_strict.py": [
- "796ac003cbc0bb34773b50c1c5de4351aae8dddd",
+ "27a5d6a5b3e393bdf9b017a2adfd780c0c1d85bb",
[]
],
"accounts_no_approved_clients.py": [
- "faea06edc363067b83ce23391e75d254cf9eea76",
+ "1820376034e5e1bcb23b23e840dba95b8db3472b",
[]
],
"client_metadata.py": [
- "72ddcc5cd62569fa280adcab9490e84b851e6780",
+ "57390015bddc355729aaac35fdb768098d7e5d31",
[]
],
"client_metadata.py.headers": [
@@ -434716,15 +435055,15 @@
[]
],
"client_metadata_clear_count.py": [
- "0e52d99c1dd23a238daa64869ac0787d6010faba",
+ "bbce7a45f75a8afaa87e4b5fe181ff902c2bcc9c",
[]
],
"continue_on.py": [
- "2a580e0f3f4fd525c3826795f5bfd05eb0a55675",
+ "0195e478e2975d37cbe8aaa58141caf15aa797bc",
[]
],
"disconnect.py": [
- "cf62ceda22515dd036cdea9fec4de7305b4a51b4",
+ "13131fa1f30217fe5d83b244410f740b14b1bda2",
[]
],
"disconnect_failure.py": [
@@ -434732,7 +435071,11 @@
[]
],
"error_with_code_and_url.py": [
- "71bfea00f463051e7bd496cf1c28f25208e2b41e",
+ "609d49c76bc269053d9827766483057bf66a7234",
+ []
+ ],
+ "keys.py": [
+ "6b7d67e21e7eea7927a40ab094847b7224d49985",
[]
],
"login.html": [
@@ -434748,7 +435091,7 @@
[]
],
"manifest.py": [
- "a40fc100eee697ed7dcd451626409af18606442e",
+ "ed984a42387198f95b2510041e5f73758541e9d3",
[]
],
"manifest_check_disclosure_shown_false.json": [
@@ -434820,7 +435163,11 @@
[]
],
"no_accounts.py": [
- "8767c50afb470d994b67b0486791b6835a8f558f",
+ "fad93088db5b9204c890fea871574c8b7d1ee4f8",
+ []
+ ],
+ "request-params-check.py": [
+ "08c28e32b7942d6db83f7b9c2e4664c9cf47987f",
[]
],
"resolve.html": [
@@ -434828,7 +435175,7 @@
[]
],
"select_manifest_in_root_manifest.py": [
- "d4f1efff6a74c7636f60cba35b4eff010fccfd29",
+ "4b3e7964f0fbb7a6031f30a6264407bb0759b82b",
[]
],
"set_accounts_cookie.py": [
@@ -434836,47 +435183,47 @@
[]
],
"single_account.py": [
- "7c8906ae7b97d281b22049266076c0ff72f62385",
+ "000a23d925c8ce58e2b6d578badc3957cc8c9381",
[]
],
"token.py": [
- "7ec81c390a9ea116e0a1809e08159a1d1c40e5a1",
+ "f4ad108d8d5159a1fc130b0a1dc6fc3bea229f32",
[]
],
"token_check_disclosure_shown_false.py": [
- "a25a14af694848e65ed7c2943b3482910d20c355",
+ "d10f839f028aa08ae856d3bd41f031f57db0c26d",
[]
],
"token_check_disclosure_shown_true.py": [
- "00b755b920cd999b4bc91af63ed70071a71c634a",
+ "7c5e53c8e8f4979d2d3e5e81aca63f8d872387c2",
[]
],
"token_check_same_site_strict.py": [
- "4e55bf27f610032b30eb3278ddd0f7db4716efef",
+ "f030b9b6fd5365baf5013931207345f13f835bde",
[]
],
"token_with_account_id.py": [
- "04e7b5b56b9e560b8ebdaef150ef5037aeb18be0",
+ "de3a7662d1897398378d5bb834f2321037d504e3",
[]
],
"token_with_auto_selected_flag.py": [
- "3e011ce788c88aae5363d367a6c653b655867354",
+ "d59da115c1006d633cdacbaec2933320be7b83cc",
[]
],
"token_with_http_error.py": [
- "05b9945ba80dad9fd3bf87a467d50a7f4e9d3071",
+ "ea14b6f528df490b24c10ba68875b9096febf0eb",
[]
],
"token_with_rp_mode.py": [
- "add634c99bb959eefe821ffad9bb12d9e2a904a2",
+ "a75d512025e967ec3fbd44b28423716b1757f1e9",
[]
],
"two_accounts.py": [
- "4022561ff78321d91605b07f76d03a1f8deb5297",
+ "b59d6a0965974b32371a55176b33b6d3c0def5b0",
[]
],
"variable_accounts.py": [
- "fc4446acc49e4e1538a10478e3aa744ccc495db2",
+ "73d694227117d2ad5379a984e0eb2690bb75fe2f",
[]
]
}
@@ -439627,7 +439974,7 @@
[]
],
"executor-window.py": [
- "1a660100b9cca765464281fecf167b49a71b6f99",
+ "733d36b15edcdec6a957866942aad0d82ac6cc43",
[]
],
"executor-worker.js": [
@@ -439635,7 +439982,7 @@
[]
],
"remote-context-helper.js": [
- "fc04f950d286c26173aa670ccafc66b72d32c352",
+ "aca83720254308ee660f649a6e6794531c451822",
[]
]
}
@@ -439643,7 +439990,7 @@
"remote-context-helper-tests": {
"resources": {
"test-helper.js": [
- "71cd87e55391f6f9d3868f3b13f4922703fbcd58",
+ "a277ca24ace2d4fc331dc346b0bc35ddad7020a3",
[]
],
"test-script.js": [
@@ -442889,6 +443236,14 @@
"fb3b5b830d345d2aa858e41673e08f99977baf08",
[]
],
+ "2d.text.drawing.style.reset.fontKerning.none2-expected.html": [
+ "5b64983325343a08b5fce7b1273952cbd2695911",
+ []
+ ],
+ "2d.text.fontVariantCaps.after.reset.font-expected.html": [
+ "049f9a82f440293b1a4c3db160e7b5f5d17050a3",
+ []
+ ],
"2d.text.fontVariantCaps1-expected.html": [
"e2cef0d77a64b17657bdfe99194930c5328cc3e8",
[]
@@ -443307,6 +443662,14 @@
"fb3b5b830d345d2aa858e41673e08f99977baf08",
[]
],
+ "2d.text.drawing.style.reset.fontKerning.none2-expected.html": [
+ "5b64983325343a08b5fce7b1273952cbd2695911",
+ []
+ ],
+ "2d.text.fontVariantCaps.after.reset.font-expected.html": [
+ "049f9a82f440293b1a4c3db160e7b5f5d17050a3",
+ []
+ ],
"2d.text.fontVariantCaps1-expected.html": [
"e2cef0d77a64b17657bdfe99194930c5328cc3e8",
[]
@@ -443550,7 +443913,7 @@
[]
],
"text.yaml": [
- "22ec2f66b5b57d05052696121a9fc05bb98d38cb",
+ "49edd754c85b92229a45fd3b5b610190cd287804",
[]
],
"the-canvas-state.yaml": [
@@ -444327,6 +444690,10 @@
"59f039ed3e0596e02c55673bc1ca97e82311f358",
[]
],
+ "isolate-and-require-corp-load-from-cache-storage.tentative.https.html.headers": [
+ "33ff090f6dadf3a4e84fb26982a68df3e3975f35",
+ []
+ ],
"isolate-and-require-corp.tentative.https.html.headers": [
"bcc6f0734d580474a8bd25f25d4662f175cdc39b",
[]
@@ -444360,6 +444727,10 @@
"c5f2c3cc2c3b5fe88d59fb86ed112c2fa2964d69",
[]
],
+ "sw-store-to-cache-storage.js": [
+ "00b9e9395a7ec2171b3fee9d75f6ccb1d46ee60f",
+ []
+ ],
"worker-support.js": [
"349b4eb9117b1c397e656435c8c1adf85964baa8",
[]
@@ -449602,10 +449973,6 @@
"b2a03da5103ec6c1b18064b2e979bf9e7d563ee1",
[]
],
- "details-display-property-is-ignored-ref.html": [
- "6ebed6075de1e8cf62db7bee756b05d3e425e0ab",
- []
- ],
"details-display-type-001-ref2.html": [
"4349df38d6aabc9bcc98a5a2666139a6d52a8881",
[]
@@ -470855,7 +471222,7 @@
"animations": {
"support": {
"animated-path-helpers.js": [
- "3f6fffb9078b74ea674951d1299e2a29ce1f93ac",
+ "8fd4492265c2eb8aa00fb173bd8d625f119adaac",
[]
]
}
@@ -472914,7 +473281,7 @@
[]
],
"serve.py": [
- "ee48884137171779ac66cd2a24a28c31fc49d382",
+ "6afe6f9dd7a048bd0b8c8e25260cbb92d44fe12b",
[]
],
"test_functional.py": [
@@ -483159,7 +483526,7 @@
[]
],
"browsing_context.py": [
- "f2d2fad858c21edc2ca9618cf5c84a3ac96428ca",
+ "7f3f7c50e59569cf9c9e36ef86899c306b6987eb",
[]
],
"input.py": [
@@ -483209,7 +483576,7 @@
[]
],
"transport.py": [
- "e5ed3473ed4b0d1c3592040ee227002d1ddddc05",
+ "ca1ff74ef96767afa76c200b159671d99762cb84",
[]
]
}
@@ -483610,7 +483977,7 @@
[]
],
"base.py": [
- "f0264173b18580a33d0b403fb32f3b2acf1c47e1",
+ "2c88f10e0edfc5b3789ccca5271a2a3dbc4de450",
[]
],
"executorchrome.py": [
@@ -483827,7 +484194,7 @@
[]
],
"test_webkitgtk.py": [
- "b5fc5fce5fe42898bf833669f90a512bd12d5665",
+ "983ed162fd4a01d95615dc0b298f031dd6138f11",
[]
]
},
@@ -487090,7 +487457,7 @@
},
"browsing_context": {
"__init__.py": [
- "a60940d370fdd7f5e1b25fbdd6bbbc504c8669c1",
+ "606ac071ed7b1def5316d84a5c29ca00d7187da5",
[]
],
"activate": {
@@ -487320,7 +487687,7 @@
},
"network": {
"__init__.py": [
- "319d90d3defe97af3a358a3444e651fca3bc2df0",
+ "00fc5e3c71b3d151be7aa8f4c48d93d565ffba97",
[]
],
"add_intercept": {
@@ -487348,7 +487715,7 @@
]
},
"conftest.py": [
- "97f392b0818e4eb4ba6cb23105e9055da7b75af5",
+ "591e3b42d6ef0f8d4bd64654f3d0d3fb13ff929b",
[]
],
"continue_request": {
@@ -487430,6 +487797,18 @@
"e45c9c2666d44e0327c1f9c239a74c508336053e",
[]
],
+ "provide_response.css": [
+ "3eaf736611d9d09e7d2e45778fa49949fb12567c",
+ []
+ ],
+ "provide_response.html": [
+ "b41e61ac2df48a35d604c3a285c5dfab9309ad18",
+ []
+ ],
+ "provide_response.js": [
+ "dca29b8346ec2128efb98b9750cc7826698d00e8",
+ []
+ ],
"redirect_http_equiv.html": [
"9b588c67ef8d610fcf8228b17c01044193d195bb",
[]
@@ -488029,7 +488408,7 @@
},
"support": {
"__init__.py": [
- "0535edd2142e39aad37cc1a0ca58dca1fa01164a",
+ "8b137891791fe96927ad78e64b0aad7bded08bdc",
[]
],
"asserts.py": [
@@ -488045,7 +488424,7 @@
[]
],
"fixtures.py": [
- "55256425f391b3959fa342d4b651329b94d48b89",
+ "a8f1f2959d4acb02776fc7cc2440fc00f408f50c",
[]
],
"fixtures_bidi.py": [
@@ -488057,7 +488436,7 @@
[]
],
"helpers.py": [
- "2b810be8a99a9fe143d90a588816ad0829c99542",
+ "0ca5bd28269a831ccdbcfdcbcb0eb748f308495f",
[]
],
"html": {
@@ -488690,7 +489069,7 @@
[]
],
"utils_validation.js": [
- "7ef52497a9ab521f7c48e26a29b2d075e234e822",
+ "2ac308242a133772b3735b408937730b8b0bbb92",
[]
]
}
@@ -494574,13 +494953,6 @@
}
]
],
- "bigint_value.htm": [
- "acdeebb76f50ae4cbee33a4654af25c270004bcc",
- [
- null,
- {}
- ]
- ],
"bindings-inject-keys-bypass.any.js": [
"a32a7a6633883c122ae7774e74999e5d7844de49",
[
@@ -495524,60 +495896,83 @@
{}
]
],
- "idbcursor_continue_index.htm": [
- "cfc0ae3fe9f9f909b3416f3226f36679402fe77d",
- [
- null,
- {}
- ]
- ],
- "idbcursor_continue_index2.htm": [
- "56b9218fd199f9c5704891689e9e19c2e0b9a42e",
- [
- null,
- {}
- ]
- ],
- "idbcursor_continue_index3.htm": [
- "b9f594540288054df9c9c7c76f4d1ce7a7f3a49b",
- [
- null,
- {}
- ]
- ],
- "idbcursor_continue_index4.htm": [
- "f851b87ddf0bc880079fea4b24fa8ad48c38b5b7",
- [
- null,
- {}
- ]
- ],
- "idbcursor_continue_index5.htm": [
- "3e70873bbbdbacce7264d6eecebccf84d9c7360b",
+ "idbcursor_continue_index.any.js": [
+ "2ac55bce9cb109ea9ae78fa83e1fe5cd8a9b0c36",
[
- null,
- {}
- ]
- ],
- "idbcursor_continue_index6.htm": [
- "1933bfcf990ba2e40605c51dd22d5ab5f8faaaab",
+ "IndexedDB/idbcursor_continue_index.any.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IDBCursor.continue()"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
+ ],
[
- null,
- {}
- ]
- ],
- "idbcursor_continue_index7.htm": [
- "61bfe85b2749e8d21629a973e4015b18aace6201",
+ "IndexedDB/idbcursor_continue_index.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IDBCursor.continue()"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
+ ],
[
- null,
- {}
- ]
- ],
- "idbcursor_continue_index8.htm": [
- "e4cbe7261f3957b3d3dd733a3fcd41e5a54d2d92",
+ "IndexedDB/idbcursor_continue_index.any.sharedworker.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IDBCursor.continue()"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
+ ],
[
- null,
- {}
+ "IndexedDB/idbcursor_continue_index.any.worker.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IDBCursor.continue()"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
]
],
"idbcursor_continue_invalid.htm": [
@@ -499739,11 +500134,83 @@
{}
]
],
- "value.htm": [
- "32d7540ab37581d0abed91b8c2d635a2fe59f341",
+ "value.any.js": [
+ "d4fa6f520ccca59887288aa1b4fd595506db5608",
[
- null,
- {}
+ "IndexedDB/value.any.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IndexedDB: keys and values"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "IndexedDB/value.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IndexedDB: keys and values"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "IndexedDB/value.any.sharedworker.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IndexedDB: keys and values"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "IndexedDB/value.any.worker.html",
+ {
+ "script_metadata": [
+ [
+ "global",
+ "window,worker"
+ ],
+ [
+ "title",
+ "IndexedDB: keys and values"
+ ],
+ [
+ "script",
+ "resources/support.js"
+ ]
+ ]
+ }
]
],
"value_recursive.htm": [
@@ -508122,7 +508589,7 @@
]
],
"header-parsing-error-debug-report.sub.https.html": [
- "3c3ebe48d9f4664b0e5813918020855bacc4015d",
+ "fb674c9720e812efb0087a922e7c7a2cac2a8fe6",
[
null,
{
@@ -508131,7 +508598,7 @@
]
],
"referrer-policy.sub.https.html": [
- "ee4e0c9a8c1e54f442d9b2d6f9de509351bab71b",
+ "5f5857e2c415f73bbe961e551175835acc02d0b3",
[
"attribution-reporting/referrer-policy.sub.https.html?method=a",
{
@@ -508190,7 +508657,7 @@
]
],
"request-format.sub.https.html": [
- "83a2d8f6bdfe786c7f01862840b4ed716ddae813",
+ "5965f53299af7d5512b0024b1692591ef1ba77a1",
[
"attribution-reporting/request-format.sub.https.html?method=a&expected-eligible=navigation-source",
{
@@ -532138,6 +532605,13 @@
{}
]
],
+ "anchor-transition-focus.html": [
+ "4533fa80e4dd28480306013968c574950a15288e",
+ [
+ null,
+ {}
+ ]
+ ],
"anchor-transition-name.html": [
"ea7b403e6120ee31796e5f6e1c8e1cc3f9cb9514",
[
@@ -536362,157 +536836,6 @@
{}
]
],
- "idlharness.html": [
- "63cf750933737d3a221ccb48d2a667c110dd0bf9",
- [
- null,
- {}
- ]
- ],
- "js": {
- "001.html": [
- "bafb840d3120852a40529b5e0d8b704918cbbb2a",
- [
- null,
- {}
- ]
- ],
- "CSS-supports-CSSStyleDeclaration.html": [
- "daec039e406d51bfe67587ed096a74d20bbeeee7",
- [
- null,
- {}
- ]
- ],
- "CSS-supports-L3.html": [
- "f94933422a31d8db9bf3c84c7fd1717887519796",
- [
- null,
- {}
- ]
- ],
- "CSS-supports-L4.html": [
- "2250e2be749465f57482ffe21167fe626e493391",
- [
- null,
- {}
- ]
- ],
- "CSS-supports-L5.html": [
- "b87d6e8fdfcbc1d773b2df3fbb63abd138230e7b",
- [
- null,
- {}
- ]
- ],
- "CSS-supports-selector-detecting-invalid-in-logical-combinations.html": [
- "3adcd7ae2e62bd76130b3ecf2b903e1401b23c77",
- [
- null,
- {}
- ]
- ],
- "conditional-CSSGroupingRule.html": [
- "bde92d7091bd0ace1320acb5d0d8f56c33def22e",
- [
- null,
- {}
- ]
- ],
- "supports-conditionText.html": [
- "ea74077dfd0070edd9e8ae4f2ab092bf369ce268",
- [
- null,
- {}
- ]
- ]
- }
- },
- "css-contain": {
- "contain-chrome-thcrash-001.html": [
- "c7c03bca106c84678ac06e52c506198af0948228",
- [
- null,
- {}
- ]
- ],
- "contain-flexbox-outline.html": [
- "39cf81688e0a294d542cf18a72ec1e808d7bc546",
- [
- null,
- {}
- ]
- ],
- "contain-inline-size-replaced.html": [
- "71c9fd77117c5441bf18fc52d21b0476507f8122",
- [
- null,
- {}
- ]
- ],
- "contain-layout-dynamic-001.html": [
- "428d2b9d4d9c4866891288f6caef1f7962cb0d80",
- [
- null,
- {}
- ]
- ],
- "contain-paint-049.html": [
- "49cdc9beca09c9dbf66607342ba8936c6a817225",
- [
- null,
- {}
- ]
- ],
- "contain-paint-dynamic-001.html": [
- "899b5643c1a00358ee4b908b0e1ba813f4407783",
- [
- null,
- {}
- ]
- ],
- "contain-size-dynamic-001.html": [
- "f670d301c563e9317a0558a66609159c65b474eb",
- [
- null,
- {}
- ]
- ],
- "contain-size-grid-003.html": [
- "44b736b1d6b62ec5c4fc0e6fb3314095df6a27f4",
- [
- null,
- {}
- ]
- ],
- "contain-size-grid-004.html": [
- "c333c03298c7049292913f3e21de52eb0564c8d2",
- [
- null,
- {}
- ]
- ],
- "contain-size-grid-006.html": [
- "7bfbac1c6c7fb0bc0f97957a402981193dbd1585",
- [
- null,
- {}
- ]
- ],
- "contain-size-multicol-as-flex-item.html": [
- "19aa12262f9a7dc35f3682b1f7baa3c12949a906",
- [
- null,
- {}
- ]
- ],
- "contain-style-dynamic-001.html": [
- "dfd4032ac55729bff8b781a86ad17a2d1168ac02",
- [
- null,
- {}
- ]
- ],
"container-queries": {
"animation-container-size.html": [
"fefb721cbc9a49296e76fb6194a6702b5211816d",
@@ -537320,6 +537643,157 @@
]
]
},
+ "idlharness.html": [
+ "63cf750933737d3a221ccb48d2a667c110dd0bf9",
+ [
+ null,
+ {}
+ ]
+ ],
+ "js": {
+ "001.html": [
+ "bafb840d3120852a40529b5e0d8b704918cbbb2a",
+ [
+ null,
+ {}
+ ]
+ ],
+ "CSS-supports-CSSStyleDeclaration.html": [
+ "daec039e406d51bfe67587ed096a74d20bbeeee7",
+ [
+ null,
+ {}
+ ]
+ ],
+ "CSS-supports-L3.html": [
+ "f94933422a31d8db9bf3c84c7fd1717887519796",
+ [
+ null,
+ {}
+ ]
+ ],
+ "CSS-supports-L4.html": [
+ "2250e2be749465f57482ffe21167fe626e493391",
+ [
+ null,
+ {}
+ ]
+ ],
+ "CSS-supports-L5.html": [
+ "b87d6e8fdfcbc1d773b2df3fbb63abd138230e7b",
+ [
+ null,
+ {}
+ ]
+ ],
+ "CSS-supports-selector-detecting-invalid-in-logical-combinations.html": [
+ "3adcd7ae2e62bd76130b3ecf2b903e1401b23c77",
+ [
+ null,
+ {}
+ ]
+ ],
+ "conditional-CSSGroupingRule.html": [
+ "bde92d7091bd0ace1320acb5d0d8f56c33def22e",
+ [
+ null,
+ {}
+ ]
+ ],
+ "supports-conditionText.html": [
+ "ea74077dfd0070edd9e8ae4f2ab092bf369ce268",
+ [
+ null,
+ {}
+ ]
+ ]
+ }
+ },
+ "css-contain": {
+ "contain-chrome-thcrash-001.html": [
+ "c7c03bca106c84678ac06e52c506198af0948228",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-flexbox-outline.html": [
+ "39cf81688e0a294d542cf18a72ec1e808d7bc546",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-inline-size-replaced.html": [
+ "71c9fd77117c5441bf18fc52d21b0476507f8122",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-layout-dynamic-001.html": [
+ "428d2b9d4d9c4866891288f6caef1f7962cb0d80",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-paint-049.html": [
+ "49cdc9beca09c9dbf66607342ba8936c6a817225",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-paint-dynamic-001.html": [
+ "899b5643c1a00358ee4b908b0e1ba813f4407783",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-size-dynamic-001.html": [
+ "f670d301c563e9317a0558a66609159c65b474eb",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-size-grid-003.html": [
+ "44b736b1d6b62ec5c4fc0e6fb3314095df6a27f4",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-size-grid-004.html": [
+ "c333c03298c7049292913f3e21de52eb0564c8d2",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-size-grid-006.html": [
+ "7bfbac1c6c7fb0bc0f97957a402981193dbd1585",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-size-multicol-as-flex-item.html": [
+ "19aa12262f9a7dc35f3682b1f7baa3c12949a906",
+ [
+ null,
+ {}
+ ]
+ ],
+ "contain-style-dynamic-001.html": [
+ "dfd4032ac55729bff8b781a86ad17a2d1168ac02",
+ [
+ null,
+ {}
+ ]
+ ],
"container-type-important.html": [
"e95a50998403a0683403e42d81db46b16c769a03",
[
@@ -548684,6 +549158,27 @@
},
"css-page": {
"cssom": {
+ "margin-001.html": [
+ "29c38b2f98e854f79b385349e3bf05c64c25e20a",
+ [
+ null,
+ {}
+ ]
+ ],
+ "margin-002.html": [
+ "45308947a6ed8f723039af066b5b73df9888c112",
+ [
+ null,
+ {}
+ ]
+ ],
+ "margin-003.html": [
+ "8b0ba4825ffe0faa000431fbd60b14412c4fe19c",
+ [
+ null,
+ {}
+ ]
+ ],
"page-001.html": [
"2f6b4dde0500cf7ef40b2187708539523472d33a",
[
@@ -556997,6 +557492,15 @@
{}
]
],
+ "letter-spacing": {
+ "letter-spacing-trim-start-002.html": [
+ "438cf40018cbf88d4aa3b8ccaa163d9ef87b5b75",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"line-breaking": {
"line-breaking-020.html": [
"7c8d0f119edb5ef768b37a5a41b8df9bb9e59600",
@@ -563640,6 +564144,13 @@
]
]
},
+ "various-values-important.html": [
+ "2dc34bf446f1cfdcdd3118573b7182315dc16756",
+ [
+ null,
+ {}
+ ]
+ ],
"viewport-relative-lengths-scaled-viewport.html": [
"dba2af8fa07b07d2ab7c6ca9f657b6e170cd9a41",
[
@@ -569840,6 +570351,13 @@
{}
]
],
+ "nth-child-whole-subtree.html": [
+ "36442a0e36f51a0aea7b9178964e99ae9b0dd361",
+ [
+ null,
+ {}
+ ]
+ ],
"part-dir.html": [
"6672d267be3dfd97430a5f5eb63bac2c0e1a48d9",
[
@@ -596894,6 +597412,13 @@
{}
]
],
+ "webrtc-peer-connection.https.html": [
+ "fdb42be46f821007d62330c863a693b7815dd53b",
+ [
+ null,
+ {}
+ ]
+ ],
"window-close.https.html": [
"b581a0324c594890198c85126bc9905e79574673",
[
@@ -628875,7 +629400,7 @@
]
],
"addIframe-srcdoc.window.js": [
- "1a959cbaf05095a3682ea7ba99a8f618415d4090",
+ "054bdcf787665763f26f44ae5e9444eb1a259f4a",
[
"html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-srcdoc.window.html",
{
@@ -628908,6 +629433,197 @@
}
]
],
+ "addIframe-urlType.window.js": [
+ "2b333f37594d76911d342a4fda0ad26bb21e732f",
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.html?urlType=blank",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextWrapper addIframe"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=data"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ],
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.html?urlType=blob",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextWrapper addIframe"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=data"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ],
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.html?urlType=data",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextWrapper addIframe"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=data"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ],
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.html?urlType=origin",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextWrapper addIframe"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=data"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ]
+ ],
"addIframe.window.js": [
"c1630e46800ea37dcd0d961776b2bc467c82be5a",
[
@@ -629214,6 +629930,172 @@
}
]
],
+ "addWindow-urlType-data.window.js": [
+ "edcff5843c0587e7bb26891d5111119f96bf2aaf",
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType-data.window.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextHelper addWindow with extra config"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ]
+ ]
+ }
+ ]
+ ],
+ "addWindow-urlType.window.js": [
+ "66a725769be83168ec5daad40b74d10bfa3af2e3",
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.html?urlType=blank",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextHelper addWindow with urlType"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ],
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.html?urlType=blob",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextHelper addWindow with urlType"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ],
+ [
+ "html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.html?urlType=origin",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "RemoteContextHelper addWindow with urlType"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "./resources/test-helper.js"
+ ],
+ [
+ "variant",
+ "?urlType=origin"
+ ],
+ [
+ "variant",
+ "?urlType=blob"
+ ],
+ [
+ "variant",
+ "?urlType=blank"
+ ]
+ ]
+ }
+ ]
+ ],
"addWorker.window.js": [
"3778ad3e5235273951f216de1534afc180c26e6f",
[
@@ -640582,7 +641464,7 @@
]
],
"2d.text.drawing.style.fontStretch.settings.html": [
- "b19eced89171199dcfb57f1d5aea4b8f7e83c427",
+ "bbb5757083dd70e7d158d8da6e8a40aa90713b23",
[
null,
{}
@@ -640644,6 +641526,20 @@
{}
]
],
+ "2d.text.drawing.style.reset.TextRendering.html": [
+ "b66a30ed3ffcea3d636b00e4ca5f3beb898878a5",
+ [
+ null,
+ {}
+ ]
+ ],
+ "2d.text.drawing.style.reset.fontKerning.none.html": [
+ "eab7c2ce34730f3cef81d8a48a7a9a3ec509c985",
+ [
+ null,
+ {}
+ ]
+ ],
"2d.text.drawing.style.textRendering.settings.html": [
"dee856842ae8e764ddf454e77749c098e8d8ce6d",
[
@@ -653858,14 +654754,14 @@
]
],
"2d.text.drawing.style.fontStretch.settings.html": [
- "95405a18a5682c2eb954b37d150a0f0c54f31af4",
+ "8ea464fca97d227e7dc9dc85d588abc9262b7155",
[
null,
{}
]
],
"2d.text.drawing.style.fontStretch.settings.worker.js": [
- "ff10a742b5843ced57142d1678010082625a940f",
+ "43eca790fe0dc0cd22087ed75e316bc1234d1fba",
[
"html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.worker.html",
{}
@@ -653983,6 +654879,34 @@
{}
]
],
+ "2d.text.drawing.style.reset.TextRendering.html": [
+ "60acc11d7b11fadfa11ac4750ac42d1072ca7a06",
+ [
+ null,
+ {}
+ ]
+ ],
+ "2d.text.drawing.style.reset.TextRendering.worker.js": [
+ "01c8f9fdc46e7441bf645e7d0d4de8a6fa1ba589",
+ [
+ "html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.html",
+ {}
+ ]
+ ],
+ "2d.text.drawing.style.reset.fontKerning.none.html": [
+ "35b98f448111a1682df7e595ca006790903911ee",
+ [
+ null,
+ {}
+ ]
+ ],
+ "2d.text.drawing.style.reset.fontKerning.none.worker.js": [
+ "8abac3c3a1120a1996177544febf6b82091af956",
+ [
+ "html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.html",
+ {}
+ ]
+ ],
"2d.text.drawing.style.textRendering.settings.html": [
"52b34deaab91bc90888dd6e36cb7cc09f305bbcb",
[
@@ -658779,6 +659703,13 @@
}
},
"document-isolation-policy": {
+ "isolate-and-require-corp-load-from-cache-storage.tentative.https.html": [
+ "c78835328b27f2d364f9b67c00cea0be480ee992",
+ [
+ null,
+ {}
+ ]
+ ],
"isolate-and-require-corp.tentative.https.html": [
"df4bd47f28e4ea4d0db0fcc141045dd889f07e3a",
[
@@ -663942,7 +664873,7 @@
{}
]
],
- "details-display.tentative.html": [
+ "details-display.html": [
"27573bcdc695f057b754c5264342b8390801fee2",
[
null,
@@ -674289,7 +675220,7 @@
]
],
"popover-focus.html": [
- "230492022c045f20a4dad4dcb8a779930371429f",
+ "25a6c2da536355fb1ddffc4587b18acff3421c0a",
[
null,
{
@@ -684952,7 +685883,16 @@
]
],
"roles-generic.html": [
- "e6ff46b0662529fbb778e9bd47e0ba8d11733103",
+ "e64d88e3d010f1e1335d16e9f7dcaac0120dae22",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "roles-generic.tentative.html": [
+ "09a39d2e635c5cfbb35a0a9786fbc139477dbd88",
[
null,
{
@@ -694006,7 +694946,7 @@
]
],
"MediaRecorder-canvas-media-source.https.html": [
- "0680c218795b1e217376177bea6f14b0e1a11a40",
+ "c2758914ac1692f2b313cf0abcc38ce364b89f9d",
[
"mediacapture-record/MediaRecorder-canvas-media-source.https.html?mimeType=''",
{
@@ -694022,6 +694962,20 @@
}
],
[
+ "mediacapture-record/MediaRecorder-canvas-media-source.https.html?mimeType=video/mp4;codecs=av01,mp4a.40.2",
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ],
+ [
+ "mediacapture-record/MediaRecorder-canvas-media-source.https.html?mimeType=video/mp4;codecs=av01,opus",
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ],
+ [
"mediacapture-record/MediaRecorder-canvas-media-source.https.html?mimeType=video/mp4;codecs=avc1,mp4a.40.2",
{
"testdriver": true,
@@ -694097,7 +695051,7 @@
]
],
"MediaRecorder-events-and-exceptions.html": [
- "97ada2126634e550c8df7bd15807db0befa99a3f",
+ "a8d596e522e1a17fb8b1eb37340fcf1f85ed4c6e",
[
"mediacapture-record/MediaRecorder-events-and-exceptions.html?mimeType=''",
{
@@ -694111,6 +695065,18 @@
}
],
[
+ "mediacapture-record/MediaRecorder-events-and-exceptions.html?mimeType=video/mp4;codecs=av01,mp4a.40.2",
+ {
+ "timeout": "long"
+ }
+ ],
+ [
+ "mediacapture-record/MediaRecorder-events-and-exceptions.html?mimeType=video/mp4;codecs=av01,opus",
+ {
+ "timeout": "long"
+ }
+ ],
+ [
"mediacapture-record/MediaRecorder-events-and-exceptions.html?mimeType=video/mp4;codecs=avc1,mp4a.40.2",
{
"timeout": "long"
@@ -694149,7 +695115,7 @@
]
],
"MediaRecorder-pause-resume.html": [
- "f584508a0d0d42d60ae332a42b3fe776bd3247a6",
+ "ce5a880ebf059ea5104aaf16715c93b71232a5c1",
[
"mediacapture-record/MediaRecorder-pause-resume.html?mimeType=''",
{
@@ -694163,6 +695129,18 @@
}
],
[
+ "mediacapture-record/MediaRecorder-pause-resume.html?mimeType=video/mp4;codecs=av01,mp4a.40.2",
+ {
+ "timeout": "long"
+ }
+ ],
+ [
+ "mediacapture-record/MediaRecorder-pause-resume.html?mimeType=video/mp4;codecs=av01,opus",
+ {
+ "timeout": "long"
+ }
+ ],
+ [
"mediacapture-record/MediaRecorder-pause-resume.html?mimeType=video/mp4;codecs=avc1,mp4a.40.2",
{
"timeout": "long"
@@ -694216,7 +695194,7 @@
]
],
"MediaRecorder-peerconnection.https.html": [
- "daae044fa8d9d7d1f0fe40026ac9a42e96e129b9",
+ "8c90ffb94ffe49124ec4f505813dbe5d575045bd",
[
"mediacapture-record/MediaRecorder-peerconnection.https.html?kinds=audio&mimeType=''",
{
@@ -694281,6 +695259,20 @@
}
],
[
+ "mediacapture-record/MediaRecorder-peerconnection.https.html?kinds=video,audio&mimeType=video/mp4;codecs=av01,mp4a.40.2",
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ],
+ [
+ "mediacapture-record/MediaRecorder-peerconnection.https.html?kinds=video,audio&mimeType=video/mp4;codecs=av01,opus",
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ],
+ [
"mediacapture-record/MediaRecorder-peerconnection.https.html?kinds=video,audio&mimeType=video/mp4;codecs=avc1,mp4a.40.2",
{
"testdriver": true,
@@ -694317,7 +695309,7 @@
]
],
"MediaRecorder-stop.html": [
- "9ef5051638130f92f62753fb3aedf857bc8cbeba",
+ "e6694631441840191c2b3807b6718f7e80947888",
[
"mediacapture-record/MediaRecorder-stop.html?mimeType=''",
{}
@@ -694327,6 +695319,14 @@
{}
],
[
+ "mediacapture-record/MediaRecorder-stop.html?mimeType=video/mp4;codecs=av01,mp4a.40.2",
+ {}
+ ],
+ [
+ "mediacapture-record/MediaRecorder-stop.html?mimeType=video/mp4;codecs=av01,opus",
+ {}
+ ],
+ [
"mediacapture-record/MediaRecorder-stop.html?mimeType=video/mp4;codecs=avc1,mp4a.40.2",
{}
],
@@ -704745,24 +705745,6 @@
]
]
},
- "deviceproperties": {
- "get-device-properties-uniqueid-from-pointer-event.tentative.html": [
- "dc6b9379c11403baab12d5ac65032bdd766b1643",
- [
- null,
- {
- "testdriver": true
- }
- ]
- ],
- "pointer-event-has-device-properties-uniqueid-from-pointer-event-init.tentative.html": [
- "33b2354ec63935cd9cfc0320de022df7b2be163c",
- [
- null,
- {}
- ]
- ]
- },
"idlharness.https.window.js": [
"e6e84fa9c72ff8ac639607d8a4dad8c0816e7ac6",
[
@@ -704825,6 +705807,24 @@
]
]
},
+ "persistentDeviceId": {
+ "get-persistendeviceid-from-pointer-event.tentative.html": [
+ "9f77c1c9e9559d29029bc376326fe655cefda3f1",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html": [
+ "ef3f4d153566ac02d7e90fdd6962e395023356bd",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"pointer-events-none-skip-scroll-in-iframe.html": [
"bf5c53566dfc3bca30c2bf36fb2d6b424ecdcaaf",
[
@@ -704943,7 +705943,7 @@
]
],
"pointerevent_after_target_removed_from_slot.html": [
- "1d183afa61428f0c15a464220151f5608e297df8",
+ "35955f86893826a9f6cac159f64c69914afb1b84",
[
"pointerevents/pointerevent_after_target_removed_from_slot.html?mouse",
{
@@ -724202,7 +725202,7 @@
]
],
"non-html-documents.html": [
- "5cec6aee3a2bd62723e2c345b8282b1e31cf6c86",
+ "de1fe837e6d1c9749b3722d18503a51f91d6e8f6",
[
null,
{
@@ -741996,21 +742996,21 @@
]
],
"animate-path-animation-Ll-Vv-Hh.tentative.html": [
- "8a1e2cb032f268f3609521d33fa6d4d9d9f96cb7",
+ "6d2e94b7abac51c484b9e0305d600e3e50546c2f",
[
null,
{}
]
],
"animate-path-animation-Mm-Aa-Z.tentative.html": [
- "fd0787792f85a6f6b1dcb920b949d484e6fa9cfd",
+ "cb7dcf724bc8d9797061a5b531a77df3d418f3ce",
[
null,
{}
]
],
"animate-path-animation-Qq-Tt.tentative.html": [
- "e8b0ad8f71aa31aa969eea3e6d66dee36ff79353",
+ "3f018331c9a960c5980703c70c3453b2c963b492",
[
null,
{}
@@ -745069,28 +746069,28 @@
]
],
"SVGLength-cap.html": [
- "1eb308b0b8ebed4b84c5b91705f370b85ffaf40b",
+ "058e9a72b1090fa7aaa965239750457b2a866c03",
[
null,
{}
]
],
"SVGLength-ch.html": [
- "fcacbd2e228fe9d63df701dd1a945f2cec3fb5fb",
+ "6e82a85d1c195dfdec9c03391da61969431db90e",
[
null,
{}
]
],
"SVGLength-ic.html": [
- "583a964444ecc5dc3878d11e62c3e884084a89b0",
+ "2dfb0e1c42be71e8a4333e4d42affb851f506c2f",
[
null,
{}
]
],
"SVGLength-lh.html": [
- "023d04fbd0c507a7f16168256653773f7525b9dc",
+ "56287eacff2586a29c66e9a2e945e40c8ff2de82",
[
null,
{}
@@ -745111,21 +746111,21 @@
]
],
"SVGLength-rem.html": [
- "c89f937cf37211c19b21c8a1812fb831820b28f7",
+ "73ea00edc25db600235149d22a68f5a9ad9d3948",
[
null,
{}
]
],
"SVGLength-rlh.html": [
- "411013b65b5b1601d221dba99ee84efa9e990bbf",
+ "1d1670bd81dea6b9aaf253b28ff9312914e14f7c",
[
null,
{}
]
],
"SVGLength-viewport.html": [
- "2a29c0ba54978fa732b60460689e34d08db93448",
+ "402210779b20267bcfe8e5d76aff5b2e42bd90b1",
[
null,
{}
@@ -750776,7 +751776,16 @@
]
],
"grid-roles.html": [
- "2ca3705cf01a6dd462ff4371ca3d01c4234ae50c",
+ "c67119725869c0a6411686fe1840f08c920fec9c",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "grid-roles.tentative.html": [
+ "49d54195c908557adf38e35ef6b7e4c9fe9c80c1",
[
null,
{
@@ -750794,7 +751803,16 @@
]
],
"list-roles.html": [
- "3fd3bfa0e6982db736ddc55756feec05c295eb57",
+ "da097ce67e8932b6d4ec4d9a533b8b8fdf43b20c",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "list-roles.tentative.html": [
+ "3106424ac3668ecdb3dbf48f499af134dd479fa4",
[
null,
{
@@ -750803,7 +751821,16 @@
]
],
"listbox-roles.html": [
- "3d26f04d51a343131b67145a429adf6d93628a66",
+ "100ef6bca72e6d8ad74c183e1245bed8f151cad8",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "listbox-roles.tentative.html": [
+ "e32c565aa9aa175204224ce7c13ca27679458913",
[
null,
{
@@ -750812,7 +751839,16 @@
]
],
"menu-roles.html": [
- "fed15769ab8b11aea6dadf3cbed64aac1eac5a80",
+ "edb5cce5021c6a815d0f1aac7b82967daa7cb84c",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "menu-roles.tentative.html": [
+ "98e032e16e0d848c722cec7ba25b208ba5e30d66",
[
null,
{
@@ -750866,7 +751902,16 @@
]
],
"tab-roles.html": [
- "6561614dd815a231d1cdcb9bbe4a10932f3140d6",
+ "f84504e0b45c8c831a8eb60acbf2bd7d664070b0",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "tab-roles.tentative.html": [
+ "17dd85f6c598f711db85e341c84e4f46220b64ac",
[
null,
{
@@ -750875,7 +751920,7 @@
]
],
"table-roles.html": [
- "6ffb94218d6174eaa061adb512d378855a808c37",
+ "c43533fc77aa1e6d7ee5ab1b94696edcffce7fe3",
[
null,
{
@@ -750884,7 +751929,16 @@
]
],
"tree-roles.html": [
- "5d179fbcbf281160d90813e38bd7e660f98cbce0",
+ "cc56b3a56bd64eab7c929627f7e7a1d88423100e",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "tree-roles.tentative.html": [
+ "4c6d56ba298e7de4fdfa4f18160130459132fd2a",
[
null,
{
@@ -778878,6 +779932,47 @@
}
]
],
+ "constant-changed-buffer.https.any.js": [
+ "7840a83d947adc1e0b6d2d3a7830e9684a23ecbd",
+ [
+ "webnn/validation_tests/constant-changed-buffer.https.any.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "ensure MLGraphBuilder.constant() handles buffers which change"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "script",
+ "../resources/utils_validation.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "webnn/validation_tests/constant-changed-buffer.https.any.worker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "ensure MLGraphBuilder.constant() handles buffers which change"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "script",
+ "../resources/utils_validation.js"
+ ]
+ ]
+ }
+ ]
+ ],
"constant.https.any.js": [
"86a60ee209c1a6c9f5c03f7a0d45bb25c9930f92",
[
@@ -780762,7 +781857,7 @@
]
],
"RTCError.html": [
- "bcc5749bf7d5e69fd3d674ac33564403e41e9985",
+ "2650c54f9a77400169922001b19406e6bd611514",
[
null,
{}
@@ -827661,7 +828756,14 @@
]
],
"invalid.py": [
- "7c73a83b1325d1f4adc037efe7912b6d6b5e3922",
+ "2eb8190e13b490b1029aea2c5d9a5e83650df2e8",
+ [
+ null,
+ {}
+ ]
+ ],
+ "prompt_unload.py": [
+ "2dc241ba396fd5988c6c95f36afedcab950077b6",
[
null,
{}
@@ -827670,14 +828772,14 @@
},
"context_created": {
"context_created.py": [
- "63dbd3a23c58bdb8a1d989d8574faf445390fb0b",
+ "1c9683c6b377869b1c2be7363528e40a28a91aec",
[
null,
{}
]
],
"original_opener.py": [
- "115f9679df76880271720a8947afad97896f614b",
+ "18c9483e7ce83389472f7a3bef0617a3ef180083",
[
null,
{}
@@ -827691,6 +828793,13 @@
null,
{}
]
+ ],
+ "original_opener.py": [
+ "5c51b0e444ecd126818bca822ebd33498f675f9c",
+ [
+ null,
+ {}
+ ]
]
},
"create": {
@@ -827777,6 +828886,13 @@
{}
]
],
+ "original_opener.py": [
+ "ceec74933fc3e665642eb2ffc862dd1558f27047",
+ [
+ null,
+ {}
+ ]
+ ],
"root.py": [
"40e9f8ac93b81b5c499133db9682798683725131",
[
@@ -827787,7 +828903,7 @@
},
"handle_user_prompt": {
"handle_user_prompt.py": [
- "6dbe7446b634d69ea84541f8f7797b085800f917",
+ "c562ddbd9a259b3bb9f5c2863a3b384624f8e043",
[
null,
{}
@@ -828077,14 +829193,14 @@
},
"user_prompt_closed": {
"beforeunload.py": [
- "c4c51603619d3aa9aa85f2fc4f8d9cb5a9ef2597",
+ "6b2e788a05879aa6a2326196f415701d7449573d",
[
null,
{}
]
],
"user_prompt_closed.py": [
- "a8ab1490c4664945736afa7660480c4e1074fd6f",
+ "fdb9e8b3ca7d5cc642ec69517f065887b16cdc24",
[
null,
{}
@@ -828100,7 +829216,7 @@
]
],
"user_prompt_opened.py": [
- "e4e633e4564b46f0ed07cbf9e34cdbabe02da2e8",
+ "3a995b150388909587ee8ed834030574de1e4003",
[
null,
{}
@@ -828481,7 +829597,7 @@
]
],
"headers.py": [
- "1a7acfcde005c44d5becdf6495ce72c32ff3c7be",
+ "d6af7094a6480273243ec46dffc45953476a6234",
[
null,
{}
@@ -828578,6 +829694,27 @@
]
},
"provide_response": {
+ "body.py": [
+ "317f627784baf65ea0664cf1d69a3157e96f31b3",
+ [
+ null,
+ {}
+ ]
+ ],
+ "cookies.py": [
+ "c05321b3b05b50faf6db665ce82ead2125d01c4d",
+ [
+ null,
+ {}
+ ]
+ ],
+ "headers.py": [
+ "0436896ec196f0614206d9efaf4bb54b44eff903",
+ [
+ null,
+ {}
+ ]
+ ],
"invalid.py": [
"49177bcb4a0d0b92d57ddf69cdd86c47de9b74c7",
[
@@ -828587,8 +829724,22 @@
}
]
],
+ "reason_phrase.py": [
+ "69db8e8ce01af6e6b348113ac71f585a0d1f4082",
+ [
+ null,
+ {}
+ ]
+ ],
"request.py": [
- "f8cc3fb676e0cc9ec9b2ade4642101becd264d85",
+ "099baca02866b8f9b378134e74422963a26bb0ce",
+ [
+ null,
+ {}
+ ]
+ ],
+ "status_code.py": [
+ "4d7a25a92de368d8571c0eca20885bb320c57805",
[
null,
{}
@@ -829863,7 +831014,7 @@
},
"get_current_url": {
"file.py": [
- "ef6ae2383550330bfd41c10fffb41b4545d7007d",
+ "e94cbcfe5517f215e75ae80b25d133d8ad16210a",
[
null,
{}
@@ -830248,7 +831399,7 @@
},
"navigate_to": {
"file.py": [
- "5dae5f5c4d0edfed3113d5d50511b52dfbd111c5",
+ "213162c7b9228a7f88e08f08aeaa29999fe1b762",
[
null,
{}
@@ -830307,7 +831458,7 @@
]
],
"merge.py": [
- "857d289fcaf054492e17ba730c6f530d55fe2640",
+ "4d36926fd3f063aed95fe5a7f477fd215686f698",
[
null,
{
@@ -830330,7 +831481,7 @@
]
],
"platform_name.py": [
- "54fe4743bed44e75d6771ede5d4b7bf2f267bb95",
+ "fb87d9d682a2b440237f31cf7db6f699323f2fa5",
[
null,
{}
diff --git a/tests/wpt/meta/css/css-cascade/scope-featureless.html.ini b/tests/wpt/meta/css/css-cascade/scope-featureless.html.ini
new file mode 100644
index 00000000000..7ad66440741
--- /dev/null
+++ b/tests/wpt/meta/css/css-cascade/scope-featureless.html.ini
@@ -0,0 +1,2 @@
+[scope-featureless.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/animation-container-size.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/animation-container-size.html.ini
new file mode 100644
index 00000000000..752af30b054
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/animation-container-size.html.ini
@@ -0,0 +1,2 @@
+[animation-container-size.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini
new file mode 100644
index 00000000000..654f3e50001
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/animation-container-type-dynamic.html.ini
@@ -0,0 +1,2 @@
+[animation-container-type-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/animation-nested-animation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/animation-nested-animation.html.ini
new file mode 100644
index 00000000000..3efa56c46ed
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/animation-nested-animation.html.ini
@@ -0,0 +1,2 @@
+[animation-nested-animation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/animation-nested-transition.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/animation-nested-transition.html.ini
new file mode 100644
index 00000000000..9f4156ea923
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/animation-nested-transition.html.ini
@@ -0,0 +1,2 @@
+[animation-nested-transition.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini
new file mode 100644
index 00000000000..4d4382d75a2
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html.ini
@@ -0,0 +1,2 @@
+[aspect-ratio-feature-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/at-container-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/at-container-parsing.html.ini
new file mode 100644
index 00000000000..0174391e3e3
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/at-container-parsing.html.ini
@@ -0,0 +1,2 @@
+[at-container-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/at-container-serialization.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/at-container-serialization.html.ini
new file mode 100644
index 00000000000..c5a746c5610
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/at-container-serialization.html.ini
@@ -0,0 +1,2 @@
+[at-container-serialization.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/at-container-style-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/at-container-style-parsing.html.ini
new file mode 100644
index 00000000000..acf71f6fc49
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/at-container-style-parsing.html.ini
@@ -0,0 +1,2 @@
+[at-container-style-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/at-container-style-serialization.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/at-container-style-serialization.html.ini
new file mode 100644
index 00000000000..8aa20a36948
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/at-container-style-serialization.html.ini
@@ -0,0 +1,2 @@
+[at-container-style-serialization.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/auto-scrollbars.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/auto-scrollbars.html.ini
new file mode 100644
index 00000000000..b3c3f5540c7
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/auto-scrollbars.html.ini
@@ -0,0 +1,2 @@
+[auto-scrollbars.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/backdrop-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/backdrop-invalidation.html.ini
new file mode 100644
index 00000000000..8b089b438d3
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/backdrop-invalidation.html.ini
@@ -0,0 +1,2 @@
+[backdrop-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/calc-evaluation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/calc-evaluation.html.ini
new file mode 100644
index 00000000000..95db9d4fb1e
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/calc-evaluation.html.ini
@@ -0,0 +1,2 @@
+[calc-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-001.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-001.html.ini
new file mode 100644
index 00000000000..1ec473fc019
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-001.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-002.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-002.html.ini
new file mode 100644
index 00000000000..762a29375eb
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-002.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-003.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-003.html.ini
new file mode 100644
index 00000000000..e6ff9db8dd5
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-003.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-004.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-004.html.ini
new file mode 100644
index 00000000000..e745dc1dbab
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-004.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-005.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-005.html.ini
new file mode 100644
index 00000000000..fc391da5312
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-005.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-005.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-006.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-006.html.ini
new file mode 100644
index 00000000000..5fc52bb6346
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/canvas-as-container-006.html.ini
@@ -0,0 +1,2 @@
+[canvas-as-container-006.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/change-display-in-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/change-display-in-container.html.ini
new file mode 100644
index 00000000000..1a14360fad1
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/change-display-in-container.html.ini
@@ -0,0 +1,2 @@
+[change-display-in-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini
new file mode 100644
index 00000000000..41721cec3c7
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html.ini
@@ -0,0 +1,2 @@
+[chrome-legacy-skip-recalc.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/column-spanner-in-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/column-spanner-in-container.html.ini
new file mode 100644
index 00000000000..f5cdfb7f54c
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/column-spanner-in-container.html.ini
@@ -0,0 +1,2 @@
+[column-spanner-in-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/conditional-container-status.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/conditional-container-status.html.ini
new file mode 100644
index 00000000000..c0ee6c64a5b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/conditional-container-status.html.ini
@@ -0,0 +1,2 @@
+[conditional-container-status.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-computed.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-computed.html.ini
new file mode 100644
index 00000000000..5cfd149c490
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-computed.html.ini
@@ -0,0 +1,2 @@
+[container-computed.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-for-shadow-dom.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-for-shadow-dom.html.ini
new file mode 100644
index 00000000000..3efb9a4484d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-for-shadow-dom.html.ini
@@ -0,0 +1,2 @@
+[container-for-shadow-dom.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-inheritance.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-inheritance.html.ini
new file mode 100644
index 00000000000..7895da15473
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-inheritance.html.ini
@@ -0,0 +1,2 @@
+[container-inheritance.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-inner-at-rules.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-inner-at-rules.html.ini
new file mode 100644
index 00000000000..fe9df8888c4
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-inner-at-rules.html.ini
@@ -0,0 +1,2 @@
+[container-inner-at-rules.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini
new file mode 100644
index 00000000000..45bac59ad68
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-inside-multicol-with-table.html.ini
@@ -0,0 +1,2 @@
+[container-inside-multicol-with-table.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-longhand-animation-type.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-longhand-animation-type.html.ini
new file mode 100644
index 00000000000..6fcb3d3d017
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-longhand-animation-type.html.ini
@@ -0,0 +1,2 @@
+[container-longhand-animation-type.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-name-computed.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-name-computed.html.ini
new file mode 100644
index 00000000000..4c6f92ff91f
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-name-computed.html.ini
@@ -0,0 +1,2 @@
+[container-name-computed.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-name-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-name-invalidation.html.ini
new file mode 100644
index 00000000000..9699d557f71
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-name-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-name-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-name-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-name-parsing.html.ini
new file mode 100644
index 00000000000..a1d910e8bc6
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-name-parsing.html.ini
@@ -0,0 +1,2 @@
+[container-name-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-name-tree-scoped.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-name-tree-scoped.html.ini
new file mode 100644
index 00000000000..944100b2a6d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-name-tree-scoped.html.ini
@@ -0,0 +1,2 @@
+[container-name-tree-scoped.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-nested.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-nested.html.ini
new file mode 100644
index 00000000000..270c4929976
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-nested.html.ini
@@ -0,0 +1,2 @@
+[container-nested.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-parsing.html.ini
new file mode 100644
index 00000000000..4a67b2a0bb4
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-parsing.html.ini
@@ -0,0 +1,2 @@
+[container-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-selection-unknown-features.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-selection-unknown-features.html.ini
new file mode 100644
index 00000000000..b8c01fff881
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-selection-unknown-features.html.ini
@@ -0,0 +1,2 @@
+[container-selection-unknown-features.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-selection.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-selection.html.ini
new file mode 100644
index 00000000000..078f5f5fca0
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-selection.html.ini
@@ -0,0 +1,2 @@
+[container-selection.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini
new file mode 100644
index 00000000000..ac18a07d13d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation-after-load.html.ini
@@ -0,0 +1,2 @@
+[container-size-invalidation-after-load.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation.html.ini
new file mode 100644
index 00000000000..2110c73f00a
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-size-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-size-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini
new file mode 100644
index 00000000000..6b313211a58
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-size-nested-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-size-nested-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini
new file mode 100644
index 00000000000..36983f995f6
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-size-shadow-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-size-shadow-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-type-computed.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-type-computed.html.ini
new file mode 100644
index 00000000000..1c738ca9d2f
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-type-computed.html.ini
@@ -0,0 +1,2 @@
+[container-type-computed.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-type-containment.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-type-containment.html.ini
new file mode 100644
index 00000000000..78eac66a53b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-type-containment.html.ini
@@ -0,0 +1,2 @@
+[container-type-containment.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-type-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-type-invalidation.html.ini
new file mode 100644
index 00000000000..ceeef89bc5e
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-type-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-type-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini
new file mode 100644
index 00000000000..2ee85b9d254
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-type-layout-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-type-layout-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-type-parsing.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-type-parsing.html.ini
new file mode 100644
index 00000000000..1c739f25052
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-type-parsing.html.ini
@@ -0,0 +1,2 @@
+[container-type-parsing.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-animation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-animation.html.ini
new file mode 100644
index 00000000000..343a20cdded
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-animation.html.ini
@@ -0,0 +1,2 @@
+[container-units-animation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-basic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-basic.html.ini
new file mode 100644
index 00000000000..be0e8789a85
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-basic.html.ini
@@ -0,0 +1,2 @@
+[container-units-basic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-computational-independence.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-computational-independence.html.ini
new file mode 100644
index 00000000000..2d243ce7664
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-computational-independence.html.ini
@@ -0,0 +1,2 @@
+[container-units-computational-independence.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-content-box.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-content-box.html.ini
new file mode 100644
index 00000000000..94994f5b988
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-content-box.html.ini
@@ -0,0 +1,2 @@
+[container-units-content-box.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini
new file mode 100644
index 00000000000..a59c030f234
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-units-gradient-invalidation.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient.html.ini
new file mode 100644
index 00000000000..07bea8cdf00
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-gradient.html.ini
@@ -0,0 +1,2 @@
+[container-units-gradient.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini
new file mode 100644
index 00000000000..06ecbee89c8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html.ini
@@ -0,0 +1,2 @@
+[container-units-in-at-container-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini
new file mode 100644
index 00000000000..8e57c948e7d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container-fallback.html.ini
@@ -0,0 +1,2 @@
+[container-units-in-at-container-fallback.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container.html.ini
new file mode 100644
index 00000000000..5c3e6915c56
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-in-at-container.html.ini
@@ -0,0 +1,2 @@
+[container-units-in-at-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-ineligible-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-ineligible-container.html.ini
new file mode 100644
index 00000000000..344a8137596
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-ineligible-container.html.ini
@@ -0,0 +1,2 @@
+[container-units-ineligible-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-invalidation.html.ini
new file mode 100644
index 00000000000..7f82447127a
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-invalidation.html.ini
@@ -0,0 +1,2 @@
+[container-units-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-media-queries.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-media-queries.html.ini
new file mode 100644
index 00000000000..5732050c44b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-media-queries.html.ini
@@ -0,0 +1,2 @@
+[container-units-media-queries.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-rule-cache.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-rule-cache.html.ini
new file mode 100644
index 00000000000..5200eb952ef
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-rule-cache.html.ini
@@ -0,0 +1,2 @@
+[container-units-rule-cache.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-selection.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-selection.html.ini
new file mode 100644
index 00000000000..a0a35f1f266
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-selection.html.ini
@@ -0,0 +1,2 @@
+[container-units-selection.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-shadow.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-shadow.html.ini
new file mode 100644
index 00000000000..334c7ef1552
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-shadow.html.ini
@@ -0,0 +1,2 @@
+[container-units-shadow.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini
new file mode 100644
index 00000000000..5e9561d2e94
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html.ini
@@ -0,0 +1,2 @@
+[container-units-sharing-via-rule-node.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini
new file mode 100644
index 00000000000..2d628428bc9
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-small-viewport-fallback.html.ini
@@ -0,0 +1,2 @@
+[container-units-small-viewport-fallback.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-svglength.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-svglength.html.ini
new file mode 100644
index 00000000000..ce5935891d8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-svglength.html.ini
@@ -0,0 +1,2 @@
+[container-units-svglength.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/container-units-typed-om.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/container-units-typed-om.html.ini
new file mode 100644
index 00000000000..dea0e2a76cd
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/container-units-typed-om.html.ini
@@ -0,0 +1,2 @@
+[container-units-typed-om.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/counters-flex-circular.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/counters-flex-circular.html.ini
new file mode 100644
index 00000000000..d306fb202be
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/counters-flex-circular.html.ini
@@ -0,0 +1,2 @@
+[counters-flex-circular.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini
new file mode 100644
index 00000000000..7cd3bd77b75
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/counters-in-container-dynamic.html.ini
@@ -0,0 +1,2 @@
+[counters-in-container-dynamic.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/counters-in-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/counters-in-container.html.ini
new file mode 100644
index 00000000000..4bf610e9b83
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/counters-in-container.html.ini
@@ -0,0 +1,2 @@
+[counters-in-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini
new file mode 100644
index 00000000000..d4f04e8e769
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html.ini
@@ -0,0 +1,2 @@
+[size-change-during-transition-crash.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini
new file mode 100644
index 00000000000..a27199b58f3
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/custom-layout-container-001.https.html.ini
@@ -0,0 +1,2 @@
+[custom-layout-container-001.https.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-queries.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-queries.html.ini
new file mode 100644
index 00000000000..f95a4577590
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-queries.html.ini
@@ -0,0 +1,2 @@
+[custom-property-style-queries.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-query-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-query-change.html.ini
new file mode 100644
index 00000000000..b2c98b304ba
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/custom-property-style-query-change.html.ini
@@ -0,0 +1,2 @@
+[custom-property-style-query-change.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini
new file mode 100644
index 00000000000..49ed002ee86
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/deep-nested-inline-size-containers.html.ini
@@ -0,0 +1,2 @@
+[deep-nested-inline-size-containers.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/dialog-backdrop-create.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/dialog-backdrop-create.html.ini
new file mode 100644
index 00000000000..aabdad22faf
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/dialog-backdrop-create.html.ini
@@ -0,0 +1,2 @@
+[dialog-backdrop-create.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini
new file mode 100644
index 00000000000..cec4b309306
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html.ini
@@ -0,0 +1,2 @@
+[display-contents-dynamic-style-queries.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/display-contents.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/display-contents.html.ini
new file mode 100644
index 00000000000..218ccadd27e
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/display-contents.html.ini
@@ -0,0 +1,2 @@
+[display-contents.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/display-in-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/display-in-container.html.ini
new file mode 100644
index 00000000000..f9ae83de225
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/display-in-container.html.ini
@@ -0,0 +1,2 @@
+[display-in-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/display-none.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/display-none.html.ini
new file mode 100644
index 00000000000..30e7ac379eb
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/display-none.html.ini
@@ -0,0 +1,2 @@
+[display-none.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/fieldset-legend-change.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/fieldset-legend-change.html.ini
new file mode 100644
index 00000000000..9d5d377cd9c
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/fieldset-legend-change.html.ini
@@ -0,0 +1,2 @@
+[fieldset-legend-change.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini
new file mode 100644
index 00000000000..5b988b5dede
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/font-relative-calc-dynamic.html.ini
@@ -0,0 +1,2 @@
+[font-relative-calc-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini
new file mode 100644
index 00000000000..bac1ca5c34b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/font-relative-units-dynamic.html.ini
@@ -0,0 +1,2 @@
+[font-relative-units-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/font-relative-units.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/font-relative-units.html.ini
new file mode 100644
index 00000000000..e08fa7e3a64
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/font-relative-units.html.ini
@@ -0,0 +1,2 @@
+[font-relative-units.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/fragmented-container-001.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/fragmented-container-001.html.ini
new file mode 100644
index 00000000000..45e3fff97d5
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/fragmented-container-001.html.ini
@@ -0,0 +1,2 @@
+[fragmented-container-001.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/get-animations.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/get-animations.html.ini
new file mode 100644
index 00000000000..696dab96168
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/get-animations.html.ini
@@ -0,0 +1,2 @@
+[get-animations.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/grid-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/grid-container.html.ini
new file mode 100644
index 00000000000..7e24be270ac
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/grid-container.html.ini
@@ -0,0 +1,2 @@
+[grid-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/grid-item-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/grid-item-container.html.ini
new file mode 100644
index 00000000000..739a704af3b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/grid-item-container.html.ini
@@ -0,0 +1,2 @@
+[grid-item-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/idlharness.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/idlharness.html.ini
new file mode 100644
index 00000000000..3beda2b56c2
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/idlharness.html.ini
@@ -0,0 +1,48 @@
+[idlharness.html]
+ [CSSContainerRule interface: existence and properties of interface object]
+ expected: FAIL
+
+ [CSSContainerRule interface object length]
+ expected: FAIL
+
+ [CSSContainerRule interface object name]
+ expected: FAIL
+
+ [CSSContainerRule interface: existence and properties of interface prototype object]
+ expected: FAIL
+
+ [CSSContainerRule interface: existence and properties of interface prototype object's "constructor" property]
+ expected: FAIL
+
+ [CSSContainerRule interface: existence and properties of interface prototype object's @@unscopables property]
+ expected: FAIL
+
+ [CSSContainerRule interface: attribute containerName]
+ expected: FAIL
+
+ [CSSContainerRule interface: attribute containerQuery]
+ expected: FAIL
+
+ [CSSContainerRule must be primary interface of sheet.cssRules[0\]]
+ expected: FAIL
+
+ [Stringification of sheet.cssRules[0\]]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\] must inherit property "containerName" with the proper type]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\] must inherit property "containerQuery" with the proper type]
+ expected: FAIL
+
+ [CSSContainerRule must be primary interface of sheet.cssRules[0\].cssRules[0\]]
+ expected: FAIL
+
+ [Stringification of sheet.cssRules[0\].cssRules[0\]]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\].cssRules[0\] must inherit property "containerName" with the proper type]
+ expected: FAIL
+
+ [CSSContainerRule interface: sheet.cssRules[0\].cssRules[0\] must inherit property "containerQuery" with the proper type]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini
new file mode 100644
index 00000000000..320d3763208
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/iframe-in-container-invalidation.html.ini
@@ -0,0 +1,2 @@
+[iframe-in-container-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/iframe-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/iframe-invalidation.html.ini
new file mode 100644
index 00000000000..40277008114
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/iframe-invalidation.html.ini
@@ -0,0 +1,2 @@
+[iframe-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/ineligible-containment.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/ineligible-containment.html.ini
new file mode 100644
index 00000000000..fb675be1df6
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/ineligible-containment.html.ini
@@ -0,0 +1,2 @@
+[ineligible-containment.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/inheritance-from-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/inheritance-from-container.html.ini
new file mode 100644
index 00000000000..15b82349e6a
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/inheritance-from-container.html.ini
@@ -0,0 +1,2 @@
+[inheritance-from-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/inline-size-and-min-width.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-and-min-width.html.ini
new file mode 100644
index 00000000000..2d5cb15bd9b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-and-min-width.html.ini
@@ -0,0 +1,2 @@
+[inline-size-and-min-width.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini
new file mode 100644
index 00000000000..0efd1511e95
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-bfc-floats.html.ini
@@ -0,0 +1,2 @@
+[inline-size-bfc-floats.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini
new file mode 100644
index 00000000000..65be79b6779
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html.ini
@@ -0,0 +1,2 @@
+[inline-size-containment-vertical-rl.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment.html.ini
new file mode 100644
index 00000000000..d5f1b19aeef
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/inline-size-containment.html.ini
@@ -0,0 +1,2 @@
+[inline-size-containment.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini
new file mode 100644
index 00000000000..e85c47582d8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/inner-first-line-non-matching.html.ini
@@ -0,0 +1,2 @@
+[inner-first-line-non-matching.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/layout-dependent-focus.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/layout-dependent-focus.html.ini
new file mode 100644
index 00000000000..215241c0ac3
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/layout-dependent-focus.html.ini
@@ -0,0 +1,2 @@
+[layout-dependent-focus.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/multicol-container-001.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/multicol-container-001.html.ini
new file mode 100644
index 00000000000..5e75ff3c653
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/multicol-container-001.html.ini
@@ -0,0 +1,2 @@
+[multicol-container-001.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/multicol-inside-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/multicol-inside-container.html.ini
new file mode 100644
index 00000000000..0e9d4ebfc9d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/multicol-inside-container.html.ini
@@ -0,0 +1,2 @@
+[multicol-inside-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/nested-query-containers.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/nested-query-containers.html.ini
new file mode 100644
index 00000000000..3ef3646b538
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/nested-query-containers.html.ini
@@ -0,0 +1,97 @@
+[nested-query-containers.html]
+ expected: ERROR
+ [test1 - inline - 0b000]
+ expected: NOTRUN
+
+ [test2 - inline - 0b001]
+ expected: NOTRUN
+
+ [test3 - inline - 0b010]
+ expected: NOTRUN
+
+ [test4 - inline - 0b011]
+ expected: NOTRUN
+
+ [test5 - inline - 0b100]
+ expected: NOTRUN
+
+ [test6 - inline - 0b101]
+ expected: NOTRUN
+
+ [test7 - inline - 0b110]
+ expected: NOTRUN
+
+ [test8 - inline - 0b111]
+ expected: NOTRUN
+
+ [test9 - contents - 0b000]
+ expected: NOTRUN
+
+ [test10 - contents - 0b001]
+ expected: NOTRUN
+
+ [test11 - contents - 0b010]
+ expected: NOTRUN
+
+ [test12 - contents - 0b011]
+ expected: NOTRUN
+
+ [test13 - contents - 0b100]
+ expected: NOTRUN
+
+ [test14 - contents - 0b101]
+ expected: NOTRUN
+
+ [test15 - contents - 0b110]
+ expected: NOTRUN
+
+ [test16 - contents - 0b111]
+ expected: NOTRUN
+
+ [test17 - table-cell - 0b000]
+ expected: NOTRUN
+
+ [test18 - table-cell - 0b001]
+ expected: NOTRUN
+
+ [test19 - table-cell - 0b010]
+ expected: NOTRUN
+
+ [test20 - table-cell - 0b011]
+ expected: NOTRUN
+
+ [test21 - table-cell - 0b100]
+ expected: NOTRUN
+
+ [test22 - table-cell - 0b101]
+ expected: NOTRUN
+
+ [test23 - table-cell - 0b110]
+ expected: NOTRUN
+
+ [test24 - table-cell - 0b111]
+ expected: NOTRUN
+
+ [test25 - table - 0b000]
+ expected: NOTRUN
+
+ [test26 - table - 0b001]
+ expected: NOTRUN
+
+ [test27 - table - 0b010]
+ expected: NOTRUN
+
+ [test28 - table - 0b011]
+ expected: NOTRUN
+
+ [test29 - table - 0b100]
+ expected: NOTRUN
+
+ [test30 - table - 0b101]
+ expected: NOTRUN
+
+ [test31 - table - 0b110]
+ expected: NOTRUN
+
+ [test32 - table - 0b111]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini
new file mode 100644
index 00000000000..e6474f713b8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/nested-size-style-container-invalidation.html.ini
@@ -0,0 +1,2 @@
+[nested-size-style-container-invalidation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/never-match-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/never-match-container.html.ini
new file mode 100644
index 00000000000..bd76185e545
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/never-match-container.html.ini
@@ -0,0 +1,2 @@
+[never-match-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini
new file mode 100644
index 00000000000..5f5c04ee0f8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/orthogonal-wm-container-query.html.ini
@@ -0,0 +1,2 @@
+[orthogonal-wm-container-query.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini
new file mode 100644
index 00000000000..06ce1345089
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/percentage-padding-orthogonal.html.ini
@@ -0,0 +1,2 @@
+[percentage-padding-orthogonal.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-001.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-001.html.ini
new file mode 100644
index 00000000000..8049e81a747
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-001.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-001.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002.html.ini
new file mode 100644
index 00000000000..f8f422e67ca
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002b.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002b.html.ini
new file mode 100644
index 00000000000..69aa9d81543
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-002b.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-002b.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-003.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-003.html.ini
new file mode 100644
index 00000000000..8ae4a2f4aa0
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-003.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-003.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-004.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-004.html.ini
new file mode 100644
index 00000000000..a8ca0682f2b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-004.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-004.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-005.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-005.html.ini
new file mode 100644
index 00000000000..5796ec48559
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-005.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-005.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-006.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-006.html.ini
new file mode 100644
index 00000000000..56688ff7a14
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-006.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-006.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-007.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-007.html.ini
new file mode 100644
index 00000000000..a2d2a17ce5c
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-007.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-007.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-008.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-008.html.ini
new file mode 100644
index 00000000000..2a832c4409e
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-008.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-008.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-009.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-009.html.ini
new file mode 100644
index 00000000000..35162efd32e
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-009.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-009.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-010.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-010.html.ini
new file mode 100644
index 00000000000..40ed46b1488
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-010.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-010.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-011.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-011.html.ini
new file mode 100644
index 00000000000..f916d851667
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-011.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-012.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-012.html.ini
new file mode 100644
index 00000000000..867719bc5d2
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-012.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-012.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-013.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-013.html.ini
new file mode 100644
index 00000000000..19dae0ed51f
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/pseudo-elements-013.html.ini
@@ -0,0 +1,2 @@
+[pseudo-elements-013.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/query-content-box.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/query-content-box.html.ini
new file mode 100644
index 00000000000..8d3aec97963
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/query-content-box.html.ini
@@ -0,0 +1,2 @@
+[query-content-box.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/query-evaluation-style.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/query-evaluation-style.html.ini
new file mode 100644
index 00000000000..249f397ea3e
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/query-evaluation-style.html.ini
@@ -0,0 +1,2 @@
+[query-evaluation-style.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/query-evaluation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/query-evaluation.html.ini
new file mode 100644
index 00000000000..45622b2e02b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/query-evaluation.html.ini
@@ -0,0 +1,2 @@
+[query-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini
new file mode 100644
index 00000000000..cf8a718cb42
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/reattach-container-with-dirty-child.html.ini
@@ -0,0 +1,2 @@
+[reattach-container-with-dirty-child.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/registered-color-style-queries.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/registered-color-style-queries.html.ini
new file mode 100644
index 00000000000..3befc312c69
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/registered-color-style-queries.html.ini
@@ -0,0 +1,6 @@
+[registered-color-style-queries.html]
+ [Registered color with light color-scheme and light-dark()]
+ expected: FAIL
+
+ [Registered color with dark color-scheme and light-dark()]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini
new file mode 100644
index 00000000000..9a43f8e35d1
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html.ini
@@ -0,0 +1,2 @@
+[resize-while-content-visibility-hidden.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/sibling-layout-dependency.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/sibling-layout-dependency.html.ini
new file mode 100644
index 00000000000..0cb8fb94d65
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/sibling-layout-dependency.html.ini
@@ -0,0 +1,2 @@
+[sibling-layout-dependency.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/size-container-no-principal-box.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/size-container-no-principal-box.html.ini
new file mode 100644
index 00000000000..e44c18a4a5d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/size-container-no-principal-box.html.ini
@@ -0,0 +1,2 @@
+[size-container-no-principal-box.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/size-feature-evaluation.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/size-feature-evaluation.html.ini
new file mode 100644
index 00000000000..7e1afb0335b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/size-feature-evaluation.html.ini
@@ -0,0 +1,2 @@
+[size-feature-evaluation.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/style-change-in-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/style-change-in-container.html.ini
new file mode 100644
index 00000000000..90db297fc71
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/style-change-in-container.html.ini
@@ -0,0 +1,2 @@
+[style-change-in-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini
new file mode 100644
index 00000000000..875ed231ad8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/style-container-for-shadow-dom.html.ini
@@ -0,0 +1,2 @@
+[style-container-for-shadow-dom.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini
new file mode 100644
index 00000000000..fa5ecda0b0c
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/style-container-invalidation-inheritance.html.ini
@@ -0,0 +1,2 @@
+[style-container-invalidation-inheritance.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/style-not-sharing-float.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/style-not-sharing-float.html.ini
new file mode 100644
index 00000000000..d0bccfa30c8
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/style-not-sharing-float.html.ini
@@ -0,0 +1,2 @@
+[style-not-sharing-float.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini
new file mode 100644
index 00000000000..d06eb50d36d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/style-query-with-unknown-width.html.ini
@@ -0,0 +1,2 @@
+[style-query-with-unknown-width.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini
new file mode 100644
index 00000000000..ff3f6c92e7c
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-child-container.html.ini
@@ -0,0 +1,2 @@
+[svg-foreignobject-child-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini
new file mode 100644
index 00000000000..ecfd70444c2
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-foreignobject-no-size-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/svg-g-no-size-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/svg-g-no-size-container.html.ini
new file mode 100644
index 00000000000..4213a08a811
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/svg-g-no-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-g-no-size-container.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/svg-root-size-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/svg-root-size-container.html.ini
new file mode 100644
index 00000000000..e7885ba7658
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/svg-root-size-container.html.ini
@@ -0,0 +1,2 @@
+[svg-root-size-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini
new file mode 100644
index 00000000000..dbb9c713fa6
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/table-inside-container-changing-display.html.ini
@@ -0,0 +1,2 @@
+[table-inside-container-changing-display.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog-container.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog-container.html.ini
new file mode 100644
index 00000000000..ff2fa350ce4
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog-container.html.ini
@@ -0,0 +1,2 @@
+[top-layer-dialog-container.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog.html.ini
new file mode 100644
index 00000000000..41dcc8744af
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/top-layer-dialog.html.ini
@@ -0,0 +1,2 @@
+[top-layer-dialog.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini
new file mode 100644
index 00000000000..249dfb5daee
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/top-layer-nested-dialog.html.ini
@@ -0,0 +1,2 @@
+[top-layer-nested-dialog.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/transition-scrollbars.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/transition-scrollbars.html.ini
new file mode 100644
index 00000000000..47f71664131
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/transition-scrollbars.html.ini
@@ -0,0 +1,2 @@
+[transition-scrollbars.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event-002.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event-002.html.ini
new file mode 100644
index 00000000000..41841cf9807
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event-002.html.ini
@@ -0,0 +1,2 @@
+[transition-style-change-event-002.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event.html.ini
new file mode 100644
index 00000000000..ea88c4c0f84
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/transition-style-change-event.html.ini
@@ -0,0 +1,2 @@
+[transition-style-change-event.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/unsupported-axis.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/unsupported-axis.html.ini
new file mode 100644
index 00000000000..9fbd827569b
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/unsupported-axis.html.ini
@@ -0,0 +1,2 @@
+[unsupported-axis.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/viewport-units-dynamic.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/viewport-units-dynamic.html.ini
new file mode 100644
index 00000000000..519f8fc8648
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/viewport-units-dynamic.html.ini
@@ -0,0 +1,2 @@
+[viewport-units-dynamic.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/viewport-units.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/viewport-units.html.ini
new file mode 100644
index 00000000000..b33875ea11d
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/viewport-units.html.ini
@@ -0,0 +1,2 @@
+[viewport-units.html]
+ expected: ERROR
diff --git a/tests/wpt/meta/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini b/tests/wpt/meta/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini
new file mode 100644
index 00000000000..4d3034d71f7
--- /dev/null
+++ b/tests/wpt/meta/css/css-conditional/container-queries/whitespace-update-after-removal.html.ini
@@ -0,0 +1,2 @@
+[whitespace-update-after-removal.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini b/tests/wpt/meta/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini
new file mode 100644
index 00000000000..eb2eae5396b
--- /dev/null
+++ b/tests/wpt/meta/css/css-text/letter-spacing/letter-spacing-trim-start-002.html.ini
@@ -0,0 +1,3 @@
+[letter-spacing-trim-start-002.html]
+ [assert_equals(t.offsetWidth, refWidth, "widths should now match")]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-ui/text-overflow-023.html.ini b/tests/wpt/meta/css/css-ui/text-overflow-023.html.ini
deleted file mode 100644
index 42478fa0b21..00000000000
--- a/tests/wpt/meta/css/css-ui/text-overflow-023.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[text-overflow-023.html]
- expected: ERROR
diff --git a/tests/wpt/meta/css/css-values/various-values-important.html.ini b/tests/wpt/meta/css/css-values/various-values-important.html.ini
new file mode 100644
index 00000000000..cebe0b88cbf
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/various-values-important.html.ini
@@ -0,0 +1,12 @@
+[various-values-important.html]
+ [CSS Values: !important flag parsing]
+ expected: FAIL
+
+ [CSS Values: !important flag parsing 1]
+ expected: FAIL
+
+ [CSS Values: !important flag parsing 2]
+ expected: FAIL
+
+ [CSS Values: !important flag parsing 3]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini
new file mode 100644
index 00000000000..26435e28b09
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/vh_not_refreshing_on_chrome.html.ini
@@ -0,0 +1,2 @@
+[vh_not_refreshing_on_chrome.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini b/tests/wpt/meta/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini
index 037d7e0f951..70cbb50e1a5 100644
--- a/tests/wpt/meta/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini
+++ b/tests/wpt/meta/css/cssom-view/MediaQueryList-addListener-handleEvent.html.ini
@@ -1,6 +1,13 @@
[MediaQueryList-addListener-handleEvent.html]
+ expected: TIMEOUT
[throws if handleEvent is falsy and not callable]
- expected: FAIL
+ expected: NOTRUN
[throws if handleEvent is thruthy and not callable]
- expected: FAIL
+ expected: NOTRUN
+
+ [doesn't look up handleEvent method on callable event listeners]
+ expected: NOTRUN
+
+ [rethrows errors when getting handleEvent]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini b/tests/wpt/meta/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini
index f82461dd8e5..79d93e2f301 100644
--- a/tests/wpt/meta/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini
+++ b/tests/wpt/meta/css/cssom-view/MediaQueryList-extends-EventTarget.html.ini
@@ -1,7 +1,10 @@
[MediaQueryList-extends-EventTarget.html]
expected: TIMEOUT
[addEventListener "once" option is respected]
- expected: TIMEOUT
+ expected: NOTRUN
[removeEventListener removes listener]
expected: NOTRUN
+
+ [listeners with different type are not called]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/css/cssom-view/MediaQueryListEvent.html.ini b/tests/wpt/meta/css/cssom-view/MediaQueryListEvent.html.ini
new file mode 100644
index 00000000000..b7e476a0830
--- /dev/null
+++ b/tests/wpt/meta/css/cssom-view/MediaQueryListEvent.html.ini
@@ -0,0 +1,4 @@
+[MediaQueryListEvent.html]
+ expected: TIMEOUT
+ [constructor of "change" event]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/css/selectors/invalidation/nth-child-whole-subtree.html.ini b/tests/wpt/meta/css/selectors/invalidation/nth-child-whole-subtree.html.ini
new file mode 100644
index 00000000000..0affb9ffb90
--- /dev/null
+++ b/tests/wpt/meta/css/selectors/invalidation/nth-child-whole-subtree.html.ini
@@ -0,0 +1,3 @@
+[nth-child-whole-subtree.html]
+ [CSS Selectors Invalidation: :nth-child(... of :not()) combined with whole subtree invalidation]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini
new file mode 100644
index 00000000000..7dc346632a4
--- /dev/null
+++ b/tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini
@@ -0,0 +1,3 @@
+[navigation-unload-same-origin.window.html]
+ [Same-origin navigation started from unload handler must be ignored]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html.ini
new file mode 100644
index 00000000000..01dd0323f02
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html.ini
@@ -0,0 +1,3 @@
+[2d.text.drawing.style.reset.TextRendering.html]
+ [TextRendering stays the same after font change.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js.ini
new file mode 100644
index 00000000000..f601aca66a9
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js.ini
@@ -0,0 +1,3 @@
+[2d.text.drawing.style.reset.TextRendering.worker.html]
+ [TextRendering stays the same after font change.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html.ini
new file mode 100644
index 00000000000..55b3b78c589
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html.ini
@@ -0,0 +1,3 @@
+[2d.text.drawing.style.reset.fontKerning.none.html]
+ [crbug/338965374, fontKerning still works after setting font for a second time.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js.ini
new file mode 100644
index 00000000000..f1404e18b97
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js.ini
@@ -0,0 +1,3 @@
+[2d.text.drawing.style.reset.fontKerning.none.worker.html]
+ [crbug/338965374, fontKerning still works after setting font for a second time.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini
new file mode 100644
index 00000000000..f1d3ebff40e
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html.ini
@@ -0,0 +1,2 @@
+[2d.text.drawing.style.reset.fontKerning.none2.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini
new file mode 100644
index 00000000000..d257ff26350
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html.ini
@@ -0,0 +1,2 @@
+[2d.text.drawing.style.reset.fontKerning.none2.w.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini
new file mode 100644
index 00000000000..a83584397ff
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html.ini
@@ -0,0 +1,2 @@
+[2d.text.fontVariantCaps.after.reset.font.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini
new file mode 100644
index 00000000000..19f02a9b207
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html.ini
@@ -0,0 +1,2 @@
+[2d.text.fontVariantCaps.after.reset.font.w.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini b/tests/wpt/meta/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini
new file mode 100644
index 00000000000..28cd6fb1a33
--- /dev/null
+++ b/tests/wpt/meta/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.ini
@@ -0,0 +1,87 @@
+[isolate-and-require-corp-load-from-cache-storage.tentative.https.html]
+ [setting up]
+ expected: FAIL
+
+ [Fetch cross-origin cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors from service-worker and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch same-origin no-cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-disabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-disabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-disabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-enabled corp-cross-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-enabled corp-same-origin from network and CacheStorage.]
+ expected: FAIL
+
+ [Fetch cross-origin no-cors cors-enabled corp-undefined from network and CacheStorage.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index ddd65fdcec8..b680c14d61c 100644
--- a/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,15 +1,19 @@
[supported-elements.html]
+ expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: FAIL
+ expected: NOTRUN
[Element with tabindex should support autofocus]
- expected: FAIL
+ expected: TIMEOUT
[Area element should support autofocus]
- expected: FAIL
+ expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
- expected: FAIL
+ expected: NOTRUN
+
+ [Non-HTMLElement should not support autofocus]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.html.ini
new file mode 100644
index 00000000000..3bc82b94d69
--- /dev/null
+++ b/tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.html.ini
@@ -0,0 +1,2 @@
+[details-display-type-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.tentative.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.tentative.html.ini
deleted file mode 100644
index 4e5a3ff1e5b..00000000000
--- a/tests/wpt/meta/html/rendering/the-details-element/details-display-type-002.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-display-type-002.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-display.tentative.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-display.html.ini
index 06f2790b6bb..3b75395f3cb 100644
--- a/tests/wpt/meta/html/rendering/the-details-element/details-display.tentative.html.ini
+++ b/tests/wpt/meta/html/rendering/the-details-element/details-display.html.ini
@@ -1,4 +1,4 @@
-[details-display.tentative.html]
+[details-display.html]
[default display of first summary child of details is list-item]
expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.html.ini
new file mode 100644
index 00000000000..9096d743875
--- /dev/null
+++ b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.html.ini
@@ -0,0 +1,2 @@
+[details-pseudo-elements-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini
deleted file mode 100644
index a17d6e8fd93..00000000000
--- a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-pseudo-elements-001.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.html.ini
new file mode 100644
index 00000000000..29476194e40
--- /dev/null
+++ b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.html.ini
@@ -0,0 +1,2 @@
+[details-pseudo-elements-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini
deleted file mode 100644
index 75b4ed86b24..00000000000
--- a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-pseudo-elements-002.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.html.ini
new file mode 100644
index 00000000000..7ba56cc1ea2
--- /dev/null
+++ b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.html.ini
@@ -0,0 +1,2 @@
+[details-pseudo-elements-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini b/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini
deleted file mode 100644
index 8521ca4c028..00000000000
--- a/tests/wpt/meta/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[details-pseudo-elements-003.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/embedded-content/media-elements/track/track-element/no-cuechange-before-play.html.ini b/tests/wpt/meta/html/semantics/embedded-content/media-elements/track/track-element/no-cuechange-before-play.html.ini
index 4caf5931a11..246e55deb7e 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/media-elements/track/track-element/no-cuechange-before-play.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/media-elements/track/track-element/no-cuechange-before-play.html.ini
@@ -1,3 +1,4 @@
[no-cuechange-before-play.html]
+ expected: TIMEOUT
[Ensure that the 'cuechange' event is not fired before video playback has begun.]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
index 26704422bbe..68203d2a082 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_escaping-2.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index 7da2bc5ac80..a1b912abd4b 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_escaping-3.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
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 e8872b3585b..96d866bf3cc 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: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/forms/historical.html.ini b/tests/wpt/meta/html/semantics/forms/historical.html.ini
deleted file mode 100644
index 5d8289307cc..00000000000
--- a/tests/wpt/meta/html/semantics/forms/historical.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[historical.html]
- [<input name=isindex> should not be supported]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/meta/html/syntax/parsing/DOMContentLoaded-defer.html.ini
index b8bdf33cb65..b8bdf33cb65 100644
--- a/tests/wpt/meta-legacy-layout/html/syntax/parsing/DOMContentLoaded-defer.html.ini
+++ b/tests/wpt/meta/html/syntax/parsing/DOMContentLoaded-defer.html.ini
diff --git a/tests/wpt/meta/resource-timing/nested-context-navigations-iframe.html.ini b/tests/wpt/meta/resource-timing/nested-context-navigations-iframe.html.ini
new file mode 100644
index 00000000000..256cf4b2cca
--- /dev/null
+++ b/tests/wpt/meta/resource-timing/nested-context-navigations-iframe.html.ini
@@ -0,0 +1,19 @@
+[nested-context-navigations-iframe.html]
+ expected: TIMEOUT
+ [Test that iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that cross-site iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that iframe refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin iframe refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that cross-site iframe refreshes are not observable by the parent]
+ expected: NOTRUN
diff --git a/tests/wpt/meta/resource-timing/response-status-code.html.ini b/tests/wpt/meta/resource-timing/response-status-code.html.ini
index 38df5f01300..f84018bce54 100644
--- a/tests/wpt/meta/resource-timing/response-status-code.html.ini
+++ b/tests/wpt/meta/resource-timing/response-status-code.html.ini
@@ -238,37 +238,37 @@
expected: FAIL
[This test validates the response status of resources. 79]
- expected: FAIL
+ expected: TIMEOUT
[This test validates the response status of resources. 80]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 81]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 82]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 83]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 84]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 85]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 86]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 87]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 88]
- expected: FAIL
+ expected: NOTRUN
[This test validates the response status of resources. 89]
- expected: TIMEOUT
+ expected: NOTRUN
[This test validates the response status of resources. 90]
expected: NOTRUN
diff --git a/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini b/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini
index 5a2e10ff69c..dac51c99110 100644
--- a/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini
+++ b/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini
@@ -68,3 +68,6 @@
[PerformanceEntry has correct protocol attribute (xmlhttprequest)]
expected: FAIL
+
+ [PerformanceEntry has correct name, initiatorType, startTime, and duration (img)]
+ expected: FAIL
diff --git a/tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini
new file mode 100644
index 00000000000..24daae4c2e7
--- /dev/null
+++ b/tests/wpt/meta/workers/WorkerGlobalScope-close.html.ini
@@ -0,0 +1,3 @@
+[WorkerGlobalScope-close.html]
+ [Test sending a message after closing.]
+ expected: FAIL
diff --git a/tests/wpt/tests/.well-known/web-identity b/tests/wpt/tests/.well-known/web-identity
index c36f63e8138..3369c96de28 100644
--- a/tests/wpt/tests/.well-known/web-identity
+++ b/tests/wpt/tests/.well-known/web-identity
@@ -1,5 +1,5 @@
import importlib
-keys = importlib.import_module("credential-management.support.fedcm.keys")
+keys = importlib.import_module("fedcm.support.keys")
def main(request, response):
manifest_url = request.server.stash.take(keys.MANIFEST_URL_IN_MANIFEST_LIST_KEY)
diff --git a/tests/wpt/tests/IndexedDB/bigint_value.htm b/tests/wpt/tests/IndexedDB/bigint_value.htm
deleted file mode 100644
index acdeebb76f5..00000000000
--- a/tests/wpt/tests/IndexedDB/bigint_value.htm
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>IndexedDB: BigInt keys and values</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-// BigInt and BigInt objects are supported in serialization, per
-// https://github.com/whatwg/html/pull/3480
-// This support allows them to be used as IndexedDB values.
-
-function value_test(value, predicate, name) {
- async_test(t => {
- t.step(function() {
- assert_true(predicate(value),
- "Predicate should return true for the initial value.");
- });
-
- createdb(t).onupgradeneeded = t.step_func(e => {
- e.target.result
- .createObjectStore("store")
- .add(value, 1);
-
- e.target.onsuccess = t.step_func(e => {
- e.target.result
- .transaction("store", "readonly", {durability: "relaxed"})
- .objectStore("store")
- .get(1)
- .onsuccess = t.step_func(e =>
- {
- assert_true(predicate(e.target.result),
- "Predicate should return true for the deserialized result.");
- t.done();
- });
- });
- });
- }, "BigInts as values in IndexedDB - " + name);
-}
-
-value_test(1n,
- x => x === 1n,
- "primitive BigInt");
-value_test(Object(1n),
- x => typeof x === 'object' &&
- x instanceof BigInt &&
- x.valueOf() === 1n,
- "BigInt object");
-value_test({val: 1n},
- x => x.val === 1n,
- "primitive BigInt inside object");
-value_test({val: Object(1n)},
- x => x.val.valueOf() === 1n &&
- x.val instanceof BigInt &&
- x.val.valueOf() === 1n,
- "BigInt object inside object");
-
-// However, BigInt is not supported as an IndexedDB key; support
-// has been proposed in the following PR, but that change has not
-// landed at the time this patch was written
-// https://github.com/w3c/IndexedDB/pull/231
-
-function invalidKey(key, name) {
- test(t => {
- assert_throws_dom("DataError", () => indexedDB.cmp(0, key));
- }, "BigInts as keys in IndexedDB - " + name);
-}
-
-invalidKey(1n, "primitive BigInt");
-// Still an error even if the IndexedDB patch lands
-invalidKey(Object(1n), "BigInt object");
-</script>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index.any.js b/tests/wpt/tests/IndexedDB/idbcursor_continue_index.any.js
new file mode 100644
index 00000000000..2ac55bce9cb
--- /dev/null
+++ b/tests/wpt/tests/IndexedDB/idbcursor_continue_index.any.js
@@ -0,0 +1,311 @@
+// META: global=window,worker
+// META: title=IDBCursor.continue()
+// META: script=resources/support.js
+// @author Microsoft <https://www.microsoft.com>
+// @author Odin Hørthe Omdal <mailto:odinho@opera.com>
+// @author Intel <http://www.intel.com>
+
+'use strict';
+
+function createObjectStoreWithIndexAndPopulate(db, records) {
+ let objStore = db.createObjectStore("test", { keyPath: "pKey" });
+ objStore.createIndex("index", "iKey");
+ for (let i = 0; i < records.length; i++) {
+ objStore.add(records[i]);
+ }
+ return objStore;
+}
+
+function setOnUpgradeNeeded(dbObj, records) {
+ return function (event) {
+ dbObj.db = event.target.result;
+ createObjectStoreWithIndexAndPopulate(dbObj.db, records);
+ };
+}
+
+async_test(t => {
+ let dbObj = {};
+ let count = 0;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" },
+ { pKey: "primaryKey_1-2", iKey: "indexKey_1" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = setOnUpgradeNeeded(dbObj, records);
+
+ open_rq.onsuccess = function (e) {
+ let cursor_rq = dbObj.db.transaction("test", "readonly", { durability: 'relaxed' })
+ .objectStore("test")
+ .index("index")
+ .openCursor();
+
+ cursor_rq.onsuccess = t.step_func(function (e) {
+ let cursor = e.target.result;
+ if (!cursor) {
+ assert_equals(count, records.length, "cursor run count");
+ t.done();
+ }
+
+ let record = cursor.value;
+ assert_equals(record.pKey, records[count].pKey, "primary key");
+ assert_equals(record.iKey, records[count].iKey, "index key");
+
+ cursor.continue();
+ count++;
+ });
+ };
+}, "IDBCursor.continue() - index - iterate to the next record");
+
+async_test(t => {
+ let dbObj = {};
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = setOnUpgradeNeeded(dbObj, records);
+
+ open_rq.onsuccess = function (e) {
+ let cursor_rq = dbObj.db.transaction("test", "readonly", { durability: 'relaxed' })
+ .objectStore("test")
+ .index("index")
+ .openCursor();
+
+ cursor_rq.onsuccess = t.step_func(function (e) {
+ let cursor = e.target.result;
+
+ assert_throws_dom("DataError",
+ function () { cursor.continue(-1); });
+
+ assert_true(cursor instanceof IDBCursorWithValue, "cursor");
+
+ t.done();
+ });
+ };
+}, "IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key");
+
+async_test(t => {
+ let dbObj = {};
+ let count = 0;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = setOnUpgradeNeeded(dbObj, records);
+
+ open_rq.onsuccess = function (e) {
+ let cursor_rq = dbObj.db.transaction("test", "readonly", { durability: 'relaxed' })
+ .objectStore("test")
+ .index("index")
+ .openCursor(undefined, "next"); // XXX: Fx has issue with "undefined"
+
+ cursor_rq.onsuccess = t.step_func(function (e) {
+ let cursor = e.target.result;
+ if (!cursor) {
+ assert_equals(count, 2, "ran number of times");
+ t.done();
+ }
+
+ // First time checks key equal, second time checks key less than
+ assert_throws_dom("DataError",
+ function () { cursor.continue(records[0].iKey); });
+
+ cursor.continue();
+
+ count++;
+ });
+ };
+}, "IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record");
+
+async_test(t => {
+ let dbObj = {};
+ let count = 0;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" },
+ { pKey: "primaryKey_2", iKey: "indexKey_2" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = setOnUpgradeNeeded(dbObj, records);
+
+ open_rq.onsuccess = function (e) {
+ let cursor_rq = dbObj.db.transaction("test", "readonly", { durability: 'relaxed' })
+ .objectStore("test")
+ .index("index")
+ .openCursor(undefined, "prev"); // XXX Fx issues w undefined
+
+ cursor_rq.onsuccess = t.step_func(function (e) {
+ let cursor = e.target.result;
+ let record = cursor.value;
+
+ switch (count) {
+ case 0:
+ assert_equals(record.pKey, records[2].pKey, "first pKey");
+ assert_equals(record.iKey, records[2].iKey, "first iKey");
+ cursor.continue();
+ break;
+
+ case 1:
+ assert_equals(record.pKey, records[1].pKey, "second pKey");
+ assert_equals(record.iKey, records[1].iKey, "second iKey");
+ assert_throws_dom("DataError",
+ function () { cursor.continue("indexKey_2"); });
+ t.done();
+ break;
+
+ default:
+ assert_unreached("Unexpected count value: " + count);
+ }
+
+ count++;
+ });
+ };
+}, "IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record");
+
+async_test(t => {
+ let dbObj = {};
+ let count = 0;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" },
+ { pKey: "primaryKey_1-2", iKey: "indexKey_1" },
+ { pKey: "primaryKey_2", iKey: "indexKey_2" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = setOnUpgradeNeeded(dbObj, records);
+
+ open_rq.onsuccess = function (e) {
+ let cursor_rq = dbObj.db.transaction("test", "readonly", { durability: 'relaxed' })
+ .objectStore("test")
+ .index("index")
+ .openCursor(undefined, "prevunique");
+
+ const expected = [
+ { pKey: "primaryKey_2", iKey: "indexKey_2" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" },
+ { pKey: "primaryKey_0", iKey: "indexKey_0" }
+ ];
+
+ cursor_rq.onsuccess = t.step_func(function (e) {
+ if (!e.target.result) {
+ assert_equals(count, expected.length, 'count');
+ t.done();
+ return;
+ }
+ let cursor = e.target.result;
+ let record = cursor.value;
+
+ assert_equals(record.pKey, expected[count].pKey, "pKey #" + count);
+ assert_equals(record.iKey, expected[count].iKey, "iKey #" + count);
+
+ assert_equals(cursor.key, expected[count].iKey, "cursor.key #" + count);
+ assert_equals(cursor.primaryKey, expected[count].pKey, "cursor.primaryKey #" + count);
+
+ count++;
+ cursor.continue(expected[count] ? expected[count].iKey : undefined);
+ });
+ };
+}, "IDBCursor.continue() - index - iterate using 'prevunique'");
+
+async_test(t => {
+ let dbObj = {};
+ let count = 0;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" },
+ { pKey: "primaryKey_1-2", iKey: "indexKey_1" },
+ { pKey: "primaryKey_2", iKey: "indexKey_2" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = setOnUpgradeNeeded(dbObj, records);
+
+ open_rq.onsuccess = function (e) {
+ let cursor_rq = dbObj.db.transaction("test", "readonly", { durability: 'relaxed' })
+ .objectStore("test")
+ .index("index")
+ .openCursor(undefined, "nextunique");
+
+ const expected = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" },
+ { pKey: "primaryKey_2", iKey: "indexKey_2" }
+ ];
+
+ cursor_rq.onsuccess = t.step_func(function (e) {
+ if (!e.target.result) {
+ assert_equals(count, expected.length, 'count');
+ t.done();
+ return;
+ }
+ let cursor = e.target.result;
+ let record = cursor.value;
+
+ assert_equals(record.pKey, expected[count].pKey, "pKey #" + count);
+ assert_equals(record.iKey, expected[count].iKey, "iKey #" + count);
+
+ assert_equals(cursor.key, expected[count].iKey, "cursor.key #" + count);
+ assert_equals(cursor.primaryKey, expected[count].pKey, "cursor.primaryKey #" + count);
+
+ count++;
+ cursor.continue(expected[count] ? expected[count].iKey : undefined);
+ });
+ };
+}, "IDBCursor.continue() - index - iterate using nextunique");
+
+async_test(t => {
+ let db;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = function (event) {
+ db = event.target.result;
+ let objStore = createObjectStoreWithIndexAndPopulate(db, records);
+ let rq = objStore.index("index").openCursor();
+ rq.onsuccess = t.step_func(function (event) {
+ let cursor = event.target.result;
+ assert_true(cursor instanceof IDBCursor);
+
+ event.target.transaction.abort();
+ assert_throws_dom("TransactionInactiveError",
+ function () { cursor.continue(); });
+
+ t.done();
+ });
+ }
+}, "Calling continue() should throw an exception TransactionInactiveError when the transaction is not active.");
+
+async_test(t => {
+ let db;
+ const records = [
+ { pKey: "primaryKey_0", iKey: "indexKey_0" },
+ { pKey: "primaryKey_1", iKey: "indexKey_1" }
+ ];
+
+ let open_rq = createdb(t);
+ open_rq.onupgradeneeded = function (event) {
+ db = event.target.result;
+ let objStore = createObjectStoreWithIndexAndPopulate(db, records);
+ let rq = objStore.index("index").openCursor();
+ rq.onsuccess = t.step_func(function (event) {
+ let cursor = event.target.result;
+ assert_true(cursor instanceof IDBCursor);
+
+ db.deleteObjectStore("test");
+ assert_throws_dom("InvalidStateError",
+ function () { cursor.continue(); });
+
+ t.done();
+ });
+ }
+}, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index.htm
deleted file mode 100644
index cfc0ae3fe9f..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index.htm
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<title>IDBCursor.continue() - index - iterate to the next record</title>
-<link rel="author" title="Microsoft" href="http://www.microsoft.com">
-<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue-void-any-key">
-<link rel=assert title="Otherwise this method runs the steps for asynchronously executing a request.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
- var db,
- count = 0,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" },
- { pKey: "primaryKey_1-2", iKey: "indexKey_1" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function(e) {
- db = e.target.result;
- var objStore = db.createObjectStore("test", { keyPath:"pKey" });
-
- objStore.createIndex("index", "iKey");
-
- for (var i = 0; i < records.length; i++)
- objStore.add(records[i]);
- };
-
- open_rq.onsuccess = function(e) {
- var cursor_rq = db.transaction("test", "readonly", {durability: 'relaxed'})
- .objectStore("test")
- .index("index")
- .openCursor();
-
- cursor_rq.onsuccess = t.step_func(function(e) {
- var cursor = e.target.result;
- if (!cursor) {
- assert_equals(count, records.length, "cursor run count");
- t.done();
- }
-
- var record = cursor.value;
- assert_equals(record.pKey, records[count].pKey, "primary key");
- assert_equals(record.iKey, records[count].iKey, "index key");
-
- cursor.continue();
- count++;
- });
- };
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index2.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index2.htm
deleted file mode 100644
index 56b9218fd19..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index2.htm
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<title>IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key</title>
-<link rel="author" title="Microsoft" href="http://www.microsoft.com">
-<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue-void-any-key">
-<link rel=assert title="If the key parameter is specified and fulfills any of these conditions this method must throw a DOMException of type DataError">
-<link rel=assert title="The parameter is not a valid key.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function(e) {
- db = e.target.result;
- var objStore = db.createObjectStore("test", {keyPath:"pKey"});
-
- objStore.createIndex("index", "iKey");
-
- for(var i = 0; i < records.length; i++)
- objStore.add(records[i]);
- };
-
- open_rq.onsuccess = function(e) {
- var cursor_rq = db.transaction("test", "readonly", {durability: 'relaxed'})
- .objectStore("test")
- .index("index")
- .openCursor();
-
- cursor_rq.onsuccess = t.step_func(function(e) {
- var cursor = e.target.result;
-
- assert_throws_dom("DataError",
- function() { cursor.continue(document); });
-
- assert_true(cursor instanceof IDBCursorWithValue, "cursor");
-
- t.done();
- });
- };
-
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index3.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index3.htm
deleted file mode 100644
index b9f59454028..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index3.htm
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<title>IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record </title>
-<link rel="author" title="Microsoft" href="http://www.microsoft.com">
-<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue-void-any-key">
-<link rel=assert title="The parameter is less than or equal to this cursor's position and this cursor's direction is 'next' or 'nextunique'.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function(e) {
- db = e.target.result;
- var objStore = db.createObjectStore("test", {keyPath:"pKey"});
-
- objStore.createIndex("index", "iKey");
-
- for (var i = 0; i < records.length; i++)
- objStore.add(records[i]);
- };
-
- open_rq.onsuccess = function(e) {
- var count = 0;
- var cursor_rq = db.transaction("test", "readonly", {durability: 'relaxed'})
- .objectStore("test")
- .index("index")
- .openCursor(undefined, "next"); // XXX: Fx has issue with "undefined"
-
- cursor_rq.onsuccess = t.step_func(function(e) {
- var cursor = e.target.result;
- if (!cursor) {
- assert_equals(count, 2, "ran number of times");
- t.done();
- }
-
- // First time checks key equal, second time checks key less than
- assert_throws_dom("DataError",
- function() { cursor.continue(records[0].iKey); });
-
- cursor.continue();
-
- count++;
- });
- };
-
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index4.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index4.htm
deleted file mode 100644
index f851b87ddf0..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index4.htm
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<title>IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record</title>
-<link rel="author" title="Microsoft" href="http://www.microsoft.com">
-<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue-void-any-key">
-<link rel=assert title="The parameter is greater than or equal to this cursor's position and this cursor's direction is 'prev' or 'prevunique'.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" },
- { pKey: "primaryKey_2", iKey: "indexKey_2" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function(e) {
- db = e.target.result;
- var objStore = db.createObjectStore("test", { keyPath: "pKey" });
-
- objStore.createIndex("index", "iKey");
-
- for (var i = 0; i < records.length; i++)
- objStore.add(records[i]);
- };
-
- open_rq.onsuccess = function(e) {
- var count = 0,
- cursor_rq = db.transaction("test", "readonly", {durability: 'relaxed'})
- .objectStore("test")
- .index("index")
- .openCursor(undefined, "prev"); // XXX Fx issues w undefined
-
- cursor_rq.onsuccess = t.step_func(function(e) {
- var cursor = e.target.result,
- record = cursor.value;
-
- switch(count) {
- case 0:
- assert_equals(record.pKey, records[2].pKey, "first pKey");
- assert_equals(record.iKey, records[2].iKey, "first iKey");
- cursor.continue();
- break;
-
- case 1:
- assert_equals(record.pKey, records[1].pKey, "second pKey");
- assert_equals(record.iKey, records[1].iKey, "second iKey");
- assert_throws_dom("DataError",
- function() { cursor.continue("indexKey_2"); });
- t.done();
- break;
-
- default:
- assert_unreached("Unexpected count value: " + count);
- }
-
- count++;
- });
- };
-
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index5.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index5.htm
deleted file mode 100644
index 3e70873bbbd..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index5.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<title>IDBCursor.continue() - index - iterate using 'prevunique'</title>
-<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
-<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#cursor-iteration-operation">
-<link rel=assert title='If direction is "prevunique", let temp record be the last record in records which satisfy all of the following requirements:'>
-<link rel=assert title="If position is defined, the record's key is less than position.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" },
- { pKey: "primaryKey_1-2", iKey: "indexKey_1" },
- { pKey: "primaryKey_2", iKey: "indexKey_2" } ],
-
- expected = [ { pKey: "primaryKey_2", iKey: "indexKey_2" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" },
- { pKey: "primaryKey_0", iKey: "indexKey_0" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function(e) {
- db = e.target.result;
- var objStore = db.createObjectStore("test", { keyPath: "pKey" });
-
- objStore.createIndex("index", "iKey");
-
- for (var i = 0; i < records.length; i++)
- objStore.add(records[i]);
- };
-
- open_rq.onsuccess = function(e) {
- var count = 0,
- cursor_rq = db.transaction("test", "readonly", {durability: 'relaxed'})
- .objectStore("test")
- .index("index")
- .openCursor(undefined, 'prevunique');
-
- cursor_rq.onsuccess = t.step_func(function(e) {
- if (!e.target.result) {
- assert_equals(count, expected.length, 'count');
- t.done();
- return;
- }
- var cursor = e.target.result,
- record = cursor.value;
-
- assert_equals(record.pKey, expected[count].pKey, "pKey #" + count);
- assert_equals(record.iKey, expected[count].iKey, "iKey #" + count);
-
- assert_equals(cursor.key, expected[count].iKey, "cursor.key #" + count);
- assert_equals(cursor.primaryKey, expected[count].pKey, "cursor.primaryKey #" + count);
-
- count++;
- cursor.continue(expected[count] ? expected[count].iKey : undefined);
- });
- };
-
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index6.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index6.htm
deleted file mode 100644
index 1933bfcf990..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index6.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<title>IDBCursor.continue() - index - iterate using nextunique</title>
-<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
-<link rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#cursor-iteration-operation">
-<link rel=assert title='If direction is "nextunique", let found record be the first record in records which satisfy all of the following requirements:'>
-<link rel=assert title="If position is defined, the record's key is greater than position.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" },
- { pKey: "primaryKey_1-2", iKey: "indexKey_1" },
- { pKey: "primaryKey_2", iKey: "indexKey_2" } ],
-
- expected = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" },
- { pKey: "primaryKey_2", iKey: "indexKey_2" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function(e) {
- db = e.target.result;
- var objStore = db.createObjectStore("test", { keyPath: "pKey" });
-
- objStore.createIndex("index", "iKey");
-
- for (var i = 0; i < records.length; i++)
- objStore.add(records[i]);
- };
-
- open_rq.onsuccess = function(e) {
- var count = 0,
- cursor_rq = db.transaction("test", "readonly", {durability: 'relaxed'})
- .objectStore("test")
- .index("index")
- .openCursor(undefined, "nextunique");
-
- cursor_rq.onsuccess = t.step_func(function(e) {
- if (!e.target.result) {
- assert_equals(count, expected.length, 'count');
- t.done();
- return;
- }
- var cursor = e.target.result,
- record = cursor.value;
-
- assert_equals(record.pKey, expected[count].pKey, "pKey #" + count);
- assert_equals(record.iKey, expected[count].iKey, "iKey #" + count);
-
- assert_equals(cursor.key, expected[count].iKey, "cursor.key #" + count);
- assert_equals(cursor.primaryKey, expected[count].pKey, "cursor.primaryKey #" + count);
-
- count++;
- cursor.continue(expected[count] ? expected[count].iKey : undefined);
- });
- };
-
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index7.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index7.htm
deleted file mode 100644
index 61bfe85b274..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index7.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>IDBCursor.continue() - index - throw TransactionInactiveError</title>
-<link rel="author" title="Intel" href="http://www.intel.com">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-<div id="log"></div>
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function (event) {
- db = event.target.result;
- var objStore = db.createObjectStore("store", {keyPath : "pKey"});
- objStore.createIndex("index", "iKey");
- for (var i = 0; i < records.length; i++) {
- objStore.add(records[i]);
- }
- var rq = objStore.index("index").openCursor();
- rq.onsuccess = t.step_func(function(event) {
- var cursor = event.target.result;
- assert_true(cursor instanceof IDBCursor);
-
- event.target.transaction.abort();
- assert_throws_dom("TransactionInactiveError", function() {
- cursor.continue();
- }, "Calling continue() should throws an exception TransactionInactiveError when the transaction is not active.");
-
- t.done();
- });
- }
-
-</script>
diff --git a/tests/wpt/tests/IndexedDB/idbcursor_continue_index8.htm b/tests/wpt/tests/IndexedDB/idbcursor_continue_index8.htm
deleted file mode 100644
index e4cbe7261f3..00000000000
--- a/tests/wpt/tests/IndexedDB/idbcursor_continue_index8.htm
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>IDBCursor.continue() - index - throw InvalidStateError caused by object store been deleted</title>
-<link rel="author" title="Intel" href="http://www.intel.com">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-<div id="log"></div>
-<script>
-
- var db,
- t = async_test(),
- records = [ { pKey: "primaryKey_0", iKey: "indexKey_0" },
- { pKey: "primaryKey_1", iKey: "indexKey_1" } ];
-
- var open_rq = createdb(t);
- open_rq.onupgradeneeded = function (event) {
- db = event.target.result;
- var objStore = db.createObjectStore("store", {keyPath : "pKey"});
- objStore.createIndex("index", "iKey");
- for (var i = 0; i < records.length; i++) {
- objStore.add(records[i]);
- }
- var rq = objStore.index("index").openCursor();
- rq.onsuccess = t.step_func(function(event) {
- var cursor = event.target.result;
- assert_true(cursor instanceof IDBCursor);
-
- db.deleteObjectStore("store");
- assert_throws_dom("InvalidStateError", function() {
- cursor.continue();
- }, "If the cursor's source or effective object store has been deleted, the implementation MUST throw a DOMException of type InvalidStateError");
-
- t.done();
- });
- }
-
-</script>
diff --git a/tests/wpt/tests/IndexedDB/value.any.js b/tests/wpt/tests/IndexedDB/value.any.js
new file mode 100644
index 00000000000..d4fa6f520cc
--- /dev/null
+++ b/tests/wpt/tests/IndexedDB/value.any.js
@@ -0,0 +1,88 @@
+// META: global=window,worker
+// META: title=IndexedDB: keys and values
+// META: script=resources/support.js
+// @author Odin Hørthe Omdal <mailto:odinho@opera.com>
+
+'use_strict';
+
+function setOnUpgradeNeeded(t, predicate, _instanceof, value) {
+ createdb(t).onupgradeneeded = t.step_func(e => {
+ const db = e.target.result;
+ const store = db.createObjectStore("store");
+ store.add(value, 1);
+
+ e.target.onsuccess = t.step_func(e => {
+ const transaction = db.transaction("store", "readonly", { durability: "relaxed" });
+ const objectStore = transaction.objectStore("store");
+ objectStore.get(1).onsuccess = t.step_func(e => {
+ if (predicate) {
+ assert_true(predicate(e.target.result),
+ "Predicate should return true for the deserialized result.");
+ } else if (_instanceof) {
+ assert_true(e.target.result instanceof _instanceof, "instanceof");
+ }
+ t.done();
+ });
+ });
+ });
+}
+
+// BigInt and BigInt objects are supported in serialization, per
+// https://github.com/whatwg/html/pull/3480
+// This support allows them to be used as IndexedDB values.
+
+function value_test(value, predicate, name) {
+ async_test(t => {
+ t.step(function () {
+ assert_true(predicate(value),
+ "Predicate should return true for the initial value.");
+ });
+
+ setOnUpgradeNeeded(t, predicate, null, value);
+ }, "BigInts as values in IndexedDB - " + name);
+}
+
+value_test(1n,
+ x => x === 1n,
+ "primitive BigInt");
+value_test(Object(1n),
+ x => typeof x === 'object' &&
+ x instanceof BigInt &&
+ x.valueOf() === 1n,
+ "BigInt object");
+value_test({ val: 1n },
+ x => x.val === 1n,
+ "primitive BigInt inside object");
+value_test({ val: Object(1n) },
+ x => x.val.valueOf() === 1n &&
+ x.val instanceof BigInt &&
+ x.val.valueOf() === 1n,
+ "BigInt object inside object");
+
+// However, BigInt is not supported as an IndexedDB key; support
+// has been proposed in the following PR, but that change has not
+// landed at the time this patch was written
+// https://github.com/w3c/IndexedDB/pull/231
+
+function invalidKey(key, name) {
+ test(t => {
+ assert_throws_dom("DataError", () => indexedDB.cmp(0, key));
+ }, "BigInts as keys in IndexedDB - " + name);
+}
+
+invalidKey(1n, "primitive BigInt");
+// Still an error even if the IndexedDB patch lands
+invalidKey(Object(1n), "BigInt object");
+
+function value(value, _instanceof) {
+ async_test(t => {
+ t.step(function () {
+ assert_true(value instanceof _instanceof, "TEST ERROR, instanceof");
+ });
+
+ setOnUpgradeNeeded(t, null, _instanceof, value);
+ }, "Values - " + _instanceof.name);
+}
+
+value(new Date(), Date);
+value(new Array(), Array);
diff --git a/tests/wpt/tests/IndexedDB/value.htm b/tests/wpt/tests/IndexedDB/value.htm
deleted file mode 100644
index 32d7540ab37..00000000000
--- a/tests/wpt/tests/IndexedDB/value.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<title>Values</title>
-<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/support.js"></script>
-
-<script>
-function value(value, _instanceof) {
- var t = async_test(document.title + " - " + _instanceof.name);
- t.step(function() {
- assert_true(value instanceof _instanceof, "TEST ERROR, instanceof");
- });
-
- createdb(t).onupgradeneeded = function(e) {
- e.target.result
- .createObjectStore("store")
- .add(value, 1);
-
- e.target.onsuccess = t.step_func(function(e) {
- e.target.result
- .transaction("store", "readonly", {durability: 'relaxed'})
- .objectStore("store")
- .get(1)
- .onsuccess = t.step_func(function(e)
- {
- assert_true(e.target.result instanceof _instanceof, "instanceof")
- t.done();
- });
- });
- };
-}
-
-value(new Date(), Date);
-value(new Array(), Array);
-
-</script>
-
-<div id="log"></div>
diff --git a/tests/wpt/tests/attribution-reporting/header-parsing-error-debug-report.sub.https.html b/tests/wpt/tests/attribution-reporting/header-parsing-error-debug-report.sub.https.html
index 3c3ebe48d9f..fb674c9720e 100644
--- a/tests/wpt/tests/attribution-reporting/header-parsing-error-debug-report.sub.https.html
+++ b/tests/wpt/tests/attribution-reporting/header-parsing-error-debug-report.sub.https.html
@@ -7,7 +7,7 @@
<script src="/attribution-reporting/resources/helpers.js"></script>
<script>
attribution_reporting_promise_test(async t => {
- await registerAttributionSrc({
+ registerAttributionSrc({
trigger: {
event_trigger_data: {},
},
diff --git a/tests/wpt/tests/attribution-reporting/referrer-policy.sub.https.html b/tests/wpt/tests/attribution-reporting/referrer-policy.sub.https.html
index ee4e0c9a8c1..5f5857e2c41 100644
--- a/tests/wpt/tests/attribution-reporting/referrer-policy.sub.https.html
+++ b/tests/wpt/tests/attribution-reporting/referrer-policy.sub.https.html
@@ -36,7 +36,7 @@ const searchParams = new URLSearchParams(location.search);
promise_test(async t => {
const noreferrer = searchParams.has('noreferrer');
- await registerAttributionSrc({
+ registerAttributionSrc({
method: 'variant',
extraQueryParams: {'store-request': 'true'},
referrerPolicy: noreferrer ? 'no-referrer' : '',
diff --git a/tests/wpt/tests/attribution-reporting/request-format.sub.https.html b/tests/wpt/tests/attribution-reporting/request-format.sub.https.html
index 83a2d8f6bdf..5965f53299a 100644
--- a/tests/wpt/tests/attribution-reporting/request-format.sub.https.html
+++ b/tests/wpt/tests/attribution-reporting/request-format.sub.https.html
@@ -39,7 +39,7 @@ const expected_eligible =
promise_test(async t => {
// Set mixed-case query params to ensure that they are propagated correctly.
- await registerAttributionSrc({
+ registerAttributionSrc({
method: 'variant',
extraQueryParams: {'aB': 'Cd', 'store-request': 'true'},
});
diff --git a/tests/wpt/tests/attribution-reporting/resources/helpers.js b/tests/wpt/tests/attribution-reporting/resources/helpers.js
index 7157742e6e5..0f20a71237c 100644
--- a/tests/wpt/tests/attribution-reporting/resources/helpers.js
+++ b/tests/wpt/tests/attribution-reporting/resources/helpers.js
@@ -166,7 +166,7 @@ const registerAttributionSrcByImg = (attributionSrc) => {
element.attributionSrc = attributionSrc;
};
-const registerAttributionSrc = async ({
+const registerAttributionSrc = ({
source,
trigger,
cookie,
@@ -226,16 +226,8 @@ const registerAttributionSrc = async ({
if (eligible === null) {
img.attributionSrc = url;
} else {
- await new Promise(resolve => {
- img.onload = resolve;
- // Since the resource being fetched isn't a valid image, onerror will
- // be fired, but the browser will still process the
- // attribution-related headers, so resolve the promise instead of
- // rejecting.
- img.onerror = resolve;
- img.attributionSrc = '';
- img.src = url;
- });
+ img.attributionSrc = '';
+ img.src = url;
}
return 'event';
case 'script':
@@ -244,12 +236,9 @@ const registerAttributionSrc = async ({
if (eligible === null) {
script.attributionSrc = url;
} else {
- await new Promise(resolve => {
- script.onload = resolve;
- script.attributionSrc = '';
- script.src = url;
- document.body.appendChild(script);
- });
+ script.attributionSrc = '';
+ script.src = url;
+ document.body.appendChild(script);
}
return 'event';
case 'a':
@@ -265,10 +254,10 @@ const registerAttributionSrc = async ({
a.href = url;
}
document.body.appendChild(a);
- await test_driver.click(a);
+ test_driver.click(a);
return 'navigation';
case 'open':
- await test_driver.bless('open window', () => {
+ test_driver.bless('open window', () => {
const feature = referrerPolicy === 'no-referrer' ? 'noreferrer' : '';
if (eligible === null) {
open(
@@ -284,20 +273,16 @@ const registerAttributionSrc = async ({
if (eligible !== null) {
attributionReporting = JSON.parse(eligible);
}
- await fetch(url, {credentials, attributionReporting, referrerPolicy});
+ fetch(url, {credentials, attributionReporting, referrerPolicy});
return 'event';
}
case 'xhr':
- await new Promise((resolve, reject) => {
- const req = new XMLHttpRequest();
- req.open('GET', url);
- if (eligible !== null) {
- req.setAttributionReporting(JSON.parse(eligible));
- }
- req.onload = resolve;
- req.onerror = () => reject(req.statusText);
- req.send();
- });
+ const req = new XMLHttpRequest();
+ req.open('GET', url);
+ if (eligible !== null) {
+ req.setAttributionReporting(JSON.parse(eligible));
+ }
+ req.send();
return 'event';
default:
throw `unknown method "${method}"`;
diff --git a/tests/wpt/tests/common/dispatcher/dispatcher.js b/tests/wpt/tests/common/dispatcher/dispatcher.js
index ce17a7c9145..dab0100020b 100644
--- a/tests/wpt/tests/common/dispatcher/dispatcher.js
+++ b/tests/wpt/tests/common/dispatcher/dispatcher.js
@@ -16,6 +16,12 @@ function findLocation() {
if (location.href == 'about:srcdoc') {
return findLocationFromAncestors(window.parent);
}
+ if (location.protocol == 'blob:' || location.protocol == 'data:') {
+ // Allows working around blob and data URLs.
+ if (self.document && self.document.baseURI) {
+ return self.document.baseURI;
+ }
+ }
return location;
}
diff --git a/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904409.html b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904409.html
new file mode 100644
index 00000000000..131443d2438
--- /dev/null
+++ b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904409.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+* {
+ float: inline-start;
+ column-count: 15;
+ text-emphasis-style: '@'
+}
+</style>
+<data>
+A
+<label>
+A
+</data>
+<svg>
+<span>
diff --git a/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904419.html b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904419.html
new file mode 100644
index 00000000000..192a799edc5
--- /dev/null
+++ b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904419.html
@@ -0,0 +1,35 @@
+<!-- Quirks mode -->
+<style>
+#a {
+ columns: 15;
+}
+#b {
+ grid-template: repeat(auto-fill, fit-content(3%)) / 1em;
+}
+*:only-of-type {
+ white-space: pre-line;
+ margin-bottom: 76%;
+}
+*:last-of-type {
+ float: inline-end;
+ display: flow;
+}
+</style>
+<section id="a">
+<main>
+<audio controls=""></audio>
+A
+<pre>
+</main>
+<b>
+<details open="">
+AAAAAAAAAAAAAAA
+<summary>
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+</b>
+<bdi id="b">
+<small>
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+<button></button>
+</bdi>
+</html>
diff --git a/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904421.html b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904421.html
new file mode 100644
index 00000000000..29e7dd3e8ad
--- /dev/null
+++ b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904421.html
@@ -0,0 +1,14 @@
+<!-- Quirks mode -->
+<style>
+.a {
+ float: left;
+}
+:not(tfoot) {
+ column-width: 0;
+ border-top: 41px dashed -moz-activehyperlinktext;
+}
+</style>
+<br class="a"></br>
+<map>
+<form class="a"></form>
+<ol class="a">
diff --git a/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904428.html b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904428.html
new file mode 100644
index 00000000000..8d2265a7996
--- /dev/null
+++ b/tests/wpt/tests/css/CSS2/floats/crashtests/firefox-bug-1904428.html
@@ -0,0 +1,32 @@
+<!-- Quirks mode -->
+<style>
+*:first-of-type {
+ column-width: 3px;
+ margin-left: 29%;
+ float: right;
+ margin-bottom: 815vmax
+}
+.a {
+ padding: 0px 0em 23069px 0px;
+}
+</style>
+<article>
+<table>
+<caption>
+<ul>
+</table>
+</article>
+<bdi>
+<big>
+<h2></h2>
+</big>
+<bgsound>
+<iframe></iframe>
+</bdi>
+<input>
+<address>
+<span class="a">
+</address>
+<dir>
+<li>
+<blockquote class="a">
diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-transition-focus.html b/tests/wpt/tests/css/css-anchor-position/anchor-transition-focus.html
new file mode 100644
index 00000000000..4533fa80e4d
--- /dev/null
+++ b/tests/wpt/tests/css/css-anchor-position/anchor-transition-focus.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<title>CSS Anchor Positioning Test: Transition with unused position-anchor</title>
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ body:has(:focus) {
+ --unused: foo;
+ }
+ #anchored {
+ position: absolute;
+ position-anchor: --foo;
+ top: 0px;
+ transition: top 0.1s steps(2, start);
+ }
+ :focus ~ #anchored {
+ top: 40px;
+ }
+</style>
+<div id="focusable" tabindex="0" focused>Focus me</div>
+<div id="anchored">Anchored</div>
+<script>
+
+ promise_test(async t => {
+ document.body.offsetTop;
+ assert_equals(anchored.offsetTop, 0);
+
+ focusable.focus();
+ assert_equals(anchored.offsetTop, 20);
+
+ const watcher = new EventWatcher(t, anchored, [ "transitionend" ]);
+ await watcher.wait_for("transitionend");
+
+ assert_equals(anchored.offsetTop, 40);
+
+ focusable.blur();
+ assert_equals(anchored.offsetTop, 20);
+
+ await watcher.wait_for("transitionend");
+ assert_equals(anchored.offsetTop, 0);
+ }, "Transition insets with focus()/blur() and unused position-anchor");
+
+</script>
diff --git a/tests/wpt/tests/css/css-break/firefox-bug1693616-001-crash.html b/tests/wpt/tests/css/css-break/firefox-bug-1693616-001-crash.html
index 5aadb70037c..5aadb70037c 100644
--- a/tests/wpt/tests/css/css-break/firefox-bug1693616-001-crash.html
+++ b/tests/wpt/tests/css/css-break/firefox-bug-1693616-001-crash.html
diff --git a/tests/wpt/tests/css/css-break/firefox-bug1693616-002-crash.html b/tests/wpt/tests/css/css-break/firefox-bug-1693616-002-crash.html
index 01f836c805d..01f836c805d 100644
--- a/tests/wpt/tests/css/css-break/firefox-bug1693616-002-crash.html
+++ b/tests/wpt/tests/css/css-break/firefox-bug-1693616-002-crash.html
diff --git a/tests/wpt/tests/css/css-break/firefox-bug-1903652-crash.html b/tests/wpt/tests/css/css-break/firefox-bug-1903652-crash.html
new file mode 100644
index 00000000000..45dc078c5e8
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/firefox-bug-1903652-crash.html
@@ -0,0 +1,23 @@
+<!-- Quirks mode -->
+<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1903652">
+
+<style>
+* {
+ font-size-adjust: 0;
+ column-width: 0;
+ vertical-align: 7;
+}
+</style>
+<script>
+window.requestIdleCallback(() => {
+ a.appendChild(b)
+})
+</script>
+<mfrac id="a" style="border-style: solid">
+<mo>a</mo>
+<mn>a</mn>
+<textarea style="float: left">a</textarea>
+<sub>
+<menu id="b">
diff --git a/tests/wpt/tests/css/css-cascade/scope-featureless-ref.html b/tests/wpt/tests/css/css-cascade/scope-featureless-ref.html
new file mode 100644
index 00000000000..b53c7895446
--- /dev/null
+++ b/tests/wpt/tests/css/css-cascade/scope-featureless-ref.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<title>Reference - :scope Selector Cannot be Featureless Outside of @scope</title>
+<style>
+:root {
+ background: white;
+ color: black;
+}
+</style>
+<div id="dut">Test</div>
diff --git a/tests/wpt/tests/css/css-cascade/scope-featureless.html b/tests/wpt/tests/css/css-cascade/scope-featureless.html
new file mode 100644
index 00000000000..ca0b1f02179
--- /dev/null
+++ b/tests/wpt/tests/css/css-cascade/scope-featureless.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>:scope Selector Cannot be Featureless Outside of @scope</title>
+<link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scoped-styles">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1904228">
+<link rel="match" href="scope-featureless-ref.html">
+<style>
+:root {
+ background: white;
+ color: white;
+}
+
+:scope {
+ --font-color: black;
+}
+
+#dut {
+ color: var(--font-color);
+}
+</style>
+<div id="dut">Test</div>
diff --git a/tests/wpt/tests/css/css-contain/container-queries/WEB_FEATURES.yml b/tests/wpt/tests/css/css-conditional/container-queries/WEB_FEATURES.yml
index 445ceb373f0..445ceb373f0 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/WEB_FEATURES.yml
+++ b/tests/wpt/tests/css/css-conditional/container-queries/WEB_FEATURES.yml
diff --git a/tests/wpt/tests/css/css-contain/container-queries/animation-container-size.html b/tests/wpt/tests/css/css-conditional/container-queries/animation-container-size.html
index fefb721cbc9..fefb721cbc9 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/animation-container-size.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/animation-container-size.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/animation-container-type-dynamic.html b/tests/wpt/tests/css/css-conditional/container-queries/animation-container-type-dynamic.html
index 835e8e1be1d..835e8e1be1d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/animation-container-type-dynamic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/animation-container-type-dynamic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/animation-nested-animation.html b/tests/wpt/tests/css/css-conditional/container-queries/animation-nested-animation.html
index 7f1ae854ae8..7f1ae854ae8 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/animation-nested-animation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/animation-nested-animation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/animation-nested-transition.html b/tests/wpt/tests/css/css-conditional/container-queries/animation-nested-transition.html
index 934f995a979..934f995a979 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/animation-nested-transition.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/animation-nested-transition.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html b/tests/wpt/tests/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html
index 843f34732b6..843f34732b6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/aspect-ratio-feature-evaluation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/at-container-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/at-container-parsing.html
index b0196b5e5a1..b0196b5e5a1 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/at-container-parsing.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/at-container-parsing.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/at-container-serialization.html b/tests/wpt/tests/css/css-conditional/container-queries/at-container-serialization.html
index 141062a8d47..141062a8d47 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/at-container-serialization.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/at-container-serialization.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/at-container-style-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/at-container-style-parsing.html
index 36fda2e3663..36fda2e3663 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/at-container-style-parsing.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/at-container-style-parsing.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/at-container-style-serialization.html b/tests/wpt/tests/css/css-conditional/container-queries/at-container-style-serialization.html
index a4fb25378cb..a4fb25378cb 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/at-container-style-serialization.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/at-container-style-serialization.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html b/tests/wpt/tests/css/css-conditional/container-queries/auto-scrollbars.html
index 44074ed2133..44074ed2133 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/auto-scrollbars.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/auto-scrollbars.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/backdrop-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/backdrop-invalidation.html
index 6a59a2f8941..6a59a2f8941 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/backdrop-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/backdrop-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/calc-evaluation.html b/tests/wpt/tests/css/css-conditional/container-queries/calc-evaluation.html
index 71a5e23764e..71a5e23764e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/calc-evaluation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/calc-evaluation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-001.html b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-001.html
index f904d1fe249..f904d1fe249 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-001.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-001.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-002.html b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-002.html
index 689feeb5fff..689feeb5fff 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-002.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-002.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-003.html b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-003.html
index 74199cc72b7..74199cc72b7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-003.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-003.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-004.html b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-004.html
index b23846382b7..b23846382b7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-004.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-004.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-005.html b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-005.html
index 9132592434c..9132592434c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-005.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-005.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-006.html b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-006.html
index 02dbce62753..02dbce62753 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/canvas-as-container-006.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/canvas-as-container-006.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/change-display-in-container-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/change-display-in-container-ref.html
index 8dd3b8b2c1d..8dd3b8b2c1d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/change-display-in-container-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/change-display-in-container-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/change-display-in-container.html b/tests/wpt/tests/css/css-conditional/container-queries/change-display-in-container.html
index 8c58d22b7de..8c58d22b7de 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/change-display-in-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/change-display-in-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/chrome-legacy-skip-recalc.html b/tests/wpt/tests/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html
index b86a4091a2c..b86a4091a2c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/chrome-legacy-skip-recalc.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/chrome-legacy-skip-recalc.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/column-spanner-in-container.html b/tests/wpt/tests/css/css-conditional/container-queries/column-spanner-in-container.html
index d494e28504f..d494e28504f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/column-spanner-in-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/column-spanner-in-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/conditional-container-status.html b/tests/wpt/tests/css/css-conditional/container-queries/conditional-container-status.html
index e9762f93239..e9762f93239 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/conditional-container-status.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/conditional-container-status.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-computed.html b/tests/wpt/tests/css/css-conditional/container-queries/container-computed.html
index 2be304481ba..2be304481ba 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-computed.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-computed.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-for-cue-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/container-for-cue-ref.html
index 40b0a07ae01..40b0a07ae01 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-for-cue-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-for-cue-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-for-cue.html b/tests/wpt/tests/css/css-conditional/container-queries/container-for-cue.html
index a460f79af06..a460f79af06 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-for-cue.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-for-cue.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-for-shadow-dom.html b/tests/wpt/tests/css/css-conditional/container-queries/container-for-shadow-dom.html
index 63d58f76982..63d58f76982 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-for-shadow-dom.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-for-shadow-dom.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-inheritance.html b/tests/wpt/tests/css/css-conditional/container-queries/container-inheritance.html
index b333b691fd7..b333b691fd7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-inheritance.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-inheritance.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-inner-at-rules.html b/tests/wpt/tests/css/css-conditional/container-queries/container-inner-at-rules.html
index ac180029298..ac180029298 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-inner-at-rules.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-inner-at-rules.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-inside-multicol-with-table.html b/tests/wpt/tests/css/css-conditional/container-queries/container-inside-multicol-with-table.html
index 8688159da3c..8688159da3c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-inside-multicol-with-table.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-inside-multicol-with-table.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-longhand-animation-type.html b/tests/wpt/tests/css/css-conditional/container-queries/container-longhand-animation-type.html
index aded2a3ec8b..aded2a3ec8b 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-longhand-animation-type.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-longhand-animation-type.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-name-computed.html b/tests/wpt/tests/css/css-conditional/container-queries/container-name-computed.html
index f58d54744e4..f58d54744e4 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-name-computed.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-name-computed.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-name-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-name-invalidation.html
index aad225def9d..aad225def9d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-name-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-name-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-name-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/container-name-parsing.html
index 4f385cca524..4f385cca524 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-name-parsing.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-name-parsing.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-name-tree-scoped.html b/tests/wpt/tests/css/css-conditional/container-queries/container-name-tree-scoped.html
index e0890aab32d..e0890aab32d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-name-tree-scoped.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-name-tree-scoped.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-nested.html b/tests/wpt/tests/css/css-conditional/container-queries/container-nested.html
index 3ad35bd2be8..3ad35bd2be8 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-nested.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-nested.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/container-parsing.html
index 87b3bdd48cd..87b3bdd48cd 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-parsing.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-parsing.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-selection-unknown-features.html b/tests/wpt/tests/css/css-conditional/container-queries/container-selection-unknown-features.html
index 8e0e34db9a5..8e0e34db9a5 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-selection-unknown-features.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-selection-unknown-features.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-selection.html b/tests/wpt/tests/css/css-conditional/container-queries/container-selection.html
index cef20f85a2f..cef20f85a2f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-selection.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-selection.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-size-invalidation-after-load.html b/tests/wpt/tests/css/css-conditional/container-queries/container-size-invalidation-after-load.html
index cf5687aa39d..cf5687aa39d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-size-invalidation-after-load.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-size-invalidation-after-load.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-size-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-size-invalidation.html
index ab269717498..ab269717498 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-size-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-size-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-size-nested-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-size-nested-invalidation.html
index a549f6d8482..a549f6d8482 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-size-nested-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-size-nested-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-size-shadow-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-size-shadow-invalidation.html
index b2e02a10916..b2e02a10916 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-size-shadow-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-size-shadow-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-type-computed.html b/tests/wpt/tests/css/css-conditional/container-queries/container-type-computed.html
index 0b5e033a0f3..0b5e033a0f3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-type-computed.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-type-computed.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-type-containment.html b/tests/wpt/tests/css/css-conditional/container-queries/container-type-containment.html
index 66500a6a71c..66500a6a71c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-type-containment.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-type-containment.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-type-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-type-invalidation.html
index 90e0b4acd1d..90e0b4acd1d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-type-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-type-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-type-layout-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-type-layout-invalidation.html
index 3103de81f79..3103de81f79 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-type-layout-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-type-layout-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-type-parsing.html b/tests/wpt/tests/css/css-conditional/container-queries/container-type-parsing.html
index 5805a927b32..5805a927b32 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-type-parsing.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-type-parsing.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-animation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-animation.html
index cf1b9a8f345..cf1b9a8f345 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-animation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-animation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-basic.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-basic.html
index 166a003a29b..166a003a29b 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-basic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-basic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-computational-independence.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-computational-independence.html
index 694b665c793..694b665c793 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-computational-independence.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-computational-independence.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-content-box.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-content-box.html
index 89a76e868ce..89a76e868ce 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-content-box.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-content-box.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-gradient-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient-invalidation.html
index 665a14dcaa1..665a14dcaa1 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-gradient-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-gradient-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient-ref.html
index dbdabd9bc4e..dbdabd9bc4e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-gradient-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-gradient.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient.html
index 3d6f5378c22..3d6f5378c22 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-gradient.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-gradient.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html
index c1f929241ca..c1f929241ca 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container-dynamic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container-fallback.html
index 3784499c387..3784499c387 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container-fallback.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container.html
index 9ddca55ec15..9ddca55ec15 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-in-at-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-in-at-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-ineligible-container.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-ineligible-container.html
index 8882d4a38ba..8882d4a38ba 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-ineligible-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-ineligible-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-invalidation.html
index abb766cd0c7..abb766cd0c7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-media-queries.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-media-queries.html
index 7b76f654e5c..7b76f654e5c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-media-queries.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-media-queries.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-rule-cache-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-rule-cache-ref.html
index 6c8261959f6..6c8261959f6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-rule-cache-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-rule-cache-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-rule-cache.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-rule-cache.html
index cc93f7793ae..cc93f7793ae 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-rule-cache.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-rule-cache.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-selection.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-selection.html
index 16a44cd1766..16a44cd1766 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-selection.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-selection.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-shadow.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-shadow.html
index 66ae1c976cc..66ae1c976cc 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-shadow.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-shadow.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-sharing-via-rule-node-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-sharing-via-rule-node-ref.html
index c664ce4ccf3..c664ce4ccf3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-sharing-via-rule-node-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-sharing-via-rule-node-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-sharing-via-rule-node.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html
index e1a5c714516..e1a5c714516 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-sharing-via-rule-node.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-sharing-via-rule-node.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-small-viewport-fallback.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-small-viewport-fallback.html
index 6c8851681fb..6c8851681fb 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-small-viewport-fallback.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-small-viewport-fallback.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-svglength.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-svglength.html
index 8bb227c0498..8bb227c0498 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-svglength.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-svglength.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/container-units-typed-om.html b/tests/wpt/tests/css/css-conditional/container-queries/container-units-typed-om.html
index 6da3306fdfa..6da3306fdfa 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/container-units-typed-om.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/container-units-typed-om.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/counters-flex-circular.html b/tests/wpt/tests/css/css-conditional/container-queries/counters-flex-circular.html
index d60049e26c7..d60049e26c7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/counters-flex-circular.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/counters-flex-circular.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/counters-in-container-dynamic.html b/tests/wpt/tests/css/css-conditional/container-queries/counters-in-container-dynamic.html
index d85ab6cb425..d85ab6cb425 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/counters-in-container-dynamic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/counters-in-container-dynamic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/counters-in-container.html b/tests/wpt/tests/css/css-conditional/container-queries/counters-in-container.html
index 376f52ea7c2..376f52ea7c2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/counters-in-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/counters-in-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/counters-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/counters-ref.html
index 303c1e89bdf..303c1e89bdf 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/counters-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/counters-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/br-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/br-crash.html
index 6631ba2fd56..6631ba2fd56 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/br-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/br-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/canvas-as-container-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/canvas-as-container-crash.html
index ae7fe8dc168..ae7fe8dc168 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/canvas-as-container-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/canvas-as-container-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-000-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1289718-000-crash.html
index f30461919a7..f30461919a7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-000-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1289718-000-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-001-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1289718-001-crash.html
index ce530fb2c88..ce530fb2c88 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1289718-001-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1289718-001-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1346969-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1346969-crash.html
index 37c74cf8cb1..37c74cf8cb1 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1346969-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1346969-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1362391-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1362391-crash.html
index d4e1fec4000..d4e1fec4000 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1362391-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1362391-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1429955-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1429955-crash.html
index bdf4002753c..bdf4002753c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1429955-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1429955-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1505250-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1505250-crash.html
index befbfd33af7..befbfd33af7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-1505250-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-1505250-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-346264227-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-346264227-crash.html
index ae7809016e6..ae7809016e6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-bug-346264227-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-bug-346264227-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-custom-highlight-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-custom-highlight-crash.html
index 61e5075ed4e..61e5075ed4e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-custom-highlight-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-custom-highlight-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-layout-root-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-layout-root-crash.html
index e3e709a240b..e3e709a240b 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-layout-root-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-layout-root-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-quotes-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-quotes-crash.html
index 363f96fd02e..363f96fd02e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-quotes-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-quotes-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-remove-insert-evaluator-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-remove-insert-evaluator-crash.html
index 986f6b0bf69..986f6b0bf69 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/chrome-remove-insert-evaluator-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/chrome-remove-insert-evaluator-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/columns-in-table-001-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/columns-in-table-001-crash.html
index fe421500dad..fe421500dad 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/columns-in-table-001-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/columns-in-table-001-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/columns-in-table-002-crash.html
index 24b9f1aab20..24b9f1aab20 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/columns-in-table-002-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/container-in-canvas-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/container-in-canvas-crash.html
index 215c6a04db7..215c6a04db7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/container-in-canvas-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/container-in-canvas-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/container-type-change-chrome-legacy-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/container-type-change-chrome-legacy-crash.html
index 609142a2c5f..609142a2c5f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/container-type-change-chrome-legacy-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/container-type-change-chrome-legacy-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/dialog-backdrop-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/dialog-backdrop-crash.html
index 3bbdf160cf6..3bbdf160cf6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/dialog-backdrop-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/dialog-backdrop-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/dirty-rowgroup-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/dirty-rowgroup-crash.html
index 2a66cd452a7..2a66cd452a7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/dirty-rowgroup-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/dirty-rowgroup-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-000-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-000-crash.html
index e7b789345c8..e7b789345c8 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-000-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-000-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-001-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-001-crash.html
index 0c0648c15bc..0c0648c15bc 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-001-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-001-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-002-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-002-crash.html
index ef3052d2c98..ef3052d2c98 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-002-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-002-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-003-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-003-crash.html
index a86f25a773d..a86f25a773d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/flex-in-columns-003-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/flex-in-columns-003-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/focus-inside-content-visibility-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/focus-inside-content-visibility-crash.html
index 1bf68d6686c..1bf68d6686c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/focus-inside-content-visibility-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/focus-inside-content-visibility-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/force-sibling-style-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/force-sibling-style-crash.html
index 093a01b809d..093a01b809d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/force-sibling-style-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/force-sibling-style-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-000-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-000-crash.html
index 56cf6cfdbbc..56cf6cfdbbc 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-000-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-000-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-001-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-001-crash.html
index b9cf100533a..b9cf100533a 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-001-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-001-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-002-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-002-crash.html
index 762ad44f247..762ad44f247 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-002-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-002-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-003-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-003-crash.html
index 11089e69020..11089e69020 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/grid-in-columns-003-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/grid-in-columns-003-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/iframe-init-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/iframe-init-crash.html
index e915c2479f0..e915c2479f0 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/iframe-init-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/iframe-init-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-multicol-inside-container-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-multicol-inside-container-crash.html
index 7e209f7ffd3..7e209f7ffd3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-multicol-inside-container-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-multicol-inside-container-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-with-columns-000-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-with-columns-000-crash.html
index 733b2c4ee9a..733b2c4ee9a 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-with-columns-000-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-with-columns-000-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-with-columns-001-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-with-columns-001-crash.html
index 3b9bdf32bd2..3b9bdf32bd2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/inline-with-columns-001-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/inline-with-columns-001-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/input-column-group-container-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/input-column-group-container-crash.html
index 5e520a45cff..5e520a45cff 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/input-column-group-container-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/input-column-group-container-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/input-placeholder-inline-size-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/input-placeholder-inline-size-crash.html
index 4b1284e5cb3..4b1284e5cb3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/input-placeholder-inline-size-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/input-placeholder-inline-size-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/marker-gcs-after-disconnect-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/marker-gcs-after-disconnect-crash.html
index 3680c795122..3680c795122 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/marker-gcs-after-disconnect-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/marker-gcs-after-disconnect-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/math-block-container-child-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/math-block-container-child-crash.html
index 00b6836655e..00b6836655e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/math-block-container-child-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/math-block-container-child-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/mathml-container-type-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/mathml-container-type-crash.html
index 538c1b54451..538c1b54451 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/mathml-container-type-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/mathml-container-type-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/orthogonal-replaced-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/orthogonal-replaced-crash.html
index 10474fd9841..10474fd9841 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/orthogonal-replaced-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/orthogonal-replaced-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/pseudo-container-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/pseudo-container-crash.html
index f998c3a4464..f998c3a4464 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/pseudo-container-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/pseudo-container-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/remove-dom-child-change-style.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/remove-dom-child-change-style.html
index 739af63ccb4..739af63ccb4 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/remove-dom-child-change-style.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/remove-dom-child-change-style.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/reversed-ol-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/reversed-ol-crash.html
index fa4d35380c5..fa4d35380c5 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/reversed-ol-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/reversed-ol-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/size-change-during-transition-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html
index 80be45b8fd2..80be45b8fd2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/size-change-during-transition-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/size-change-during-transition-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/svg-layout-root-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/svg-layout-root-crash.html
index 75a3839add0..75a3839add0 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/svg-layout-root-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/svg-layout-root-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/svg-text-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/svg-text-crash.html
index aadba08679e..aadba08679e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/svg-text-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/svg-text-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-000-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-000-crash.html
index 566a4eb1eb2..566a4eb1eb2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-000-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-000-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-001-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-001-crash.html
index 4fab9de88f6..4fab9de88f6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-001-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-001-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-002-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-002-crash.html
index 4f0cdc07400..4f0cdc07400 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-002-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-002-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-003-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-003-crash.html
index 436da592d97..436da592d97 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-003-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-003-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-004-crash.html
index daed42f0094..daed42f0094 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-004-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-005-crash.html
index 60d6f9d3a1f..60d6f9d3a1f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/crashtests/table-in-columns-005-crash.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/custom-layout-container-001.https.html b/tests/wpt/tests/css/css-conditional/container-queries/custom-layout-container-001.https.html
index 8f301e8ebf6..8f301e8ebf6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/custom-layout-container-001.https.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/custom-layout-container-001.https.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/custom-property-style-queries.html b/tests/wpt/tests/css/css-conditional/container-queries/custom-property-style-queries.html
index d9152432ed1..d9152432ed1 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/custom-property-style-queries.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/custom-property-style-queries.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/custom-property-style-query-change.html b/tests/wpt/tests/css/css-conditional/container-queries/custom-property-style-query-change.html
index 6669ede31da..6669ede31da 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/custom-property-style-query-change.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/custom-property-style-query-change.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/deep-nested-inline-size-containers.html b/tests/wpt/tests/css/css-conditional/container-queries/deep-nested-inline-size-containers.html
index 00bc8b0a6b2..00bc8b0a6b2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/deep-nested-inline-size-containers.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/deep-nested-inline-size-containers.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html b/tests/wpt/tests/css/css-conditional/container-queries/dialog-backdrop-create.html
index ef74973addc..ef74973addc 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-create.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/dialog-backdrop-create.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-remove.html b/tests/wpt/tests/css/css-conditional/container-queries/dialog-backdrop-remove.html
index 47b40304924..47b40304924 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/dialog-backdrop-remove.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/dialog-backdrop-remove.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/display-contents-dynamic-style-queries.html b/tests/wpt/tests/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html
index 782cf566552..782cf566552 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/display-contents-dynamic-style-queries.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/display-contents-dynamic-style-queries.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/display-contents.html b/tests/wpt/tests/css/css-conditional/container-queries/display-contents.html
index d96a46d06a8..d96a46d06a8 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/display-contents.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/display-contents.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/display-in-container-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/display-in-container-ref.html
index fd8e9ef0c10..fd8e9ef0c10 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/display-in-container-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/display-in-container-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/display-in-container.html b/tests/wpt/tests/css/css-conditional/container-queries/display-in-container.html
index a2a4cd731c8..a2a4cd731c8 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/display-in-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/display-in-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/display-none.html b/tests/wpt/tests/css/css-conditional/container-queries/display-none.html
index 8d07ec09dde..8d07ec09dde 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/display-none.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/display-none.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/fieldset-legend-change-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/fieldset-legend-change-ref.html
index b6e8dc60384..b6e8dc60384 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/fieldset-legend-change-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/fieldset-legend-change-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/fieldset-legend-change.html b/tests/wpt/tests/css/css-conditional/container-queries/fieldset-legend-change.html
index 15b44a0e523..15b44a0e523 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/fieldset-legend-change.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/fieldset-legend-change.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/font-relative-calc-dynamic.html b/tests/wpt/tests/css/css-conditional/container-queries/font-relative-calc-dynamic.html
index 54f01d45a39..54f01d45a39 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/font-relative-calc-dynamic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/font-relative-calc-dynamic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/font-relative-units-dynamic.html b/tests/wpt/tests/css/css-conditional/container-queries/font-relative-units-dynamic.html
index 9dfaceeed6b..9dfaceeed6b 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/font-relative-units-dynamic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/font-relative-units-dynamic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/font-relative-units.html b/tests/wpt/tests/css/css-conditional/container-queries/font-relative-units.html
index ba4a60dda21..ba4a60dda21 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/font-relative-units.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/font-relative-units.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/fragmented-container-001.html b/tests/wpt/tests/css/css-conditional/container-queries/fragmented-container-001.html
index 886f179054c..886f179054c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/fragmented-container-001.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/fragmented-container-001.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/get-animations.html b/tests/wpt/tests/css/css-conditional/container-queries/get-animations.html
index dca41c6adad..dca41c6adad 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/get-animations.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/get-animations.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/grid-container.html b/tests/wpt/tests/css/css-conditional/container-queries/grid-container.html
index 60278e09c69..60278e09c69 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/grid-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/grid-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/grid-item-container.html b/tests/wpt/tests/css/css-conditional/container-queries/grid-item-container.html
index f1c66efc26d..f1c66efc26d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/grid-item-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/grid-item-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/idlharness.html b/tests/wpt/tests/css/css-conditional/container-queries/idlharness.html
index ac1a677bb94..ac1a677bb94 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/idlharness.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/idlharness.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/iframe-in-container-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/iframe-in-container-invalidation.html
index f43d1ce7899..f43d1ce7899 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/iframe-in-container-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/iframe-in-container-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/iframe-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/iframe-invalidation.html
index 51f2be9cfa3..51f2be9cfa3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/iframe-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/iframe-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/ineligible-containment.html b/tests/wpt/tests/css/css-conditional/container-queries/ineligible-containment.html
index 36ce68d8643..36ce68d8643 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/ineligible-containment.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/ineligible-containment.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inheritance-from-container.html b/tests/wpt/tests/css/css-conditional/container-queries/inheritance-from-container.html
index 97dfff2fd02..97dfff2fd02 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inheritance-from-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inheritance-from-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inline-size-and-min-width.html b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-and-min-width.html
index 8ddcbc614ca..8ddcbc614ca 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inline-size-and-min-width.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-and-min-width.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inline-size-bfc-floats-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-bfc-floats-ref.html
index ecd72b7516c..ecd72b7516c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inline-size-bfc-floats-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-bfc-floats-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inline-size-bfc-floats.html b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-bfc-floats.html
index 88b81c67599..88b81c67599 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inline-size-bfc-floats.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-bfc-floats.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inline-size-containment-vertical-rl.html b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html
index 38c88f2df79..38c88f2df79 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inline-size-containment-vertical-rl.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-containment-vertical-rl.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inline-size-containment.html b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-containment.html
index d519322bd27..d519322bd27 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inline-size-containment.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inline-size-containment.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inner-first-line-non-matching-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/inner-first-line-non-matching-ref.html
index 99e9c334bf2..99e9c334bf2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inner-first-line-non-matching-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inner-first-line-non-matching-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/inner-first-line-non-matching.html b/tests/wpt/tests/css/css-conditional/container-queries/inner-first-line-non-matching.html
index 5f39124e514..5f39124e514 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/inner-first-line-non-matching.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/inner-first-line-non-matching.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/layout-dependent-focus.html b/tests/wpt/tests/css/css-conditional/container-queries/layout-dependent-focus.html
index a16370ac566..a16370ac566 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/layout-dependent-focus.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/layout-dependent-focus.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/multicol-container-001.html b/tests/wpt/tests/css/css-conditional/container-queries/multicol-container-001.html
index 3032170ac61..3032170ac61 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/multicol-container-001.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/multicol-container-001.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/multicol-inside-container.html b/tests/wpt/tests/css/css-conditional/container-queries/multicol-inside-container.html
index 9fc8393a513..9fc8393a513 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/multicol-inside-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/multicol-inside-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/nested-query-containers.html b/tests/wpt/tests/css/css-conditional/container-queries/nested-query-containers.html
index 83cc3c2fecd..83cc3c2fecd 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/nested-query-containers.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/nested-query-containers.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/nested-size-style-container-invalidation.html b/tests/wpt/tests/css/css-conditional/container-queries/nested-size-style-container-invalidation.html
index 8d04bf589a2..8d04bf589a2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/nested-size-style-container-invalidation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/nested-size-style-container-invalidation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/never-match-container.html b/tests/wpt/tests/css/css-conditional/container-queries/never-match-container.html
index 9d5ff6d2272..9d5ff6d2272 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/never-match-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/never-match-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/orthogonal-wm-container-query.html b/tests/wpt/tests/css/css-conditional/container-queries/orthogonal-wm-container-query.html
index 1ad52bf499c..1ad52bf499c 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/orthogonal-wm-container-query.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/orthogonal-wm-container-query.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/percentage-padding-orthogonal.html b/tests/wpt/tests/css/css-conditional/container-queries/percentage-padding-orthogonal.html
index 0c419d18a9d..0c419d18a9d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/percentage-padding-orthogonal.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/percentage-padding-orthogonal.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-001.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-001.html
index 0baef0bfc2b..0baef0bfc2b 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-001.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-001.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002-ref.html
index da96a826cff..da96a826cff 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002.html
index a44c64c7007..a44c64c7007 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002b-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002b-ref.html
index 5783b77fec3..5783b77fec3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002b-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002b-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002b.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002b.html
index e1874e035b0..e1874e035b0 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-002b.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-002b.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-003.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-003.html
index 2d7647f7104..2d7647f7104 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-003.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-003.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-004.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-004.html
index db199f22050..db199f22050 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-004.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-004.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-005.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-005.html
index 575b66d6f83..575b66d6f83 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-005.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-005.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-006.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-006.html
index 65aee97f758..65aee97f758 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-006.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-006.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-007.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-007.html
index 951f4226f49..951f4226f49 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-007.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-007.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-008.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-008.html
index 859deb2206e..859deb2206e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-008.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-008.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-009-ref.html
index fe6fbb140b3..fe6fbb140b3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-009-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-009.html
index 769a5962ff7..769a5962ff7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-009.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-009.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-010-ref.html
index a98a4023284..a98a4023284 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-010-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-010.html
index e2e8f8659c5..e2e8f8659c5 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-010.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-010.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-011.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-011.html
index 26dabbe1dfe..26dabbe1dfe 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-011.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-011.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-012.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-012.html
index 7c36d9270d9..7c36d9270d9 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-012.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-012.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-013.html b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-013.html
index 870b5891153..870b5891153 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/pseudo-elements-013.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/pseudo-elements-013.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/query-content-box.html b/tests/wpt/tests/css/css-conditional/container-queries/query-content-box.html
index 5f6cc9fdbe0..5f6cc9fdbe0 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/query-content-box.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/query-content-box.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/query-evaluation-style.html b/tests/wpt/tests/css/css-conditional/container-queries/query-evaluation-style.html
index bf059f795a3..bf059f795a3 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/query-evaluation-style.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/query-evaluation-style.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/query-evaluation.html b/tests/wpt/tests/css/css-conditional/container-queries/query-evaluation.html
index 469b7b0d7a2..469b7b0d7a2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/query-evaluation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/query-evaluation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/reattach-container-with-dirty-child.html b/tests/wpt/tests/css/css-conditional/container-queries/reattach-container-with-dirty-child.html
index 680d9caa84a..680d9caa84a 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/reattach-container-with-dirty-child.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/reattach-container-with-dirty-child.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/registered-color-style-queries.html b/tests/wpt/tests/css/css-conditional/container-queries/registered-color-style-queries.html
index 6e2bfb896bb..6e2bfb896bb 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/registered-color-style-queries.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/registered-color-style-queries.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/resize-while-content-visibility-hidden-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/resize-while-content-visibility-hidden-ref.html
index 2a87df85b7a..2a87df85b7a 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/resize-while-content-visibility-hidden-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/resize-while-content-visibility-hidden-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/resize-while-content-visibility-hidden.html b/tests/wpt/tests/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html
index a3658f7f34f..a3658f7f34f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/resize-while-content-visibility-hidden.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/resize-while-content-visibility-hidden.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/sibling-layout-dependency.html b/tests/wpt/tests/css/css-conditional/container-queries/sibling-layout-dependency.html
index 5e30a998d23..5e30a998d23 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/sibling-layout-dependency.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/sibling-layout-dependency.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/size-container-no-principal-box.html b/tests/wpt/tests/css/css-conditional/container-queries/size-container-no-principal-box.html
index 4bff0681ab6..4bff0681ab6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/size-container-no-principal-box.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/size-container-no-principal-box.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/size-container-with-quotes-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/size-container-with-quotes-ref.html
index e1822fa544e..e1822fa544e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/size-container-with-quotes-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/size-container-with-quotes-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/size-container-with-quotes.html b/tests/wpt/tests/css/css-conditional/container-queries/size-container-with-quotes.html
index b88f882cd04..b88f882cd04 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/size-container-with-quotes.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/size-container-with-quotes.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/size-feature-evaluation.html b/tests/wpt/tests/css/css-conditional/container-queries/size-feature-evaluation.html
index 600a266fce2..600a266fce2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/size-feature-evaluation.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/size-feature-evaluation.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/style-change-in-container.html b/tests/wpt/tests/css/css-conditional/container-queries/style-change-in-container.html
index ed4baa7e8b6..ed4baa7e8b6 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/style-change-in-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/style-change-in-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/style-container-for-shadow-dom.html b/tests/wpt/tests/css/css-conditional/container-queries/style-container-for-shadow-dom.html
index e8297be941f..e8297be941f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/style-container-for-shadow-dom.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/style-container-for-shadow-dom.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/style-container-invalidation-inheritance.html b/tests/wpt/tests/css/css-conditional/container-queries/style-container-invalidation-inheritance.html
index b7aef69d3e1..b7aef69d3e1 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/style-container-invalidation-inheritance.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/style-container-invalidation-inheritance.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/style-not-sharing-float.html b/tests/wpt/tests/css/css-conditional/container-queries/style-not-sharing-float.html
index 7c76bb32bf2..7c76bb32bf2 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/style-not-sharing-float.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/style-not-sharing-float.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/style-query-with-unknown-width.html b/tests/wpt/tests/css/css-conditional/container-queries/style-query-with-unknown-width.html
index 8b05d6c1120..8b05d6c1120 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/style-query-with-unknown-width.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/style-query-with-unknown-width.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/support/cq-testcommon.js b/tests/wpt/tests/css/css-conditional/container-queries/support/cq-testcommon.js
index 2eaca1dd091..2eaca1dd091 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/support/cq-testcommon.js
+++ b/tests/wpt/tests/css/css-conditional/container-queries/support/cq-testcommon.js
diff --git a/tests/wpt/tests/css/css-contain/container-queries/support/test.vtt b/tests/wpt/tests/css/css-conditional/container-queries/support/test.vtt
index ffd1d4ca443..ffd1d4ca443 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/support/test.vtt
+++ b/tests/wpt/tests/css/css-conditional/container-queries/support/test.vtt
diff --git a/tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-child-container.html b/tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-child-container.html
index 898fc22c2ba..898fc22c2ba 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-child-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-child-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-no-size-container-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-no-size-container-ref.html
index abf1af122ba..abf1af122ba 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-no-size-container-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-no-size-container-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-no-size-container.html b/tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html
index 38fc493a162..38fc493a162 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/svg-foreignobject-no-size-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/svg-foreignobject-no-size-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/svg-g-no-size-container-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/svg-g-no-size-container-ref.html
index 4f30c399399..4f30c399399 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/svg-g-no-size-container-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/svg-g-no-size-container-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/svg-g-no-size-container.html b/tests/wpt/tests/css/css-conditional/container-queries/svg-g-no-size-container.html
index ed9e8536767..ed9e8536767 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/svg-g-no-size-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/svg-g-no-size-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/svg-root-size-container.html b/tests/wpt/tests/css/css-conditional/container-queries/svg-root-size-container.html
index 70ce40c0bce..70ce40c0bce 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/svg-root-size-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/svg-root-size-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/table-inside-container-changing-display-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/table-inside-container-changing-display-ref.html
index c0355d2f501..c0355d2f501 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/table-inside-container-changing-display-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/table-inside-container-changing-display-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/table-inside-container-changing-display.html b/tests/wpt/tests/css/css-conditional/container-queries/table-inside-container-changing-display.html
index 33a4f4fe721..33a4f4fe721 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/table-inside-container-changing-display.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/table-inside-container-changing-display.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-backdrop-ref.html b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-backdrop-ref.html
index 49c46974c9d..49c46974c9d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-backdrop-ref.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-backdrop-ref.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-backdrop.html b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-backdrop.html
index 25635167a54..25635167a54 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-backdrop.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-backdrop.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-container.html b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-container.html
index 5627a6cea0d..5627a6cea0d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog-container.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog-container.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog.html b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog.html
index 9d18b1862d1..9d18b1862d1 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/top-layer-dialog.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-dialog.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/top-layer-nested-dialog.html b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-nested-dialog.html
index 1a6d573f24f..1a6d573f24f 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/top-layer-nested-dialog.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/top-layer-nested-dialog.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/transition-scrollbars.html b/tests/wpt/tests/css/css-conditional/container-queries/transition-scrollbars.html
index 60d82d26b4a..60d82d26b4a 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/transition-scrollbars.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/transition-scrollbars.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/transition-style-change-event-002.html b/tests/wpt/tests/css/css-conditional/container-queries/transition-style-change-event-002.html
index dc9297004d7..dc9297004d7 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/transition-style-change-event-002.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/transition-style-change-event-002.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/transition-style-change-event.html b/tests/wpt/tests/css/css-conditional/container-queries/transition-style-change-event.html
index 4cc1772979d..4cc1772979d 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/transition-style-change-event.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/transition-style-change-event.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/unsupported-axis.html b/tests/wpt/tests/css/css-conditional/container-queries/unsupported-axis.html
index 308de2f4245..308de2f4245 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/unsupported-axis.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/unsupported-axis.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/viewport-units-dynamic.html b/tests/wpt/tests/css/css-conditional/container-queries/viewport-units-dynamic.html
index 2339533deee..2339533deee 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/viewport-units-dynamic.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/viewport-units-dynamic.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/viewport-units.html b/tests/wpt/tests/css/css-conditional/container-queries/viewport-units.html
index 9b8bb42c434..9b8bb42c434 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/viewport-units.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/viewport-units.html
diff --git a/tests/wpt/tests/css/css-contain/container-queries/whitespace-update-after-removal.html b/tests/wpt/tests/css/css-conditional/container-queries/whitespace-update-after-removal.html
index a7df55efc6e..a7df55efc6e 100644
--- a/tests/wpt/tests/css/css-contain/container-queries/whitespace-update-after-removal.html
+++ b/tests/wpt/tests/css/css-conditional/container-queries/whitespace-update-after-removal.html
diff --git a/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles-ref.html b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles-ref.html
index a1dafa7560f..d9191d6e542 100644
--- a/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles-ref.html
+++ b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles-ref.html
@@ -3,36 +3,73 @@
<title>CSS Reference: symbols function, invalid</title>
<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org/">
<style type="text/css">
- @counter-style disclosure-closed2-ltr {
+ @counter-style triangle-right {
system: cyclic;
symbols: \25b8;
suffix: ' ';
}
- @counter-style disclosure-closed2-rtl {
+ @counter-style triangle-left {
system: cyclic;
symbols: \25c2;
suffix: ' ';
}
- @counter-style disclosure-open2 {
+ @counter-style triangle-down {
system: cyclic;
symbols: \25be;
suffix: ' ';
}
- .open { list-style-type: disclosure-open2; }
- .closed:dir(ltr) { list-style-type: disclosure-closed2-ltr; }
- .closed:dir(rtl) { list-style-type: disclosure-closed2-rtl; }
+ @counter-style triangle-up {
+ system: cyclic;
+ symbols: \25b4;
+ suffix: ' ';
+ }
+
ul {
padding: 0;
list-style-position: inside;
}
+
+ .t-u { list-style-type: triangle-up; }
+ .t-d { list-style-type: triangle-down; }
+ .t-r { list-style-type: triangle-right; }
+ .t-l { list-style-type: triangle-left; }
+ div { font: 16px system-ui; margin: 1em; border: 1px solid gray; }
+ li::marker { font-family: inherit; }
</style>
+
+<div style="width: 10em;">
<ul dir="ltr">
- <li class="closed">closed ltr
- <li class="open">open ltr
+ <li class="t-r">closed ltr
+ <li class="t-d">open ltr
</ul>
<ul dir="rtl">
- <li class="closed">closed rtl
- <li class="open">open rtl
+ <li class="t-l">closed rtl
+ <li class="t-d">open rtl
</ul>
<p dir="ltr">&#x25b8;&nbsp;closed ltr
<p dir="rtl">&#x25c2;&nbsp;closed rtl
+</div>
+<div style="writing-mode: vertical-lr; height: 10em;">
+<ul dir="ltr">
+ <li class="t-d">closed ltr
+ <li class="t-r">open ltr
+</ul>
+<ul dir="rtl">
+ <li class="t-u">closed rtl
+ <li class="t-r">open rtl
+</ul>
+<p dir="ltr">&#x25be;&nbsp;closed ltr
+<p dir="rtl">&#x25b4;&nbsp;closed rtl
+</div>
+<div style="writing-mode: vertical-rl; height: 10em;">
+<ul dir="ltr">
+ <li class="t-d">closed ltr
+ <li class="t-l">open ltr
+</ul>
+<ul dir="rtl">
+ <li class="t-u">closed rtl
+ <li class="t-l">open rtl
+</ul>
+<p dir="ltr">&#x25be;&nbsp;closed ltr
+<p dir="rtl">&#x25b4;&nbsp;closed rtl
+</div>
diff --git a/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles.html b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles.html
index 79ac6ca145d..e33b4cc2ac6 100644
--- a/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles.html
+++ b/tests/wpt/tests/css/css-counter-styles/counter-style-at-rule/disclosure-styles.html
@@ -20,7 +20,10 @@
p::before {
content: counter(a, disclosure-closed) " ";
}
+ div { font: 16px system-ui; margin: 1em; border: 1px solid gray; }
+ ::marker { font-family: inherit; }
</style>
+<div style="width: 10em">
<ul dir="ltr">
<li class="closed">closed ltr
<li class="open">open ltr
@@ -31,3 +34,28 @@
</ul>
<p dir="ltr">closed ltr
<p dir="rtl">closed rtl
+</div>
+<div style="writing-mode: vertical-lr; height: 10em;">
+ <ul dir="ltr">
+ <li class="closed">closed ltr
+ <li class="open">open ltr
+ </ul>
+ <ul dir="rtl">
+ <li class="closed">closed rtl
+ <li class="open">open rtl
+ </ul>
+ <p dir="ltr">closed ltr
+ <p dir="rtl">closed rtl
+</div>
+<div style="writing-mode: vertical-rl; height: 10em;">
+ <ul dir="ltr">
+ <li class="closed">closed ltr
+ <li class="open">open ltr
+ </ul>
+ <ul dir="rtl">
+ <li class="closed">closed rtl
+ <li class="open">open rtl
+ </ul>
+ <p dir="ltr">closed ltr
+ <p dir="rtl">closed rtl
+</div>
diff --git a/tests/wpt/tests/css/css-page/cssom/margin-001.html b/tests/wpt/tests/css/css-page/cssom/margin-001.html
new file mode 100644
index 00000000000..29c38b2f98e
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/cssom/margin-001.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface">
+<title>CSSPageRule CSSOM test for nested cssRules (CSSMarginRule)</title>
+<style id="sheet">
+ @page {}
+ @page {
+ @top-center {}
+ }
+ @page {
+ color: red;
+
+ /* This property doesn't apply, but the declaration should still be
+ included: */
+ column-count: 7;
+
+ @bottom-left {
+ margin: inherit;
+ }
+ @top-right {
+ content: "hot";
+ font-size: 2em;
+ }
+ @top-left-corner {}
+ @top-left {}
+ @top-center {}
+ @top-right {}
+ @top-right-corner {}
+
+ color: inherit;
+
+ @right-top {}
+ @right-middle {}
+ @right-bottom {}
+ @bottom-right-corner {}
+ @bottom-right {}
+ @bottom-center {}
+ @bottom-left {}
+ @bottom-left-corner {}
+ @left-bottom {}
+ @left-middle {}
+ @left-top {}
+ @herring {}
+
+ margin-left: 111px;
+ }
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ var sheet = document.getElementById("sheet").sheet;
+ test(() => {
+ assert_not_equals(sheet, null);
+ assert_equals(sheet.rules.length, 3);
+ }, "There should be 3 @page rules.");
+
+ test(() => {
+ assert_equals(sheet.rules[0].cssRules.length, 0);
+ }, "Rule #0");
+
+ test(() => {
+ assert_equals(sheet.rules[1].cssRules.length, 1);
+ assert_equals(sheet.rules[1].cssRules[0].style.length, 0);
+ }, "Rule #1");
+
+ test(() => {
+ var pageRule = sheet.rules[2];
+ var style = pageRule.style;
+ assert_equals(style.length, 3);
+ assert_equals(style.color, "inherit");
+ assert_equals(style.columnCount, "7");
+ assert_equals(style.marginLeft, "111px");
+
+ assert_equals(pageRule.cssRules.length, 18);
+
+ var bottomLeft = pageRule.cssRules[0];
+ assert_equals(bottomLeft.name, "bottom-left");
+ assert_equals(bottomLeft.style.length, 4);
+ assert_equals(bottomLeft.style.marginTop, "inherit");
+ assert_equals(bottomLeft.style.marginRight, "inherit");
+ assert_equals(bottomLeft.style.marginBottom, "inherit");
+ assert_equals(bottomLeft.style.marginLeft, "inherit");
+
+ var topRight = pageRule.cssRules[1];
+ assert_equals(topRight.name, "top-right");
+ assert_equals(topRight.style.length, 2);
+ assert_equals(topRight.style.content, "\"hot\"");
+ assert_equals(topRight.style.fontSize, "2em");
+
+ assert_equals(pageRule.cssRules[2].name, "top-left-corner");
+ assert_equals(pageRule.cssRules[3].name, "top-left");
+ assert_equals(pageRule.cssRules[4].name, "top-center");
+ assert_equals(pageRule.cssRules[5].name, "top-right");
+ assert_equals(pageRule.cssRules[6].name, "top-right-corner");
+ assert_equals(pageRule.cssRules[7].name, "right-top");
+ assert_equals(pageRule.cssRules[8].name, "right-middle");
+ assert_equals(pageRule.cssRules[9].name, "right-bottom");
+ assert_equals(pageRule.cssRules[10].name, "bottom-right-corner");
+ assert_equals(pageRule.cssRules[11].name, "bottom-right");
+ assert_equals(pageRule.cssRules[12].name, "bottom-center");
+ assert_equals(pageRule.cssRules[13].name, "bottom-left");
+ assert_equals(pageRule.cssRules[14].name, "bottom-left-corner");
+ assert_equals(pageRule.cssRules[15].name, "left-bottom");
+ assert_equals(pageRule.cssRules[16].name, "left-middle");
+ assert_equals(pageRule.cssRules[17].name, "left-top");
+ }, "Rule #2");
+</script>
diff --git a/tests/wpt/tests/css/css-page/cssom/margin-002.html b/tests/wpt/tests/css/css-page/cssom/margin-002.html
new file mode 100644
index 00000000000..45308947a6e
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/cssom/margin-002.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface">
+<title>Add / remove declarations inside CSSMarginRule</title>
+<style id="sheet">
+ @page {
+ @top-center {}
+ }
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ var sheet = document.getElementById("sheet").sheet;
+ var marginRule = sheet.rules[0].cssRules[0];
+ var style = marginRule.style;
+
+ test(() => {
+ assert_equals(style.length, 0);
+ style.setProperty("widows", "7");
+ assert_equals(style.length, 1);
+ assert_equals(style.widows, "7");
+ style.setProperty("margin-left", "50%");
+ assert_equals(style.length, 2);
+ assert_equals(style.marginLeft, "50%");
+ style.setProperty("margin-left", "100px");
+ assert_equals(style.length, 2);
+ assert_equals(style.marginLeft, "100px");
+ style.setProperty("margin", "auto");
+ assert_equals(style.length, 5);
+ assert_equals(style.marginLeft, "auto");
+ }, "Add declarations");
+
+ test(() => {
+ assert_equals(style.length, 5);
+ style.removeProperty("widows");
+ assert_equals(style.length, 4);
+ style.removeProperty("margin");
+ assert_equals(style.length, 0);
+ }, "Remove declarations");
+</script>
diff --git a/tests/wpt/tests/css/css-page/cssom/margin-003.html b/tests/wpt/tests/css/css-page/cssom/margin-003.html
new file mode 100644
index 00000000000..8b0ba4825ff
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/cssom/margin-003.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface">
+<title>Add / remove margin rules inside an @page rule</title>
+<style id="sheet">
+ @page { }
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ let sheet = document.getElementById("sheet").sheet;
+ let pageRule = sheet.rules[0];
+
+ test(() => {
+ assert_equals(pageRule.cssRules.length, 0);
+ pageRule.insertRule("@top-center {}");
+ assert_equals(pageRule.cssRules.length, 1);
+ assert_equals(pageRule.cssRules[0].name, "top-center");
+
+ pageRule.insertRule("@top-right {}", 1);
+ assert_equals(pageRule.cssRules.length, 2);
+ assert_equals(pageRule.cssRules[0].name, "top-center");
+ assert_equals(pageRule.cssRules[1].name, "top-right");
+
+ pageRule.insertRule("@top-left {}", 0);
+ assert_equals(pageRule.cssRules.length, 3);
+
+ pageRule.insertRule("@top-left {}", 0);
+ assert_equals(pageRule.cssRules.length, 4);
+
+ // Invalid at-rule:
+ try { pageRule.insertRule("@page {}"); } catch (e) {}
+
+ // Another invalid at-rule:
+ try { pageRule.insertRule("@media print {}"); } catch (e) {}
+
+ // Style rules are not allowed here:
+ try { pageRule.insertRule("div {}"); } catch (e) {}
+
+ assert_equals(pageRule.cssRules.length, 4);
+
+ assert_equals(pageRule.cssRules[0].name, "top-left");
+ assert_equals(pageRule.cssRules[1].name, "top-left");
+ assert_equals(pageRule.cssRules[2].name, "top-center");
+ assert_equals(pageRule.cssRules[3].name, "top-right");
+ }, "Insert rules");
+
+ test(() => {
+ assert_equals(pageRule.cssRules.length, 4);
+
+ pageRule.deleteRule(3);
+ assert_equals(pageRule.cssRules.length, 3);
+ assert_equals(pageRule.cssRules[0].name, "top-left");
+ assert_equals(pageRule.cssRules[1].name, "top-left");
+ assert_equals(pageRule.cssRules[2].name, "top-center");
+
+ pageRule.deleteRule(1);
+ assert_equals(pageRule.cssRules.length, 2);
+ assert_equals(pageRule.cssRules[0].name, "top-left");
+ assert_equals(pageRule.cssRules[1].name, "top-center");
+
+ pageRule.deleteRule(0);
+ assert_equals(pageRule.cssRules.length, 1);
+
+ pageRule.deleteRule(0);
+ assert_equals(pageRule.cssRules.length, 0);
+ }, "Delete rules");
+</script>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/background-001-print-ref.html b/tests/wpt/tests/css/css-page/margin-boxes/background-001-print-ref.html
new file mode 100644
index 00000000000..d43af0ca4bf
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/background-001-print-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<style>
+ @page {
+ margin: 0;
+ }
+ body {
+ margin: 0;
+ }
+</style>
+<div style="margin:0 4em;">
+ <div style="height:4em; background:lime;"></div>
+ The background of the top page margin area should be lime.
+</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/background-001-print.html b/tests/wpt/tests/css/css-page/margin-boxes/background-001-print.html
new file mode 100644
index 00000000000..66560fce099
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/background-001-print.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#painting">
+<meta name="assert" content="Test background image">
+<link rel="match" href="background-001-print-ref.html">
+<style>
+ @page {
+ margin: 4em;
+
+ @top-center {
+ content: "";
+ background: url(/images/green.png);
+ }
+ }
+ body {
+ margin: 0;
+ }
+</style>
+The background of the top page margin area should be lime.
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-001-print-ref.html b/tests/wpt/tests/css/css-page/margin-boxes/content-001-print-ref.html
index bd3ba7e0ccf..00c44928daa 100644
--- a/tests/wpt/tests/css/css-page/margin-boxes/content-001-print-ref.html
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-001-print-ref.html
@@ -8,13 +8,15 @@
body {
margin: 0;
}
+ .pass::before {
+ content: "PASS";
+ }
+ .pa_ss::before {
+ content: "PA" "SS";
+ }
</style>
-<div style="margin-left:100px; float:left; width:100px; height:100px; background:hotpink;">
- PASS
-</div>
-<div style="float:left; width:100px; height:100px; background:yellow;">
- PASS
-</div>
+<div class="pass" style="margin-left:100px; float:left; width:100px; height:100px; background:hotpink;"></div>
+<div class="pa_ss" style="float:left; width:100px; height:100px; background:yellow;"></div>
<div style="display:flow-root; clear:both;">
<div style="margin-top:200px; margin-left:100px; width:200px; height:100px; background:yellow;"></div>
</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-001-print.html b/tests/wpt/tests/css/css-page/margin-boxes/content-001-print.html
index efaa71b8c84..11b5bd6f44d 100644
--- a/tests/wpt/tests/css/css-page/margin-boxes/content-001-print.html
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-001-print.html
@@ -15,6 +15,7 @@
background: red;
}
@top-left {
+ width: 100px;
text-align: left;
vertical-align: top;
content: "PASS";
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-002-print-ref.html b/tests/wpt/tests/css/css-page/margin-boxes/content-002-print-ref.html
new file mode 100644
index 00000000000..a1452bc9161
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-002-print-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<meta charset="utf-8">
+<style>
+ @page {
+ margin: 0;
+ }
+ body {
+ margin: 0;
+ }
+ .content::before {
+ content: open-quote "Trøndere gråter når " open-quote "Vinsjan på kaia" close-quote " blir deklamert" close-quote;
+ }
+ .bottom::before {
+ quotes: "[" "]" "{" "}";
+ }
+</style>
+<div style="display:grid; height:100vh; grid-template-rows:4em auto 4em; margin:0 4em;">
+ <div class="content"></div>
+ <div></div>
+ <div class="content bottom"></div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-002-print.html b/tests/wpt/tests/css/css-page/margin-boxes/content-002-print.html
new file mode 100644
index 00000000000..9a777c85ec6
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-002-print.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#populating-margin-boxes">
+<meta name="assert" content="Test quotes in the content property inside page margin boxes.">
+<meta charset="utf-8">
+<link rel="match" href="content-002-print-ref.html">
+<style>
+ @page {
+ margin: 4em;
+
+ @top-left {
+ text-align: left;
+ vertical-align: top;
+ content: open-quote "Trøndere gråter når " open-quote "Vinsjan på kaia" close-quote " blir deklamert" close-quote;
+ }
+
+ @bottom-left {
+ quotes: "[" "]" "{" "}";
+ text-align: left;
+ vertical-align: top;
+ content: open-quote "Trøndere gråter når " open-quote "Vinsjan på kaia" close-quote " blir deklamert" close-quote;
+ }
+ }
+</style>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-003-print-ref.html b/tests/wpt/tests/css/css-page/margin-boxes/content-003-print-ref.html
new file mode 100644
index 00000000000..ba45b88cd4d
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-003-print-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<style>
+ @page {
+ margin: 0;
+ }
+ body {
+ margin: 0;
+ }
+</style>
+Lime rectangle:
+<div style="display:inline-block; width:100px; height:50px; background:lime;"></div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-003-print.html b/tests/wpt/tests/css/css-page/margin-boxes/content-003-print.html
new file mode 100644
index 00000000000..8e87e418219
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-003-print.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#populating-margin-boxes">
+<meta name="assert" content="Test image in the content property inside page margin boxes.">
+<link rel="match" href="content-003-print-ref.html">
+<style>
+ @page {
+ margin: 0;
+ margin-top: 50px;
+
+ @top-left {
+ text-align: left;
+ vertical-align: top;
+ content: "Lime rectangle: " url(/images/green.png);
+ }
+ }
+</style>
diff --git a/tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-001.html b/tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-001.html
new file mode 100644
index 00000000000..33cbc8e49a1
--- /dev/null
+++ b/tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-001.html
@@ -0,0 +1,38 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS test: letter-spacing should be trimmed at start of line</title>
+<link rel=author href="mailto:jkew@mozilla.com">
+<link rel=match href="reference/letter-spacing-trim-start-001-ref.html">
+<link rel=help href="https://drafts.csswg.org/css-text-3/#letter-spacing-property">
+<link rel=help href="https://bugzilla.mozilla.org/show_bug.cgi?id=1892262">
+<style>
+.outer {
+ position: relative;
+ font: 24px/2 monospace;
+}
+.box {
+ display: inline-block;
+ width: 2ch;
+ height: 1.75em;
+ margin: calc(1ch - 2px);
+ border: 2px solid black;
+ border-radius: 5px;
+}
+.test {
+ position: absolute;
+ top: .5em;
+ left: 1.5ch;
+ letter-spacing: 3ch;
+}
+</style>
+</head>
+<body>
+The numbers should be centered in the boxes:<br>
+<div class=outer>
+ <div class=box></div><div class=box></div><div class=box></div><div class=box></div><div class=box></div><div class=box></div>
+ <div class=test>123456</div>
+</div>
+</body>
+</html>
diff --git a/tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-002.html b/tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-002.html
new file mode 100644
index 00000000000..438cf40018c
--- /dev/null
+++ b/tests/wpt/tests/css/css-text/letter-spacing/letter-spacing-trim-start-002.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<link rel=author href="mailto:jkew@mozilla.com">
+<link rel=help href="https://drafts.csswg.org/css-text-3/#letter-spacing-property">
+<link rel=help href="https://bugzilla.mozilla.org/show_bug.cgi?id=1892262">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+#t, #r {
+ font: 20px/1 monospace;
+ letter-spacing: 2ch;
+ overflow-wrap: anywhere;
+ outline: 1px solid black;
+ margin: 10px;
+}
+</style>
+<script>
+function run() {
+ let refWidth = r.offsetWidth;
+
+ test(() => assert_less_than(t.offsetWidth, refWidth, "test div should have smaller width"));
+
+ t.style.width = "max-content";
+
+ test(() => assert_equals(t.offsetWidth, refWidth, "widths should now match"));
+}
+</script>
+</head>
+<body onload="run()">
+<div id="r" style="width: max-content;">
+ aaaaa<i></i>bbb
+</div>
+<div id="t" style="width: 15ch;">
+ aaaaa<i></i>bbb
+</div>
diff --git a/tests/wpt/tests/css/css-text/letter-spacing/reference/letter-spacing-trim-start-001-ref.html b/tests/wpt/tests/css/css-text/letter-spacing/reference/letter-spacing-trim-start-001-ref.html
new file mode 100644
index 00000000000..d6849349830
--- /dev/null
+++ b/tests/wpt/tests/css/css-text/letter-spacing/reference/letter-spacing-trim-start-001-ref.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS reference: letter-spacing should be trimmed at start of line</title>
+<link rel=author href="mailto:jkew@mozilla.com">
+<style>
+.outer {
+ position: relative;
+ font: 24px/2 monospace;
+}
+.box {
+ display: inline-block;
+ width: 2ch;
+ height: 1.75em;
+ margin: calc(1ch - 2px);
+ border: 2px solid black;
+ border-radius: 5px;
+}
+.test {
+ position: absolute;
+ top: .5em;
+ left: 1.5ch;
+}
+</style>
+</head>
+<body>
+The numbers should be centered in the boxes:<br>
+<div class=outer>
+ <div class=box></div><div class=box></div><div class=box></div><div class=box></div><div class=box></div><div class=box></div>
+ <div class=test>1&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;6</div>
+</div>
+</body>
+</html>
diff --git a/tests/wpt/tests/css/css-values/various-values-important.html b/tests/wpt/tests/css/css-values/various-values-important.html
new file mode 100644
index 00000000000..2dc34bf446f
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/various-values-important.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS Values: !important flag parsing</title>
+ <link rel="help" href="https://www.w3.org/TR/css-syntax-3/" />
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <style>
+ #target {
+ font-variant: no-common-ligatures proportional-nums !important;
+ initial-letter: 123 !important;
+ text-box-edge: text !important;
+ view-transition-class: cls !important;
+ }
+ </style>
+ </head>
+ <body>
+ <div id="target">Some text.</div>
+ </body>
+ <script>
+test(() => {
+ assert_equals(getComputedStyle(target).fontVariant, 'no-common-ligatures proportional-nums');
+});
+test(() => {
+ assert_equals(getComputedStyle(target).initialLetter, '123');
+});
+test(() => {
+ assert_equals(getComputedStyle(target).textBoxEdge, 'text');
+});
+test(() => {
+ assert_equals(getComputedStyle(target).viewTransitionClass, 'cls');
+});
+ </script>
+</html>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/border-spacing.html b/tests/wpt/tests/css/css-viewport/zoom/border-spacing.html
new file mode 100644
index 00000000000..2801a292006
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/border-spacing.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to border-spacing when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/border-spacing-ref.html">
+
+<style>
+.table {
+ display: table;
+}
+.row {
+ display: table-row;
+}
+.cell {
+ display: table-cell;
+ border: 0.5rem solid hotpink;
+}
+.spacing {
+ border-collapse: separate;
+ border-spacing: 17px 11px;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div class="table spacing">
+ <div class="row">
+ <div class="cell">unzoomed</div>
+ <div class="cell">unzoomed</div>
+ </div>
+ <div class="row">
+ <div class="cell">unzoomed</div>
+ <div class="cell">unzoomed</div>
+ </div>
+</div>
+
+<div class="zoom spacing">
+ <div class="table">
+ <div class="row">
+ <div class="cell">zoomed</div>
+ <div class="cell">zoomed</div>
+ </div>
+ <div class="row">
+ <div class="cell">zoomed</div>
+ <div class="cell">zoomed</div>
+ </div>
+ </div>
+</div>
+
+<div class="spacing">
+ <div class="table zoom">
+ <div class="row">
+ <div class="cell">zoomed inherited</div>
+ <div class="cell">zoomed inherited</div>
+ </div>
+ <div class="row">
+ <div class="cell">zoomed inherited</div>
+ <div class="cell">zoomed inherited</div>
+ </div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/list-style-image.html b/tests/wpt/tests/css/css-viewport/zoom/list-style-image.html
new file mode 100644
index 00000000000..f6caa249f78
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/list-style-image.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<title>CSS zoom applies to list-style-image</title>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/list-style-image-ref.html">
+
+<style>
+.marker {
+ list-style-image: url('#marker');
+}
+ul {
+ margin-block-start: 1rem;
+ margin-block-end: 1rem;
+ margin-inline-start: 0px;
+ margin-inline-end: 0px;
+ padding-inline-start: 40px;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div>
+ <ul>
+ <li class="marker">unzoomed</li>
+ </ul>
+</div>
+
+<div>
+ <ul class="zoom">
+ <li class="marker">zoomed</li>
+ </ul>
+</div>
+
+<div class="marker">
+ <ul class="zoom">
+ <li>zoomed inherited</li>
+ </ul>
+</div>
+
+<svg viewBox="0 0 100 100" style="display:none">
+ <defs>
+ <g id="marker">
+ <circle cx="50%" cy="50%" r="50%" stroke="none" />
+ </g>
+ </defs>
+</svg>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/border-spacing-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/border-spacing-ref.html
new file mode 100644
index 00000000000..df01e965a27
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/border-spacing-ref.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to border-spacing when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+body {
+ --scale: 1;
+}
+.table {
+ display: table;
+}
+.row {
+ display: table-row;
+}
+.cell {
+ display: table-cell;
+ border: calc(0.5rem * var(--scale)) solid hotpink;
+ font-size: calc(1rem * var(--scale));
+}
+.spacing {
+ border-collapse: separate;
+ border-spacing: calc(17px * var(--scale)) calc(11px * var(--scale));
+}
+.zoom {
+ --scale: 2;
+}
+</style>
+
+<div class="table spacing">
+ <div class="row">
+ <div class="cell">unzoomed</div>
+ <div class="cell">unzoomed</div>
+ </div>
+ <div class="row">
+ <div class="cell">unzoomed</div>
+ <div class="cell">unzoomed</div>
+ </div>
+</div>
+
+<div class="table spacing zoom">
+ <div class="row">
+ <div class="cell">zoomed</div>
+ <div class="cell">zoomed</div>
+ </div>
+ <div class="row">
+ <div class="cell">zoomed</div>
+ <div class="cell">zoomed</div>
+ </div>
+</div>
+
+<div class="table spacing zoom">
+ <div class="row">
+ <div class="cell">zoomed inherited</div>
+ <div class="cell">zoomed inherited</div>
+ </div>
+ <div class="row">
+ <div class="cell">zoomed inherited</div>
+ <div class="cell">zoomed inherited</div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/list-style-image-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/list-style-image-ref.html
new file mode 100644
index 00000000000..c9f5f53b24d
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/list-style-image-ref.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS zoom applies to list-style-image</title>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+body {
+ list-style-image: url('#marker');
+ --scale: 1;
+}
+ul {
+ font-size: calc(1rem * var(--scale));
+ margin-block-start: calc(1rem * var(--scale));
+ margin-block-end: calc(1rem * var(--scale));
+ margin-inline-start: 0px;
+ margin-inline-end: 0px;
+ padding-inline-start: calc(40px * var(--scale));
+}
+.zoom {
+ --scale: 2;
+}
+</style>
+
+<div>
+ <ul>
+ <li>unzoomed</li>
+ </ul>
+</div>
+
+<div>
+ <ul class="zoom">
+ <li>zoomed</li>
+ </ul>
+</div>
+
+<div>
+ <ul class="zoom">
+ <li>zoomed inherited</li>
+ </ul>
+</div>
+
+<svg viewBox="0 0 100 100" style="display:none">
+ <defs>
+ <g id="marker">
+ <circle cx="50%" cy="50%" r="50%" stroke="none" />
+ </g>
+ </defs>
+</svg>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/stroke-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/stroke-ref.html
new file mode 100644
index 00000000000..75742b1dc34
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/stroke-ref.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<title>CSS zoom applies to stroke, stroke-dasharray, and stroke-dashoffset</title>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+html, body {
+ margin: 0;
+ --scale: 1;
+}
+svg {
+ display: block;
+}
+.zoom {
+ --scale: 2;
+}
+.dash {
+ stroke-width: calc(6px * var(--scale));
+ stroke-dasharray: calc(10px * var(--scale));
+ stroke-dashoffset: calc(7px * var(--scale));
+ stroke: hotpink;
+ fill: none;
+}
+</style>
+
+<div class="dash">
+ <svg width="200" height="50">
+ <line x1="25" y1="20" x2="175" y2="20" />
+ </svg>
+</div>
+
+<div class="dash zoom">
+ <svg width="400" height="100">
+ <line x1="50" y1="40" x2="350" y2="40" />
+ </svg>
+</div>
+
+<div class="dash zoom">
+ <svg width="400" height="100">
+ <line x1="50" y1="40" x2="350" y2="40" />
+ </svg>
+</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/text-indent-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/text-indent-ref.html
new file mode 100644
index 00000000000..6dc0f8527c2
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/text-indent-ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to text-indent when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+body {
+ --scale: 1;
+}
+div {
+ font-size: calc(1rem * var(--scale));
+ text-indent: calc(1rem * var(--scale));
+}
+.zoom {
+ --scale: 2;
+}
+</style>
+
+<div>unzoomed</div>
+<div class="zoom">zoomed</div></div>
+<div class="zoom">zoomed inherited</div></div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/text-shadow-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/text-shadow-ref.html
new file mode 100644
index 00000000000..0538ba2c538
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/text-shadow-ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to text-shadow when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+body {
+ --scale: 1;
+}
+div {
+ font-size: calc(1rem * var(--scale));
+ text-shadow: calc(5px * var(--scale)) calc(5px * var(--scale)) hotpink;
+}
+.zoom {
+ --scale: 2;
+}
+
+</style>
+<div>unzoomed</div>
+<div class="zoom">zoomed</div>
+<div class="zoom">zoomed inherited</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/text-stroke-width-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/text-stroke-width-ref.html
new file mode 100644
index 00000000000..d1c675fc77d
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/text-stroke-width-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to -webkit-text-stroke-width when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+body {
+ --scale: 1;
+}
+div {
+ font-size: calc(3rem * var(--scale));
+ -webkit-text-stroke-width: calc(2px * var(--scale));
+ color: cornflowerblue;
+ -webkit-text-stroke-color: hotpink;
+}
+.zoom {
+ --scale: 2;
+}
+</style>
+
+<div>unzoomed</div>
+<div class="zoom">zoomed</div>
+<div class="zoom">zoomed inherited</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/text-underline-offset-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/text-underline-offset-ref.html
new file mode 100644
index 00000000000..11b61e0acaa
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/text-underline-offset-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to text-underline-offset when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+body {
+ --scale: 1;
+}
+div {
+ font-size: calc(1rem * var(--scale));
+ text-decoration: underline hotpink;
+ text-underline-offset: calc(5px * var(--scale));
+}
+.zoom {
+ --scale: 2;
+}
+</style>
+
+<div>unzoomed</div>
+<div class="zoom">zoomed</div>
+<div class="zoom">zoomed inherited</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/reference/word-spacing-ref.html b/tests/wpt/tests/css/css-viewport/zoom/reference/word-spacing-ref.html
new file mode 100644
index 00000000000..02ace8352ad
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/reference/word-spacing-ref.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to word-spacing when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+
+<style>
+html {
+ --scale: 1;
+}
+div {
+ font-size: calc(1rem * var(--scale));
+ word-spacing: calc(2rem * var(--scale));
+}
+.zoom {
+ --scale: 2;
+}
+</style>
+
+<div class="spacing">
+ <div>unzoomed lorem ipsum</div>
+</div>
+
+<div class="spacing zoom">
+ <div>zoomed lorem ipsum</div>
+</div>
+
+<div class="spacing zoom">
+ <div>zoomed inherited lorem ipsum</div>
+</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/stroke.html b/tests/wpt/tests/css/css-viewport/zoom/stroke.html
new file mode 100644
index 00000000000..5af4eec10cc
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/stroke.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<title>CSS zoom applies to stroke, stroke-dasharray, and stroke-dashoffset</title>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/stroke-ref.html">
+
+<style>
+html, body {
+ margin: 0;
+}
+svg {
+ display: block;
+}
+.dash {
+ stroke-width: 6px;
+ stroke-dasharray: 10px;
+ stroke-dashoffset: 7px;
+ stroke: hotpink;
+ fill: none;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div class="dash">
+ <svg width="200" height="50">
+ <line x1="25" y1="20" x2="175" y2="20" />
+ </svg>
+</div>
+
+<div>
+ <svg class="zoom" width="200" height="50">
+ <line class="dash" x1="25" y1="20" x2="175" y2="20" />
+ </svg>
+</div>
+
+<div class="dash">
+ <svg class="zoom" width="200" height="50">
+ <line x1="25" y1="20" x2="175" y2="20" />
+ </svg>
+</div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/svg-path-ref.html b/tests/wpt/tests/css/css-viewport/zoom/svg-path-ref.html
new file mode 100644
index 00000000000..29f4d3bbff4
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/svg-path-ref.html
@@ -0,0 +1,6 @@
+<!doctype html>
+<meta charset="utf-8">
+<svg width="320" height="200" style="background: #006AA7;">
+ <path d="M120 0 L 120 320Z" stroke="#FECC02" stroke-width="40"/>
+ <rect x="0" y="80" width="320" height="40" fill="#FECC02" />
+</svg>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/svg-path.html b/tests/wpt/tests/css/css-viewport/zoom/svg-path.html
new file mode 100644
index 00000000000..9a7bc3ffee9
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/svg-path.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<meta charset="utf-8">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/#zoom-property">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1903361">
+<link rel="match" href="svg-path-ref.html">
+<svg width="160" height="100" style="zoom: 2; background: #006AA7;">
+ <path d="M60 0 L 60 160Z" stroke="#FECC02" stroke-width="20"/>
+ <rect x="0" y="40" width="160" height="20" fill="#FECC02" />
+</svg>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/text-indent.html b/tests/wpt/tests/css/css-viewport/zoom/text-indent.html
new file mode 100644
index 00000000000..2edf6a62223
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/text-indent.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to text-indent when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/text-indent-ref.html">
+
+<style>
+.indent {
+ text-indent: 1rem;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div class="indent">unzoomed</div>
+<div class="zoom"><div class="indent">zoomed</div></div>
+<div class="indent"><div class="zoom">zoomed inherited</div></div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/text-shadow.html b/tests/wpt/tests/css/css-viewport/zoom/text-shadow.html
new file mode 100644
index 00000000000..1d39a24cd19
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/text-shadow.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to text-shadow when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/text-shadow-ref.html">
+
+<style>
+.shadow {
+ text-shadow: 5px 5px hotpink;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div class="shadow">unzoomed</div>
+<div class="zoom"><div class="shadow">zoomed</div></div>
+<div class="shadow"><div class="zoom">zoomed inherited</div></div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/text-stroke-width.html b/tests/wpt/tests/css/css-viewport/zoom/text-stroke-width.html
new file mode 100644
index 00000000000..b11dc67d52c
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/text-stroke-width.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to -webkit-text-stroke-width when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/text-stroke-width-ref.html">
+
+<style>
+div {
+ font-size: 3rem;
+ color: cornflowerblue;
+ -webkit-text-stroke-color: hotpink;
+}
+.text-stroke-width {
+ -webkit-text-stroke-width: 2px;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div class="text-stroke-width" >unzoomed</div>
+<div class="zoom"><div class="text-stroke-width">zoomed</div></div>
+<div class="text-stroke-width"><div class="zoom">zoomed inherited</div></div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/text-underline-offset.html b/tests/wpt/tests/css/css-viewport/zoom/text-underline-offset.html
new file mode 100644
index 00000000000..cdf7b3d7ab2
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/text-underline-offset.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to text-underline-offset when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/text-underline-offset-ref.html">
+
+<style>
+.underline-offset {
+ text-underline-offset: 5px;
+}
+.zoom {
+ zoom: 2;
+}
+#unzoomed, #zoomed, #zoomed-inherited {
+ text-decoration: underline hotpink;
+}
+</style>
+
+<div id="unzoomed" class="underline-offset">unzoomed</div>
+<div class="zoom"><div id="zoomed" class="underline-offset">zoomed</div></div>
+<div class="underline-offset"><div id="zoomed-inherited" class="zoom">zoomed inherited</div></div>
diff --git a/tests/wpt/tests/css/css-viewport/zoom/word-spacing.html b/tests/wpt/tests/css/css-viewport/zoom/word-spacing.html
new file mode 100644
index 00000000000..80f52046cd5
--- /dev/null
+++ b/tests/wpt/tests/css/css-viewport/zoom/word-spacing.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<style>CSS zoom applies to word-spacing when specified and inherited</style>
+<link rel="author" title="Stefan Zager" href="mailto:szager@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-viewport/">
+<link rel="match" href="reference/word-spacing-ref.html">
+
+<style>
+.spacing {
+ word-spacing: 2rem;
+}
+.zoom {
+ zoom: 2;
+}
+</style>
+
+<div class="spacing">
+ <div>unzoomed lorem ipsum</div>
+</div>
+
+<div class="zoom">
+ <div class="spacing">zoomed lorem ipsum</div>
+</div>
+
+<div class="spacing">
+ <div class="zoom">zoomed inherited lorem ipsum</div>
+</div>
diff --git a/tests/wpt/tests/css/selectors/invalidation/nth-child-whole-subtree.html b/tests/wpt/tests/css/selectors/invalidation/nth-child-whole-subtree.html
new file mode 100644
index 00000000000..36442a0e36f
--- /dev/null
+++ b/tests/wpt/tests/css/selectors/invalidation/nth-child-whole-subtree.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<title>CSS Selectors Invalidation: :nth-child(... of :not()) combined with whole subtree invalidation</title>
+<link rel="help" href="https://crbug.com/333420613">
+<link rel="help" href="https://drafts.csswg.org/selectors-4/#child-index">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ div:nth-child(odd of :not(.c)) {
+ background-color: silver;
+ }
+ .c * {}
+</style>
+<div>Silver</div>
+<div id="d2" class="c">White</div>
+<div id="d3">Silver</div>
+<script>
+ test(() => {
+ document.body.offsetTop;
+ d2.classList.value = '';
+ assert_equals(getComputedStyle(d3).backgroundColor, 'rgb(192, 192, 192)');
+ });
+</script>
diff --git a/tests/wpt/tests/css/selectors/invalidation/nth-of-namespace-class-invalidation-crash.html b/tests/wpt/tests/css/selectors/invalidation/nth-of-namespace-class-invalidation-crash.html
new file mode 100644
index 00000000000..4ad1cfe1c69
--- /dev/null
+++ b/tests/wpt/tests/css/selectors/invalidation/nth-of-namespace-class-invalidation-crash.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1903671">
+<style>
+*|*:nth-child(+0n of S) { color: red }
+</style>
+<script>
+document.addEventListener("DOMContentLoaded", () => {
+ let a = document.createElementNS("http://www.w3.org/1999/xhtml", "details")
+ let b = document.createElementNS("http://www.w3.org/1999/xhtml", "summary")
+ a.appendChild(b)
+ document.documentElement.appendChild(a)
+ b.offsetTop;
+ b.setAttributeNS("h", "class", "")
+})
+</script>
diff --git a/tests/wpt/tests/fedcm/support/accounts.py b/tests/wpt/tests/fedcm/support/accounts.py
index 126f911a58c..c0117862816 100644
--- a/tests/wpt/tests/fedcm/support/accounts.py
+++ b/tests/wpt/tests/fedcm/support/accounts.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.accountsCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/accounts_check_same_site_strict.py b/tests/wpt/tests/fedcm/support/accounts_check_same_site_strict.py
index 796ac003cbc..27a5d6a5b3e 100644
--- a/tests/wpt/tests/fedcm/support/accounts_check_same_site_strict.py
+++ b/tests/wpt/tests/fedcm/support/accounts_check_same_site_strict.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.accountsCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/accounts_no_approved_clients.py b/tests/wpt/tests/fedcm/support/accounts_no_approved_clients.py
index faea06edc36..1820376034e 100644
--- a/tests/wpt/tests/fedcm/support/accounts_no_approved_clients.py
+++ b/tests/wpt/tests/fedcm/support/accounts_no_approved_clients.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.accountsCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/client_metadata.py b/tests/wpt/tests/fedcm/support/client_metadata.py
index 72ddcc5cd62..57390015bdd 100644
--- a/tests/wpt/tests/fedcm/support/client_metadata.py
+++ b/tests/wpt/tests/fedcm/support/client_metadata.py
@@ -1,7 +1,7 @@
-# 'import credential-management.support.fedcm.keys' does not work.
+# 'import fedcm.support.keys' does not work.
import importlib
-keys = importlib.import_module("credential-management.support.fedcm.keys")
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+keys = importlib.import_module("fedcm.support.keys")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.clientMetadataCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/client_metadata_clear_count.py b/tests/wpt/tests/fedcm/support/client_metadata_clear_count.py
index 0e52d99c1dd..bbce7a45f75 100644
--- a/tests/wpt/tests/fedcm/support/client_metadata_clear_count.py
+++ b/tests/wpt/tests/fedcm/support/client_metadata_clear_count.py
@@ -1,6 +1,6 @@
-# 'import credential-management.support.fedcm.keys' does not work.
+# 'import fedcm.support.keys' does not work.
import importlib
-keys = importlib.import_module("credential-management.support.fedcm.keys")
+keys = importlib.import_module("fedcm.support.keys")
def main(request, response):
client_metadata_url = "/fedcm/support/client_metadata.py"
diff --git a/tests/wpt/tests/fedcm/support/continue_on.py b/tests/wpt/tests/fedcm/support/continue_on.py
index 2a580e0f3f4..0195e478e29 100644
--- a/tests/wpt/tests/fedcm/support/continue_on.py
+++ b/tests/wpt/tests/fedcm/support/continue_on.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/disconnect.py b/tests/wpt/tests/fedcm/support/disconnect.py
index cf62ceda225..13131fa1f30 100644
--- a/tests/wpt/tests/fedcm/support/disconnect.py
+++ b/tests/wpt/tests/fedcm/support/disconnect.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
response.headers.set(b"Content-Type", b"application/json")
diff --git a/tests/wpt/tests/fedcm/support/error_with_code_and_url.py b/tests/wpt/tests/fedcm/support/error_with_code_and_url.py
index 71bfea00f46..609d49c76bc 100644
--- a/tests/wpt/tests/fedcm/support/error_with_code_and_url.py
+++ b/tests/wpt/tests/fedcm/support/error_with_code_and_url.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/credential-management/support/fedcm/keys.py b/tests/wpt/tests/fedcm/support/keys.py
index 6b7d67e21e7..6b7d67e21e7 100644
--- a/tests/wpt/tests/credential-management/support/fedcm/keys.py
+++ b/tests/wpt/tests/fedcm/support/keys.py
diff --git a/tests/wpt/tests/fedcm/support/manifest.py b/tests/wpt/tests/fedcm/support/manifest.py
index a40fc100eee..ed984a42387 100644
--- a/tests/wpt/tests/fedcm/support/manifest.py
+++ b/tests/wpt/tests/fedcm/support/manifest.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.manifestCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/no_accounts.py b/tests/wpt/tests/fedcm/support/no_accounts.py
index 8767c50afb4..fad93088db5 100644
--- a/tests/wpt/tests/fedcm/support/no_accounts.py
+++ b/tests/wpt/tests/fedcm/support/no_accounts.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.accountsCheck(request)
diff --git a/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py b/tests/wpt/tests/fedcm/support/request-params-check.py
index 08c28e32b79..08c28e32b79 100644
--- a/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py
+++ b/tests/wpt/tests/fedcm/support/request-params-check.py
diff --git a/tests/wpt/tests/fedcm/support/select_manifest_in_root_manifest.py b/tests/wpt/tests/fedcm/support/select_manifest_in_root_manifest.py
index d4f1efff6a7..4b3e7964f0f 100644
--- a/tests/wpt/tests/fedcm/support/select_manifest_in_root_manifest.py
+++ b/tests/wpt/tests/fedcm/support/select_manifest_in_root_manifest.py
@@ -1,8 +1,8 @@
import importlib
from urllib.parse import urlsplit
-# 'import credential-management.support.fedcm.keys' does not work.
-keys = importlib.import_module("credential-management.support.fedcm.keys")
+# 'import fedcm.support.keys' does not work.
+keys = importlib.import_module("fedcm.support.keys")
def main(request, response):
root_manifest_url = "/.well-known/web-identity"
diff --git a/tests/wpt/tests/fedcm/support/single_account.py b/tests/wpt/tests/fedcm/support/single_account.py
index 7c8906ae7b9..000a23d925c 100644
--- a/tests/wpt/tests/fedcm/support/single_account.py
+++ b/tests/wpt/tests/fedcm/support/single_account.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.accountsCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token.py b/tests/wpt/tests/fedcm/support/token.py
index 7ec81c390a9..f4ad108d8d5 100644
--- a/tests/wpt/tests/fedcm/support/token.py
+++ b/tests/wpt/tests/fedcm/support/token.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_false.py b/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_false.py
index a25a14af694..d10f839f028 100644
--- a/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_false.py
+++ b/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_false.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_true.py b/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_true.py
index 00b755b920c..7c5e53c8e8f 100644
--- a/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_true.py
+++ b/tests/wpt/tests/fedcm/support/token_check_disclosure_shown_true.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_check_same_site_strict.py b/tests/wpt/tests/fedcm/support/token_check_same_site_strict.py
index 4e55bf27f61..f030b9b6fd5 100644
--- a/tests/wpt/tests/fedcm/support/token_check_same_site_strict.py
+++ b/tests/wpt/tests/fedcm/support/token_check_same_site_strict.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_with_account_id.py b/tests/wpt/tests/fedcm/support/token_with_account_id.py
index 04e7b5b56b9..de3a7662d18 100644
--- a/tests/wpt/tests/fedcm/support/token_with_account_id.py
+++ b/tests/wpt/tests/fedcm/support/token_with_account_id.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_with_auto_selected_flag.py b/tests/wpt/tests/fedcm/support/token_with_auto_selected_flag.py
index 3e011ce788c..d59da115c10 100644
--- a/tests/wpt/tests/fedcm/support/token_with_auto_selected_flag.py
+++ b/tests/wpt/tests/fedcm/support/token_with_auto_selected_flag.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_with_http_error.py b/tests/wpt/tests/fedcm/support/token_with_http_error.py
index 05b9945ba80..ea14b6f528d 100644
--- a/tests/wpt/tests/fedcm/support/token_with_http_error.py
+++ b/tests/wpt/tests/fedcm/support/token_with_http_error.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/token_with_rp_mode.py b/tests/wpt/tests/fedcm/support/token_with_rp_mode.py
index add634c99bb..a75d512025e 100644
--- a/tests/wpt/tests/fedcm/support/token_with_rp_mode.py
+++ b/tests/wpt/tests/fedcm/support/token_with_rp_mode.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.tokenCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/two_accounts.py b/tests/wpt/tests/fedcm/support/two_accounts.py
index 4022561ff78..b59d6a09659 100644
--- a/tests/wpt/tests/fedcm/support/two_accounts.py
+++ b/tests/wpt/tests/fedcm/support/two_accounts.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
def main(request, response):
request_error = error_checker.accountsCheck(request)
diff --git a/tests/wpt/tests/fedcm/support/variable_accounts.py b/tests/wpt/tests/fedcm/support/variable_accounts.py
index fc4446acc49..73d69422711 100644
--- a/tests/wpt/tests/fedcm/support/variable_accounts.py
+++ b/tests/wpt/tests/fedcm/support/variable_accounts.py
@@ -1,5 +1,5 @@
import importlib
-error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+error_checker = importlib.import_module("fedcm.support.request-params-check")
result_json = """
{{
diff --git a/tests/wpt/tests/fenced-frame/webrtc-peer-connection.https.html b/tests/wpt/tests/fenced-frame/webrtc-peer-connection.https.html
new file mode 100644
index 00000000000..fdb42be46f8
--- /dev/null
+++ b/tests/wpt/tests/fenced-frame/webrtc-peer-connection.https.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/utils.js"></script>
+<script src="/common/dispatcher/dispatcher.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/utils.js"></script>
+<title>Test that RTCPeerConnection construction fails in a fenced frame.</title>
+
+<body>
+ <script>
+ promise_test(async (t) => {
+ let fencedframe = attachFencedFrameContext();
+ return fencedframe.execute(() => {
+ try {
+ // Copied from https://webrtc.org/getting-started/peer-connections.
+ // The contents of the configuration object doesn't matter here,
+ // because construction should fail before the information becomes
+ // relevant.
+ const configuration = {
+ 'iceServers': [{'urls': 'stun:stun.example.com:19302'}]
+ };
+ const peerConnection = new RTCPeerConnection(configuration);
+ assert_unreached("RTCPeerConnection construction should fail in a " +
+ "fenced frame");
+ } catch (err) {
+ assert_equals(err.name, "NotAllowedError");
+ }
+ });
+ }, "Test that RTCPeerConnection construction fails in a fenced frame.");
+
+ </script>
+</body>
diff --git a/tests/wpt/tests/html-aam/roles-generic.html b/tests/wpt/tests/html-aam/roles-generic.html
index e6ff46b0662..e64d88e3d01 100644
--- a/tests/wpt/tests/html-aam/roles-generic.html
+++ b/tests/wpt/tests/html-aam/roles-generic.html
@@ -26,7 +26,6 @@
<!-- footer -> ./roles-contextual.html -->
<!-- header -> ./roles-contextual.html -->
<i data-testname="el-i" class="ex-generic">x</i>
-<li data-testname="el-li-orphaned" class="ex-generic">x</li><!-- todo: should orphaned roles be tested in a new ./roles-orphaned.html file? -->
<pre data-testname="el-pre" class="ex-generic">x</pre>
<q data-testname="el-q" class="ex-generic">x</q>
<samp data-testname="el-samp" class="ex-generic">x</samp>
diff --git a/tests/wpt/tests/html-aam/roles-generic.tentative.html b/tests/wpt/tests/html-aam/roles-generic.tentative.html
new file mode 100644
index 00000000000..09a39d2e635
--- /dev/null
+++ b/tests/wpt/tests/html-aam/roles-generic.tentative.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<html>
+<head>
+ <title>Tentative: HTML-AAM Generic Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+</head>
+<body>
+
+<li data-testname="el-li-orphaned" class="ex-generic">x</li><!-- todo: should orphaned roles be tested in a new ./roles-orphaned.html file? -->
+
+<script>
+AriaUtils.verifyGenericRolesBySelector(".ex-generic");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-srcdoc.window.js b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-srcdoc.window.js
index 1a959cbaf05..054bdcf7876 100644
--- a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-srcdoc.window.js
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-srcdoc.window.js
@@ -21,7 +21,11 @@ promise_test(async t => {
await assertSimplestScriptRuns(iframe);
await assertFunctionRuns(iframe, () => testFunction(), 'testFunction exists');
- assert_equals(
- await main.executeScript(() => document.getElementById('test-id').id),
- 'test-id', 'verify id');
+ const [id, src, srcdoc] = await main.executeScript(() => {
+ const iframe = document.getElementById('test-id');
+ return [iframe.id, iframe.src, iframe.srcdoc];
+ });
+ assert_equals(id, 'test-id', 'verify id');
+ assert_equals(src, '', 'verify src');
+ assert_greater_than(srcdoc.length, 0, 'verify srcdoc');
});
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.js b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.js
new file mode 100644
index 00000000000..2b333f37594
--- /dev/null
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addIframe-urlType.window.js
@@ -0,0 +1,59 @@
+// META: title=RemoteContextWrapper addIframe
+// META: script=/common/dispatcher/dispatcher.js
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
+// META: script=./resources/test-helper.js
+// META: variant=?urlType=origin
+// META: variant=?urlType=data
+// META: variant=?urlType=blob
+// META: variant=?urlType=blank
+
+'use strict';
+
+// This tests that arguments passed to the constructor are respected.
+promise_test(async t => {
+ // Precondition: Test was loaded from the HTTP_ORIGIN.
+ assert_equals(
+ location.origin, get_host_info()['HTTP_ORIGIN'],
+ 'test window was loaded on HTTP_ORIGIN');
+ const rcHelper = new RemoteContextHelper();
+
+ const main = await rcHelper.addWindow();
+
+ const urlType = getUrlType(location);
+ const iframe = await main.addIframe(
+ /*extraConfig=*/ {
+ scripts: ['./resources/test-script.js'],
+ urlType: urlType,
+ },
+ /*attributes=*/ {id: 'test-id'},
+ );
+
+ await assertSimplestScriptRuns(iframe);
+ await assertFunctionRuns(iframe, () => testFunction(), 'testFunction exists');
+
+ const [id, src] = await main.executeScript(() => {
+ const iframe = document.getElementById('test-id');
+ return [iframe.id, iframe.src];
+ });
+ assert_equals(id, 'test-id', 'verify id');
+ switch (urlType) {
+ case 'origin':
+ const url = new URL(location);
+ const origin = url.origin;
+ assert_equals(src.substring(0, origin.length), origin, 'verify src');
+ break;
+ case 'blank':
+ assert_equals(src, '', 'verify src');
+ break;
+ case 'data':
+ assert_regexp_match(src, /^data:/, 'verify src');
+ break;
+ case 'blob':
+ assert_regexp_match(src, /^blob:/, 'verify src');
+ break;
+ default:
+ throw new Error(`Unknown urlType: ${urlType}`);
+ }
+});
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType-data.window.js b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType-data.window.js
new file mode 100644
index 00000000000..edcff5843c0
--- /dev/null
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType-data.window.js
@@ -0,0 +1,24 @@
+// META: title=RemoteContextHelper addWindow with extra config
+// META: script=/common/dispatcher/dispatcher.js
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
+// META: script=./resources/test-helper.js
+
+'use strict';
+
+// This tests that urlType of "data" fails for a new window.
+promise_test(async t => {
+ const urlType = getUrlType(location);
+
+ const rcHelper = new RemoteContextHelper();
+
+ return promise_rejects_js(
+ t, TypeError,
+ rcHelper.addWindow(
+ /*extraConfig=*/ {
+ urlType: 'data',
+ },
+ ),
+ 'creating window with data: URL fails.');
+});
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.js b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.js
new file mode 100644
index 00000000000..66a725769be
--- /dev/null
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/addWindow-urlType.window.js
@@ -0,0 +1,50 @@
+// META: title=RemoteContextHelper addWindow with urlType
+// META: script=/common/dispatcher/dispatcher.js
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
+// META: script=./resources/test-helper.js
+// META: variant=?urlType=origin
+// META: variant=?urlType=blob
+// META: variant=?urlType=blank
+
+'use strict';
+
+// This tests that various urlType parameters are respected.
+promise_test(async t => {
+ const urlType = getUrlType(location);
+
+ const rcHelper = new RemoteContextHelper();
+
+ const main = await rcHelper.addWindow(
+ /*extraConfig=*/ {
+ urlType: urlType,
+ },
+ );
+
+ await assertSimplestScriptRuns(main);
+ const windowLocation = await main.executeScript(() => {
+ return location.href;
+ });
+ switch (urlType) {
+ case 'origin':
+ const url = new URL(location);
+ const origin = url.origin;
+ assert_equals(
+ windowLocation.substring(0, origin.length), origin, 'verify url');
+ break;
+ case 'blank':
+ // A new window in the same browsing context group with a blank URL has a
+ // `location` equal to its parent.
+ assert_equals(windowLocation, location.href, 'verify url');
+ break;
+ case 'data':
+ assert_regexp_match(windowLocation, /^data:/, 'verify url');
+ break;
+ case 'blob':
+ assert_regexp_match(windowLocation, /^blob:/, 'verify url');
+ break;
+ default:
+ throw new Error(`Unknown urlType: ${urlType}`);
+ }
+});
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/resources/test-helper.js b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/resources/test-helper.js
index 71cd87e5539..a277ca24ace 100644
--- a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/resources/test-helper.js
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper-tests/resources/test-helper.js
@@ -45,4 +45,9 @@ async function assertHeaderIsAsExpected(
const res = await fetch(location);
return res.headers.get(headerName);
}, [headerName]), 'header is set');
-} \ No newline at end of file
+}
+
+function getUrlType(location) {
+ const url = new URL(location);
+ return url.searchParams.get('urlType');
+}
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/executor-window.py b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/executor-window.py
index 1a660100b9c..733d36b15ed 100644
--- a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/executor-window.py
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/executor-window.py
@@ -24,8 +24,11 @@ def main(request, response):
start_on = query.get("startOn")
start_on_s = f"'{start_on[0]}'" if start_on else "null"
+ # This sets a base href so that even if this content e.g. data or blob URLs
+ # document, relative URLs will resolve.
return (status, [("Content-Type", "text/html")], f"""
<!DOCTYPE HTML>
+<base href="{html.escape(request.url)}">
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="./executor-common.js"></script>
<script src="./executor-window.js"></script>
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
index fc04f950d28..aca83720254 100644
--- a/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
@@ -88,6 +88,10 @@
return new URL(url, location).toString();
}
+ async function fetchText(url) {
+ return fetch(url).then(r => r.text());
+ }
+
/**
* Represents a configuration for a remote context executor.
*/
@@ -108,14 +112,22 @@
* this value in the "status" parameter to the executor. The default
* executor will default to a status code of 200, if the parameter is
* not supplied.
+ * @param {string} [options.urlType] Determines what kind of URL is used. Options:
+ * 'origin', the URL will be based on the origin;
+ * 'data' or 'blob', the URL will contains the document content in
+ * a 'data:' or 'blob:' URL; 'blank', the URL will be blank and the
+ * document content will be written to the initial empty document using
+ * `document.open()`, `document.write()`, and `document.close()`. If not
+ * supplied, the default is 'origin'.
*/
constructor(
- {origin, scripts = [], headers = [], startOn, status} = {}) {
+ {origin, scripts = [], headers = [], startOn, status, urlType} = {}) {
this.origin = origin;
this.scripts = scripts;
this.headers = headers;
this.startOn = startOn;
this.status = status;
+ this.urlType = urlType;
}
/**
@@ -152,15 +164,59 @@
if (extraConfig.status) {
status = extraConfig.status;
}
+ let urlType = this.urlType;
+ if (extraConfig.urlType) {
+ urlType = extraConfig.urlType;
+ }
const headers = this.headers.concat(extraConfig.headers);
const scripts = this.scripts.concat(extraConfig.scripts);
- return new RemoteContextConfig({
- origin,
- headers,
- scripts,
- startOn,
- status
- });
+ return new RemoteContextConfig(
+ {origin, headers, scripts, startOn, status, urlType});
+ }
+
+ /**
+ * Creates a URL for an executor based on this config.
+ * @param {string} uuid The unique ID of the executor.
+ * @param {boolean} isWorker If true, the executor will be Worker. If false,
+ * it will be a HTML document.
+ * @returns {string|Blob|undefined}
+ */
+ async createExecutorUrl(uuid, isWorker) {
+ const origin = finalizeOrigin(this.origin);
+ const url = new URL(
+ isWorker ? WORKER_EXECUTOR_PATH : WINDOW_EXECUTOR_PATH, origin);
+
+ // UUID is needed for executor.
+ url.searchParams.append('uuid', uuid);
+
+ if (this.headers) {
+ addHeaders(url, this.headers);
+ }
+ for (const script of this.scripts) {
+ url.searchParams.append('script', makeAbsolute(script));
+ }
+
+ if (this.startOn) {
+ url.searchParams.append('startOn', this.startOn);
+ }
+
+ if (this.status) {
+ url.searchParams.append('status', this.status);
+ }
+
+ const urlType = this.urlType || 'origin';
+ switch (urlType) {
+ case 'origin':
+ case 'blank':
+ return url.href;
+ case 'data':
+ return `data:text/html;base64,${btoa(await fetchText(url.href))}`;
+ case 'blob':
+ return URL.createObjectURL(
+ new Blob([await fetchText(url.href)], {type: 'text/html'}));
+ default:
+ throw TypeError(`Invalid urlType: ${urlType}`);
+ };
}
}
@@ -211,34 +267,19 @@
const config =
this.config.merged(RemoteContextConfig.ensure(extraConfig));
- const origin = finalizeOrigin(config.origin);
- const url = new URL(
- isWorker ? WORKER_EXECUTOR_PATH : WINDOW_EXECUTOR_PATH, origin);
-
// UUID is needed for executor.
const uuid = token();
- url.searchParams.append('uuid', uuid);
-
- if (config.headers) {
- addHeaders(url, config.headers);
- }
- for (const script of config.scripts) {
- url.searchParams.append('script', makeAbsolute(script));
- }
-
- if (config.startOn) {
- url.searchParams.append('startOn', config.startOn);
- }
-
- if (config.status) {
- url.searchParams.append('status', config.status);
- }
+ const url = await config.createExecutorUrl(uuid, isWorker);
if (executorCreator) {
- await executorCreator(url.href);
+ if (config.urlType == 'blank') {
+ await executorCreator(undefined, await fetchText(url));
+ } else {
+ await executorCreator(url, undefined);
+ }
}
- return new RemoteContextWrapper(new RemoteContext(uuid), this, url.href);
+ return new RemoteContextWrapper(new RemoteContext(uuid), this, url);
}
/**
@@ -280,30 +321,46 @@
}
function windowExecutorCreator({target = '_blank', features} = {}) {
- return url => {
- window.open(url, target, features);
+ return (url, documentContent) => {
+ if (url && url.substring(0, 5) == 'data:') {
+ throw new TypeError('Windows cannot use data: URLs.');
+ }
+
+ const w = window.open(url, target, features);
+ if (documentContent) {
+ w.document.open();
+ w.document.write(documentContent);
+ w.document.close();
+ }
};
}
function elementExecutorCreator(
remoteContextWrapper, elementName, attributes) {
- return url => {
+ return (url, documentContent) => {
return remoteContextWrapper.executeScript(
- (url, elementName, attributes) => {
+ (url, elementName, attributes, documentContent) => {
const el = document.createElement(elementName);
for (const attribute in attributes) {
el.setAttribute(attribute, attributes[attribute]);
}
- if (elementName == 'object') {
- el.data = url;
- } else {
- el.src = url;
+ if (url) {
+ if (elementName == 'object') {
+ el.data = url;
+ } else {
+ el.src = url;
+ }
}
const parent =
elementName == 'frame' ? findOrCreateFrameset() : document.body;
parent.appendChild(el);
+ if (documentContent) {
+ el.contentDocument.open();
+ el.contentDocument.write(documentContent);
+ el.contentDocument.close();
+ }
},
- [url, elementName, attributes]);
+ [url, elementName, attributes, documentContent]);
};
}
@@ -312,7 +369,8 @@
// `url` points to the content needed to run an `Executor` in the frame.
// So we download the content and pass it via the `srcdoc` attribute,
// setting the iframe's `src` to `undefined`.
- attributes['srcdoc'] = await fetch(url).then(r => r.text());
+ attributes['srcdoc'] = await fetchText(url);
+
elementExecutorCreator(
remoteContextWrapper, 'iframe', attributes)(undefined);
};
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.fontStretch.settings.html b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.fontStretch.settings.html
index b19eced8917..bbb5757083d 100644
--- a/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.fontStretch.settings.html
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.fontStretch.settings.html
@@ -19,7 +19,7 @@
var t = async_test("Testing value setting of fontStretch in Canvas");
_addTest(function(canvas, ctx) {
- // Setting textRendering with lower cases
+ // Setting fontStretch with lower cases
ctx.fontStretch = "ultra-condensed";
_assertSame(ctx.fontStretch, "ultra-condensed", "ctx.fontStretch", "\"ultra-condensed\"");
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.TextRendering.html b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.TextRendering.html
new file mode 100644
index 00000000000..b66a30ed3ff
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.TextRendering.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.text.drawing.style.reset.TextRendering</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/canvas/resources/canvas-tests.js"></script>
+<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
+<body class="show_output">
+
+<h1>2d.text.drawing.style.reset.TextRendering</h1>
+<p class="desc">TextRendering stays the same after font change.</p>
+
+
+<p class="output">Actual output:</p>
+<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
+
+<ul id="d"></ul>
+<script>
+var t = async_test("TextRendering stays the same after font change.");
+_addTest(function(canvas, ctx) {
+
+ ctx.font = '20px serif';
+ ctx.textRendering = "optimizeSpeed";
+ _assertSame(ctx.textRendering, "optimizeSpeed", "ctx.textRendering", "\"optimizeSpeed\"");
+ ctx.font = '10px serif';
+ _assertSame(ctx.textRendering, "optimizeSpeed", "ctx.textRendering", "\"optimizeSpeed\"");
+
+});
+</script>
+
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none.html b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none.html
new file mode 100644
index 00000000000..eab7c2ce347
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.text.drawing.style.reset.fontKerning.none</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/canvas/resources/canvas-tests.js"></script>
+<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
+<body class="show_output">
+
+<h1>2d.text.drawing.style.reset.fontKerning.none</h1>
+<p class="desc">crbug/338965374, fontKerning still works after setting font for a second time.</p>
+
+
+<p class="output">Actual output:</p>
+<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
+
+<ul id="d"></ul>
+<script>
+var t = async_test("crbug/338965374, fontKerning still works after setting font for a second time.");
+_addTest(function(canvas, ctx) {
+
+ ctx.font = '100px serif';
+ ctx.fontKerning = "none";
+ const width1 = ctx.measureText("AW").width;
+ ctx.font = '100px serif';
+ _assertSame(ctx.fontKerning, "none", "ctx.fontKerning", "\"none\"");
+ const width2 = ctx.measureText("AW").width;
+ _assertSame(width1, width2, "width1", "width2");
+
+});
+</script>
+
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html
new file mode 100644
index 00000000000..5b649833253
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.text.drawing.style.reset.fontKerning.none2</title>
+<h1>2d.text.drawing.style.reset.fontKerning.none2</h1>
+<p class="desc">FontKerning value still applies after font changes.</p>
+<canvas id="canvas" width="100" height="50">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = document.getElementById("canvas");
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = '20px serif';
+ ctx.fontKerning = "none";
+ ctx.fillText("TATATA", 20, 30);
+</script>
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2.html b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2.html
new file mode 100644
index 00000000000..78d06b955d8
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.drawing.style.reset.fontKerning.none2.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<link rel="match" href="2d.text.drawing.style.reset.fontKerning.none2-expected.html">
+<title>Canvas test: 2d.text.drawing.style.reset.fontKerning.none2</title>
+<h1>2d.text.drawing.style.reset.fontKerning.none2</h1>
+<p class="desc">FontKerning value still applies after font changes.</p>
+<canvas id="canvas" width="100" height="50">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = document.getElementById("canvas");
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = '10px serif';
+ ctx.fontKerning = "none";
+ ctx.font = '20px serif';
+ ctx.fillText("TATATA", 20, 30);
+</script>
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font-expected.html b/tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font-expected.html
new file mode 100644
index 00000000000..049f9a82f44
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font-expected.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.text.fontVariantCaps.after.reset.font</title>
+<h1>2d.text.fontVariantCaps.after.reset.font</h1>
+<p class="desc">Testing if the fontVariantCaps is reset after font change</p>
+<canvas id="canvas" width="300" height="300">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = document.getElementById("canvas");
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+</script>
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font.html b/tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font.html
new file mode 100644
index 00000000000..d1a18627e7a
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.fontVariantCaps.after.reset.font.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<link rel="match" href="2d.text.fontVariantCaps.after.reset.font-expected.html">
+<title>Canvas test: 2d.text.fontVariantCaps.after.reset.font</title>
+<h1>2d.text.fontVariantCaps.after.reset.font</h1>
+<p class="desc">Testing if the fontVariantCaps is reset after font change</p>
+<canvas id="canvas" width="300" height="300">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = document.getElementById("canvas");
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = "32px serif";
+ ctx.fontVariantCaps = "small-caps";
+
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.html
index 95405a18a56..8ea464fca97 100644
--- a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.html
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.html
@@ -20,7 +20,7 @@ t.step(function() {
var canvas = new OffscreenCanvas(100, 50);
var ctx = canvas.getContext('2d');
- // Setting textRendering with lower cases
+ // Setting fontStretch with lower cases
ctx.fontStretch = "ultra-condensed";
_assertSame(ctx.fontStretch, "ultra-condensed", "ctx.fontStretch", "\"ultra-condensed\"");
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.worker.js b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.worker.js
index ff10a742b58..43eca790fe0 100644
--- a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.worker.js
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.fontStretch.settings.worker.js
@@ -16,7 +16,7 @@ t.step(function() {
var canvas = new OffscreenCanvas(100, 50);
var ctx = canvas.getContext('2d');
- // Setting textRendering with lower cases
+ // Setting fontStretch with lower cases
ctx.fontStretch = "ultra-condensed";
_assertSame(ctx.fontStretch, "ultra-condensed", "ctx.fontStretch", "\"ultra-condensed\"");
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html
new file mode 100644
index 00000000000..60acc11d7b1
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>OffscreenCanvas test: 2d.text.drawing.style.reset.TextRendering</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/canvas/resources/canvas-tests.js"></script>
+
+<h1>2d.text.drawing.style.reset.TextRendering</h1>
+<p class="desc">TextRendering stays the same after font change.</p>
+
+
+<script>
+var t = async_test("TextRendering stays the same after font change.");
+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');
+
+ ctx.font = '20px serif';
+ ctx.textRendering = "optimizeSpeed";
+ _assertSame(ctx.textRendering, "optimizeSpeed", "ctx.textRendering", "\"optimizeSpeed\"");
+ ctx.font = '10px serif';
+ _assertSame(ctx.textRendering, "optimizeSpeed", "ctx.textRendering", "\"optimizeSpeed\"");
+ t.done();
+
+});
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js
new file mode 100644
index 00000000000..01c8f9fdc46
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.TextRendering.worker.js
@@ -0,0 +1,26 @@
+// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py.
+// OffscreenCanvas test in a worker:2d.text.drawing.style.reset.TextRendering
+// Description:TextRendering stays the same after font change.
+// Note:
+
+importScripts("/resources/testharness.js");
+importScripts("/html/canvas/resources/canvas-tests.js");
+
+var t = async_test("TextRendering stays the same after font change.");
+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');
+
+ ctx.font = '20px serif';
+ ctx.textRendering = "optimizeSpeed";
+ _assertSame(ctx.textRendering, "optimizeSpeed", "ctx.textRendering", "\"optimizeSpeed\"");
+ ctx.font = '10px serif';
+ _assertSame(ctx.textRendering, "optimizeSpeed", "ctx.textRendering", "\"optimizeSpeed\"");
+ t.done();
+});
+done();
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html
new file mode 100644
index 00000000000..35b98f44811
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>OffscreenCanvas test: 2d.text.drawing.style.reset.fontKerning.none</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/html/canvas/resources/canvas-tests.js"></script>
+
+<h1>2d.text.drawing.style.reset.fontKerning.none</h1>
+<p class="desc">crbug/338965374, fontKerning still works after setting font for a second time.</p>
+
+
+<script>
+var t = async_test("crbug/338965374, fontKerning still works after setting font for a second time.");
+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');
+
+ ctx.font = '100px serif';
+ ctx.fontKerning = "none";
+ const width1 = ctx.measureText("AW").width;
+ ctx.font = '100px serif';
+ _assertSame(ctx.fontKerning, "none", "ctx.fontKerning", "\"none\"");
+ const width2 = ctx.measureText("AW").width;
+ _assertSame(width1, width2, "width1", "width2");
+ t.done();
+
+});
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js
new file mode 100644
index 00000000000..8abac3c3a11
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none.worker.js
@@ -0,0 +1,28 @@
+// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py.
+// OffscreenCanvas test in a worker:2d.text.drawing.style.reset.fontKerning.none
+// Description:crbug/338965374, fontKerning still works after setting font for a second time.
+// Note:
+
+importScripts("/resources/testharness.js");
+importScripts("/html/canvas/resources/canvas-tests.js");
+
+var t = async_test("crbug/338965374, fontKerning still works after setting font for a second time.");
+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');
+
+ ctx.font = '100px serif';
+ ctx.fontKerning = "none";
+ const width1 = ctx.measureText("AW").width;
+ ctx.font = '100px serif';
+ _assertSame(ctx.fontKerning, "none", "ctx.fontKerning", "\"none\"");
+ const width2 = ctx.measureText("AW").width;
+ _assertSame(width1, width2, "width1", "width2");
+ t.done();
+});
+done();
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html
new file mode 100644
index 00000000000..5b649833253
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2-expected.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.text.drawing.style.reset.fontKerning.none2</title>
+<h1>2d.text.drawing.style.reset.fontKerning.none2</h1>
+<p class="desc">FontKerning value still applies after font changes.</p>
+<canvas id="canvas" width="100" height="50">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = document.getElementById("canvas");
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = '20px serif';
+ ctx.fontKerning = "none";
+ ctx.fillText("TATATA", 20, 30);
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html
new file mode 100644
index 00000000000..21b699ecc89
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<link rel="match" href="2d.text.drawing.style.reset.fontKerning.none2-expected.html">
+<title>Canvas test: 2d.text.drawing.style.reset.fontKerning.none2</title>
+<h1>2d.text.drawing.style.reset.fontKerning.none2</h1>
+<p class="desc">FontKerning value still applies after font changes.</p>
+<canvas id="canvas" width="100" height="50">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = new OffscreenCanvas(100, 50);
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = '10px serif';
+ ctx.fontKerning = "none";
+ ctx.font = '20px serif';
+ ctx.fillText("TATATA", 20, 30);
+
+ const outputCanvas = document.getElementById("canvas");
+ outputCanvas.getContext('2d').drawImage(canvas, 0, 0);
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html
new file mode 100644
index 00000000000..6f81dfe0b1f
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.drawing.style.reset.fontKerning.none2.w.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<html class="reftest-wait">
+<link rel="match" href="2d.text.drawing.style.reset.fontKerning.none2-expected.html">
+<title>Canvas test: 2d.text.drawing.style.reset.fontKerning.none2</title>
+<h1>2d.text.drawing.style.reset.fontKerning.none2</h1>
+<p class="desc">FontKerning value still applies after font changes.</p>
+<canvas id="canvas" width="100" height="50">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script id='myWorker' type='text/worker'>
+ self.onmessage = function(e) {
+ const canvas = new OffscreenCanvas(100, 50);
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = '10px serif';
+ ctx.fontKerning = "none";
+ ctx.font = '20px serif';
+ ctx.fillText("TATATA", 20, 30);
+
+ const bitmap = canvas.transferToImageBitmap();
+ self.postMessage(bitmap, bitmap);
+ };
+</script>
+<script>
+ const blob = new Blob([document.getElementById('myWorker').textContent]);
+ const worker = new Worker(URL.createObjectURL(blob));
+ worker.addEventListener('message', msg => {
+ const outputCtx = document.getElementById("canvas").getContext('2d');
+ outputCtx.drawImage(msg.data, 0, 0);
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ worker.postMessage(null);
+</script>
+</html>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font-expected.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font-expected.html
new file mode 100644
index 00000000000..049f9a82f44
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font-expected.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<title>Canvas test: 2d.text.fontVariantCaps.after.reset.font</title>
+<h1>2d.text.fontVariantCaps.after.reset.font</h1>
+<p class="desc">Testing if the fontVariantCaps is reset after font change</p>
+<canvas id="canvas" width="300" height="300">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = document.getElementById("canvas");
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html
new file mode 100644
index 00000000000..bd09cc2ca06
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<link rel="match" href="2d.text.fontVariantCaps.after.reset.font-expected.html">
+<title>Canvas test: 2d.text.fontVariantCaps.after.reset.font</title>
+<h1>2d.text.fontVariantCaps.after.reset.font</h1>
+<p class="desc">Testing if the fontVariantCaps is reset after font change</p>
+<canvas id="canvas" width="300" height="300">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script>
+ const canvas = new OffscreenCanvas(300, 300);
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = "32px serif";
+ ctx.fontVariantCaps = "small-caps";
+
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+
+ const outputCanvas = document.getElementById("canvas");
+ outputCanvas.getContext('2d').drawImage(canvas, 0, 0);
+</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html
new file mode 100644
index 00000000000..8f9ba4a1564
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.fontVariantCaps.after.reset.font.w.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
+<html class="reftest-wait">
+<link rel="match" href="2d.text.fontVariantCaps.after.reset.font-expected.html">
+<title>Canvas test: 2d.text.fontVariantCaps.after.reset.font</title>
+<h1>2d.text.fontVariantCaps.after.reset.font</h1>
+<p class="desc">Testing if the fontVariantCaps is reset after font change</p>
+<canvas id="canvas" width="300" height="300">
+ <p class="fallback">FAIL (fallback content)</p>
+</canvas>
+<script id='myWorker' type='text/worker'>
+ self.onmessage = function(e) {
+ const canvas = new OffscreenCanvas(300, 300);
+ const ctx = canvas.getContext('2d');
+
+ ctx.font = "32px serif";
+ ctx.fontVariantCaps = "small-caps";
+
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+
+ const bitmap = canvas.transferToImageBitmap();
+ self.postMessage(bitmap, bitmap);
+ };
+</script>
+<script>
+ const blob = new Blob([document.getElementById('myWorker').textContent]);
+ const worker = new Worker(URL.createObjectURL(blob));
+ worker.addEventListener('message', msg => {
+ const outputCtx = document.getElementById("canvas").getContext('2d');
+ outputCtx.drawImage(msg.data, 0, 0);
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ worker.postMessage(null);
+</script>
+</html>
diff --git a/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml b/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml
index 22ec2f66b5b..49edd754c85 100644
--- a/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml
+++ b/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml
@@ -647,6 +647,31 @@
ctx.strokeText('ToToToToToToTo', -50, 45);
expected: green
+- name: 2d.text.drawing.style.reset.fontKerning.none
+ desc: >-
+ crbug/338965374, fontKerning still works after setting font for a second
+ time.
+ code: |
+ ctx.font = '100px serif';
+ ctx.fontKerning = "none";
+ const width1 = ctx.measureText("AW").width;
+ ctx.font = '100px serif';
+ @assert ctx.fontKerning === "none";
+ const width2 = ctx.measureText("AW").width;
+ @assert width1 === width2;
+
+- name: 2d.text.drawing.style.reset.fontKerning.none2
+ desc: FontKerning value still applies after font changes.
+ code: |
+ ctx.font = '10px serif';
+ ctx.fontKerning = "none";
+ ctx.font = '20px serif';
+ ctx.fillText("TATATA", 20, 30);
+ reference: |
+ ctx.font = '20px serif';
+ ctx.fontKerning = "none";
+ ctx.fillText("TATATA", 20, 30);
+
# CanvasTest is:
# A = (0, 0) to (1em, 0.75em) (above baseline)
# B = (0, 0) to (1em, -0.25em) (below baseline)
@@ -1688,10 +1713,19 @@
ctx.textRendering = "auto";
@assert ctx.textRendering === "auto";
+- name: 2d.text.drawing.style.reset.TextRendering
+ desc: TextRendering stays the same after font change.
+ code: |
+ ctx.font = '20px serif';
+ ctx.textRendering = "optimizeSpeed";
+ @assert ctx.textRendering === "optimizeSpeed";
+ ctx.font = '10px serif';
+ @assert ctx.textRendering === "optimizeSpeed";
+
- name: 2d.text.drawing.style.fontStretch.settings
desc: Testing value setting of fontStretch in Canvas
code: |
- // Setting textRendering with lower cases
+ // Setting fontStretch with lower cases
ctx.fontStretch = "ultra-condensed";
@assert ctx.fontStretch === "ultra-condensed";
@@ -1818,6 +1852,23 @@
ctx.font = "32px serif";
ctx.fillText("Hello World", 20, 100);
+- name: 2d.text.fontVariantCaps.after.reset.font
+ desc: Testing if the fontVariantCaps is reset after font change
+ size: [300, 300]
+ code: |
+ ctx.font = "32px serif";
+ ctx.fontVariantCaps = "small-caps";
+
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+ reference: |
+ ctx.font = "31px serif";
+ ctx.fillText("Hello World", 20, 40);
+ ctx.fontVariantCaps = "small-caps";
+ ctx.fillText("Hello World", 20, 80);
+
- name: 2d.text.setFont.mathFont
desc: crbug.com/1212190, make sure offscreencanvas doesn't crash with Math Font
code: |
diff --git a/tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html b/tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html
new file mode 100644
index 00000000000..c78835328b2
--- /dev/null
+++ b/tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html
@@ -0,0 +1,178 @@
+<!doctype html>
+<html>
+<title> Retrieve resources from CacheStorage with Cross-Origin-Embedder-Policy: require-corp</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
+<script>
+
+/*
+ This document has the header Document-Isolation-Policy: isolate-and-require-corp.
+
+ This test is retrieving same-origin and cross-origin resources from the
+ CacheStorage. The resources are generated from the ServiceWorker or from the
+ network with the header Cross-Origin-Resource-Policy being one of:
+ - 'same-origin'
+ - 'cross-origin'
+ - <undefined>
+*/
+
+promise_test(async (t) => {
+ const SCOPE = new URL(location.href).pathname;
+ const SCRIPT =
+ 'resources/sw-store-to-cache-storage.js?' +
+ `pipe=header(service-worker-allowed,${SCOPE})`;
+
+ const reg = await service_worker_unregister_and_register(t, SCRIPT, SCOPE);
+ add_completion_callback(() => reg.unregister());
+ await new Promise(resolve => {
+ navigator.serviceWorker.addEventListener('controllerchange', resolve);
+ });
+}, 'setting up');
+
+function remote(path) {
+ const REMOTE_ORIGIN = get_host_info().HTTPS_REMOTE_ORIGIN;
+ return new URL(path, REMOTE_ORIGIN);
+}
+
+function local(path) {
+ return new URL(path, location.origin);
+}
+
+// Send a message to the currently active ServiceWorker and wait for its
+// response.
+function executeCommandInServiceWorker(command) {
+ return new Promise(resolve => {
+ navigator.serviceWorker.addEventListener('message', e => resolve(e.data));
+ navigator.serviceWorker.controller.postMessage(command);
+ });
+}
+
+// Try loading an image from a |response|. Return a Promise resolving or
+// rejecting depending on the image loading result.
+const loadFailure = {name: "Image.onerror"};
+function readImageFromResponse(response) {
+ return new Promise((resolve, reject) => {
+ const img = document.createElement("img");
+ img.onload = resolve.bind(this, "");
+ img.onerror = reject.bind(this, loadFailure);
+ response.blob().then(blob => {
+ img.src = URL.createObjectURL(blob);
+ document.body.appendChild(img);
+ })
+ })
+}
+
+const image_path = "/images/blue.png?pipe=";
+
+const corp_header = {
+ "":"",
+ "corp-undefined": "",
+ "corp-same-origin": "|header(Cross-Origin-Resource-Policy,same-origin)",
+ "corp-cross-origin": "|header(Cross-Origin-Resource-Policy,cross-origin)",
+}
+
+const cors_header = {
+ "":"",
+ "cors-disabled": "",
+ "cors-enabled": "|header(Access-Control-Allow-Origin,*)",
+}
+
+function test(
+ // Test parameters:
+ request_source, request_origin, request_mode, response_cors, response_corp,
+ // Test expectations:
+ response_stored, response_type) {
+ promise_test(async (t) => {
+ // 0. Start from an empty CacheStorage.
+ await caches.delete("v1");
+
+ // 1. Store a cross-origin no-cors response generated from the SW into the
+ // CacheStorage.
+ const path = image_path +
+ corp_header[response_corp] +
+ cors_header[response_cors];
+ const url = (request_origin === "same-origin" ? local : remote)(path);
+ const command = {
+ url: url.href,
+ mode: request_mode,
+ source: request_source,
+ };
+
+ assert_equals(await executeCommandInServiceWorker(command), response_stored);
+ if (response_stored === "not-stored") {
+ return;
+ }
+
+ // 2. Retrieve it from the CacheStorage.
+ const cache = await caches.open('v1');
+
+ if (response_type === 'error') {
+ await promise_rejects_js(t, TypeError, cache.match(url));
+ return;
+ }
+
+ const response = await cache.match(url);
+
+ assert_equals(response.type, response_type);
+
+ if (request_source === "service-worker") {
+ assert_equals("foo", await response.text());
+ return;
+ }
+
+ // Opaque response can't be read from the document.
+ if (response_type === "opaque") {
+ await promise_rejects_exactly(t, loadFailure, readImageFromResponse(response));
+ return;
+ }
+
+ await readImageFromResponse(response);
+ }, `Fetch ${request_origin} ${request_mode} ${response_cors} ${response_corp} from ${request_source} and CacheStorage.`)
+}
+
+// Responses generated from the ServiceWorker.
+{
+ test("service-worker", "cross-origin", "cors", "", "", "stored", "default");
+ test("service-worker", "cross-origin", "no-cors", "", "", "stored", "default");
+ test("service-worker", "same-origin", "cors", "", "", "stored", "default");
+ test("service-worker", "same-origin", "no-cors", "", "", "stored", "default");
+}
+
+// Responses generated from a same-origin server.
+{
+ const t = test.bind(this, "network", "same-origin");
+ t("cors", "cors-disabled", "corp-cross-origin", "stored", "basic");
+ t("cors", "cors-disabled", "corp-same-origin", "stored", "basic");
+ t("cors", "cors-disabled", "corp-undefined", "stored", "basic");
+ t("cors", "cors-enabled", "corp-cross-origin", "stored", "basic");
+ t("cors", "cors-enabled", "corp-same-origin", "stored", "basic");
+ t("cors", "cors-enabled", "corp-undefined", "stored", "basic");
+ t("no-cors", "cors-disabled", "corp-cross-origin", "stored", "basic");
+ t("no-cors", "cors-disabled", "corp-same-origin", "stored", "basic");
+ t("no-cors", "cors-disabled", "corp-undefined", "stored", "basic");
+ t("no-cors", "cors-enabled", "corp-cross-origin", "stored", "basic");
+ t("no-cors", "cors-enabled", "corp-same-origin", "stored", "basic");
+ t("no-cors", "cors-enabled", "corp-undefined", "stored", "basic");
+}
+
+// Responses generated from a cross-origin server.
+{
+ const t = test.bind(this, "network", "cross-origin");
+ t("cors", "cors-disabled", "corp-cross-origin", "not-stored");
+ t("cors", "cors-disabled", "corp-same-origin", "not-stored");
+ t("cors", "cors-disabled", "corp-undefined", "not-stored");
+ t("cors", "cors-enabled", "corp-cross-origin", "stored", "cors");
+ t("cors", "cors-enabled", "corp-same-origin", "stored", "cors");
+ t("cors", "cors-enabled", "corp-undefined", "stored", "cors");
+ t("no-cors", "cors-disabled", "corp-cross-origin", "stored", "opaque");
+ t("no-cors", "cors-disabled", "corp-same-origin", "not-stored");
+ t("no-cors", "cors-disabled", "corp-undefined", "stored", "error");
+ t("no-cors", "cors-enabled", "corp-cross-origin", "stored", "opaque");
+ t("no-cors", "cors-enabled", "corp-same-origin", "not-stored");
+ t("no-cors", "cors-enabled", "corp-undefined", "stored", "error");
+}
+
+</script>
+</html>
diff --git a/tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.headers b/tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.headers
new file mode 100644
index 00000000000..33ff090f6da
--- /dev/null
+++ b/tests/wpt/tests/html/document-isolation-policy/isolate-and-require-corp-load-from-cache-storage.tentative.https.html.headers
@@ -0,0 +1 @@
+document-isolation-policy: isolate-and-require-corp
diff --git a/tests/wpt/tests/html/document-isolation-policy/resources/sw-store-to-cache-storage.js b/tests/wpt/tests/html/document-isolation-policy/resources/sw-store-to-cache-storage.js
new file mode 100644
index 00000000000..00b9e9395a7
--- /dev/null
+++ b/tests/wpt/tests/html/document-isolation-policy/resources/sw-store-to-cache-storage.js
@@ -0,0 +1,31 @@
+self.addEventListener('activate', (e) => {
+ e.waitUntil(clients.claim());
+});
+
+self.addEventListener('message', (e) => {
+ e.waitUntil((async () => {
+
+ const url = new URL(e.data.url);
+ const request = new Request(url, {mode: e.data.mode});
+ const cache = await caches.open('v1');
+
+ let response;
+ switch(e.data.source) {
+ case "service-worker":
+ response = new Response('foo');
+ break;
+
+ case "network":
+ try {
+ response = await fetch(request);
+ } catch(error) {
+ e.source.postMessage('not-stored');
+ return;
+ }
+ break;
+ }
+
+ await cache.put(request, response);
+ e.source.postMessage('stored');
+ })());
+})
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored-ref.html b/tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored-ref.html
deleted file mode 100644
index 6ebed6075de..00000000000
--- a/tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored-ref.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<link rel="author" title="David Grogan" href="dgrogan@chromium.org">
-From <a href="https://html.spec.whatwg.org/multipage/rendering.html#the-details-and-summary-elements">html.spec.whatwg.org</a>:
-
-<blockquote>
-The details element is expected to render as a block box. The element's shadow
-tree is expected to take the element's first summary element child, if any, and
-place it in a first block box container, and then take the element's remaining
-descendants, if any, and place them in a second block box container.
-</blockquote>
-
-&lt;details display:flex> should be ignored. Otherwise details would render as
-something other than a block box.
-<hr>
-
-<details open>
- <summary>This is the summary.</summary>
- <div>thing 1</div>
- thing 2
-</details>
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored.html b/tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored.html
deleted file mode 100644
index 445b4e483d0..00000000000
--- a/tests/wpt/tests/html/rendering/the-details-element/details-display-property-is-ignored.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<link rel="author" title="David Grogan" href="dgrogan@chromium.org">
-<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#the-details-and-summary-elements">
-<link rel="match" href="details-display-property-is-ignored-ref.html">
-<link rel="bookmark" href="https://bugs.chromium.org/p/chromium/issues/detail?id=635282" />
-<meta name="assert" content="The display property is ignored on details elements and is instead always rendered as a block box." />
-
-From <a href="https://html.spec.whatwg.org/multipage/rendering.html#the-details-and-summary-elements">html.spec.whatwg.org</a>:
-
-<blockquote>
-The details element is expected to render as a block box. The element's shadow
-tree is expected to take the element's first summary element child, if any, and
-place it in a first block box container, and then take the element's remaining
-descendants, if any, and place them in a second block box container.
-</blockquote>
-
-&lt;details display:flex> should be ignored. Otherwise details would render as
-something other than a block box.
-<hr>
-
-<details open style="display:flex;">
- <summary>This is the summary.</summary>
- <div>thing 1</div>
- thing 2
-</details>
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-display-type-001.tentative.html b/tests/wpt/tests/html/rendering/the-details-element/details-display-type-001.html
index 3188c1eafda..3188c1eafda 100644
--- a/tests/wpt/tests/html/rendering/the-details-element/details-display-type-001.tentative.html
+++ b/tests/wpt/tests/html/rendering/the-details-element/details-display-type-001.html
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-display-type-002.tentative.html b/tests/wpt/tests/html/rendering/the-details-element/details-display-type-002.html
index 6426e1c524f..6426e1c524f 100644
--- a/tests/wpt/tests/html/rendering/the-details-element/details-display-type-002.tentative.html
+++ b/tests/wpt/tests/html/rendering/the-details-element/details-display-type-002.html
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-display.tentative.html b/tests/wpt/tests/html/rendering/the-details-element/details-display.html
index 27573bcdc69..27573bcdc69 100644
--- a/tests/wpt/tests/html/rendering/the-details-element/details-display.tentative.html
+++ b/tests/wpt/tests/html/rendering/the-details-element/details-display.html
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html b/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-001.html
index 8ea3d0f85af..8ea3d0f85af 100644
--- a/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-001.tentative.html
+++ b/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-001.html
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html b/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-002.html
index 0f1176a3316..0f1176a3316 100644
--- a/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-002.tentative.html
+++ b/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-002.html
diff --git a/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html b/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-003.html
index ee5b42f13ac..ee5b42f13ac 100644
--- a/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-003.tentative.html
+++ b/tests/wpt/tests/html/rendering/the-details-element/details-pseudo-elements-003.html
diff --git a/tests/wpt/tests/html/semantics/popovers/popover-focus.html b/tests/wpt/tests/html/semantics/popovers/popover-focus.html
index 230492022c0..25a6c2da536 100644
--- a/tests/wpt/tests/html/semantics/popovers/popover-focus.html
+++ b/tests/wpt/tests/html/semantics/popovers/popover-focus.html
@@ -50,11 +50,11 @@
</div>
<dialog popover=auto data-test='Opening dialogs as popovers should use dialog initial focus algorithm.'>
- <button class=should-be-focused>button</button>
+ <button class=should-be-focused tabindex="0">button</button>
</dialog>
<dialog popover=auto autofocus class=should-be-focused data-test='Opening dialogs as popovers which have autofocus should focus the dialog.'>
- <button>button</button>
+ <button tabindex="0">button</button>
</dialog>
<style>
diff --git a/tests/wpt/tests/mediacapture-record/MediaRecorder-canvas-media-source.https.html b/tests/wpt/tests/mediacapture-record/MediaRecorder-canvas-media-source.https.html
index 0680c218795..c2758914ac1 100644
--- a/tests/wpt/tests/mediacapture-record/MediaRecorder-canvas-media-source.https.html
+++ b/tests/wpt/tests/mediacapture-record/MediaRecorder-canvas-media-source.https.html
@@ -10,6 +10,8 @@
<meta name=variant content="?mimeType=video/webm;codecs=av1,opus">
<meta name=variant content="?mimeType=video/mp4;codecs=avc1,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4;codecs=vp9,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4">
<link rel="help"
href="https://w3c.github.io/mediacapture-record/MediaRecorder.html#dom-mediarecorder-mimeType">
diff --git a/tests/wpt/tests/mediacapture-record/MediaRecorder-events-and-exceptions.html b/tests/wpt/tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
index 97ada212663..a8d596e522e 100644
--- a/tests/wpt/tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
+++ b/tests/wpt/tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
@@ -9,6 +9,8 @@
<meta name=variant content="?mimeType=video/webm;codecs=av1,opus">
<meta name=variant content="?mimeType=video/mp4;codecs=avc1,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4;codecs=vp9,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4">
<link rel="help" href="https://w3c.github.io/mediacapture-record/MediaRecorder.html#mediarecorder">
<script src="/resources/testharness.js"></script>
diff --git a/tests/wpt/tests/mediacapture-record/MediaRecorder-pause-resume.html b/tests/wpt/tests/mediacapture-record/MediaRecorder-pause-resume.html
index f584508a0d0..ce5a880ebf0 100644
--- a/tests/wpt/tests/mediacapture-record/MediaRecorder-pause-resume.html
+++ b/tests/wpt/tests/mediacapture-record/MediaRecorder-pause-resume.html
@@ -11,6 +11,8 @@
<meta name=variant content="?mimeType=video/mp4;codecs=avc1,opus">
<meta name=variant content="?mimeType=video/mp4;codecs=vp9,opus">
<meta name=variant content="?mimeType=video/mp4;codecs=vp9,mp4a.40.2">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4">
<link rel="help" href="https://w3c.github.io/mediacapture-record/MediaRecorder.html#mediarecorder">
<script src="/resources/testharness.js"></script>
diff --git a/tests/wpt/tests/mediacapture-record/MediaRecorder-peerconnection.https.html b/tests/wpt/tests/mediacapture-record/MediaRecorder-peerconnection.https.html
index daae044fa8d..8c90ffb94ff 100644
--- a/tests/wpt/tests/mediacapture-record/MediaRecorder-peerconnection.https.html
+++ b/tests/wpt/tests/mediacapture-record/MediaRecorder-peerconnection.https.html
@@ -16,6 +16,8 @@
<meta name=variant content="?kinds=video&mimeType=video/mp4;codecs=vp9">
<meta name=variant content="?kinds=audio&mimeType=audio/mp4;codecs=opus">
<meta name=variant content="?kinds=video,audio&mimeType=video/mp4;codecs=vp9,opus">
+ <meta name=variant content="?kinds=video,audio&mimeType=video/mp4;codecs=av01,opus">
+ <meta name=variant content="?kinds=video,audio&mimeType=video/mp4;codecs=av01,mp4a.40.2">
<meta name=variant content="?kinds=video,audio&mimeType=video/mp4">
<link rel="help"
diff --git a/tests/wpt/tests/mediacapture-record/MediaRecorder-stop.html b/tests/wpt/tests/mediacapture-record/MediaRecorder-stop.html
index 9ef50516381..e6694631441 100644
--- a/tests/wpt/tests/mediacapture-record/MediaRecorder-stop.html
+++ b/tests/wpt/tests/mediacapture-record/MediaRecorder-stop.html
@@ -8,6 +8,8 @@
<meta name=variant content="?mimeType=video/webm;codecs=av1,opus">
<meta name=variant content="?mimeType=video/mp4;codecs=avc1,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4;codecs=vp9,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,opus">
+ <meta name=variant content="?mimeType=video/mp4;codecs=av01,mp4a.40.2">
<meta name=variant content="?mimeType=video/mp4">
<link rel="help" href="https://w3c.github.io/mediacapture-record/MediaRecorder.html#mediarecorder">
<script src="/resources/testharness.js"></script>
diff --git a/tests/wpt/tests/pointerevents/deviceproperties/get-device-properties-uniqueid-from-pointer-event.tentative.html b/tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html
index dc6b9379c11..9f77c1c9e95 100644
--- a/tests/wpt/tests/pointerevents/deviceproperties/get-device-properties-uniqueid-from-pointer-event.tentative.html
+++ b/tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html
@@ -16,13 +16,13 @@
</style>
<div id="logger" draggable="false"></div>
<div id="console"></div>
-<!-- This test verifies that pointerEvent.deviceProperties.uniqueId is 0
+<!-- This test verifies that pointerEvent.persistentDeviceId is 0
by default for a pointer with an invalid hardware id - in this case
a testdriver generated event, which does not support hardware id. -->
<script>
function CheckDeviceId(event) {
eventFired++;
- assert_equals(event.deviceProperties.uniqueId, 0, "deviceId is 0");
+ assert_equals(event.persistentDeviceId, 0, "deviceId is 0");
}
window.addEventListener("pointerdown", CheckDeviceId, false);
@@ -41,5 +41,5 @@
await actions.send();
assert_true(eventFired == 2);
- }, 'PointerEvent.deviceProperties.uniqueId');
+ }, 'PointerEvent.persistentDeviceId');
</script> \ No newline at end of file
diff --git a/tests/wpt/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html b/tests/wpt/tests/pointerevents/persistentDeviceId/persistentdeviceid-is-unique-manual.tentative.html
index 55db05353f5..f9f15cfaea8 100644
--- a/tests/wpt/tests/pointerevents/deviceproperties/unique-id-is-unique-manual.tentative.html
+++ b/tests/wpt/tests/pointerevents/persistentDeviceId/persistentdeviceid-is-unique-manual.tentative.html
@@ -3,7 +3,7 @@
Tentative; contingent on merge of:
https://github.com/w3c/pointerevents/pull/495
- This manual test validates the behavior of PointerEvent.deviceProperties.uniqueId.
+ This manual test validates the behavior of PointerEvent.persistentDeviceId.
Specifically, this test ensures that pointing devices get their own unique id, and
that the unique id is persistent over the session.
@@ -11,7 +11,7 @@
pen and a mouse. Please follow the instructions exactly as written in order to ensure
the correct results are obtained.
-->
-<title>DeviceProperties.uniqueId is unique for pointer events from different devices</title>
+<title>persistentDeviceId is unique for pointer events from different devices</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
@@ -94,13 +94,10 @@
setup({explicit_timeout: true, explicit_done: true});
function LogDeviceId(event, list) {
- if (event.deviceProperties) {
- const uniqueId = event.deviceProperties.uniqueId;
- currentuniqueid.innerText = uniqueId ? uniqueId : "Unknown";
- if (!uniqueId) {
- return;
- }
- list.push(uniqueId);
+ if (event.persistentDeviceId) {
+ const persistentDeviceId = event.persistentDeviceId;
+ currentuniqueid.innerText = persistentDeviceId ? persistentDeviceId : "Unknown";
+ list.push(persistentDeviceId);
}
}
@@ -117,17 +114,17 @@
let device2UniqueIds = new Set(device2Ids);
test(function () {
- assert_greater_than(device1Ids.length, 1, "Events from Device 1 have uniqueIds.");
- assert_equals(device1UniqueIds.size, 1, "Device 1 has a consistent uniqueId.");
- }, "uniqueId is consistent for device 1");
+ assert_greater_than(device1Ids.length, 1, "Events from Device 1 have deviceIds.");
+ assert_equals(device1UniqueIds.size, 1, "Device 1 has a consistent deviceId.");
+ }, "deviceId is consistent for device 1");
test(function () {
- assert_greater_than(device2Ids.length, 1, "Events from Device 2 have uniqueIds.");
- assert_equals(device2UniqueIds.size, 1, "Device 2 has a consistent uniqueId.");
- }, "uniqueId is consistent for device 2");
+ assert_greater_than(device2Ids.length, 1, "Events from Device 2 have deviceIds.");
+ assert_equals(device2UniqueIds.size, 1, "Device 2 has a consistent deviceId.");
+ }, "deviceId is consistent for device 2");
test(function () {
// Ensure the two sets are different.
- assert_equals(device1UniqueIds.intersection(device2UniqueIds).size, 0, "Device 1 and 2 have different uniqueIds.");
- }, "uniqueId is unique to device 1 and device 2");
+ assert_equals(device1UniqueIds.intersection(device2UniqueIds).size, 0, "Device 1 and 2 have different deviceIds.");
+ }, "deviceId is unique to device 1 and device 2");
done();
}
diff --git a/tests/wpt/tests/pointerevents/deviceproperties/pointer-event-has-device-properties-uniqueid-from-pointer-event-init.tentative.html b/tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html
index 33b2354ec63..ef3f4d15356 100644
--- a/tests/wpt/tests/pointerevents/deviceproperties/pointer-event-has-device-properties-uniqueid-from-pointer-event-init.tentative.html
+++ b/tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html
@@ -7,22 +7,20 @@
<script src="/resources/testharnessreport.js"></script>
<div id="console"></div>
-<!-- This test verifies that pointerEvent.deviceProperties.uniqueId
+<!-- This test verifies that pointerEvent.persistentDeviceId
can be set via PointerEventInit. -->
<script>
- const UNIQUE_ID = 1001;
- const INVALID_UNIQUE_ID = 0;
+ const PERSISTENT_ID = 1001;
+ const INVALID_PERSISTENT_ID = 0;
- function CheckDeviceId(event, uniqueId) {
- assert_equals(event.deviceProperties.uniqueId, uniqueId, "uniqueId is populated");
+ function CheckDeviceId(event, persistentDeviceId) {
+ assert_equals(event.persistentDeviceId, persistentDeviceId, "persistentDeviceId is populated");
}
promise_test(async () => {
if (!window.internals)
return;
- var deviceProps = new DeviceProperties({
- uniqueId: 1001
- });
+ var deviceId = PERSISTENT_ID;
var downEvent = new PointerEvent("pointerdown",
{pointerId: 1,
bubbles: true,
@@ -31,9 +29,9 @@
width: 100,
height: 100,
isPrimary: true,
- deviceProperties: deviceProps
+ persistentDeviceId: deviceId
});
- CheckDeviceId(downEvent, UNIQUE_ID);
+ CheckDeviceId(downEvent, PERSISTENT_ID);
var moveEvent = new PointerEvent("pointermove",
{pointerId: 1,
bubbles: true,
@@ -42,9 +40,9 @@
width: 100,
height: 100,
isPrimary: true,
- deviceProperties: deviceProps
+ persistentDeviceId: deviceId
});
- CheckDeviceId(moveEvent, UNIQUE_ID);
+ CheckDeviceId(moveEvent, PERSISTENT_ID);
var upEvent = new PointerEvent("pointerup",
{pointerId: 1,
bubbles: true,
@@ -53,27 +51,10 @@
width: 100,
height: 100,
isPrimary: true,
- deviceProperties: deviceProps
+ persistentDeviceId: deviceId
});
- CheckDeviceId(upEvent, UNIQUE_ID);
- }, 'PointerEvent.deviceProperties via DevicePropertiesInit');
-
- promise_test(async () => {
- if (!window.internals)
- return;
- var emptyDeviceProps = new DeviceProperties({});
- var downEventEmptyProps = new PointerEvent("pointerdown",
- {pointerId: 1,
- bubbles: true,
- cancelable: true,
- pointerType: "pen",
- width: 100,
- height: 100,
- isPrimary: true,
- deviceProperties: emptyDeviceProps
- });
- CheckDeviceId(downEventEmptyProps, INVALID_UNIQUE_ID);
- }, 'PointerEvent.deviceProperties via empty DevicePropertiesInit');
+ CheckDeviceId(upEvent, PERSISTENT_ID);
+ }, 'PointerEvent.persistentDeviceId via PointerEventInit');
promise_test(async () => {
if (!window.internals)
@@ -87,6 +68,6 @@
height: 100,
isPrimary: true,
});
- assert_equals(downEventEmptyProps.deviceProperties, null);
- }, 'No deviceProperties in PointerEventInit');
+ assert_equals(downEventEmptyProps.persistentDeviceId, INVALID_PERSISTENT_ID);
+ }, 'No persistentDeviceId in PointerEventInit');
</script> \ No newline at end of file
diff --git a/tests/wpt/tests/pointerevents/pointerevent_after_target_removed_from_slot.html b/tests/wpt/tests/pointerevents/pointerevent_after_target_removed_from_slot.html
index 1d183afa614..35955f86893 100644
--- a/tests/wpt/tests/pointerevents/pointerevent_after_target_removed_from_slot.html
+++ b/tests/wpt/tests/pointerevents/pointerevent_after_target_removed_from_slot.html
@@ -128,8 +128,17 @@
await actions.send();
await done_click_promise;
- assert_equals(event_log.toString(), expected_events.toString(),
- "events received");
+ let removal_in_event_log = event_log.indexOf("(child-removed)");
+ let removal_in_expected_list = expected_events.indexOf("(child-removed)");
+ assert_true(removal_in_event_log != -1 && removal_in_expected_list != -1,
+ "(child-removed) expected in both lists");
+
+ assert_equals(event_log.slice(0, removal_in_event_log).toString(),
+ expected_events.slice(0, removal_in_expected_list).toString(),
+ "events received before removal");
+ assert_equals(event_log.slice(removal_in_event_log+1).toString(),
+ expected_events.slice(removal_in_expected_list+1).toString(),
+ "events received after removal");
}, test_name);
}
@@ -142,9 +151,9 @@
"pointerover@child",
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
"pointerdown@child", "(child-removed)",
- "pointerover@parent", "pointerup@parent", "pointerup@host",
+ "pointerover@parent", "pointerover@host", "pointerup@parent", "pointerup@host",
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
- "pointerout@parent",
+ "pointerout@parent", "pointerout@host",
"pointerleave@parent", "pointerleave@host"
]
);
@@ -155,9 +164,10 @@
"pointerover@child",
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
"pointerdown@child", "(child-removed)",
- "pointerleave@slot", "pointerover@parent", "pointerup@parent", "pointerup@host",
+ "pointerleave@slot",
+ "pointerover@parent", "pointerover@host", "pointerup@parent", "pointerup@host",
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
- "pointerout@parent",
+ "pointerout@parent", "pointerout@host",
"pointerleave@parent", "pointerleave@host"
]
);
@@ -168,9 +178,9 @@
"pointerover@child",
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
"pointerdown@child", "pointerup@child", "(child-removed)",
- "pointerover@parent",
+ "pointerover@parent", "pointerover@host",
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
- "pointerout@parent",
+ "pointerout@parent", "pointerout@host",
"pointerleave@parent", "pointerleave@host"
]
);
@@ -181,9 +191,10 @@
"pointerover@child",
"pointerenter@host", "pointerenter@parent", "pointerenter@slot", "pointerenter@child",
"pointerdown@child", "pointerup@child", "(child-removed)",
- "pointerleave@slot", "pointerover@parent",
+ "pointerleave@slot",
+ "pointerover@parent", "pointerover@host",
"pointerdown@parent", "pointerdown@host", "pointerup@parent", "pointerup@host",
- "pointerout@parent",
+ "pointerout@parent", "pointerout@host",
"pointerleave@parent", "pointerleave@host"
]
);
diff --git a/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html b/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html
index 5cec6aee3a2..de1fe837e6d 100644
--- a/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html
+++ b/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html
@@ -39,10 +39,6 @@ const test_cases = [
expected: 'blocked',
},
{
- filename: 'application-json.json',
- expected: 'blocked',
- },
- {
filename: 'text-plain.txt',
expected: 'allowed',
},
@@ -50,6 +46,10 @@ const test_cases = [
filename: 'application-xml.xml',
expected: 'blocked',
},
+ {
+ filename: 'application-json.json',
+ expected: 'blocked',
+ },
];
for (let test_case of test_cases) {
diff --git a/tests/wpt/tests/svg/animations/animate-path-animation-Ll-Vv-Hh.tentative.html b/tests/wpt/tests/svg/animations/animate-path-animation-Ll-Vv-Hh.tentative.html
index 8a1e2cb032f..6d2e94b7aba 100644
--- a/tests/wpt/tests/svg/animations/animate-path-animation-Ll-Vv-Hh.tentative.html
+++ b/tests/wpt/tests/svg/animations/animate-path-animation-Ll-Vv-Hh.tentative.html
@@ -33,15 +33,24 @@ function sample1() {
}
function sample2() {
- assert_animated_path_equals(path, "M -15 -15 l 30 15 v 15 h -15 Z");
+ assert_animated_path_in_array(path, [
+ "M -15 -15 l 30 15 v 15 h -15 Z",
+ "M -15 -15 L 15 0 V 15 H 0 Z",
+ ]);
}
function sample3() {
- assert_animated_path_equals(path, "M 15 15 l -30 -15 v -15 h 15 Z");
+ assert_animated_path_in_array(path, [
+ "M 15 15 l -30 -15 v -15 h 15 Z",
+ "M 15 15 L -15 0 V -15 H 0 Z",
+ ]);
}
function sample4() {
- assert_animated_path_equals(path, "M 29.985 29.985 l -59.97 -29.985 v -29.985 h 29.985 Z");
+ assert_animated_path_in_array(path, [
+ "M 29.985 29.985 l -59.97 -29.985 v -29.985 h 29.985 Z",
+ "M 29.98 29.98 L -29.98 0 V -29.98 H 0 Z",
+ ]);
}
smil_async_test(t => {
diff --git a/tests/wpt/tests/svg/animations/animate-path-animation-Mm-Aa-Z.tentative.html b/tests/wpt/tests/svg/animations/animate-path-animation-Mm-Aa-Z.tentative.html
index fd0787792f8..cb7dcf724bc 100644
--- a/tests/wpt/tests/svg/animations/animate-path-animation-Mm-Aa-Z.tentative.html
+++ b/tests/wpt/tests/svg/animations/animate-path-animation-Mm-Aa-Z.tentative.html
@@ -34,18 +34,24 @@ function sample1() {
}
function sample2() {
- assert_animated_path_equals(
- path, "m -77.5 37.5 a 152.5 162.5 37.5 1 1 75 55 m 60 -12.5 a 172.5 182.5 97.5 1 1 220 142.5 Z m 225 15");
+ assert_animated_path_in_array(path, [
+ "m -77.5 37.5 a 152.5 162.5 37.5 1 1 75 55 m 60 -12.5 a 172.5 182.5 97.5 1 1 220 142.5 Z m 225 15",
+ "M -77.5 37.5 A 152.5 162.5 37.5 1 1 -2.5 92.5 M 57.5 80 A 172.5 182.5 97.5 1 1 277.5 222.5 Z M 282.5 95",
+ ]);
}
function sample3() {
- assert_animated_path_equals(
- path, "m -72.5 32.5 a 157.5 167.5 52.5 1 1 65 45 m 100 42.5 a 177.5 187.5 112.5 1 1 140 147.5 Z m 155 -35");
+ assert_animated_path_in_array(path, [
+ "m -72.5 32.5 a 157.5 167.5 52.5 1 1 65 45 m 100 42.5 a 177.5 187.5 112.5 1 1 140 147.5 Z m 155 -35",
+ "M -72.5 32.5 A 157.5 167.5 52.5 1 1 -7.5 77.5 M 92.5 120 A 177.5 187.5 112.5 1 1 232.5 267.5 Z M 247.5 85",
+ ]);
}
function sample4() {
- assert_animated_path_equals(
- path, "m -70.0025 30.0025 a 159.997 169.997 59.9925 1 1 60.005 40.005 m 119.98 69.9725 a 179.997 189.997 119.993 1 1 100.04 149.998 Z m 120.035 -59.975");
+ assert_animated_path_in_array(path, [
+ "m -70.0025 30.0025 a 159.997 169.997 59.9925 1 1 60.005 40.005 m 119.98 69.9725 a 179.997 189.997 119.993 1 1 100.04 149.998 Z m 120.035 -59.975",
+ "M -70 30 A 160 170 59.99 1 1 -10 70.01 M 109.98 139.98 A 180 190 119.99 1 1 210.02 289.98 Z M 230.02 80",
+ ]);
}
smil_async_test(t => {
diff --git a/tests/wpt/tests/svg/animations/animate-path-animation-Qq-Tt.tentative.html b/tests/wpt/tests/svg/animations/animate-path-animation-Qq-Tt.tentative.html
index e8b0ad8f71a..3f018331c9a 100644
--- a/tests/wpt/tests/svg/animations/animate-path-animation-Qq-Tt.tentative.html
+++ b/tests/wpt/tests/svg/animations/animate-path-animation-Qq-Tt.tentative.html
@@ -33,15 +33,24 @@ function sample1() {
}
function sample2() {
- assert_animated_path_equals(path, "M -30 -30 q 52.5 0 52.5 30 t -52.5 30 Z");
+ assert_animated_path_in_array(path, [
+ "M -30 -30 q 52.5 0 52.5 30 t -52.5 30 Z",
+ "M -30 -30 Q 22.5 -30 22.5 0 T -30 30 Z",
+ ]);
}
function sample3() {
- assert_animated_path_equals(path, "M -30 -30 q 37.5 0 37.5 30 t -37.5 30 Z");
+ assert_animated_path_in_array(path, [
+ "M -30 -30 q 37.5 0 37.5 30 t -37.5 30 Z",
+ "M -30 -30 Q 7.5 -30 7.5 0 T -30 30 Z",
+ ]);
}
function sample4() {
- assert_animated_path_equals(path, "M -30 -30 q 30.0075 0 30.0075 30 t -30.0075 30 Z");
+ assert_animated_path_in_array(path, [
+ "M -30 -30 q 30.0075 0 30.0075 30 t -30.0075 30 Z",
+ "M -30 -30 Q 0.01 -30 0.01 0 T -30 30 Z",
+ ]);
}
smil_async_test(t => {
diff --git a/tests/wpt/tests/svg/animations/support/animated-path-helpers.js b/tests/wpt/tests/svg/animations/support/animated-path-helpers.js
index 3f6fffb9078..8fd4492265c 100644
--- a/tests/wpt/tests/svg/animations/support/animated-path-helpers.js
+++ b/tests/wpt/tests/svg/animations/support/animated-path-helpers.js
@@ -56,21 +56,29 @@ function normalizeProperty(path_string) {
return string;
}
-// Assert that the animated path data of |target| matches that of
-// |expected_path_string|. Numbers will be rounded to 2 decimal places.
-function assert_animated_path_equals(target, expected_path_string) {
+// Assert that the animated path data of |target| matches one of
+// |expected_paths|. Numbers will be rounded to 2 decimal places.
+function assert_animated_path_in_array(target, expected_paths) {
const kDecimals = 2;
let expected, actual;
if ('animatedPathSegList' in target) {
let probePathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path');
- probePathElement.setAttribute('d', expected_path_string);
- expected = serializePathSegList(probePathElement.pathSegList, kDecimals)
+ expected = expected_paths.map(p => {
+ probePathElement.setAttribute('d', p);
+ return serializePathSegList(probePathElement.pathSegList, kDecimals)
+ });
actual = serializePathSegList(target.animatedPathSegList, kDecimals);
} else if ('d' in target.style) {
- expected = normalizeValue(normalizeProperty(expected_path_string), kDecimals);
+ expected = expected_paths.map(p => normalizeValue(normalizeProperty(p), kDecimals));
actual = normalizeValue(getComputedStyle(target).getPropertyValue('d'), kDecimals);
} else {
assert_unreached('no animated path data');
}
- assert_equals(actual, expected);
+ assert_in_array(actual, expected);
+}
+
+// Assert that the animated path data of |target| matches that of
+// |expected_path_string|. Numbers will be rounded to 2 decimal places.
+function assert_animated_path_equals(target, expected_path_string) {
+ return assert_animated_path_in_array(target, [expected_path_string]);
}
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-cap.html b/tests/wpt/tests/svg/types/scripted/SVGLength-cap.html
index 1eb308b0b8e..058e9a72b10 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-cap.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-cap.html
@@ -8,12 +8,12 @@
<text id="cap_test" x="10cap" style="font-family:initial; font-size:20px"></text>
</svg>
<script>
- let ref_width = cap_ref.offsetWidth;
+ let ref_width = cap_ref.getBoundingClientRect().width;
let cap_length = cap_test.x.baseVal[0];
test(() => {
assert_equals(cap_length.unitType, SVGLength.SVG_LENGTHTYPE_UNKNOWN);
- assert_approx_equals(cap_length.value, ref_width, 0.5);
+ assert_approx_equals(cap_length.value, ref_width, 0.1);
}, "cap unit in SVGLength");
test(() => {
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-ch.html b/tests/wpt/tests/svg/types/scripted/SVGLength-ch.html
index fcacbd2e228..6e82a85d1c1 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-ch.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-ch.html
@@ -16,13 +16,13 @@
</svg>
<script>
let ch_ref = document.getElementById("ch_ref");
- let ref_width = ch_ref.offsetWidth;
+ let ref_width = ch_ref.getBoundingClientRect().width;
let ch_test = document.getElementById("ch_test");
let ch_length = ch_test.x.baseVal[0];
test(() => {
assert_equals(ch_length.unitType, SVGLength.SVG_LENGTHTYPE_UNKNOWN);
- assert_approx_equals(ch_length.value, ref_width, 0.4);
+ assert_approx_equals(ch_length.value, ref_width, 0.1);
}, "ch unit in SVGLength");
test(() => {
@@ -35,7 +35,7 @@
test(() => {
ch_test.setAttribute("style", "writing-mode: vertical-rl;");
ch_ref.style.writingMode = "vertical-rl";
- assert_approx_equals(ch_length.value, ch_ref.offsetWidth, 0.4);
+ assert_approx_equals(ch_length.value, ch_ref.getBoundingClientRect().width, 0.1);
ch_test.removeAttribute("style");
ch_ref.style.writingMode = "";
}, "upright vertical ch unit in SVGLength");
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-ic.html b/tests/wpt/tests/svg/types/scripted/SVGLength-ic.html
index 583a964444e..2dfb0e1c42b 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-ic.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-ic.html
@@ -8,7 +8,7 @@
<text id="ic_test" x="10ic" style="font-family:initial; font-size:20px"></text>
</svg>
<script>
- let ref_width = ic_ref.offsetWidth;
+ let ref_width = ic_ref.getBoundingClientRect().width;
let ic_length = ic_test.x.baseVal[0];
test(() => {
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-lh.html b/tests/wpt/tests/svg/types/scripted/SVGLength-lh.html
index 023d04fbd0c..56287eacff2 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-lh.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-lh.html
@@ -8,7 +8,7 @@
<text id="lh_test" x="10lh" style="font-family:initial; font-size:20px"></text>
</svg>
<script>
- let ref_width = lh_ref.offsetWidth;
+ let ref_width = lh_ref.getBoundingClientRect().width;
let lh_length = lh_test.x.baseVal[0];
test(() => {
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-rem.html b/tests/wpt/tests/svg/types/scripted/SVGLength-rem.html
index c89f937cf37..73ea00edc25 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-rem.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-rem.html
@@ -15,7 +15,7 @@
<rect id="rect" x="25rem"/>
</svg>
<script>
- let ref_width = document.getElementById("rem_ref").offsetWidth;
+ let ref_width = document.getElementById("rem_ref").getBoundingClientRect().width;
let rem_length = document.getElementById("rect").x.baseVal;
test(() => {
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-rlh.html b/tests/wpt/tests/svg/types/scripted/SVGLength-rlh.html
index 411013b65b5..1d1670bd81d 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-rlh.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-rlh.html
@@ -16,7 +16,7 @@
</svg>
</div>
<script>
- let ref_width = rlh_ref.offsetWidth;
+ let ref_width = rlh_ref.getBoundingClientRect().width;
let rlh_length = rlh_test.x.baseVal[0];
test(() => {
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-viewport.html b/tests/wpt/tests/svg/types/scripted/SVGLength-viewport.html
index 2a29c0ba549..402210779b2 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-viewport.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-viewport.html
@@ -17,12 +17,12 @@
const rect = document.getElementById("rect");
rect.setAttribute("x", `10${unit}`);
- const ref_width = ref.offsetWidth;
+ const ref_width = ref.getBoundingClientRect().width;
let length = rect.x.baseVal;
test(() => {
assert_equals(length.unitType, SVGLength.SVG_LENGTHTYPE_UNKNOWN);
- assert_approx_equals(length.value, ref_width, 0.5);
+ assert_approx_equals(length.value, ref_width, 0.1);
}, `${unit} unit in SVGLength`);
test(() => {
diff --git a/tests/wpt/tests/tools/serve/serve.py b/tests/wpt/tests/tools/serve/serve.py
index ee488841371..6afe6f9dd7a 100644
--- a/tests/wpt/tests/tools/serve/serve.py
+++ b/tests/wpt/tests/tools/serve/serve.py
@@ -680,7 +680,7 @@ class ServerProc:
try:
self.daemon = init_func(logger, host, port, paths, routes, bind_address, config, **kwargs)
except OSError:
- logger.critical("Socket error on port %s" % port, file=sys.stderr)
+ logger.critical("Socket error on port %s" % port)
raise
except Exception:
logger.critical(traceback.format_exc())
@@ -900,7 +900,7 @@ class WebSocketDaemon:
# TODO: Fix the logging configuration in WebSockets processes
# see https://github.com/web-platform-tests/wpt/issues/22719
logger.critical("Failed to start websocket server on port %s, "
- "is something already using that port?" % port, file=sys.stderr)
+ "is something already using that port?" % port)
raise OSError()
assert all(item == ports[0] for item in ports)
self.port = ports[0]
diff --git a/tests/wpt/tests/tools/webdriver/webdriver/bidi/modules/browsing_context.py b/tests/wpt/tests/tools/webdriver/webdriver/bidi/modules/browsing_context.py
index f2d2fad858c..7f3f7c50e59 100644
--- a/tests/wpt/tests/tools/webdriver/webdriver/bidi/modules/browsing_context.py
+++ b/tests/wpt/tests/tools/webdriver/webdriver/bidi/modules/browsing_context.py
@@ -7,7 +7,6 @@ from .script import SerializationOptions
from ..undefined import UNDEFINED, Undefined
-
class ElementOptions(Dict[str, Any]):
def __init__(self, element: Mapping[str, Any]):
self["type"] = "element"
@@ -69,11 +68,13 @@ class BrowsingContext(BidiModule):
return base64.b64decode(result["data"])
@command
- def close(self, context: Optional[str] = None) -> Mapping[str, Any]:
+ def close(self, context: Optional[str] = None, prompt_unload: Optional[bool] = None) -> Mapping[str, Any]:
params: MutableMapping[str, Any] = {}
if context is not None:
params["context"] = context
+ if prompt_unload is not None:
+ params["promptUnload"] = prompt_unload
return params
diff --git a/tests/wpt/tests/tools/webdriver/webdriver/transport.py b/tests/wpt/tests/tools/webdriver/webdriver/transport.py
index e5ed3473ed4..ca1ff74ef96 100644
--- a/tests/wpt/tests/tools/webdriver/webdriver/transport.py
+++ b/tests/wpt/tests/tools/webdriver/webdriver/transport.py
@@ -204,8 +204,6 @@ class HTTPWireProtocol:
``json.JSONEncoder`` unless specified.
:param decoder: JSON decoder class, which defaults to
``json.JSONDecoder`` unless specified.
- :param timeout: Optional timeout for the underlying socket. `None` will
- retain the existing timeout.
:param codec_kwargs: Surplus arguments passed on to `encoder`
and `decoder` on construction.
@@ -233,7 +231,7 @@ class HTTPWireProtocol:
# runner thread. We use the boolean below to check for that and restart
# the connection in that case.
self._last_request_is_blocked = True
- response = self._request(method, uri, payload, headers, timeout=timeout)
+ response = self._request(method, uri, payload, headers, timeout=None)
self._last_request_is_blocked = False
return Response.from_http(response, decoder=decoder, **codec_kwargs)
diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py
index f0264173b18..2c88f10e0ed 100644
--- a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py
+++ b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/base.py
@@ -29,7 +29,8 @@ def executor_kwargs(test_type, test_environment, run_info_data, subsuite, **kwar
executor_kwargs = {"server_config": test_environment.config,
"timeout_multiplier": timeout_multiplier,
"debug_info": kwargs["debug_info"],
- "subsuite": subsuite.name}
+ "subsuite": subsuite.name,
+ "target_platform": run_info_data["os"]}
if test_type in ("reftest", "print-reftest"):
executor_kwargs["screenshot_cache"] = test_environment.cache_manager.dict()
@@ -622,7 +623,7 @@ class WdspecExecutor(TestExecutor):
protocol_cls: ClassVar[Type[Protocol]] = WdspecProtocol
def __init__(self, logger, browser, server_config, webdriver_binary,
- webdriver_args, timeout_multiplier=1, capabilities=None,
+ webdriver_args, target_platform, timeout_multiplier=1, capabilities=None,
debug_info=None, binary=None, binary_args=None, **kwargs):
super().__init__(logger, browser, server_config,
timeout_multiplier=timeout_multiplier,
@@ -634,6 +635,10 @@ class WdspecExecutor(TestExecutor):
self.binary = binary
self.binary_args = binary_args
+ # Map OS to WebDriver specific platform names
+ os_map = {"win": "windows"}
+ self.target_platform = os_map.get(target_platform, target_platform)
+
def setup(self, runner, protocol=None):
assert protocol is None, "Switch executor not allowed for wdspec tests."
self.protocol = self.protocol_cls(self, self.browser)
@@ -661,6 +666,7 @@ class WdspecExecutor(TestExecutor):
session_config = {"host": self.browser.host,
"port": self.browser.port,
"capabilities": self.capabilities,
+ "target_platform": self.target_platform,
"timeout_multiplier": self.timeout_multiplier,
"browser": {
"binary": self.binary,
diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/tests/browsers/test_webkitgtk.py b/tests/wpt/tests/tools/wptrunner/wptrunner/tests/browsers/test_webkitgtk.py
index b5fc5fce5fe..983ed162fd4 100644
--- a/tests/wpt/tests/tools/wptrunner/wptrunner/tests/browsers/test_webkitgtk.py
+++ b/tests/wpt/tests/tools/wptrunner/wptrunner/tests/browsers/test_webkitgtk.py
@@ -1,6 +1,7 @@
# mypy: allow-untyped-defs, allow-untyped-calls
import logging
+import sys
from os.path import join, dirname
import pytest
@@ -63,7 +64,7 @@ def test_webkitgtk_certificate_domain_list(product):
executor_args = product_data.get_executor_kwargs(None,
None,
MockEnvironment(env_config),
- {},
+ {"os": sys.platform},
**kwargs)
assert 'capabilities' in executor_args
assert 'webkitgtk:browserOptions' in executor_args['capabilities']
diff --git a/tests/wpt/tests/wai-aria/role/grid-roles.html b/tests/wpt/tests/wai-aria/role/grid-roles.html
index 2ca3705cf01..c6711972586 100644
--- a/tests/wpt/tests/wai-aria/role/grid-roles.html
+++ b/tests/wpt/tests/wai-aria/role/grid-roles.html
@@ -43,22 +43,8 @@
</div>
</div>
- <!--
- CORE-AAM requires that, for elements with roles not contained in the
- required context, user agents must ignore the role token and return the
- computed role as if the ignored role token had not been included.
- See https://w3c.github.io/core-aam/#roleMappingComputedRole
- -->
- <span role="row" data-testname="orphaned row outside the context of table" class="ex-generic">x</span>
- <span role="rowgroup" data-testname="orphaned rowgroup outside the context of row" class="ex-generic">x</span>
- <div role="gridcell" data-testname="orphaned div with gridcell role outside the context of row" class="ex-generic">x</div>
- <button role="gridcell" data-testname="orphaned button with gridcell role outside the context of row" data-expectedrole="button" class="ex">x</button>
- <div role="rowheader" data-testname="orphaned rowheader outside the context of row" class="ex-generic">x</div>
- <div role="columnheader" data-testname="orphaned columnheader outside the context of row" class="ex-generic">x</div>
-
<script>
AriaUtils.verifyRolesBySelector(".ex");
-AriaUtils.verifyGenericRolesBySelector(".ex-generic");
</script>
</body>
diff --git a/tests/wpt/tests/wai-aria/role/grid-roles.tentative.html b/tests/wpt/tests/wai-aria/role/grid-roles.tentative.html
new file mode 100644
index 00000000000..49d54195c90
--- /dev/null
+++ b/tests/wpt/tests/wai-aria/role/grid-roles.tentative.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Tentative: Grid Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+ </head>
+ <body>
+
+ <!--
+ CORE-AAM requires that, for elements with roles not contained in the
+ required context, user agents must ignore the role token and return the
+ computed role as if the ignored role token had not been included.
+ See https://w3c.github.io/core-aam/#roleMappingComputedRole
+ -->
+ <span role="row" data-testname="orphaned row outside the context of table" class="ex-generic">x</span>
+ <span role="rowgroup" data-testname="orphaned rowgroup outside the context of row" class="ex-generic">x</span>
+ <div role="gridcell" data-testname="orphaned div with gridcell role outside the context of row" class="ex-generic">x</div>
+ <button role="gridcell" data-testname="orphaned button with gridcell role outside the context of row" data-expectedrole="button" class="ex">x</button>
+ <div role="rowheader" data-testname="orphaned rowheader outside the context of row" class="ex-generic">x</div>
+ <div role="columnheader" data-testname="orphaned columnheader outside the context of row" class="ex-generic">x</div>
+
+<script>
+AriaUtils.verifyRolesBySelector(".ex");
+AriaUtils.verifyGenericRolesBySelector(".ex-generic");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/wai-aria/role/list-roles.html b/tests/wpt/tests/wai-aria/role/list-roles.html
index 3fd3bfa0e69..da097ce67e8 100644
--- a/tests/wpt/tests/wai-aria/role/list-roles.html
+++ b/tests/wpt/tests/wai-aria/role/list-roles.html
@@ -18,18 +18,8 @@
<div role="listitem" data-testname="last simple listitem" data-expectedrole="listitem" class="ex">x</div>
</div>
-<!--
- CORE-AAM requires that, for elements with roles not contained in the
- required context, user agents must ignore the role token and return the
- computed role as if the ignored role token had not been included.
- See https://w3c.github.io/core-aam/#roleMappingComputedRole
--->
-<div role="listitem" data-testname="orphan div with listitem role" class="ex-generic">x</div>
-<p role="listitem" data-testname="orphan p with listitem role" data-expectedrole="paragraph" class="ex">x</p>
-
<script>
AriaUtils.verifyRolesBySelector(".ex");
-AriaUtils.verifyGenericRolesBySelector(".ex-generic");
</script>
</body>
diff --git a/tests/wpt/tests/wai-aria/role/list-roles.tentative.html b/tests/wpt/tests/wai-aria/role/list-roles.tentative.html
new file mode 100644
index 00000000000..3106424ac36
--- /dev/null
+++ b/tests/wpt/tests/wai-aria/role/list-roles.tentative.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html>
+<head>
+ <title>Tentative: List-related Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+</head>
+<body>
+
+<!--
+ CORE-AAM requires that, for elements with roles not contained in the
+ required context, user agents must ignore the role token and return the
+ computed role as if the ignored role token had not been included.
+ See https://w3c.github.io/core-aam/#roleMappingComputedRole
+-->
+<div role="listitem" data-testname="orphan div with listitem role" class="ex-generic">x</div>
+<p role="listitem" data-testname="orphan p with listitem role" data-expectedrole="paragraph" class="ex">x</p>
+
+<script>
+AriaUtils.verifyRolesBySelector(".ex");
+AriaUtils.verifyGenericRolesBySelector(".ex-generic");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/wai-aria/role/listbox-roles.html b/tests/wpt/tests/wai-aria/role/listbox-roles.html
index 3d26f04d51a..100ef6bca72 100644
--- a/tests/wpt/tests/wai-aria/role/listbox-roles.html
+++ b/tests/wpt/tests/wai-aria/role/listbox-roles.html
@@ -31,16 +31,6 @@
</li>
</ul>
-<!--
- CORE-AAM requires that, for elements with roles not contained in the
- required context, user agents must ignore the role token and return the
- computed role as if the ignored role token had not been included.
- See https://w3c.github.io/core-aam/#roleMappingComputedRole
--->
-<nav role="option" data-testname="orphaned option outside the context of listbox" data-expectedrole="navigation"
- class="ex">x
-</nav>
-
<script>
AriaUtils.verifyRolesBySelector(".ex");
</script>
diff --git a/tests/wpt/tests/wai-aria/role/listbox-roles.tentative.html b/tests/wpt/tests/wai-aria/role/listbox-roles.tentative.html
new file mode 100644
index 00000000000..e32c565aa9a
--- /dev/null
+++ b/tests/wpt/tests/wai-aria/role/listbox-roles.tentative.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html>
+<head>
+ <title>Tentative: Listbox-related Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+</head>
+<body>
+
+<!--
+ CORE-AAM requires that, for elements with roles not contained in the
+ required context, user agents must ignore the role token and return the
+ computed role as if the ignored role token had not been included.
+ See https://w3c.github.io/core-aam/#roleMappingComputedRole
+-->
+<nav role="option" data-testname="orphaned option outside the context of listbox" data-expectedrole="navigation"
+ class="ex">x
+</nav>
+
+<script>
+ AriaUtils.verifyRolesBySelector(".ex");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/wai-aria/role/menu-roles.html b/tests/wpt/tests/wai-aria/role/menu-roles.html
index fed15769ab8..edb5cce5021 100644
--- a/tests/wpt/tests/wai-aria/role/menu-roles.html
+++ b/tests/wpt/tests/wai-aria/role/menu-roles.html
@@ -55,34 +55,8 @@
</div>
</div>
-<!--
- CORE-AAM requires that, for elements with roles not contained in the
- required context, user agents must ignore the role token and return the
- computed role as if the ignored role token had not been included.
- See https://w3c.github.io/core-aam/#roleMappingComputedRole
--->
-<nav role="menuitem" data-testname="orphaned menuitem outside the context of menu/menubar" data-expectedrole="navigation"
- class="ex">x
-</nav>
-<nav role="menuitemradio" data-testname="orphaned menuitemradio outside the context of menu/menubar" data-expectedrole="navigation"
- class="ex">x
-</nav>
-<nav role="menuitemcheckbox" data-testname="orphaned menuitemcheckbox outside the context of menu/menubar" data-expectedrole="navigation"
- class="ex">x
-</nav>
-
-<button role="menuitem" data-testname="orphan button with menuitem role" data-expectedrole="button" class="ex">x</button>
-<div role="menuitem" data-testname="orphan div with menuitem role" class="ex-generic">x</div>
-
-<button role="menuitemcheckbox" data-testname="orphan button with menuitemcheckbox role" data-expectedrole="button" class="ex">x</button>
-<div role="menuitemcheckbox" data-testname="orphan div with menuitemcheckbox role" class="ex-generic">x</div>
-
-<button role="menuitemradio" data-testname="orphan button with menuitemradio role" data-expectedrole="button" class="ex">x</button>
-<div role="menuitemradio" data-testname="orphan div with menuitemradio role" class="ex-generic">x</div>
-
<script>
AriaUtils.verifyRolesBySelector(".ex");
- AriaUtils.verifyGenericRolesBySelector(".ex-generic");
</script>
</body>
diff --git a/tests/wpt/tests/wai-aria/role/menu-roles.tentative.html b/tests/wpt/tests/wai-aria/role/menu-roles.tentative.html
new file mode 100644
index 00000000000..98e032e16e0
--- /dev/null
+++ b/tests/wpt/tests/wai-aria/role/menu-roles.tentative.html
@@ -0,0 +1,45 @@
+<!doctype html>
+<html>
+<head>
+ <title>Tentative: Menu-related Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+</head>
+<body>
+
+<!--
+ CORE-AAM requires that, for elements with roles not contained in the
+ required context, user agents must ignore the role token and return the
+ computed role as if the ignored role token had not been included.
+ See https://w3c.github.io/core-aam/#roleMappingComputedRole
+-->
+<nav role="menuitem" data-testname="orphaned menuitem outside the context of menu/menubar" data-expectedrole="navigation"
+ class="ex">x
+</nav>
+<nav role="menuitemradio" data-testname="orphaned menuitemradio outside the context of menu/menubar" data-expectedrole="navigation"
+ class="ex">x
+</nav>
+<nav role="menuitemcheckbox" data-testname="orphaned menuitemcheckbox outside the context of menu/menubar" data-expectedrole="navigation"
+ class="ex">x
+</nav>
+
+<button role="menuitem" data-testname="orphan button with menuitem role" data-expectedrole="button" class="ex">x</button>
+<div role="menuitem" data-testname="orphan div with menuitem role" class="ex-generic">x</div>
+
+<button role="menuitemcheckbox" data-testname="orphan button with menuitemcheckbox role" data-expectedrole="button" class="ex">x</button>
+<div role="menuitemcheckbox" data-testname="orphan div with menuitemcheckbox role" class="ex-generic">x</div>
+
+<button role="menuitemradio" data-testname="orphan button with menuitemradio role" data-expectedrole="button" class="ex">x</button>
+<div role="menuitemradio" data-testname="orphan div with menuitemradio role" class="ex-generic">x</div>
+
+<script>
+ AriaUtils.verifyRolesBySelector(".ex");
+ AriaUtils.verifyGenericRolesBySelector(".ex-generic");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/wai-aria/role/tab-roles.html b/tests/wpt/tests/wai-aria/role/tab-roles.html
index 6561614dd81..f84504e0b45 100644
--- a/tests/wpt/tests/wai-aria/role/tab-roles.html
+++ b/tests/wpt/tests/wai-aria/role/tab-roles.html
@@ -82,18 +82,8 @@
<div role="tabpanel" data-testname="role is tabpanel as sibling to ul with child role none li elements" data-expectedrole="tabpanel" class="ex">Tab one's stuff</div>
<div role="tabpanel" data-testname="role is tabpanel as sibling to ul with child role none li elements (duplicate)" data-expectedrole="tabpanel" class="ex">Tab two's stuff</div>
-<!--
- CORE-AAM requires that, for elements with roles not contained in the
- required context, user agents must ignore the role token and return the
- computed role as if the ignored role token had not been included.
- See https://w3c.github.io/core-aam/#roleMappingComputedRole
--->
-<button role="tab" data-testname="orphan button with tab role" data-expectedrole="button" class="ex">x</button>
-<span role="tab" data-testname="orphan span with tab role" class="ex-generic">x</span>
-
<script>
AriaUtils.verifyRolesBySelector(".ex");
- AriaUtils.verifyGenericRolesBySelector(".ex-generic");
</script>
</body>
diff --git a/tests/wpt/tests/wai-aria/role/tab-roles.tentative.html b/tests/wpt/tests/wai-aria/role/tab-roles.tentative.html
new file mode 100644
index 00000000000..17dd85f6c59
--- /dev/null
+++ b/tests/wpt/tests/wai-aria/role/tab-roles.tentative.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html>
+<head>
+ <title>Tentative: Tab-related Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+</head>
+<body>
+
+<!--
+ CORE-AAM requires that, for elements with roles not contained in the
+ required context, user agents must ignore the role token and return the
+ computed role as if the ignored role token had not been included.
+ See https://w3c.github.io/core-aam/#roleMappingComputedRole
+-->
+<button role="tab" data-testname="orphan button with tab role" data-expectedrole="button" class="ex">x</button>
+<span role="tab" data-testname="orphan span with tab role" class="ex-generic">x</span>
+
+<script>
+ AriaUtils.verifyRolesBySelector(".ex");
+ AriaUtils.verifyGenericRolesBySelector(".ex-generic");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/wai-aria/role/table-roles.html b/tests/wpt/tests/wai-aria/role/table-roles.html
index 6ffb94218d6..c43533fc77a 100644
--- a/tests/wpt/tests/wai-aria/role/table-roles.html
+++ b/tests/wpt/tests/wai-aria/role/table-roles.html
@@ -79,8 +79,6 @@
</div>
</div>
- <!-- columnheader, orphaned -> ./grid-roles.html -->
-
<!-- row -->
<div role="table">
<div role="rowgroup">
@@ -95,8 +93,6 @@
</div>
</div>
- <!-- row, orphaned -> ./grid-roles.html -->
-
<!-- rowgroup -->
<div role="table">
<div role="rowgroup" data-testname="div role is rowgroup (in div with table role)" data-expectedrole="rowgroup" class="ex">
@@ -113,8 +109,6 @@
</div>
</div>
- <!-- rowgroup, orphaned -> ./grid-roles.html -->
-
<!-- rowheader -->
<div role="table">
<div role="rowgroup">
@@ -134,8 +128,6 @@
</div>
</div>
- <!-- rowheader, orphaned -> ./grid-roles.html -->
-
<!-- table -->
<div role="table" data-testname="div role is table" data-expectedrole="table" class="ex">
<div role="row">
diff --git a/tests/wpt/tests/wai-aria/role/tree-roles.html b/tests/wpt/tests/wai-aria/role/tree-roles.html
index 5d179fbcbf2..cc56b3a56bd 100644
--- a/tests/wpt/tests/wai-aria/role/tree-roles.html
+++ b/tests/wpt/tests/wai-aria/role/tree-roles.html
@@ -102,15 +102,6 @@
</tbody>
</table>
-<!--
- CORE-AAM requires that, for elements with roles not contained in the
- required context, user agents must ignore the role token and return the
- computed role as if the ignored role token had not been included.
- See https://w3c.github.io/core-aam/#roleMappingComputedRole
--->
-<nav role="treeitem" data-testname="orphaned treeitem outside the context of tree" data-expectedrole="navigation" class="ex">x</nav>
-<button role="treeitem" data-testname="orphaned button with treeitem role outside tree context" data-expectedrole="button" class="ex">x</button>
-
<script>
AriaUtils.verifyRolesBySelector(".ex");
diff --git a/tests/wpt/tests/wai-aria/role/tree-roles.tentative.html b/tests/wpt/tests/wai-aria/role/tree-roles.tentative.html
new file mode 100644
index 00000000000..4c6d56ba298
--- /dev/null
+++ b/tests/wpt/tests/wai-aria/role/tree-roles.tentative.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<html>
+<head>
+ <title>Tentative: Tree related Role Verification Tests</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/wai-aria/scripts/aria-utils.js"></script>
+</head>
+<body>
+
+<!--
+ CORE-AAM requires that, for elements with roles not contained in the
+ required context, user agents must ignore the role token and return the
+ computed role as if the ignored role token had not been included.
+ See https://w3c.github.io/core-aam/#roleMappingComputedRole
+-->
+<nav role="treeitem" data-testname="orphaned treeitem outside the context of tree" data-expectedrole="navigation" class="ex">x</nav>
+<button role="treeitem" data-testname="orphaned button with treeitem role outside tree context" data-expectedrole="button" class="ex">x</button>
+
+<script>
+ AriaUtils.verifyRolesBySelector(".ex");
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/__init__.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/__init__.py
index a60940d370f..606ac071ed7 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/__init__.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/__init__.py
@@ -14,11 +14,11 @@ def assert_browsing_context(
info,
context,
children=None,
+ original_opener=None,
parent_expected=True,
parent=None,
url=None,
user_context="default",
- original_opener=None
):
assert "children" in info
if children is not None:
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/invalid.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/invalid.py
index 7c73a83b132..2eb8190e13b 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/invalid.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/invalid.py
@@ -29,3 +29,9 @@ async def test_child_context(bidi_session, test_page_same_origin_frame, top_cont
with pytest.raises(error.InvalidArgumentException):
await bidi_session.browsing_context.close(context=child_info["context"])
+
+
+@pytest.mark.parametrize("value", ["", 42, {}, []])
+async def test_params_prompt_unload_invalid_type(bidi_session, top_context, value):
+ with pytest.raises(error.InvalidArgumentException):
+ await bidi_session.browsing_context.close(context=top_context["context"], prompt_unload=value)
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/prompt_unload.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/prompt_unload.py
new file mode 100644
index 00000000000..2dc241ba396
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/close/prompt_unload.py
@@ -0,0 +1,104 @@
+import pytest
+import asyncio
+
+from webdriver.bidi.modules.script import ContextTarget
+
+pytestmark = pytest.mark.asyncio
+
+CONTEXT_DESTROYED_EVENT = "browsingContext.contextDestroyed"
+USER_PROMPT_OPENED_EVENT = "browsingContext.userPromptOpened"
+
+
+@pytest.mark.parametrize("type_hint", ["window", "tab"])
+@pytest.mark.parametrize("prompt_unload", [None, False])
+async def test_prompt_unload_not_triggering_dialog(
+ bidi_session,
+ subscribe_events,
+ setup_beforeunload_page,
+ wait_for_event,
+ wait_for_future_safe,
+ type_hint,
+ prompt_unload,
+):
+
+ new_context = await bidi_session.browsing_context.create(type_hint=type_hint)
+
+ # Set up event listener to make sure the "beforeunload" event is not emitted
+ await subscribe_events([USER_PROMPT_OPENED_EVENT, CONTEXT_DESTROYED_EVENT])
+ # Track all received browsingContext.userPromptOpened events in the events array
+ events = []
+
+ async def on_event(method, data):
+ if method == USER_PROMPT_OPENED_EVENT:
+ events.append(data)
+
+ remove_listener = bidi_session.add_event_listener(
+ USER_PROMPT_OPENED_EVENT, on_event
+ )
+
+ await setup_beforeunload_page(new_context)
+
+ on_context_destroyed = wait_for_event(CONTEXT_DESTROYED_EVENT)
+
+ await bidi_session.browsing_context.close(
+ context=new_context["context"], prompt_unload=prompt_unload
+ )
+
+ await wait_for_future_safe(on_context_destroyed)
+
+ assert events == []
+
+ remove_listener()
+
+
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
+@pytest.mark.parametrize("type_hint", ["window", "tab"])
+async def test_prompt_unload_triggering_dialog(
+ bidi_session,
+ setup_beforeunload_page,
+ subscribe_events,
+ wait_for_event,
+ wait_for_future_safe,
+ type_hint,
+):
+
+ new_context = await bidi_session.browsing_context.create(type_hint=type_hint)
+
+ # Set up event listener to make sure the "beforeunload" event is not emitted
+ await subscribe_events([USER_PROMPT_OPENED_EVENT, CONTEXT_DESTROYED_EVENT])
+ user_prompt_opened = wait_for_event(USER_PROMPT_OPENED_EVENT)
+
+ # Track all received browsingContext.contextDestroyed events in the events array
+ events = []
+
+ async def on_event(_, data):
+ if data["type"] == CONTEXT_DESTROYED_EVENT:
+ events.append(data)
+
+ remove_listener = bidi_session.add_event_listener(
+ CONTEXT_DESTROYED_EVENT, on_event)
+
+ await setup_beforeunload_page(new_context)
+
+ close_task = asyncio.create_task(
+ bidi_session.browsing_context.close(
+ context=new_context["context"], prompt_unload=True
+ )
+ )
+
+ await wait_for_future_safe(user_prompt_opened)
+
+ # Events that come after the handling are OK
+ remove_listener()
+ assert events == []
+
+ await bidi_session.browsing_context.handle_user_prompt(
+ context=new_context["context"],
+ )
+
+ await close_task
+
+ contexts = await bidi_session.browsing_context.get_tree()
+ assert len(contexts) == 1
+
+ assert contexts[0]["context"] != new_context["context"]
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/context_created.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/context_created.py
index 63dbd3a23c5..1c9683c6b37 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/context_created.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/context_created.py
@@ -67,7 +67,7 @@ async def test_evaluate_window_open_without_url(bidi_session, subscribe_events,
children=None,
url="about:blank",
parent=None,
- original_opener=top_context["context"]
+ original_opener=top_context["context"],
)
@@ -90,7 +90,7 @@ async def test_evaluate_window_open_with_url(bidi_session, subscribe_events, wai
children=None,
url="about:blank",
parent=None,
- original_opener=top_context["context"]
+ original_opener=top_context["context"],
)
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/original_opener.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/original_opener.py
index 115f9679df7..18c9483e7ce 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/original_opener.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_created/original_opener.py
@@ -12,11 +12,11 @@ CONTEXT_CREATED_EVENT = "browsingContext.contextCreated"
async def test_original_opener_context_create(bidi_session, wait_for_event, wait_for_future_safe, subscribe_events, type_hint):
await subscribe_events([CONTEXT_CREATED_EVENT])
- on_entry = wait_for_event(CONTEXT_CREATED_EVENT)
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
top_level_context = await bidi_session.browsing_context.create(type_hint=type_hint)
- context_info = await wait_for_future_safe(on_entry)
+ context_info = await wait_for_future_safe(on_created)
assert_browsing_context(
context_info,
@@ -41,7 +41,7 @@ async def test_original_opener_window_open(bidi_session, wait_for_event, wait_fo
top_level_context = await bidi_session.browsing_context.create(type_hint=type_hint)
await subscribe_events([CONTEXT_CREATED_EVENT])
- on_entry = wait_for_event(CONTEXT_CREATED_EVENT)
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
url = inline("", domain=domain)
@@ -50,7 +50,7 @@ async def test_original_opener_window_open(bidi_session, wait_for_event, wait_fo
target=ContextTarget(top_level_context["context"]),
await_promise=False)
- context_info = await wait_for_future_safe(on_entry)
+ context_info = await wait_for_future_safe(on_created)
# We use None here as evaluate not always returns value.
context = None
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_destroyed/original_opener.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_destroyed/original_opener.py
new file mode 100644
index 00000000000..5c51b0e444e
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/context_destroyed/original_opener.py
@@ -0,0 +1,106 @@
+import pytest
+from webdriver.bidi.modules.script import ContextTarget
+
+pytestmark = pytest.mark.asyncio
+
+CONTEXT_CREATED_EVENT = "browsingContext.contextCreated"
+CONTEXT_DESTROYED_EVENT = "browsingContext.contextDestroyed"
+
+
+@pytest.mark.parametrize(
+ "features",
+ [None, "", "popup", "noopener", "noreferrer"],
+)
+async def test_window_open(
+ bidi_session,
+ wait_for_event,
+ wait_for_future_safe,
+ subscribe_events,
+ inline,
+ features,
+):
+ top_level_context = await bidi_session.browsing_context.create(type_hint="tab")
+
+ await subscribe_events([CONTEXT_CREATED_EVENT])
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
+
+ await bidi_session.script.evaluate(
+ expression=f"""window.open("{inline("")}", "_blank", "{features}");""",
+ target=ContextTarget(top_level_context["context"]),
+ await_promise=False,
+ )
+
+ target_context = await wait_for_future_safe(on_created)
+
+ await subscribe_events([CONTEXT_DESTROYED_EVENT])
+ on_destroyed = wait_for_event(CONTEXT_DESTROYED_EVENT)
+ await bidi_session.browsing_context.close(context=target_context["context"])
+
+ context_info = await wait_for_future_safe(on_destroyed)
+
+ assert context_info["originalOpener"] == top_level_context["context"]
+
+
+@pytest.mark.parametrize("domain", ["", "alt"], ids=["same_origin", "cross_origin"])
+async def test_different_origins(
+ bidi_session,
+ wait_for_event,
+ wait_for_future_safe,
+ subscribe_events,
+ inline,
+ domain,
+):
+ top_level_context = await bidi_session.browsing_context.create(type_hint="tab")
+
+ await subscribe_events([CONTEXT_CREATED_EVENT])
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
+
+ url = inline("", domain=domain)
+
+ await bidi_session.script.evaluate(
+ expression=f"""window.open("{url}", "_blank");""",
+ target=ContextTarget(top_level_context["context"]),
+ await_promise=False,
+ )
+
+ target_context = await wait_for_future_safe(on_created)
+
+ await subscribe_events([CONTEXT_DESTROYED_EVENT])
+ on_destroyed = wait_for_event(CONTEXT_DESTROYED_EVENT)
+ await bidi_session.browsing_context.close(context=target_context["context"])
+
+ context_info = await wait_for_future_safe(on_destroyed)
+
+ assert context_info["originalOpener"] == top_level_context["context"]
+
+
+async def test_with_closed_original_context(
+ bidi_session,
+ inline,
+ subscribe_events,
+ wait_for_event,
+ wait_for_future_safe,
+):
+ top_level_context = await bidi_session.browsing_context.create(type_hint="tab")
+
+ await subscribe_events([CONTEXT_CREATED_EVENT])
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
+
+ await bidi_session.script.evaluate(
+ expression=f"""window.open("{inline("")}", "_blank", "");""",
+ target=ContextTarget(top_level_context["context"]),
+ await_promise=False,
+ )
+
+ target_context = await wait_for_future_safe(on_created)
+
+ # Close the context which initiated opening the window.
+ await bidi_session.browsing_context.close(context=top_level_context["context"])
+
+ await subscribe_events([CONTEXT_DESTROYED_EVENT])
+ on_destroyed = wait_for_event(CONTEXT_DESTROYED_EVENT)
+ await bidi_session.browsing_context.close(context=target_context["context"])
+
+ context_info = await wait_for_future_safe(on_destroyed)
+
+ assert context_info["originalOpener"] == top_level_context["context"]
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/get_tree/original_opener.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/get_tree/original_opener.py
new file mode 100644
index 00000000000..ceec74933fc
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/get_tree/original_opener.py
@@ -0,0 +1,112 @@
+import pytest
+from webdriver.bidi.modules.script import ContextTarget
+
+pytestmark = pytest.mark.asyncio
+
+CONTEXT_CREATED_EVENT = "browsingContext.contextCreated"
+
+
+def find_context_info(contexts, context):
+ return next(
+ (
+ context_info
+ for context_info in contexts
+ if context_info["context"] == context
+ ),
+ None,
+ )
+
+
+@pytest.mark.parametrize(
+ "features",
+ [None, "", "popup", "noopener", "noreferrer"],
+)
+async def test_window_open(
+ bidi_session,
+ wait_for_event,
+ wait_for_future_safe,
+ subscribe_events,
+ inline,
+ features,
+):
+ top_level_context = await bidi_session.browsing_context.create(type_hint="tab")
+
+ await subscribe_events([CONTEXT_CREATED_EVENT])
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
+
+ await bidi_session.script.evaluate(
+ expression=f"""window.open("{inline("")}", "_blank", "{features}");""",
+ target=ContextTarget(top_level_context["context"]),
+ await_promise=False,
+ )
+
+ target_context = await wait_for_future_safe(on_created)
+
+ contexts = await bidi_session.browsing_context.get_tree()
+
+ assert len(contexts) == 3
+
+ found_context = find_context_info(contexts, target_context["context"])
+ assert found_context["originalOpener"] == top_level_context["context"]
+
+
+@pytest.mark.parametrize("domain", ["", "alt"], ids=["same_origin", "cross_origin"])
+async def test_different_origins(
+ bidi_session,
+ wait_for_event,
+ wait_for_future_safe,
+ subscribe_events,
+ inline,
+ domain,
+):
+ top_level_context = await bidi_session.browsing_context.create(type_hint="tab")
+
+ await subscribe_events([CONTEXT_CREATED_EVENT])
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
+
+ url = inline("", domain=domain)
+
+ await bidi_session.script.evaluate(
+ expression=f"""window.open("{url}", "_blank");""",
+ target=ContextTarget(top_level_context["context"]),
+ await_promise=False,
+ )
+
+ target_context = await wait_for_future_safe(on_created)
+
+ contexts = await bidi_session.browsing_context.get_tree()
+
+ assert len(contexts) == 3
+ found_context = find_context_info(contexts, target_context["context"])
+ assert found_context["originalOpener"] == top_level_context["context"]
+
+
+async def test_with_closed_original_context(
+ bidi_session,
+ inline,
+ subscribe_events,
+ wait_for_event,
+ wait_for_future_safe,
+):
+ top_level_context = await bidi_session.browsing_context.create(type_hint="tab")
+
+ await subscribe_events([CONTEXT_CREATED_EVENT])
+ on_created = wait_for_event(CONTEXT_CREATED_EVENT)
+
+ await bidi_session.script.evaluate(
+ expression=f"""window.open("{inline("")}", "_blank", "");""",
+ target=ContextTarget(top_level_context["context"]),
+ await_promise=False,
+ )
+
+ target_context = await wait_for_future_safe(on_created)
+
+ # Close the context which initiated opening the window.
+ await bidi_session.browsing_context.close(context=top_level_context["context"])
+
+ contexts = await bidi_session.browsing_context.get_tree()
+
+ assert len(contexts) == 2
+
+ found_context = find_context_info(contexts, target_context["context"])
+ assert found_context["originalOpener"] == top_level_context["context"]
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/handle_user_prompt/handle_user_prompt.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/handle_user_prompt/handle_user_prompt.py
index 6dbe7446b63..c562ddbd9a2 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/handle_user_prompt/handle_user_prompt.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/handle_user_prompt/handle_user_prompt.py
@@ -3,7 +3,6 @@ import pytest
import webdriver.bidi.error as error
from webdriver.bidi.modules.script import ContextTarget
-from webdriver.error import TimeoutException
pytestmark = pytest.mark.asyncio
@@ -12,6 +11,7 @@ USER_PROMPT_CLOSED_EVENT = "browsingContext.userPromptClosed"
USER_PROMPT_OPENED_EVENT = "browsingContext.userPromptOpened"
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
async def test_alert(
bidi_session, wait_for_event, wait_for_future_safe, new_tab, subscribe_events
):
@@ -38,6 +38,7 @@ async def test_alert(
assert result == {"type": "undefined"}
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("accept", [True, False])
async def test_confirm(
bidi_session,
@@ -72,6 +73,7 @@ async def test_confirm(
assert result == {"type": "boolean", "value": accept}
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("accept", [True, False])
async def test_prompt(
bidi_session,
@@ -110,7 +112,9 @@ async def test_prompt(
assert result == {"type": "null"}
-@pytest.mark.parametrize("accept", [True, False])
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
+@pytest.mark.parametrize("accept", [False])
+# @pytest.mark.parametrize("accept", [True, False])
async def test_beforeunload(
bidi_session,
subscribe_events,
@@ -138,7 +142,7 @@ async def test_beforeunload(
)
# Wait for the prompt to open.
- event = await wait_for_future_safe(on_entry)
+ await wait_for_future_safe(on_entry)
on_prompt_closed = wait_for_event(USER_PROMPT_CLOSED_EVENT)
@@ -147,16 +151,18 @@ async def test_beforeunload(
)
# Wait for the prompt to be closed.
- event = await wait_for_future_safe(on_prompt_closed)
+ await wait_for_future_safe(on_prompt_closed)
if accept:
# Check navigation to the target page.
navigated = await wait_for_future_safe(navigated_future)
assert navigated["url"] == page_target
else:
- # If the beforeunload prompt was dismissed no navigation takes place.
- with pytest.raises(TimeoutException):
- await wait_for_future_safe(navigated_future, timeout=0.5)
+ # If the beforeunload prompt was dismissed, the navigation is canceled.
+ # Step 22.2 of the html spec 7.4.2.2 Beginning navigation.
+ # https://html.spec.whatwg.org/multipage/browsing-the-web.html#beginning-navigation
+ with pytest.raises(error.UnknownErrorException):
+ await wait_for_future_safe(navigated_future)
contexts = await bidi_session.browsing_context.get_tree(
root=new_tab["context"], max_depth=0
@@ -164,6 +170,7 @@ async def test_beforeunload(
assert contexts[0]["url"] != page_target
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("type_hint", ["tab", "window"])
async def test_two_top_level_contexts(
bidi_session,
@@ -201,6 +208,7 @@ async def test_two_top_level_contexts(
await bidi_session.browsing_context.close(context=new_context["context"])
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
async def test_multiple_frames(
bidi_session,
new_tab,
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/beforeunload.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/beforeunload.py
index c4c51603619..6b2e788a058 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/beforeunload.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/beforeunload.py
@@ -1,4 +1,7 @@
import pytest
+from webdriver.error import TimeoutException
+
+from tests.support.sync import AsyncPoll
pytestmark = pytest.mark.asyncio
@@ -6,6 +9,7 @@ USER_PROMPT_CLOSED_EVENT = "browsingContext.userPromptClosed"
USER_PROMPT_OPENED_EVENT = "browsingContext.userPromptOpened"
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("accept", [False, True])
async def test_beforeunload(
bidi_session,
@@ -44,4 +48,5 @@ async def test_beforeunload(
assert event == {
"context": new_tab["context"],
"accepted": accept,
+ "type": "beforeunload",
}
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/user_prompt_closed.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/user_prompt_closed.py
index a8ab1490c46..fdb9e8b3ca7 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/user_prompt_closed.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_closed/user_prompt_closed.py
@@ -8,6 +8,7 @@ USER_PROMPT_CLOSED_EVENT = "browsingContext.userPromptClosed"
USER_PROMPT_OPENED_EVENT = "browsingContext.userPromptOpened"
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
async def test_unsubscribe(
bidi_session, inline, new_tab, wait_for_event, wait_for_future_safe
):
@@ -45,6 +46,7 @@ async def test_unsubscribe(
remove_listener()
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
async def test_prompt_type_alert(
bidi_session,
subscribe_events,
@@ -74,9 +76,11 @@ async def test_prompt_type_alert(
assert event == {
"context": new_tab["context"],
"accepted": True,
+ "type": "alert",
}
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("accept", [True, False])
async def test_prompt_type_confirm(
bidi_session,
@@ -110,9 +114,11 @@ async def test_prompt_type_confirm(
assert event == {
"context": new_tab["context"],
"accepted": accept,
+ "type": "confirm",
}
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("accept", [True, False])
async def test_prompt_type_prompt(
bidi_session,
@@ -148,15 +154,18 @@ async def test_prompt_type_prompt(
assert event == {
"context": new_tab["context"],
"accepted": accept,
+ "type": "prompt",
"userText": test_user_text,
}
else:
assert event == {
"context": new_tab["context"],
"accepted": accept,
+ "type": "prompt",
}
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
async def test_prompt_with_defaults(
bidi_session,
subscribe_events,
@@ -186,9 +195,11 @@ async def test_prompt_with_defaults(
assert event == {
"context": new_tab["context"],
"accepted": True,
+ "type": "prompt",
}
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
@pytest.mark.parametrize("type_hint", ["tab", "window"])
async def test_subscribe_to_one_context(
bidi_session,
@@ -260,6 +271,7 @@ async def test_subscribe_to_one_context(
assert event == {
"context": new_context["context"],
"accepted": True,
+ "type": "alert",
}
remove_listener()
@@ -267,6 +279,7 @@ async def test_subscribe_to_one_context(
await bidi_session.browsing_context.close(context=another_new_context["context"])
+@pytest.mark.capabilities({"unhandledPromptBehavior": {'default': 'ignore'}})
async def test_iframe(
bidi_session,
new_tab,
@@ -307,4 +320,5 @@ async def test_iframe(
assert event == {
"context": new_tab["context"],
"accepted": True,
+ "type": "alert",
}
diff --git a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_opened/user_prompt_opened.py b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_opened/user_prompt_opened.py
index e4e633e4564..3a995b15038 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_opened/user_prompt_opened.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/browsing_context/user_prompt_opened/user_prompt_opened.py
@@ -60,6 +60,7 @@ async def test_prompt_type(
"context": new_tab["context"],
"type": prompt_type,
"message": text,
+ "handler": "dismiss",
**({"defaultValue": ""} if prompt_type == "prompt" else {}),
}
@@ -95,19 +96,14 @@ async def test_prompt_default_value(
event = await wait_for_future_safe(on_entry)
- expected_event = {
+ assert event == {
"context": new_tab["context"],
"type": "prompt",
"message": text,
+ "handler": "dismiss",
+ "defaultValue": default if default is not None else ""
}
- if default is None:
- expected_event["defaultValue"] = ""
- else:
- expected_event["defaultValue"] = default
-
- assert event == expected_event
-
@pytest.mark.parametrize("type_hint", ["tab", "window"])
async def test_subscribe_to_one_context(
@@ -160,6 +156,7 @@ async def test_subscribe_to_one_context(
assert event == {
"context": new_context["context"],
"type": "alert",
+ "handler": "dismiss",
"message": "first tab",
}
@@ -202,5 +199,6 @@ async def test_iframe(
assert event == {
"context": new_tab["context"],
"type": "alert",
+ "handler": "dismiss",
"message": "in iframe",
}
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/__init__.py b/tests/wpt/tests/webdriver/tests/bidi/network/__init__.py
index 319d90d3def..00fc5e3c71b 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/network/__init__.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/__init__.py
@@ -327,6 +327,9 @@ PAGE_EMPTY_SVG = "/webdriver/tests/bidi/network/support/empty.svg"
PAGE_EMPTY_TEXT = "/webdriver/tests/bidi/network/support/empty.txt"
PAGE_INVALID_URL = "https://not_a_valid_url.test/"
PAGE_OTHER_TEXT = "/webdriver/tests/bidi/network/support/other.txt"
+PAGE_PROVIDE_RESPONSE_HTML = "/webdriver/tests/bidi/network/support/provide_response.html"
+PAGE_PROVIDE_RESPONSE_SCRIPT = "/webdriver/tests/bidi/network/support/provide_response.js"
+PAGE_PROVIDE_RESPONSE_STYLESHEET = "/webdriver/tests/bidi/network/support/provide_response.css"
PAGE_REDIRECT_HTTP_EQUIV = (
"/webdriver/tests/bidi/network/support/redirect_http_equiv.html"
)
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/conftest.py b/tests/wpt/tests/webdriver/tests/bidi/network/conftest.py
index 97f392b0818..591e3b42d6e 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/network/conftest.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/conftest.py
@@ -3,6 +3,7 @@ import pytest_asyncio
from webdriver.bidi.error import NoSuchInterceptException
+from tests.support.sync import AsyncPoll
from . import PAGE_EMPTY_TEXT
@@ -49,8 +50,14 @@ async def setup_blocked_request(
):
"""Creates an intercept for the provided phase, sends a fetch request that
should be blocked by this intercept and resolves when the corresponding
- event is received. Pass navigate=True in order to navigate instead of doing
- a fetch request.
+ event is received.
+
+ Pass blocked_url to target a specific URL. Otherwise, the test will use
+ PAGE_EMPTY_TEXT as default test url.
+
+ Pass navigate=True in order to navigate instead of doing a fetch request.
+ If the navigation url should be different from the blocked url, you can
+ specify navigate_url.
For the "authRequired" phase, the request will be sent to the authentication
http handler. The optional arguments username, password and realm can be used
@@ -65,22 +72,25 @@ async def setup_blocked_request(
username="user",
password="password",
realm="test",
+ blocked_url=None,
navigate=False,
+ navigate_url=None,
**kwargs,
):
await setup_network_test(events=[f"network.{phase}"])
- if phase == "authRequired":
- blocked_url = url(
- "/webdriver/tests/support/http_handlers/authentication.py?"
- f"username={username}&password={password}&realm={realm}"
- )
- if navigate:
- # By default the authentication handler returns a text/plain
- # content-type. Switch to text/html for a regular navigation.
- blocked_url = f"{blocked_url}&contenttype=text/html"
- else:
- blocked_url = url(PAGE_EMPTY_TEXT)
+ if blocked_url is None:
+ if phase == "authRequired":
+ blocked_url = url(
+ "/webdriver/tests/support/http_handlers/authentication.py?"
+ f"username={username}&password={password}&realm={realm}"
+ )
+ if navigate:
+ # By default the authentication handler returns a text/plain
+ # content-type. Switch to text/html for a regular navigation.
+ blocked_url = f"{blocked_url}&contenttype=text/html"
+ else:
+ blocked_url = url(PAGE_EMPTY_TEXT)
await add_intercept(
phases=[phase],
@@ -92,18 +102,38 @@ async def setup_blocked_request(
],
)
+ events = []
+
+ async def on_event(method, data):
+ events.append(data)
+
+ remove_listener = bidi_session.add_event_listener(
+ f"network.{phase}", on_event
+ )
+
+
network_event = wait_for_event(f"network.{phase}")
if navigate:
+ if navigate_url is None:
+ navigate_url = blocked_url
+
asyncio.ensure_future(
bidi_session.browsing_context.navigate(
- context=context["context"], url=blocked_url, wait="complete"
+ context=context["context"], url=navigate_url, wait="complete"
)
)
else:
asyncio.ensure_future(fetch(blocked_url, context=context, **kwargs))
- event = await wait_for_future_safe(network_event)
- request = event["request"]["request"]
+
+ # Wait for the first blocked request. When testing a navigation where
+ # navigate_url is different from blocked_url, non-blocked events will
+ # be received before the blocked request.
+ wait = AsyncPoll(bidi_session, timeout=2)
+ await wait.until(lambda _: any(e["isBlocked"] is True for e in events))
+
+ [blocked_event] = [e for e in events if e["isBlocked"] is True]
+ request = blocked_event["request"]["request"]
return request
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/continue_request/headers.py b/tests/wpt/tests/webdriver/tests/bidi/network/continue_request/headers.py
index 1a7acfcde00..d6af7094a64 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/network/continue_request/headers.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/continue_request/headers.py
@@ -38,6 +38,36 @@ async def test_modify_headers(
assert_response_event(response_event, expected_request={"headers": headers})
+async def test_multiple_headers(
+ setup_blocked_request,
+ subscribe_events,
+ wait_for_event,
+ bidi_session,
+):
+ request = await setup_blocked_request("beforeRequestSent")
+ await subscribe_events(events=[RESPONSE_COMPLETED_EVENT])
+
+ headers = []
+ header_name = "multiple_header_name"
+ headers.append(Header(name=header_name, value=NetworkStringValue("value1")))
+ headers.append(Header(name=header_name, value=NetworkStringValue("value2")))
+ headers.append(Header(name=header_name, value=NetworkStringValue("value3")))
+
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+ await bidi_session.network.continue_request(request=request, headers=headers)
+ response_event = await on_response_completed
+ assert_response_event(response_event)
+
+ event_headers = response_event["request"]["headers"]
+ a_header = next(h for h in event_headers if h["name"] == header_name)
+
+ # Implementations might handle multiple values with different separators/whitespaces
+ # https://www.rfc-editor.org/rfc/rfc9110.html#section-5.3
+ assert "value1" in a_header["value"]["value"]
+ assert "value2" in a_header["value"]["value"]
+ assert "value3" in a_header["value"]["value"]
+
+
async def test_override_cookies(
setup_blocked_request,
subscribe_events,
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/body.py b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/body.py
new file mode 100644
index 00000000000..317f627784b
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/body.py
@@ -0,0 +1,91 @@
+import pytest
+
+from webdriver.bidi.modules.network import NetworkStringValue
+from webdriver.bidi.modules.script import ContextTarget
+
+from tests.support.sync import AsyncPoll
+
+from .. import (
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ PAGE_PROVIDE_RESPONSE_HTML,
+ PAGE_PROVIDE_RESPONSE_SCRIPT,
+ PAGE_PROVIDE_RESPONSE_STYLESHEET,
+)
+
+pytestmark = pytest.mark.asyncio
+
+LOAD_EVENT = "browsingContext.load"
+
+
+@pytest.mark.parametrize(
+ "blocked_url, body, expression",
+ [
+ (
+ PAGE_PROVIDE_RESPONSE_HTML,
+ "<div id=from-provide-response>",
+ "!!document.getElementById('from-provide-response')",
+ ),
+ (
+ PAGE_PROVIDE_RESPONSE_SCRIPT,
+ "window.isFromProvideResponse = true;",
+ "window.isFromProvideResponse == true;",
+ ),
+ (
+ PAGE_PROVIDE_RESPONSE_STYLESHEET,
+ "div { color: rgb(255, 0, 0) }",
+ """
+ const div = document.querySelector('div');
+ window.getComputedStyle(div).color === 'rgb(255, 0, 0)'
+ """,
+ ),
+ ],
+)
+async def test_body_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ url,
+ blocked_url,
+ body,
+ expression,
+):
+ request = await setup_blocked_request(
+ phase="beforeRequestSent",
+ navigate=True,
+ blocked_url=url(blocked_url),
+ navigate_url=url(PAGE_PROVIDE_RESPONSE_HTML),
+ )
+
+ await subscribe_events(
+ events=[
+ RESPONSE_COMPLETED_EVENT,
+ LOAD_EVENT,
+ ]
+ )
+
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+ on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
+
+ on_load = wait_for_event(LOAD_EVENT)
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue(body),
+ status_code=200,
+ reason_phrase="OK",
+ )
+
+ await wait_for_future_safe(on_response_completed)
+ await wait_for_future_safe(on_load)
+
+ result = await bidi_session.script.evaluate(
+ expression=expression,
+ target=ContextTarget(top_context["context"]),
+ await_promise=False,
+ )
+
+ assert result["value"] is True
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/cookies.py b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/cookies.py
new file mode 100644
index 00000000000..c05321b3b05
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/cookies.py
@@ -0,0 +1,438 @@
+import pytest
+
+from webdriver.bidi.modules.network import (
+ CookieHeader,
+ Header,
+ NetworkStringValue,
+ SetCookieHeader,
+)
+
+from .. import (
+ assert_response_event,
+ PAGE_EMPTY_TEXT,
+ PAGE_PROVIDE_RESPONSE_HTML,
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+)
+
+from ... import any_int, recursive_compare
+
+pytestmark = pytest.mark.asyncio
+
+LOAD_EVENT = "browsingContext.load"
+
+
+async def test_cookie_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ fetch,
+ url,
+):
+ request = await setup_blocked_request(
+ phase="beforeRequestSent",
+ navigate=True,
+ blocked_url=url(PAGE_PROVIDE_RESPONSE_HTML),
+ navigate_url=url(PAGE_PROVIDE_RESPONSE_HTML),
+ )
+
+ await subscribe_events(
+ events=[
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ LOAD_EVENT,
+ ]
+ )
+
+ on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+
+ on_load = wait_for_event(LOAD_EVENT)
+
+ # Prepare the cookie and header values to set and assert a test cookie
+ cookie_name = "test-cookie"
+ cookie_value = "test-cookie-value"
+ request_cookie = CookieHeader(
+ name=cookie_name, value=NetworkStringValue(cookie_value)
+ )
+ response_cookie = SetCookieHeader(
+ name=cookie_name, value=NetworkStringValue(cookie_value), path="/"
+ )
+ set_cookie_header = Header(
+ name="Set-Cookie",
+ value=NetworkStringValue("test-cookie=test-cookie-value;Path=/"),
+ )
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("<div>Test cookies for provideResponse</div>"),
+ status_code=200,
+ reason_phrase="OK",
+ cookies=[response_cookie],
+ )
+
+ # Check that the response events contain the expected Set-Cookie header.
+ response_started_event = await wait_for_future_safe(on_response_started)
+ assert_response_event(
+ response_started_event, expected_response={"headers": [set_cookie_header]}
+ )
+ response_completed_event = await wait_for_future_safe(on_response_completed)
+ assert_response_event(
+ response_completed_event, expected_response={"headers": [set_cookie_header]}
+ )
+
+ # Wait for the navigation to complete.
+ await wait_for_future_safe(on_load)
+
+ # Perform a fetch from the page.
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+ await fetch(PAGE_EMPTY_TEXT)
+ response_completed_event = await wait_for_future_safe(on_response_completed)
+
+ # Check that the fetch contains the cookie set with provideResponse.
+ assert_response_event(
+ response_completed_event, expected_request={"cookies": [request_cookie]}
+ )
+
+ await bidi_session.storage.delete_cookies()
+
+
+@pytest.mark.parametrize(
+ # Note that the domain needs to be handled separately because the actual
+ # value will be retrieved via the domain_value fixture.
+ # with_domain can either be :
+ # - "default": domain will be set to domain_value() and the page will be
+ # loaded on domain_value().
+ # - "alt": domain will be set to domain_value(alt) and the page will be
+ # loaded on domain_value(alt).
+ # - None (or any other value): domain will not be set and the page will be
+ # loaded on domain_value() (which is the default).
+ "cookie, with_domain, expected_cookie",
+ [
+ (
+ SetCookieHeader(
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ "default domain",
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ "alt domain",
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ name="foo",
+ path="/some/other/path",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/some/other/path",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ http_only=True,
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": True,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ name="foo",
+ path="/",
+ secure=True,
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": True,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ expiry="Tue, 14 Feb 2040 17:41:14 GMT",
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ # Corresponds to the timestamp in seconds for "Tue, 14 Feb 2040 17:41:14 GMT"
+ "expiry": 2212854074,
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ max_age=3600,
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "expiry": any_int,
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ same_site="none",
+ # SameSite None requires Secure to set the cookie correctly.
+ secure=True,
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": True,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ same_site="lax",
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "lax",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ (
+ SetCookieHeader(
+ same_site="strict",
+ name="foo",
+ path="/",
+ value=NetworkStringValue("bar"),
+ ),
+ None,
+ {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "strict",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ },
+ ),
+ ],
+ ids=[
+ "no domain",
+ "default domain",
+ "alt domain",
+ "custom path",
+ "http only",
+ "secure",
+ "expiry",
+ "max age",
+ "same site none",
+ "same site lax",
+ "same site strict",
+ ],
+)
+async def test_cookie_attributes_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ url,
+ domain_value,
+ cookie,
+ with_domain,
+ expected_cookie,
+):
+ if with_domain == "default domain":
+ domain = ""
+ cookie["domain"] = domain_value()
+ expected_cookie["domain"] = f".{domain_value()}"
+ elif with_domain == "alt domain":
+ domain = "alt"
+ cookie["domain"] = domain_value("alt")
+ expected_cookie["domain"] = f".{domain_value('alt')}"
+ else:
+ # If the cookie is not set for a specific domain it will default to
+ # the current domain, but no "." will be prepended to the actual cookie
+ # domain
+ domain = ""
+ expected_cookie["domain"] = domain_value()
+
+ request = await setup_blocked_request(
+ phase="beforeRequestSent",
+ navigate=True,
+ blocked_url=url(PAGE_PROVIDE_RESPONSE_HTML, domain=domain),
+ )
+
+ await subscribe_events(events=[LOAD_EVENT])
+
+ on_load = wait_for_event(LOAD_EVENT)
+
+ # Provide response with an empty cookies list
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("<div>Test cookies for provideResponse</div>"),
+ status_code=200,
+ reason_phrase="OK",
+ cookies=[cookie],
+ )
+
+ # Wait for the navigation to complete.
+ await wait_for_future_safe(on_load)
+
+ cookies = await bidi_session.storage.get_cookies()
+ assert len(cookies["cookies"]) == 1
+
+ cookie = cookies["cookies"][0]
+ recursive_compare(expected_cookie, cookie)
+
+ await bidi_session.storage.delete_cookies()
+
+
+async def test_no_cookie_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ url,
+):
+ request = await setup_blocked_request(
+ phase="beforeRequestSent",
+ navigate=True,
+ blocked_url=url(PAGE_PROVIDE_RESPONSE_HTML),
+ navigate_url=url(PAGE_PROVIDE_RESPONSE_HTML),
+ )
+
+ await subscribe_events(
+ events=[
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ LOAD_EVENT,
+ ]
+ )
+
+ on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+
+ on_load = wait_for_event(LOAD_EVENT)
+
+ # Provide response with an empty cookies list
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("<div>Test cookies for provideResponse</div>"),
+ status_code=200,
+ reason_phrase="OK",
+ cookies=[],
+ )
+
+ # Check that the response events contain no Set-Cookie header.
+ async def wait_for_event_and_assert_no_cookie(on_response_event):
+ response_event = await wait_for_future_safe(on_response_event)
+ response_headers = response_event["response"]["headers"]
+ assert len([h for h in response_headers if h["name"] == "Set-Cookie"]) == 0
+
+ await wait_for_event_and_assert_no_cookie(on_response_started)
+ await wait_for_event_and_assert_no_cookie(on_response_completed)
+
+ # Wait for the navigation to complete.
+ await wait_for_future_safe(on_load)
+
+ await bidi_session.storage.delete_cookies()
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/headers.py b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/headers.py
new file mode 100644
index 00000000000..0436896ec19
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/headers.py
@@ -0,0 +1,189 @@
+import pytest
+
+from webdriver.bidi.modules.network import (
+ Header,
+ NetworkStringValue,
+ SetCookieHeader,
+)
+
+from .. import (
+ assert_response_event,
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+)
+
+from ... import recursive_compare
+
+pytestmark = pytest.mark.asyncio
+
+LOAD_EVENT = "browsingContext.load"
+
+
+@pytest.mark.parametrize(
+ "headers",
+ [
+ {},
+ {"a": "1"},
+ {"a": "1", "b": "2"},
+ ],
+)
+async def test_headers_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ url,
+ headers,
+):
+ request = await setup_blocked_request(phase="beforeRequestSent")
+
+ await subscribe_events(
+ events=[
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ ]
+ )
+
+ on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+
+ response_headers = []
+ for name, value in headers.items():
+ response_headers.append(Header(name=name, value=NetworkStringValue(value)))
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("overridden response"),
+ status_code=200,
+ reason_phrase="OK",
+ headers=response_headers,
+ )
+
+ response_started_event = await wait_for_future_safe(on_response_started)
+ assert_response_event(
+ response_started_event, expected_response={"headers": response_headers}
+ )
+ response_completed_event = await wait_for_future_safe(on_response_completed)
+ assert_response_event(
+ response_completed_event, expected_response={"headers": response_headers}
+ )
+
+
+async def test_set_cookie_header_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ url,
+):
+ request = await setup_blocked_request(
+ phase="beforeRequestSent",
+ navigate=True,
+ )
+
+ await subscribe_events(events=[LOAD_EVENT])
+ on_load = wait_for_event(LOAD_EVENT)
+
+ response_header = Header(
+ name="Set-Cookie", value=NetworkStringValue("foo=bar;Path=/")
+ )
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("overridden response"),
+ status_code=200,
+ reason_phrase="OK",
+ headers=[response_header],
+ )
+
+ await wait_for_future_safe(on_load)
+
+ cookies = await bidi_session.storage.get_cookies()
+ assert len(cookies["cookies"]) == 1
+
+ cookie = cookies["cookies"][0]
+
+ expected_cookie = {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ }
+ recursive_compare(expected_cookie, cookie)
+
+
+# Check that cookies from Set-Cookie headers of the headers parameter
+# and from the cookies parameter are both present in the response.
+async def test_set_cookie_header_and_cookies_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ url,
+):
+ request = await setup_blocked_request(
+ phase="beforeRequestSent",
+ navigate=True,
+ )
+
+ await subscribe_events(events=[LOAD_EVENT])
+ on_load = wait_for_event(LOAD_EVENT)
+
+ response_header = Header(
+ name="Set-Cookie", value=NetworkStringValue("foo=bar;Path=/")
+ )
+ response_cookie = SetCookieHeader(
+ name="baz", value=NetworkStringValue("biz"), path="/"
+ )
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("overridden response"),
+ status_code=200,
+ reason_phrase="OK",
+ headers=[response_header],
+ cookies=[response_cookie],
+ )
+
+ await wait_for_future_safe(on_load)
+
+ cookies = await bidi_session.storage.get_cookies()
+ assert len(cookies["cookies"]) == 2
+
+ if cookies["cookies"][0]["name"] == "foo":
+ cookie_from_headers_param = cookies["cookies"][0]
+ cookie_from_cookies_param = cookies["cookies"][1]
+ else:
+ cookie_from_headers_param = cookies["cookies"][1]
+ cookie_from_cookies_param = cookies["cookies"][0]
+
+ expected_cookie_from_headers_param = {
+ "httpOnly": False,
+ "name": "foo",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "bar"},
+ }
+ recursive_compare(expected_cookie_from_headers_param, cookie_from_headers_param)
+
+ expected_cookie_from_cookies_param = {
+ "httpOnly": False,
+ "name": "baz",
+ "path": "/",
+ "sameSite": "none",
+ "secure": False,
+ "size": 6,
+ "value": {"type": "string", "value": "biz"},
+ }
+ recursive_compare(expected_cookie_from_cookies_param, cookie_from_cookies_param)
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/reason_phrase.py b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/reason_phrase.py
new file mode 100644
index 00000000000..69db8e8ce01
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/reason_phrase.py
@@ -0,0 +1,53 @@
+import pytest
+
+from webdriver.bidi.modules.network import NetworkStringValue
+
+from .. import (
+ assert_response_event,
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+)
+
+pytestmark = pytest.mark.asyncio
+
+
+@pytest.mark.parametrize("reason_phrase", ["OK", "OK from provideResponse"])
+async def test_reason_phrase_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ reason_phrase,
+):
+ request = await setup_blocked_request(phase="beforeRequestSent")
+
+ await subscribe_events(
+ events=[
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ ]
+ )
+
+ on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("overridden response"),
+ status_code=200,
+ reason_phrase=reason_phrase,
+ )
+
+ response_started_event = await wait_for_future_safe(on_response_started)
+ assert_response_event(
+ response_started_event,
+ expected_response={"statusText": reason_phrase},
+ )
+
+ response_completed_event = await wait_for_future_safe(on_response_completed)
+ assert_response_event(
+ response_completed_event,
+ expected_response={"statusText": reason_phrase},
+ )
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/request.py b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/request.py
index f8cc3fb676e..099baca0286 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/request.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/request.py
@@ -8,17 +8,24 @@ from .. import AUTH_REQUIRED_EVENT, RESPONSE_COMPLETED_EVENT, RESPONSE_STARTED_E
pytestmark = pytest.mark.asyncio
+LOAD_EVENT = "browsingContext.load"
+
@pytest.mark.parametrize("navigate", [False, True], ids=["fetch", "navigate"])
async def test_provide_response_auth_required(
- setup_blocked_request, subscribe_events, wait_for_event, bidi_session, navigate, wait_for_future_safe
+ setup_blocked_request,
+ subscribe_events,
+ wait_for_event,
+ bidi_session,
+ navigate,
+ wait_for_future_safe,
):
request = await setup_blocked_request("authRequired", navigate=navigate)
await subscribe_events(
events=[
AUTH_REQUIRED_EVENT,
- "browsingContext.load",
+ LOAD_EVENT,
]
)
@@ -34,7 +41,13 @@ async def test_provide_response_auth_required(
@pytest.mark.parametrize("phase", ["beforeRequestSent", "responseStarted"])
@pytest.mark.parametrize("navigate", [False, True], ids=["fetch", "navigate"])
async def test_provide_response_phase(
- setup_blocked_request, subscribe_events, wait_for_event, bidi_session, phase, navigate, wait_for_future_safe
+ setup_blocked_request,
+ subscribe_events,
+ wait_for_event,
+ bidi_session,
+ phase,
+ navigate,
+ wait_for_future_safe,
):
request = await setup_blocked_request(phase, navigate=navigate)
@@ -42,7 +55,7 @@ async def test_provide_response_phase(
events=[
RESPONSE_STARTED_EVENT,
RESPONSE_COMPLETED_EVENT,
- "browsingContext.load",
+ LOAD_EVENT,
]
)
@@ -54,7 +67,7 @@ async def test_provide_response_phase(
on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
if navigate:
- on_load = wait_for_event("browsingContext.load")
+ on_load = wait_for_event(LOAD_EVENT)
await bidi_session.network.provide_response(request=request)
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/status_code.py b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/status_code.py
new file mode 100644
index 00000000000..4d7a25a92de
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/provide_response/status_code.py
@@ -0,0 +1,58 @@
+import pytest
+
+from webdriver.bidi.modules.network import NetworkStringValue
+
+from .. import (
+ assert_response_event,
+ HTTP_STATUS_AND_STATUS_TEXT,
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+)
+
+pytestmark = pytest.mark.asyncio
+
+
+@pytest.mark.parametrize(
+ "status_code, status_text",
+ HTTP_STATUS_AND_STATUS_TEXT,
+)
+async def test_status_code_before_request_sent(
+ setup_blocked_request,
+ subscribe_events,
+ bidi_session,
+ top_context,
+ wait_for_event,
+ wait_for_future_safe,
+ status_code,
+ status_text,
+):
+ request = await setup_blocked_request(phase="beforeRequestSent")
+
+ await subscribe_events(
+ events=[
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ ]
+ )
+
+ on_response_started = wait_for_event(RESPONSE_STARTED_EVENT)
+ on_response_completed = wait_for_event(RESPONSE_COMPLETED_EVENT)
+
+ await bidi_session.network.provide_response(
+ request=request,
+ body=NetworkStringValue("overridden response"),
+ status_code=status_code,
+ reason_phrase=status_text,
+ )
+
+ response_started_event = await wait_for_future_safe(on_response_started)
+ assert_response_event(
+ response_started_event,
+ expected_response={"status": status_code, "statusText": status_text},
+ )
+
+ response_completed_event = await wait_for_future_safe(on_response_completed)
+ assert_response_event(
+ response_completed_event,
+ expected_response={"status": status_code, "statusText": status_text},
+ )
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.css b/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.css
new file mode 100644
index 00000000000..3eaf736611d
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.css
@@ -0,0 +1,3 @@
+div {
+ color: blue;
+}
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.html b/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.html
new file mode 100644
index 00000000000..b41e61ac2df
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset=utf-8>
+ <link rel="stylesheet" href="provide_response.css"/>
+ </head>
+ <body>
+ <p>Provide response test page</p>
+ <div>I am blue</div>
+ <script type="text/javascript" src="provide_response.js"></script>
+ </body>
+</html>
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.js b/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.js
new file mode 100644
index 00000000000..dca29b8346e
--- /dev/null
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/support/provide_response.js
@@ -0,0 +1,3 @@
+"use strict";
+
+window.isFromProvideResponse = false;
diff --git a/tests/wpt/tests/webdriver/tests/classic/get_current_url/file.py b/tests/wpt/tests/webdriver/tests/classic/get_current_url/file.py
index ef6ae238355..e94cbcfe551 100644
--- a/tests/wpt/tests/webdriver/tests/classic/get_current_url/file.py
+++ b/tests/wpt/tests/webdriver/tests/classic/get_current_url/file.py
@@ -1,4 +1,3 @@
-from tests.support import platform_name
from tests.support.asserts import assert_success
@@ -7,11 +6,11 @@ def get_current_url(session):
"GET", "session/{session_id}/url".format(**vars(session)))
-def test_get_current_url_file_protocol(session, server_config):
+def test_get_current_url_file_protocol(session, target_platform, server_config):
# tests that the browsing context remains the same
# when navigated privileged documents
path = server_config["doc_root"]
- if platform_name == "windows":
+ if target_platform == "windows":
# Convert the path into the format eg. /c:/foo/bar
path = "/{}".format(path.replace("\\", "/"))
url = u"file://{}".format(path)
diff --git a/tests/wpt/tests/webdriver/tests/classic/navigate_to/file.py b/tests/wpt/tests/webdriver/tests/classic/navigate_to/file.py
index 5dae5f5c4d0..213162c7b92 100644
--- a/tests/wpt/tests/webdriver/tests/classic/navigate_to/file.py
+++ b/tests/wpt/tests/webdriver/tests/classic/navigate_to/file.py
@@ -1,4 +1,3 @@
-from tests.support import platform_name
from tests.support.asserts import assert_success
@@ -8,11 +7,11 @@ def navigate_to(session, url):
{"url": url})
-def test_file_protocol(session, server_config):
+def test_file_protocol(session, target_platform, server_config):
# tests that the browsing context remains the same
# when navigated privileged documents
path = server_config["doc_root"]
- if platform_name == "windows":
+ if target_platform == "windows":
# Convert the path into the format eg. /c:/foo/bar
path = "/{}".format(path.replace("\\", "/"))
url = u"file://{}".format(path)
diff --git a/tests/wpt/tests/webdriver/tests/classic/new_session/merge.py b/tests/wpt/tests/webdriver/tests/classic/new_session/merge.py
index 857d289fcaf..4d36926fd3f 100644
--- a/tests/wpt/tests/webdriver/tests/classic/new_session/merge.py
+++ b/tests/wpt/tests/webdriver/tests/classic/new_session/merge.py
@@ -3,14 +3,14 @@
import pytest
from tests.support.asserts import assert_error, assert_success
-from tests.support import platform_name
-@pytest.mark.skipif(platform_name is None, reason="Unsupported platform {}".format(platform_name))
-@pytest.mark.parametrize("body", [lambda key, value: {"alwaysMatch": {key: value}},
- lambda key, value: {"firstMatch": [{key: value}]}])
-def test_platform_name(new_session, add_browser_capabilities, body):
- capabilities = body("platformName", platform_name)
+@pytest.mark.parametrize("body", [
+ lambda key, value: {"alwaysMatch": {key: value}},
+ lambda key, value: {"firstMatch": [{key: value}]}
+], ids=["alwaysMatch", "firstMatch"])
+def test_platform_name(new_session, add_browser_capabilities, body, target_platform):
+ capabilities = body("platformName", target_platform)
if "alwaysMatch" in capabilities:
capabilities["alwaysMatch"] = add_browser_capabilities(capabilities["alwaysMatch"])
else:
@@ -19,7 +19,7 @@ def test_platform_name(new_session, add_browser_capabilities, body):
response, _ = new_session({"capabilities": capabilities})
value = assert_success(response)
- assert value["capabilities"]["platformName"] == platform_name
+ assert value["capabilities"]["platformName"] == target_platform
invalid_merge = [
@@ -40,26 +40,26 @@ def test_merge_invalid(new_session, add_browser_capabilities, key, value):
assert_error(response, "invalid argument")
-@pytest.mark.skipif(platform_name is None, reason="Unsupported platform {}".format(platform_name))
-def test_merge_platformName(new_session, add_browser_capabilities):
+def test_merge_platform_name(new_session, add_browser_capabilities, target_platform):
response, _ = new_session({"capabilities": {
"alwaysMatch": add_browser_capabilities({"timeouts": {"script": 10}}),
"firstMatch": [{
- "platformName": platform_name.upper(),
+ "platformName": target_platform.upper(),
"pageLoadStrategy": "none",
}, {
- "platformName": platform_name,
+ "platformName": target_platform,
"pageLoadStrategy": "eager",
}]}})
value = assert_success(response)
- assert value["capabilities"]["platformName"] == platform_name
+ assert value["capabilities"]["platformName"] == target_platform
assert value["capabilities"]["pageLoadStrategy"] == "eager"
def test_merge_browserName(new_session, add_browser_capabilities):
- response, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
+ response, _ = new_session(
+ {"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
value = assert_success(response)
browser_settings = {
diff --git a/tests/wpt/tests/webdriver/tests/classic/new_session/platform_name.py b/tests/wpt/tests/webdriver/tests/classic/new_session/platform_name.py
index 54fe4743bed..fb87d9d682a 100644
--- a/tests/wpt/tests/webdriver/tests/classic/new_session/platform_name.py
+++ b/tests/wpt/tests/webdriver/tests/classic/new_session/platform_name.py
@@ -1,11 +1,7 @@
-import pytest
-
-from tests.support import platform_name
from tests.support.asserts import assert_success
-@pytest.mark.skipif(platform_name is None, reason="Unsupported platform {}".format(platform_name))
-def test_corresponds_to_local_system(new_session, add_browser_capabilities):
+def test_corresponds_to_local_system(new_session, add_browser_capabilities, target_platform):
response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
value = assert_success(response)
- assert value["capabilities"]["platformName"] == platform_name
+ assert value["capabilities"]["platformName"] == target_platform
diff --git a/tests/wpt/tests/webdriver/tests/support/__init__.py b/tests/wpt/tests/webdriver/tests/support/__init__.py
index 0535edd2142..8b137891791 100644
--- a/tests/wpt/tests/webdriver/tests/support/__init__.py
+++ b/tests/wpt/tests/webdriver/tests/support/__init__.py
@@ -1,12 +1 @@
-import sys
-platform_name = {
- # From Python version 3.3: On Linux, sys.platform doesn't contain the major version anymore.
- # It is always 'linux'. See
- # https://docs.python.org/3/library/sys.html#sys.platform
- "linux": "linux",
- "linux2": "linux",
- "win32": "windows",
- "cygwin": "windows",
- "darwin": "mac"
-}.get(sys.platform)
diff --git a/tests/wpt/tests/webdriver/tests/support/fixtures.py b/tests/wpt/tests/webdriver/tests/support/fixtures.py
index 55256425f39..a8f1f2959d4 100644
--- a/tests/wpt/tests/webdriver/tests/support/fixtures.py
+++ b/tests/wpt/tests/webdriver/tests/support/fixtures.py
@@ -237,6 +237,11 @@ def current_session():
@pytest.fixture
+def target_platform(configuration):
+ return configuration["target_platform"]
+
+
+@pytest.fixture
def url(server_config):
def url(path, protocol="https", domain="", subdomain="", query="", fragment=""):
domain = server_config["domains"][domain][subdomain]
diff --git a/tests/wpt/tests/webdriver/tests/support/helpers.py b/tests/wpt/tests/webdriver/tests/support/helpers.py
index 2b810be8a99..0ca5bd28269 100644
--- a/tests/wpt/tests/webdriver/tests/support/helpers.py
+++ b/tests/wpt/tests/webdriver/tests/support/helpers.py
@@ -41,7 +41,10 @@ def cleanup_session(session):
try:
session.window_handle
except webdriver.NoSuchWindowException:
- session.window_handle = session.handles[0]
+ handles = session.handles
+ if handles:
+ # Update only when there is at least one valid window left.
+ session.window_handle = handles[0]
@ignore_exceptions
def _restore_timeouts(session):
diff --git a/tests/wpt/tests/webnn/resources/utils_validation.js b/tests/wpt/tests/webnn/resources/utils_validation.js
index 7ef52497a9a..2ac308242a1 100644
--- a/tests/wpt/tests/webnn/resources/utils_validation.js
+++ b/tests/wpt/tests/webnn/resources/utils_validation.js
@@ -357,6 +357,8 @@ function validateOptionsAxes(operationName) {
*/
function validateUnaryOperation(
operationName, supportedDataTypes, alsoBuildActivation = false) {
+ // TODO: crbug.com/345271830 - use context.opSupportLimits to get supported
+ // data types for current context.
for (let dataType of supportedDataTypes) {
for (let dimensions of allWebNNDimensionsArray) {
promise_test(
diff --git a/tests/wpt/tests/webnn/validation_tests/constant-changed-buffer.https.any.js b/tests/wpt/tests/webnn/validation_tests/constant-changed-buffer.https.any.js
new file mode 100644
index 00000000000..7840a83d947
--- /dev/null
+++ b/tests/wpt/tests/webnn/validation_tests/constant-changed-buffer.https.any.js
@@ -0,0 +1,61 @@
+// META: title=ensure MLGraphBuilder.constant() handles buffers which change
+// META: global=window,dedicatedworker
+// META: script=../resources/utils_validation.js
+
+promise_test(async t => {
+ let backingBuffer = new ArrayBuffer(8);
+ let aBuffer = new Float32Array(backingBuffer, 0, 2);
+ aBuffer[0] = 2;
+ aBuffer[1] = 3;
+ const a = builder.constant({dataType: 'float32', dimensions: [2]}, aBuffer);
+
+ // Detach `aBuffer`. Constant data should already be copied, so changes to
+ // the buffer afterwards should not be reflected in the graph.
+ const unusedBuffer = backingBuffer.transfer();
+
+ const b = builder.input('b', {dataType: 'float32', dimensions: [2]});
+ const c = builder.add(a, b);
+ const graph = await builder.build({c});
+
+ const bBuffer = new Float32Array([5, 7]);
+ const cBuffer = new Float32Array(2);
+ const result = await context.compute(graph, {'b': bBuffer}, {'c': cBuffer});
+
+ const expectedResult = new Float32Array([7, 10]);
+ assert_array_equals(result.outputs.c, expectedResult);
+}, 'Constant data is unaffected by detaching the buffer');
+
+promise_test(async t => {
+ let aBuffer = new Float32Array([2, 3]);
+ const a = builder.constant({dataType: 'float32', dimensions: [2]}, aBuffer);
+
+ // Rewrite `aBuffer` contents. Constant data should already be copied, so
+ // changes to the buffer afterwards should not be reflected in the graph.
+ aBuffer[0] = 10;
+ aBuffer[1] = 20;
+
+ const b = builder.input('b', {dataType: 'float32', dimensions: [2]});
+ const c = builder.add(a, b);
+ const graph = await builder.build({c});
+
+ const bBuffer = new Float32Array([5, 7]);
+ const cBuffer = new Float32Array(2);
+ const result = await context.compute(graph, {'b': bBuffer}, {'c': cBuffer});
+
+ const expectedResult = new Float32Array([7, 10]);
+ assert_array_equals(result.outputs.c, expectedResult);
+}, 'Constant data is unaffected by changes to the buffer contents');
+
+promise_test(async t => {
+ let backingBuffer = new ArrayBuffer(8);
+ const aBuffer = new Float32Array(backingBuffer, 0, 2);
+ // Detach `aBuffer` _before_ calling `constant()`. This should throw, since
+ // detached buffers have a length of zero, which does not match the length of
+ // the descriptor. See
+ // https://webidl.spec.whatwg.org/#dfn-get-buffer-source-copy
+ const unusedBuffer = backingBuffer.transfer();
+
+ assert_throws_js(
+ TypeError,
+ () => builder.constant({dataType: 'float32', dimensions: [2]}, aBuffer));
+}, 'Constant data cannot use a detached buffer, which is empty');
diff --git a/tests/wpt/tests/webrtc/RTCError.html b/tests/wpt/tests/webrtc/RTCError.html
index bcc5749bf7d..2650c54f9a7 100644
--- a/tests/wpt/tests/webrtc/RTCError.html
+++ b/tests/wpt/tests/webrtc/RTCError.html
@@ -61,7 +61,6 @@ test(() => {
// All of these are number types (long or unsigned long).
const nullableAttributes = ['sdpLineNumber',
- 'httpRequestStatusCode',
'sctpCauseCode',
'receivedAlert',
'sentAlert'];
@@ -86,4 +85,8 @@ nullableAttributes.forEach(attribute => {
}, 'RTCError.' + attribute + ' is readonly');
});
+test(function() {
+ assert_false("httpRequestStatusCode" in RTCError.prototype,
+ "Should not be supported on the prototype");
+}, "RTCError httpRequestStatusCode should not be supported.");
</script>