aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWPT Sync Bot <josh+wptsync@joshmatthews.net>2018-03-26 21:10:36 -0400
committerWPT Sync Bot <josh+wptsync@joshmatthews.net>2018-03-26 22:40:53 -0400
commitc6c4fb2f7a62b295c39e53a8600b74df203e53ab (patch)
treef0c151ad0ad73321973e2695509f4c1cb4c8e2f9 /tests
parent1981efcc3585d244f6293716fbcf833afa58e629 (diff)
downloadservo-c6c4fb2f7a62b295c39e53a8600b74df203e53ab.tar.gz
servo-c6c4fb2f7a62b295c39e53a8600b74df203e53ab.zip
Update web-platform-tests to revision 06f77f6bfaa86f3643a79f1ec2c49c6b6955cf18
Diffstat (limited to 'tests')
-rw-r--r--tests/wpt/metadata/MANIFEST.json423
-rw-r--r--tests/wpt/metadata/css/css-paint-api/background-image-alpha.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/background-image-multiple.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/background-image-tiled.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-background-image-001.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-background-image-002.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-border-image-002.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-border-image-003.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/geometry-with-float-size.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/hidpi/device-pixel-ratio.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/invalid-image-constructor-error.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/invalid-image-paint-error.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/invalid-image-pending-script.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint-arguments.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint-function-arguments.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-composite.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-filter.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-gradient.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-image.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-paths.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-rects.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-shadows.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/paint2d-transform.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-001.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-002.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-003.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-004.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-005.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-006.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-007.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-008.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-009.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-010.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-011.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-012.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-013.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-014.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-015.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-016.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-017.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-018.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-019.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-020.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-021.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/parse-input-arguments-022.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/style-background-image.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/style-before-pseudo.https.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-paint-api/style-first-letter-pseudo.https.html.ini2
-rw-r--r--tests/wpt/metadata/dom/nodes/Element-classlist.html.ini1
-rw-r--r--tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini4
-rw-r--r--tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini20
-rw-r--r--tests/wpt/metadata/workers/modules/dedicated-worker-static-import.html.ini8
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini5
-rw-r--r--tests/wpt/web-platform-tests/common/worklet-reftest.js32
-rw-r--r--tests/wpt/web-platform-tests/css/css-flexbox/table-as-item-auto-min-width.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-child.https.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment-request.https.html84
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment.https.html82
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html61
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js52
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-worklet.js6
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001-ref.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002-ref.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/block-size.html51
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-family.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-language-override.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-palette.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-presentation.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size.html103
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-stretch.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/gap.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/inline-size.html51
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html22
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html2
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html2
-rw-r--r--tests/wpt/web-platform-tests/resources/test/README.md14
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py18
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html48
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/dedicated-worker-static-import.html21
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js1
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js2
-rw-r--r--tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js1
108 files changed, 2087 insertions, 135 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index d149292edfb..6c75798b1b1 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -112941,6 +112941,18 @@
{}
]
],
+ "css/css-flexbox/table-as-item-auto-min-width.html": [
+ [
+ "/css/css-flexbox/table-as-item-auto-min-width.html",
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-flexbox/table-as-item-narrow-content.html": [
[
"/css/css-flexbox/table-as-item-narrow-content.html",
@@ -117749,6 +117761,42 @@
{}
]
],
+ "css/css-layout-api/fallback-layout-invalid-child.https.html": [
+ [
+ "/css/css-layout-api/fallback-layout-invalid-child.https.html",
+ [
+ [
+ "/css/css-layout-api/fallback-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/fallback-layout-invalid-fragment-request.https.html": [
+ [
+ "/css/css-layout-api/fallback-layout-invalid-fragment-request.https.html",
+ [
+ [
+ "/css/css-layout-api/fallback-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/fallback-layout-invalid-fragment.https.html": [
+ [
+ "/css/css-layout-api/fallback-layout-invalid-fragment.https.html",
+ [
+ [
+ "/css/css-layout-api/fallback-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-layout-api/fallback-layout-return.https.html": [
[
"/css/css-layout-api/fallback-layout-return.https.html",
@@ -117845,6 +117893,54 @@
{}
]
],
+ "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [
+ [
+ "/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/layout-child-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [
+ [
+ "/css/css-layout-api/perform-child-layout-fixed-block-size.https.html",
+ [
+ [
+ "/css/css-layout-api/layout-child-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [
+ [
+ "/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/layout-child-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [
+ [
+ "/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html",
+ [
+ [
+ "/css/css-layout-api/layout-child-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-layout-api/style-map-multi.https.html": [
[
"/css/css-layout-api/style-map-multi.https.html",
@@ -126849,6 +126945,30 @@
{}
]
],
+ "css/css-sizing/intrinsic-percent-non-replaced-001.html": [
+ [
+ "/css/css-sizing/intrinsic-percent-non-replaced-001.html",
+ [
+ [
+ "/css/css-sizing/intrinsic-percent-non-replaced-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-sizing/intrinsic-percent-non-replaced-003.html": [
+ [
+ "/css/css-sizing/intrinsic-percent-non-replaced-003.html",
+ [
+ [
+ "/css/css-sizing/intrinsic-percent-non-replaced-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-style-attr/style-attr-braces-001.xht": [
[
"/css/css-style-attr/style-attr-braces-001.xht",
@@ -248204,6 +248324,11 @@
{}
]
],
+ "css/css-layout-api/support/layout-child-fixed-sizes-worklet.js": [
+ [
+ {}
+ ]
+ ],
"css/css-layout-api/support/layout-child-worklet.js": [
[
{}
@@ -251439,6 +251564,16 @@
{}
]
],
+ "css/css-sizing/intrinsic-percent-non-replaced-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-sizing/intrinsic-percent-non-replaced-002-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-speech/OWNERS": [
[
{}
@@ -297829,6 +297964,21 @@
{}
]
],
+ "workers/modules/resources/dynamic-import-and-then-static-import-worker.js": [
+ [
+ {}
+ ]
+ ],
+ "workers/modules/resources/dynamic-import-worker.js": [
+ [
+ {}
+ ]
+ ],
+ "workers/modules/resources/nested-dynamic-import-worker.js": [
+ [
+ {}
+ ]
+ ],
"workers/modules/resources/nested-static-import-worker.js": [
[
{}
@@ -297839,6 +297989,11 @@
{}
]
],
+ "workers/modules/resources/static-import-and-then-dynamic-import-worker.js": [
+ [
+ {}
+ ]
+ ],
"workers/modules/resources/static-import-worker.js": [
[
{}
@@ -317283,6 +317438,12 @@
{}
]
],
+ "css/css-typed-om/the-stylepropertymap/properties/block-size.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/block-size.html",
+ {}
+ ]
+ ],
"css/css-typed-om/the-stylepropertymap/properties/border-collapse.html": [
[
"/css/css-typed-om/the-stylepropertymap/properties/border-collapse.html",
@@ -317433,30 +317594,120 @@
{}
]
],
+ "css/css-typed-om/the-stylepropertymap/properties/font-family.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-family.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-language-override.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-language-override.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-palette.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-palette.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-presentation.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-presentation.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html",
+ {}
+ ]
+ ],
"css/css-typed-om/the-stylepropertymap/properties/font-size.html": [
[
"/css/css-typed-om/the-stylepropertymap/properties/font-size.html",
{}
]
],
+ "css/css-typed-om/the-stylepropertymap/properties/font-stretch.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-stretch.html",
+ {}
+ ]
+ ],
"css/css-typed-om/the-stylepropertymap/properties/font-style.html": [
[
"/css/css-typed-om/the-stylepropertymap/properties/font-style.html",
{}
]
],
+ "css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variant.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-variant.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html",
+ {}
+ ]
+ ],
"css/css-typed-om/the-stylepropertymap/properties/font-weight.html": [
[
"/css/css-typed-om/the-stylepropertymap/properties/font-weight.html",
{}
]
],
+ "css/css-typed-om/the-stylepropertymap/properties/font.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/font.html",
+ {}
+ ]
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/gap.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/gap.html",
+ {}
+ ]
+ ],
"css/css-typed-om/the-stylepropertymap/properties/height.html": [
[
"/css/css-typed-om/the-stylepropertymap/properties/height.html",
{}
]
],
+ "css/css-typed-om/the-stylepropertymap/properties/inline-size.html": [
+ [
+ "/css/css-typed-om/the-stylepropertymap/properties/inline-size.html",
+ {}
+ ]
+ ],
"css/css-typed-om/the-stylepropertymap/properties/isolation.html": [
[
"/css/css-typed-om/the-stylepropertymap/properties/isolation.html",
@@ -369919,15 +370170,15 @@
{}
]
],
- "workers/modules/dedicated-worker-options-type.html": [
+ "workers/modules/dedicated-worker-import.html": [
[
- "/workers/modules/dedicated-worker-options-type.html",
+ "/workers/modules/dedicated-worker-import.html",
{}
]
],
- "workers/modules/dedicated-worker-static-import.html": [
+ "workers/modules/dedicated-worker-options-type.html": [
[
- "/workers/modules/dedicated-worker-static-import.html",
+ "/workers/modules/dedicated-worker-options-type.html",
{}
]
],
@@ -390349,6 +390600,12 @@
{}
]
],
+ "css/css-sizing/intrinsic-percent-non-replaced-002.html": [
+ [
+ "/css/css-sizing/intrinsic-percent-non-replaced-002.html",
+ {}
+ ]
+ ],
"css/css-text-decor/text-decoration-visibility-001.xht": [
[
"/css/css-text-decor/text-decoration-visibility-001.xht",
@@ -402453,7 +402710,7 @@
"support"
],
"common/worklet-reftest.js": [
- "29a9c4f2f6187fc64ecd1c77bcccfa1aef278ed8",
+ "11ef28419b58983d473606865c0d7a47be5e4056",
"support"
],
"compat/OWNERS": [
@@ -492524,6 +492781,10 @@
"078e1dd6dd61d36cec239ed75d02051f61fe60a5",
"support"
],
+ "css/css-flexbox/table-as-item-auto-min-width.html": [
+ "d70cb1447c942c9f66f6503b6c769b2db188b5dc",
+ "reftest"
+ ],
"css/css-flexbox/table-as-item-narrow-content.html": [
"ccee1a24278c3177809a09009c2f15973908fa83",
"reftest"
@@ -502380,6 +502641,18 @@
"3d279f42a9b8e8ea0f6dc120d36ca0597372ef9b",
"reftest"
],
+ "css/css-layout-api/fallback-layout-invalid-child.https.html": [
+ "f2fa9fefa56073f42a0537fa3140f37ca0c316da",
+ "reftest"
+ ],
+ "css/css-layout-api/fallback-layout-invalid-fragment-request.https.html": [
+ "24aed5d6b0f7ea7095324ce1f59adb0498277bdf",
+ "reftest"
+ ],
+ "css/css-layout-api/fallback-layout-invalid-fragment.https.html": [
+ "991b73a63246ae1d2676df32c3a56028f5a9583b",
+ "reftest"
+ ],
"css/css-layout-api/fallback-layout-return.https.html": [
"159662be847f8657d33a0607cb0e6561d57ef4e1",
"reftest"
@@ -502424,6 +502697,22 @@
"567ff67317cae9906e6d159dc232c41464a4e7c6",
"reftest"
],
+ "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [
+ "341711737d74fb068bb3a2e348e47820c236fa49",
+ "reftest"
+ ],
+ "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [
+ "486fe671afaa9275bc6b32c49ca4c8143290f9be",
+ "reftest"
+ ],
+ "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [
+ "3c3b4c800af40a85eb9ddb588a07fc0d8ceec5cf",
+ "reftest"
+ ],
+ "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [
+ "a25a85095781de557edde6dd02b82ee052642bf1",
+ "reftest"
+ ],
"css/css-layout-api/style-map-multi-ref.html": [
"d33f700e795484641d3cc7db1c26e09dca952209",
"support"
@@ -502440,8 +502729,12 @@
"361b3c82c37c0068d23ae23e96d8e9185d3765b0",
"reftest"
],
+ "css/css-layout-api/support/layout-child-fixed-sizes-worklet.js": [
+ "5ddda72e3c9d077508622511e8685249c7803028",
+ "support"
+ ],
"css/css-layout-api/support/layout-child-worklet.js": [
- "bea931d2a111e173494ec3bf2adaa9cc42b73a1e",
+ "87af0bfedbe9d4ea23e904edc5b22382a5d5d56c",
"support"
],
"css/css-layout-api/supports.https.html": [
@@ -509248,6 +509541,26 @@
"5bb192165bcb7d9a619d86dbff61831fc8de71cb",
"support"
],
+ "css/css-sizing/intrinsic-percent-non-replaced-001-ref.html": [
+ "67a4540f6b7de22155226b39e948c7a7e2c33f1b",
+ "support"
+ ],
+ "css/css-sizing/intrinsic-percent-non-replaced-001.html": [
+ "58ce478fe083f05e3bdbb3f24988341f3e7095b5",
+ "reftest"
+ ],
+ "css/css-sizing/intrinsic-percent-non-replaced-002-ref.html": [
+ "8c6cde1d06cd3ba83b3049edbb0016033fbb62b4",
+ "support"
+ ],
+ "css/css-sizing/intrinsic-percent-non-replaced-002.html": [
+ "9d9c514c876bb9aa2c577dbd15c14358e7b0d0c4",
+ "visual"
+ ],
+ "css/css-sizing/intrinsic-percent-non-replaced-003.html": [
+ "43d44ad3a75e6abb9d66d06c3cdc71dbcb366651",
+ "reftest"
+ ],
"css/css-speech/Integer.html": [
"8db91e711b22ead393b1d9a18c224a7f838b85b0",
"manual"
@@ -522676,6 +522989,10 @@
"32d684e452a4bafd7b58a0b33d42d32aa51ac091",
"testharness"
],
+ "css/css-typed-om/the-stylepropertymap/properties/block-size.html": [
+ "4dc26a97d56a24c053efac27b5988456d750d186",
+ "testharness"
+ ],
"css/css-typed-om/the-stylepropertymap/properties/border-collapse.html": [
"93e71097d3b28c88f51210a2f2a9fcf433f80cba",
"testharness"
@@ -522776,22 +523093,82 @@
"1dfca0045c2b57f36d5165139087301ffe54c63a",
"testharness"
],
+ "css/css-typed-om/the-stylepropertymap/properties/font-family.html": [
+ "72e8dd4dd54081fe9b2278c860f2752e2d17de74",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-language-override.html": [
+ "e43730c10c85fc5bbed8e6a32c594f5c643e4786",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html": [
+ "7183f6fcb2fd4e713d3b2d6cbc7211a8b2a071a6",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-palette.html": [
+ "8ec2ff5bbc9913680fd5fab16949f4aaf4eca740",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-presentation.html": [
+ "fe359fc963e95d1ca539bb9f217164292e5a13fb",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html": [
+ "1a8fa0ace8426d7cfecaaa79e2f4fbd77c5265ab",
+ "testharness"
+ ],
"css/css-typed-om/the-stylepropertymap/properties/font-size.html": [
- "bb31e5cb88492bece2c54ff106d01e789e3f08a6",
+ "5b405bd6bb5ea140bf6a3d62b670e2924fcc6378",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-stretch.html": [
+ "52438b3be5d9c1037863880834e766dda7d07d5a",
"testharness"
],
"css/css-typed-om/the-stylepropertymap/properties/font-style.html": [
"c4a42872dca602b71f021799d29e404cfa7ed90e",
"testharness"
],
+ "css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html": [
+ "de9400e7f238dbc1dc47fb5f483b3ba01eefe934",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html": [
+ "141eab85e1a4bcbc051d61dc502bb90613eae996",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html": [
+ "737a0494625e9d22c16f791fbb437c47d4a2923b",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variant.html": [
+ "b538f2ed407c8cfd4718c28082da3de237cd9953",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html": [
+ "566a8c49d7a7e71e960061fee88c9b17d33f1e45",
+ "testharness"
+ ],
"css/css-typed-om/the-stylepropertymap/properties/font-weight.html": [
"6429fa7266a227e93cb0a5d3eb19468b0f73fce8",
"testharness"
],
+ "css/css-typed-om/the-stylepropertymap/properties/font.html": [
+ "6f3f672ecb0ad0b4391b7c7fbd8bb666b77a1efc",
+ "testharness"
+ ],
+ "css/css-typed-om/the-stylepropertymap/properties/gap.html": [
+ "e113dfd152548c6ba612d40af13ba5877673b043",
+ "testharness"
+ ],
"css/css-typed-om/the-stylepropertymap/properties/height.html": [
"617ec941ab1cbd02b31b8a9bb7ce6da311109476",
"testharness"
],
+ "css/css-typed-om/the-stylepropertymap/properties/inline-size.html": [
+ "531ad3bba92bfdb60377dc755d40f3300d0843e0",
+ "testharness"
+ ],
"css/css-typed-om/the-stylepropertymap/properties/isolation.html": [
"883b36434d3e3d8fee25f0ae0fee9884b5ceef44",
"testharness"
@@ -546353,7 +546730,7 @@
"testharness"
],
"dom/nodes/Element-classlist.html": [
- "e0a3126453af3e138c322ae0074d7ee73d604a8d",
+ "db5f4b3f723db026b90e299b2c7be5e5e4f081f5",
"testharness"
],
"dom/nodes/Element-closest.html": [
@@ -573829,7 +574206,7 @@
"testharness"
],
"mediacapture-streams/MediaDevices-enumerateDevices.https.html": [
- "892229b737d157845d9b2e24170f3bc820b10036",
+ "c44f824ed1836c272125b0b5b10653cb86db2a7e",
"testharness"
],
"mediacapture-streams/MediaDevices-getUserMedia.https.html": [
@@ -573893,7 +574270,7 @@
"manual"
],
"mediacapture-streams/MediaStreamTrack-getCapabilities.https.html": [
- "77afad651acf85273270f1b75f660e7e800c0ff1",
+ "23863eb0835fb86d556e6ea95692f52572a38170",
"testharness"
],
"mediacapture-streams/MediaStreamTrack-getSettings.https.html": [
@@ -608228,24 +608605,40 @@
"6bffa3be83d81e2faa93119e710e4fee93fb855e",
"testharness"
],
+ "workers/modules/dedicated-worker-import.html": [
+ "752698b4f8f7298ca2ecc74d41887117a636118a",
+ "testharness"
+ ],
"workers/modules/dedicated-worker-options-type.html": [
"9f6f1be759beb885e2baa746e36ace83685f649b",
"testharness"
],
- "workers/modules/dedicated-worker-static-import.html": [
- "d0d3dc37a8c061a1dc5213f8fe79e7f985c48b81",
- "testharness"
+ "workers/modules/resources/dynamic-import-and-then-static-import-worker.js": [
+ "f4df69196f64cd81e92705186325004ac94db659",
+ "support"
+ ],
+ "workers/modules/resources/dynamic-import-worker.js": [
+ "444e313fe51923097e3672d88d0afd30aac5ecab",
+ "support"
+ ],
+ "workers/modules/resources/nested-dynamic-import-worker.js": [
+ "4ee05f3be8a1b41a9e2fa3e24d40ec5103f67eac",
+ "support"
],
"workers/modules/resources/nested-static-import-worker.js": [
- "eb76ec7e8a0f9df6de7114e3aa9100f8374fea8f",
+ "38ca86e8e32df51af7d848474f31a7b8ff9dc3aa",
"support"
],
"workers/modules/resources/post-message-on-load-worker.js": [
"c67a79ade775435a67e5999d17e7cdda450c8e50",
"support"
],
+ "workers/modules/resources/static-import-and-then-dynamic-import-worker.js": [
+ "f69987442b6a223a868e6c1a7ca6d9cee2976068",
+ "support"
+ ],
"workers/modules/resources/static-import-worker.js": [
- "f3020118d7e499e0e910abc7a733e0b9c3cf1e5a",
+ "6d5fb2c553d2f32cdd16722a85bd65e0a172768c",
"support"
],
"workers/name-property.html": [
diff --git a/tests/wpt/metadata/css/css-paint-api/background-image-alpha.https.html.ini b/tests/wpt/metadata/css/css-paint-api/background-image-alpha.https.html.ini
new file mode 100644
index 00000000000..479b65f86bb
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/background-image-alpha.https.html.ini
@@ -0,0 +1,2 @@
+[background-image-alpha.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/background-image-multiple.https.html.ini b/tests/wpt/metadata/css/css-paint-api/background-image-multiple.https.html.ini
new file mode 100644
index 00000000000..7e29d2e7a51
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/background-image-multiple.https.html.ini
@@ -0,0 +1,2 @@
+[background-image-multiple.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/background-image-tiled.https.html.ini b/tests/wpt/metadata/css/css-paint-api/background-image-tiled.https.html.ini
index 10e6dc50956..59a99e96cc3 100644
--- a/tests/wpt/metadata/css/css-paint-api/background-image-tiled.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/background-image-tiled.https.html.ini
@@ -1,3 +1,3 @@
[background-image-tiled.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-background-image-001.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-001.https.html.ini
new file mode 100644
index 00000000000..3f390ea3e28
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-001.https.html.ini
@@ -0,0 +1,2 @@
+[geometry-background-image-001.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-background-image-002.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-002.https.html.ini
new file mode 100644
index 00000000000..7a0d746f329
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-002.https.html.ini
@@ -0,0 +1,2 @@
+[geometry-background-image-002.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini
new file mode 100644
index 00000000000..32570f3c109
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini
@@ -0,0 +1,2 @@
+[geometry-background-image-tiled-001.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini
new file mode 100644
index 00000000000..e1961292f59
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini
@@ -0,0 +1,2 @@
+[geometry-background-image-tiled-002.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini
new file mode 100644
index 00000000000..35cb849df6d
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini
@@ -0,0 +1,2 @@
+[geometry-background-image-tiled-003.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini
index be79ff9381d..d1b54718df2 100644
--- a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini
@@ -1,4 +1,4 @@
[geometry-border-image-001.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17861
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-002.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-002.https.html.ini
index 159e1221517..ddf81eebb66 100644
--- a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-002.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-002.https.html.ini
@@ -1,4 +1,4 @@
[geometry-border-image-002.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17860
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-003.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-003.https.html.ini
index 36e1fa1632f..b47eeed7f67 100644
--- a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-003.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-003.https.html.ini
@@ -1,4 +1,4 @@
[geometry-border-image-003.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17860
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini
index b39ba7c1aed..99379ab691a 100644
--- a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini
@@ -1,4 +1,4 @@
[geometry-border-image-004.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17860
diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-with-float-size.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-with-float-size.https.html.ini
index 0531826fde8..2c1914716d9 100644
--- a/tests/wpt/metadata/css/css-paint-api/geometry-with-float-size.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/geometry-with-float-size.https.html.ini
@@ -1,3 +1,3 @@
[geometry-with-float-size.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/hidpi/device-pixel-ratio.https.html.ini b/tests/wpt/metadata/css/css-paint-api/hidpi/device-pixel-ratio.https.html.ini
index 7954ffb5449..b9c66dd87b6 100644
--- a/tests/wpt/metadata/css/css-paint-api/hidpi/device-pixel-ratio.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/hidpi/device-pixel-ratio.https.html.ini
@@ -1,3 +1,3 @@
[device-pixel-ratio.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/invalid-image-constructor-error.https.html.ini b/tests/wpt/metadata/css/css-paint-api/invalid-image-constructor-error.https.html.ini
new file mode 100644
index 00000000000..30d836b08c9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/invalid-image-constructor-error.https.html.ini
@@ -0,0 +1,2 @@
+[invalid-image-constructor-error.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/invalid-image-paint-error.https.html.ini b/tests/wpt/metadata/css/css-paint-api/invalid-image-paint-error.https.html.ini
new file mode 100644
index 00000000000..e9ad7f3b661
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/invalid-image-paint-error.https.html.ini
@@ -0,0 +1,2 @@
+[invalid-image-paint-error.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/invalid-image-pending-script.https.html.ini b/tests/wpt/metadata/css/css-paint-api/invalid-image-pending-script.https.html.ini
new file mode 100644
index 00000000000..0e94a6eb7d4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/invalid-image-pending-script.https.html.ini
@@ -0,0 +1,2 @@
+[invalid-image-pending-script.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini b/tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini
new file mode 100644
index 00000000000..4f18965fa1e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/overdraw.https.html.ini
@@ -0,0 +1,2 @@
+[overdraw.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint-arguments.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint-arguments.https.html.ini
new file mode 100644
index 00000000000..bf68f632103
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint-arguments.https.html.ini
@@ -0,0 +1,2 @@
+[paint-arguments.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint-function-arguments.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint-function-arguments.https.html.ini
new file mode 100644
index 00000000000..ffd570ab7b5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint-function-arguments.https.html.ini
@@ -0,0 +1,2 @@
+[paint-function-arguments.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-composite.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-composite.https.html.ini
new file mode 100644
index 00000000000..8e01024ecd3
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-composite.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-composite.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-filter.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-filter.https.html.ini
new file mode 100644
index 00000000000..6e335b8aa91
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-filter.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-filter.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-gradient.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-gradient.https.html.ini
new file mode 100644
index 00000000000..647ae1fe608
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-gradient.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-gradient.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-image.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-image.https.html.ini
new file mode 100644
index 00000000000..98de56363ae
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-image.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-image.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-paths.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-paths.https.html.ini
index 49388848526..c9edb8a528c 100644
--- a/tests/wpt/metadata/css/css-paint-api/paint2d-paths.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-paths.https.html.ini
@@ -1,4 +1,4 @@
[paint2d-paths.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17597
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-rects.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-rects.https.html.ini
new file mode 100644
index 00000000000..f4200de874c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-rects.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-rects.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-shadows.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-shadows.https.html.ini
new file mode 100644
index 00000000000..3965c99673c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-shadows.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-shadows.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/paint2d-transform.https.html.ini b/tests/wpt/metadata/css/css-paint-api/paint2d-transform.https.html.ini
new file mode 100644
index 00000000000..995774849e6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/paint2d-transform.https.html.ini
@@ -0,0 +1,2 @@
+[paint2d-transform.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-001.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-001.https.html.ini
new file mode 100644
index 00000000000..5682d7acb75
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-001.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-001.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-002.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-002.https.html.ini
index d747392eb3b..0e83b87337f 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-002.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-002.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-002.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-003.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-003.https.html.ini
index 8c925cb0088..6c969e9f2cb 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-003.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-003.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-003.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-004.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-004.https.html.ini
new file mode 100644
index 00000000000..dc22b0ad171
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-004.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-004.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-005.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-005.https.html.ini
index 270647ca332..6d0473eb48d 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-005.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-005.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-005.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-006.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-006.https.html.ini
index eb77aa65f63..6c06a82a21b 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-006.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-006.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-006.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-007.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-007.https.html.ini
new file mode 100644
index 00000000000..26858bc307a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-007.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-007.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-008.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-008.https.html.ini
index 773a2c4c43c..1cd6e6e3b6a 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-008.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-008.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-008.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-009.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-009.https.html.ini
index 3e7ac7e9277..9c6ca47aae4 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-009.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-009.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-009.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-010.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-010.https.html.ini
index 742b2ff5c26..f0ba7f0a408 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-010.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-010.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-010.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-011.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-011.https.html.ini
index 6c51f66c0f7..75b4b5024b8 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-011.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-011.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-011.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-012.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-012.https.html.ini
index 056507d65af..fb4d458ad26 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-012.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-012.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-012.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-013.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-013.https.html.ini
new file mode 100644
index 00000000000..4aa37a6d53f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-013.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-013.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-014.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-014.https.html.ini
new file mode 100644
index 00000000000..59a4382f875
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-014.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-014.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-015.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-015.https.html.ini
new file mode 100644
index 00000000000..7d888a7fcda
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-015.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-015.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-016.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-016.https.html.ini
index 1ba90f98ec4..050a7c9f65d 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-016.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-016.https.html.ini
@@ -1,4 +1,4 @@
[parse-input-arguments-016.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17852
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-017.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-017.https.html.ini
new file mode 100644
index 00000000000..677aded464c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-017.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-017.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-018.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-018.https.html.ini
index 63f6daf4cf9..bad71edcc23 100644
--- a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-018.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-018.https.html.ini
@@ -1,3 +1,3 @@
[parse-input-arguments-018.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-019.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-019.https.html.ini
new file mode 100644
index 00000000000..99b558f446c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-019.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-019.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-020.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-020.https.html.ini
new file mode 100644
index 00000000000..31e460a2546
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-020.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-020.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-021.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-021.https.html.ini
new file mode 100644
index 00000000000..5f95deee03f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-021.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-021.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-022.https.html.ini b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-022.https.html.ini
new file mode 100644
index 00000000000..d3ba4f35614
--- /dev/null
+++ b/tests/wpt/metadata/css/css-paint-api/parse-input-arguments-022.https.html.ini
@@ -0,0 +1,2 @@
+[parse-input-arguments-022.https.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-paint-api/style-background-image.https.html.ini b/tests/wpt/metadata/css/css-paint-api/style-background-image.https.html.ini
index 56669e8c173..1d8136f3a62 100644
--- a/tests/wpt/metadata/css/css-paint-api/style-background-image.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/style-background-image.https.html.ini
@@ -1,4 +1,4 @@
[style-background-image.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17378
diff --git a/tests/wpt/metadata/css/css-paint-api/style-before-pseudo.https.html.ini b/tests/wpt/metadata/css/css-paint-api/style-before-pseudo.https.html.ini
index a262749dfc9..981afafe93e 100644
--- a/tests/wpt/metadata/css/css-paint-api/style-before-pseudo.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/style-before-pseudo.https.html.ini
@@ -1,4 +1,4 @@
[style-before-pseudo.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17854
diff --git a/tests/wpt/metadata/css/css-paint-api/style-first-letter-pseudo.https.html.ini b/tests/wpt/metadata/css/css-paint-api/style-first-letter-pseudo.https.html.ini
index 5a7400be26d..16f132d99c2 100644
--- a/tests/wpt/metadata/css/css-paint-api/style-first-letter-pseudo.https.html.ini
+++ b/tests/wpt/metadata/css/css-paint-api/style-first-letter-pseudo.https.html.ini
@@ -1,4 +1,4 @@
[style-first-letter-pseudo.https.html]
type: reftest
- expected: FAIL
+ expected: TIMEOUT
bug: https://github.com/servo/servo/issues/17854
diff --git a/tests/wpt/metadata/dom/nodes/Element-classlist.html.ini b/tests/wpt/metadata/dom/nodes/Element-classlist.html.ini
index 7bfd658f072..2f8dd23f604 100644
--- a/tests/wpt/metadata/dom/nodes/Element-classlist.html.ini
+++ b/tests/wpt/metadata/dom/nodes/Element-classlist.html.ini
@@ -1,5 +1,6 @@
[Element-classlist.html]
type: testharness
+ expected: TIMEOUT
[classList.remove("a") with attribute value null (HTML node)]
expected: FAIL
diff --git a/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini b/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini
new file mode 100644
index 00000000000..33164945eb6
--- /dev/null
+++ b/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini
@@ -0,0 +1,4 @@
+[010.html]
+ [Salvagability of document.opened document]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini
new file mode 100644
index 00000000000..1c41f7a937b
--- /dev/null
+++ b/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini
@@ -0,0 +1,20 @@
+[dedicated-worker-import.html]
+ expected: ERROR
+ [Test static import on DedicatedWorkerGlobalScope.]
+ expected: TIMEOUT
+
+ [Test nested static import on DedicatedWorkerGlobalScope.]
+ expected: NOTRUN
+
+ [Test static import and then dynamic import on DedicatedWorkerGlobalScope.]
+ expected: NOTRUN
+
+ [Test dynamic import on DedicatedWorkerGlobalScope.]
+ expected: NOTRUN
+
+ [Test nested dynamic import on DedicatedWorkerGlobalScope.]
+ expected: NOTRUN
+
+ [Test dynamic import and then static import on DedicatedWorkerGlobalScope.]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-static-import.html.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-static-import.html.ini
deleted file mode 100644
index aeae8758af5..00000000000
--- a/tests/wpt/metadata/workers/modules/dedicated-worker-static-import.html.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[dedicated-worker-static-import.html]
- expected: ERROR
- [Test static import on DedicatedWorkerGlobalScope.]
- expected: TIMEOUT
-
- [Test nested static import on DedicatedWorkerGlobalScope.]
- expected: NOTRUN
-
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini
new file mode 100644
index 00000000000..1e2567027d8
--- /dev/null
+++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini
@@ -0,0 +1,5 @@
+[rapid-resizing.html]
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
+
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini
new file mode 100644
index 00000000000..fb8852c9e7a
--- /dev/null
+++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini
@@ -0,0 +1,5 @@
+[shader-with-non-reserved-words.html]
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
+
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini
new file mode 100644
index 00000000000..0bcf8268f38
--- /dev/null
+++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log/log_001_to_008.html.ini
@@ -0,0 +1,5 @@
+[log_001_to_008.html]
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
+
diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini
new file mode 100644
index 00000000000..579708b48b2
--- /dev/null
+++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/log2/log2_001_to_008.html.ini
@@ -0,0 +1,5 @@
+[log2_001_to_008.html]
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
+
diff --git a/tests/wpt/web-platform-tests/common/worklet-reftest.js b/tests/wpt/web-platform-tests/common/worklet-reftest.js
index 49e129ee0aa..abdda5b05e7 100644
--- a/tests/wpt/web-platform-tests/common/worklet-reftest.js
+++ b/tests/wpt/web-platform-tests/common/worklet-reftest.js
@@ -1,25 +1,33 @@
+// Imports code into a worklet. E.g.
+//
+// importWorklet(CSS.paintWorklet, {url: 'script.js'});
+// importWorklet(CSS.paintWorklet, '/* javascript string */');
+function importWorklet(worklet, code) {
+ let url;
+ if (typeof code === 'object') {
+ url = code.url;
+ } else {
+ const blob = new Blob([code], {type: 'text/javascript'});
+ url = URL.createObjectURL(blob);
+ }
+
+ return worklet.addModule(url);
+}
+
// To make sure that we take the snapshot at the right time, we do double
// requestAnimationFrame. In the second frame, we take a screenshot, that makes
// sure that we already have a full frame.
-function importWorkletAndTerminateTestAfterAsyncPaint(worklet, code) {
+async function importWorkletAndTerminateTestAfterAsyncPaint(worklet, code) {
if (typeof worklet === 'undefined') {
takeScreenshot();
return;
}
- let url;
- if (typeof code === 'object') {
- url = code.url;
- } else {
- const blob = new Blob([code], {type: 'text/javascript'});
- url = URL.createObjectURL(blob);
- }
+ await importWorklet(worklet, code);
- worklet.addModule(url).then(function() {
+ requestAnimationFrame(function() {
requestAnimationFrame(function() {
- requestAnimationFrame(function() {
- takeScreenshot();
- });
+ takeScreenshot();
});
});
}
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/table-as-item-auto-min-width.html b/tests/wpt/web-platform-tests/css/css-flexbox/table-as-item-auto-min-width.html
new file mode 100644
index 00000000000..66a77327f0f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-flexbox/table-as-item-auto-min-width.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<title>CSS Flexbox Test: Flex item as table, specified width less than minimum intrinsic width</title>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#layout-algorithm" title="9. Flex Layout Algorithm">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="display:flex; width:100px; background:red;">
+ <div style="display:table; width:10px; max-width:10px; height:100px; background:green;">
+ <div style="width:100px; height:10px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-child.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-child.https.html
new file mode 100644
index 00000000000..19b4188a839
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-child.https.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#invoke-a-layout-callback">
+<link rel="match" href="fallback-ref.html">
+<meta name="assert" content="This test checks that a layout() class performing layout on an invalid child will fallback to block layout." />
+<style>
+.test {
+ background: red;
+ border: solid 2px;
+ width: 100px;
+}
+
+.test > div {
+ height: 100px;
+}
+
+@supports (display: layout(bad-child-layout)) {
+ .test {
+ display: layout(bad-child-layout);
+ background: green;
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('bad-child-layout', class {
+ static get inputProperties() { return ['--fail']; }
+
+ *intrinsicSizes() {}
+ *layout(children, _, __, styleMap) {
+ if (styleMap.get('--fail').toString() !== 'true') {
+ this.child = children[0];
+ }
+
+ // Try to perform layout on the child. If its invalid (we skipped the if
+ // statement above) we should fallback to block layout.
+ const fragment = yield this.child.layoutNextFragment({});
+
+ return {autoBlockSize: 0, childFragments: [fragment]};
+ }
+});
+</script>
+
+<script>
+function raf() {
+ return new Promise((resolve) => {
+ requestAnimationFrame(() => {
+ resolve();
+ });
+ });
+}
+
+(async function() {
+ if (typeof CSS.layoutWorklet === 'undefined') {
+ takeScreenshot();
+ return;
+ }
+
+ await importWorklet(CSS.layoutWorklet, document.getElementById('code').textContent);
+
+ // Ensure that all instances have a child to perform an invalid layout upon.
+ const test = document.getElementsByClassName('test')[0];
+ for (let i = 0; i < 100; i++) {
+ test.innerHTML = '<div><div>';
+ await raf();
+ }
+
+ // The next layout should mean that we will fallback to block.
+ test.innerHTML = '<div></div>';
+ test.style.setProperty('--fail', 'true');
+
+ // Finish up the test.
+ await raf();
+ await raf();
+ takeScreenshot();
+})();
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment-request.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment-request.https.html
new file mode 100644
index 00000000000..ccbf38b4fd2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment-request.https.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#invoke-a-layout-callback">
+<link rel="match" href="fallback-ref.html">
+<meta name="assert" content="This test checks that a layout() class performing layout on an invalid fragment request will fallback to block layout." />
+<style>
+.test {
+ background: red;
+ border: solid 2px;
+ width: 100px;
+}
+
+.test > div {
+ height: 100px;
+}
+
+@supports (display: layout(bad-request)) {
+ .test {
+ display: layout(bad-request);
+ background: green;
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('bad-request', class {
+ static get inputProperties() { return ['--fail']; }
+
+ *intrinsicSizes() {}
+ *layout(children, _, __, styleMap) {
+ if (styleMap.get('--fail').toString() !== 'true') {
+ this.request = children[0].layoutNextFragment({});
+ }
+
+ // Try to perform layout on the child. If its invalid (we skipped the if
+ // statement above) we should fallback to block layout.
+ const childFragments = yield [this.request];
+
+ return {autoBlockSize: 0, childFragments};
+ }
+});
+</script>
+
+<script>
+function raf() {
+ return new Promise((resolve) => {
+ requestAnimationFrame(() => {
+ resolve();
+ });
+ });
+}
+
+(async function() {
+ if (typeof CSS.layoutWorklet === 'undefined') {
+ takeScreenshot();
+ return;
+ }
+
+ await importWorklet(CSS.layoutWorklet, document.getElementById('code').textContent);
+
+ // Ensure that all instances have a child to perform an invalid layout upon.
+ const test = document.getElementsByClassName('test')[0];
+ for (let i = 0; i < 100; i++) {
+ test.innerHTML = '<div><div>';
+ await raf();
+ }
+
+ // The next layout should mean that we will fallback to block.
+ test.innerHTML = '<div></div>';
+ test.style.setProperty('--fail', 'true');
+
+ // Finish up the test.
+ await raf();
+ await raf();
+ takeScreenshot();
+})();
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment.https.html
new file mode 100644
index 00000000000..e4253ff3935
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/fallback-layout-invalid-fragment.https.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#invoke-a-layout-callback">
+<link rel="match" href="fallback-ref.html">
+<meta name="assert" content="This test checks that a layout() class returning an invalid fragment will fallback to block layout." />
+<style>
+.test {
+ background: red;
+ border: solid 2px;
+ width: 100px;
+}
+
+.test > div {
+ height: 100px;
+}
+
+@supports (display: layout(bad-request)) {
+ .test {
+ display: layout(bad-request);
+ background: green;
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('bad-request', class {
+ static get inputProperties() { return ['--fail']; }
+
+ *intrinsicSizes() {}
+ *layout(children, _, __, styleMap) {
+ if (styleMap.get('--fail').toString() !== 'true') {
+ this.fragment = yield children[0].layoutNextFragment({});
+ }
+
+ // Return, if the fragment is invalid (we skipped the if statement above)
+ // we should fallback to block layout.
+ return {autoBlockSize: 0, childFragments: [this.fragment]};
+ }
+});
+</script>
+
+<script>
+function raf() {
+ return new Promise((resolve) => {
+ requestAnimationFrame(() => {
+ resolve();
+ });
+ });
+}
+
+(async function() {
+ if (typeof CSS.layoutWorklet === 'undefined') {
+ takeScreenshot();
+ return;
+ }
+
+ await importWorklet(CSS.layoutWorklet, document.getElementById('code').textContent);
+
+ // Ensure that all instances have a child to perform an invalid layout upon.
+ const test = document.getElementsByClassName('test')[0];
+ for (let i = 0; i < 100; i++) {
+ test.innerHTML = '<div><div>';
+ await raf();
+ }
+
+ // The next layout should mean that we will fallback to block.
+ test.innerHTML = '<div></div>';
+ test.style.setProperty('--fail', 'true');
+
+ // Finish up the test.
+ await raf();
+ await raf();
+ takeScreenshot();
+})();
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html
new file mode 100644
index 00000000000..1fbfec9f792
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedinlinesize">
+<link rel="match" href="layout-child-ref.html">
+<meta name="assert" content="This test checks that fixing the block size of children works as expected." />
+
+<style>
+.test {
+ writing-mode: vertical-rl;
+ background: red;
+ margin: 10px;
+ height: 100px;
+}
+
+.htb {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-block-size: 10;
+
+ --inline-size-expected: 2;
+ --block-size-expected: 10;
+}
+
+.vrl {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-block-size: 10;
+
+ --inline-size-expected: 2;
+ --block-size-expected: 10;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div class="htb"></div>
+ <div class="vrl"></div>
+ <!-- min/max-width should have no effect, fixedBlockSize wins. -->
+ <div class="htb" style="max-width: 5px;"></div>
+ <div class="vrl" style="max-width: 5px;"></div>
+ <div class="htb" style="min-width: 15px;"></div>
+ <div class="vrl" style="min-width: 15px;"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-fixed-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html
new file mode 100644
index 00000000000..a158840894f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedblocksize">
+<link rel="match" href="layout-child-ref.html">
+<meta name="assert" content="This test checks that fixing the block size of children works as expected." />
+
+<style>
+.test {
+ background: red;
+ margin: 10px;
+ width: 100px;
+}
+
+.htb {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-block-size: 10;
+
+ --inline-size-expected: 3;
+ --block-size-expected: 10;
+}
+
+.vrl {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-block-size: 10;
+
+ --inline-size-expected: 3;
+ --block-size-expected: 10;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div class="htb"></div>
+ <div class="vrl"></div>
+ <!-- min/max-height should have no effect, fixedBlockSize wins. -->
+ <div class="htb" style="max-height: 5px;"></div>
+ <div class="vrl" style="max-height: 5px;"></div>
+ <div class="htb" style="min-height: 15px;"></div>
+ <div class="vrl" style="min-height: 15px;"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-fixed-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html
new file mode 100644
index 00000000000..8fab5e44ac4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedinlinesize">
+<link rel="match" href="layout-child-ref.html">
+<meta name="assert" content="This test checks that fixing the inline size of children works as expected." />
+
+<style>
+.test {
+ writing-mode: vertical-rl;
+ background: red;
+ margin: 10px;
+ height: 100px;
+}
+
+.htb {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-inline-size: 10;
+
+ --inline-size-expected: 10;
+ --block-size-expected: 3;
+}
+
+.vrl {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-inline-size: 10;
+
+ --inline-size-expected: 10;
+ --block-size-expected: 3;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div class="htb"></div>
+ <div class="vrl"></div>
+ <!-- min/max-height should have no effect, fixedInlineSize wins. -->
+ <div class="htb" style="max-height: 5px;"></div>
+ <div class="vrl" style="max-height: 5px;"></div>
+ <div class="htb" style="min-height: 15px;"></div>
+ <div class="vrl" style="min-height: 15px;"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-fixed-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html
new file mode 100644
index 00000000000..79d2aca2a75
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedinlinesize">
+<link rel="match" href="layout-child-ref.html">
+<meta name="assert" content="This test checks that fixing the inline size of children works as expected." />
+
+<style>
+.test {
+ background: red;
+ margin: 10px;
+ width: 100px;
+}
+
+.htb {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-inline-size: 10;
+
+ --inline-size-expected: 10;
+ --block-size-expected: 2;
+}
+
+.vrl {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ width: 3px;
+ height: 2px;
+
+ --fixed-inline-size: 10;
+
+ --inline-size-expected: 10;
+ --block-size-expected: 2;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <div class="htb"></div>
+ <div class="vrl"></div>
+ <!-- min/max-width should have no effect, fixedInlineSize wins. -->
+ <div class="htb" style="max-width: 5px;"></div>
+ <div class="vrl" style="max-width: 5px;"></div>
+ <div class="htb" style="min-width: 15px;"></div>
+ <div class="vrl" style="min-width: 15px;"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-fixed-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js
new file mode 100644
index 00000000000..73155732971
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-fixed-sizes-worklet.js
@@ -0,0 +1,52 @@
+import {areArraysEqual} from '/common/arrays.js';
+
+function parseNumber(value) {
+ const num = parseInt(value.toString());
+ if (isNaN(num)) return undefined;
+ return num;
+}
+
+registerLayout('test', class {
+ static get childInputProperties() {
+ return [
+ '--fixed-inline-size',
+ '--fixed-block-size',
+ '--inline-size-expected',
+ '--block-size-expected'
+ ];
+ }
+
+ *intrinsicSizes() {}
+ *layout(children, edges, constraints, styleMap) {
+ const childFragments = yield children.map((child) => {
+ const childConstraints = {};
+ const fixedInlineSize = parseNumber(child.styleMap.get('--fixed-inline-size'));
+ const fixedBlockSize = parseNumber(child.styleMap.get('--fixed-block-size'));
+ return child.layoutNextFragment({fixedInlineSize, fixedBlockSize});
+ });
+
+ const actual = childFragments.map((childFragment) => {
+ return {
+ inlineSize: childFragment.inlineSize,
+ blockSize: childFragment.blockSize,
+ };
+ });
+
+ const expected = children.map((child) => {
+ return {
+ inlineSize: parseInt(child.styleMap.get('--inline-size-expected').toString()),
+ blockSize: parseInt(child.styleMap.get('--block-size-expected').toString()),
+ };
+ });
+
+ const equalityFunc = (a, b) => {
+ return a.inlineSize == b.inlineSize && a.blockSize == b.blockSize;
+ };
+
+ if (!areArraysEqual(expected, actual, equalityFunc)) {
+ return {autoBlockSize: 0, childFragments};
+ }
+
+ return {autoBlockSize: 100, childFragments};
+ }
+});
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-worklet.js b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-worklet.js
index 0daa89d45a1..db20e2ec76b 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-worklet.js
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-worklet.js
@@ -16,9 +16,11 @@ registerLayout('test', class {
return child.styleMap.get('--child').toString().trim();
});
+ const childFragments = yield children.map((child) => { return child.layoutNextFragment({}); });
+
if (!areArraysEqual(expected, actual))
- return {autoBlockSize: 0};
+ return {autoBlockSize: 0, childFragments};
- return {autoBlockSize: 100};
+ return {autoBlockSize: 100, childFragments};
}
});
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001-ref.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001-ref.html
new file mode 100644
index 00000000000..0b217dd192c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001-ref.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<title>Reference</title>
+
+<style>
+ /* establish context */
+ .container {
+ clear: both;
+ padding: 10px;
+ color: blue;
+ font: 20px/1 Ahem;
+ }
+ .zero {
+ width: 0;
+ }
+ .infinite {
+ width: 400px; /* close enough */
+ }
+
+ /* visualize size contribution */
+ .container > div {
+ float: left;
+ border: solid orange 20px;
+ border-style: none solid;
+ }
+ .container > div > div {
+ border-right: solid 20px aqua;
+ }
+
+ /* controls for min-width */
+ /* content = 100% = 80px = 4ch + border */
+ /* choose sizes that are larger than content to see if how they take effect */
+ .control {
+ width: 60px;
+ }
+ .raw-percent,
+ .calc-percent {
+ width: 160px;
+ margin-right: -100px;
+ }
+ .no-percent {
+ width: 160px;
+ }
+</style>
+
+<!-- calculating min-content widths -->
+<div class='zero container'>
+ <div><div class="control">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="raw-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="calc-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="no-percent">ppp pp</div></div>
+</div>
+
+<!-- calculating max-content widths -->
+<div class='infinite container'>
+ <div><div class="control">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="raw-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="calc-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="no-percent">p p</div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001.html
new file mode 100644
index 00000000000..19b0a94fe36
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-001.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<title>Percentages of min-width on non-replaced blocks are ignored for intrinsic sizing and resolved afterwards</title>
+<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-contribution">
+<link rel="match" href="intrinsic-percent-non-replaced-001-ref.html">
+
+<style>
+ /* establish context */
+ .container {
+ clear: both;
+ padding: 10px;
+ color: blue;
+ font: 20px/1 Ahem;
+ }
+ .zero {
+ width: 0;
+ }
+ .infinite {
+ width: 400px; /* close enough */
+ }
+
+ /* visualize size contribution */
+ .container > div {
+ float: left;
+ border: solid orange 20px;
+ border-style: none solid;
+ }
+ .container > div > div {
+ border-right: solid 20px aqua;
+ }
+
+ /* test min-width */
+ /* content = 100% = 80px = 4ch + border */
+ /* choose sizes that are larger than content to see if how they take effect */
+ .raw-percent {
+ min-width: 200%;
+ }
+ .calc-percent {
+ min-width: calc(160px + 0%);
+ }
+ .no-percent {
+ min-width: 160px;
+ }
+</style>
+
+<!-- calculating min-content widths -->
+<div class='zero container'>
+ <div><div class="control">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="raw-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="calc-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="no-percent">ppp pp</div></div>
+</div>
+
+<!-- calculating max-content widths -->
+<div class='infinite container'>
+ <div><div class="control">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="raw-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="calc-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="no-percent">p p</div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002-ref.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002-ref.html
new file mode 100644
index 00000000000..bb818918e2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002-ref.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<title>Reference</title>
+
+<style>
+ /* establish context */
+ .container {
+ clear: both;
+ padding: 10px;
+ color: blue;
+ font: 20px/1 Ahem;
+ }
+ .zero {
+ width: 0;
+ }
+ .infinite {
+ width: 400px; /* close enough */
+ }
+
+ /* visualize size contribution */
+ .container > div {
+ float: left; /* shrinkwrap */
+ border: solid orange 20px;
+ border-style: none solid;
+ }
+ .container > div > div {
+ border-right: solid 20px aqua;
+ }
+
+ /* controls for width, max-width */
+ /* content = 100% = 80px = 4ch + border */
+ /* choose sizes that are larger than content to see if how they take effect */
+ .control {
+ width: 60px;
+ }
+ .raw-percent,
+ .calc-percent {
+ width: 40px;
+ margin-right: 20px;
+ }
+ .no-percent {
+ width: 40px;
+ }
+</style>
+
+<!-- calculating min-content widths -->
+<div class='zero container'>
+ <div><div class="control">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="raw-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="calc-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="no-percent">ppp pp</div></div>
+</div>
+
+<!-- calculating max-content widths -->
+<div class='infinite container'>
+ <div><div class="control">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="raw-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="calc-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="no-percent">p p</div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002.html
new file mode 100644
index 00000000000..763549fb186
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-002.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<title>Percentages of max-width on non-replaced blocks are ignored for intrinsic sizing and resolved afterwards</title>
+<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-contribution">
+
+<style>
+ /* establish context */
+ .container {
+ clear: both;
+ padding: 10px;
+ color: blue;
+ font: 20px/1 Ahem;
+ }
+ .zero {
+ width: 0;
+ }
+ .infinite {
+ width: 400px; /* close enough */
+ }
+
+ /* visualize size contribution */
+ .container > div {
+ float: left; /* shrinkwrap */
+ border: solid orange 20px;
+ border-style: none solid;
+ }
+ .container > div > div {
+ border-right: solid 20px aqua;
+ }
+
+ /* test max-width */
+ /* content = 100% = 80px = 4ch + border */
+ /* choose sizes that are smaller than content to see if how they take effect */
+ .raw-percent {
+ max-width: 50%;
+ }
+ .calc-percent {
+ max-width: calc(40px + 0%);
+ }
+ .no-percent {
+ max-width: 40px;
+ }
+</style>
+
+<!-- calculating min-content widths -->
+<div class='zero container'>
+ <div><div class="control">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="raw-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="calc-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="no-percent">ppp pp</div></div>
+</div>
+
+<!-- calculating max-content widths -->
+<div class='infinite container'>
+ <div><div class="control">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="raw-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="calc-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="no-percent">p p</div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003.html
new file mode 100644
index 00000000000..2dd247c9b8e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-non-replaced-003.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<title>Percentages of width on non-replaced blocks are ignored for intrinsic sizing and resolved afterwards</title>
+<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-contribution">
+<link rel="match" href="intrinsic-percent-non-replaced-002-ref.html">
+
+<style>
+ /* establish context */
+ .container {
+ clear: both;
+ padding: 10px;
+ color: blue;
+ font: 20px/1 Ahem;
+ }
+ .zero {
+ width: 0;
+ }
+ .infinite {
+ width: 400px; /* close enough */
+ }
+
+ /* visualize size contribution */
+ .container > div {
+ float: left;
+ border: solid orange 20px;
+ border-style: none solid;
+ }
+ .container > div > div {
+ border-right: solid 20px aqua;
+ }
+
+ /* test width */
+ /* content = 100% = 80px = 4ch + border */
+ /* choose sizes that are different than content to see if how they take effect */
+ .raw-percent {
+ width: 50%;
+ }
+ .calc-percent {
+ width: calc(40px + 0%);
+ }
+ .no-percent {
+ width: 40px;
+ }
+</style>
+
+<!-- calculating min-content widths -->
+<div class='zero container'>
+ <div><div class="control">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="raw-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="calc-percent">ppp pp</div></div>
+</div>
+<div class='zero container'>
+ <div><div class="no-percent">ppp pp</div></div>
+</div>
+
+<!-- calculating max-content widths -->
+<div class='infinite container'>
+ <div><div class="control">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="raw-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="calc-percent">p p</div></div>
+</div>
+<div class='infinite container'>
+ <div><div class="no-percent">p p</div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/block-size.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/block-size.html
new file mode 100644
index 00000000000..d1a1e095775
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/block-size.html
@@ -0,0 +1,51 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'block-size' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('block-size', [
+ { syntax: 'auto' },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+runPropertyTests('min-block-size', [
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+runPropertyTests('max-block-size', [
+ { syntax: 'none' },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+</script> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-family.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-family.html
new file mode 100644
index 00000000000..eb35ef1799b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-family.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-family' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+// FIXME: font-family is list-valued. Run list-valued tests here too.
+runUnsupportedPropertyTests('font-family', [
+ 'Georgia',
+ '"Gill Sans"',
+ 'sans-serif',
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-language-override.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-language-override.html
new file mode 100644
index 00000000000..daf380389eb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-language-override.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-language-override' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-language-override', [
+ { syntax: 'normal' },
+]);
+
+runUnsupportedPropertyTests('font-language-override', [
+ '"SRB"',
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html
new file mode 100644
index 00000000000..0018ef1390b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-optical-sizing.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-optical-sizing' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-optical-sizing', [
+ { syntax: 'auto' },
+ { syntax: 'none' },
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-palette.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-palette.html
new file mode 100644
index 00000000000..ad62945f6bc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-palette.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-palette' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-palette', [
+ { syntax: 'normal' },
+ { syntax: 'light' },
+ { syntax: 'dark' },
+]);
+
+runUnsupportedPropertyTests('font-palette', [
+ 'Augusta'
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-presentation.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-presentation.html
new file mode 100644
index 00000000000..44484660d6d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-presentation.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-presentation' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-presentation', [
+ { syntax: 'auto' },
+ { syntax: 'text' },
+ { syntax: 'emoji' },
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html
new file mode 100644
index 00000000000..71cb54c7272
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-size-adjust' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-size-adjust', [
+ { syntax: 'none' },
+ {
+ syntax: '<number>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size.html
index 620f68ff653..fc76e0f8764 100644
--- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size.html
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size.html
@@ -13,53 +13,60 @@
<script>
'use strict';
-runPropertyTests('font-size', [
- {
- syntax: 'xx-small',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'x-small',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'small',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'medium',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'large',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'x-large',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'xx-large',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'larger',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: 'smaller',
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: '<length>',
- specified: assert_is_equal_with_range_handling,
- computed: (_, result) => assert_is_unit('px', result)
- },
- {
- syntax: '<percentage>',
- specified: assert_is_equal_with_range_handling,
- computed: (_, result) => assert_is_unit('px', result)
- },
-]);
+for (const property of ['font-size', 'font-min-size', 'font-max-size']) {
+ // font-max-size also supports 'infinity' keyword
+ const infinity = property === 'font-max-size' ?
+ [{ syntax: 'infinity'}] : [];
+
+ runPropertyTests(property, [
+ ...infinity,
+ {
+ syntax: 'xx-small',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'x-small',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'small',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'medium',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'large',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'x-large',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'xx-large',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'larger',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: 'smaller',
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling,
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling,
+ computed: (_, result) => assert_is_unit('px', result)
+ },
+ ]);
+}
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-stretch.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-stretch.html
new file mode 100644
index 00000000000..3871ff3e04f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-stretch.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-stretch' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-stretch', [
+ { syntax: 'normal' },
+ { syntax: 'ultra-condensed' },
+ { syntax: 'extra-condensed' },
+ { syntax: 'condensed' },
+ { syntax: 'semi-condensed' },
+ { syntax: 'semi-expanded' },
+ { syntax: 'expanded' },
+ { syntax: 'extra-expanded' },
+ { syntax: 'ultra-expanded' },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html
new file mode 100644
index 00000000000..b8c79e6cafe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-synthesis.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-synthesis' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-synthesis', [
+ { syntax: 'none' },
+ { syntax: 'weight' },
+ { syntax: 'style' },
+ { syntax: 'small-caps' },
+]);
+
+runUnsupportedPropertyTests('font-synthesis', [
+ 'weight style', 'style small-caps', 'small-caps weight style'
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html
new file mode 100644
index 00000000000..521eb3a68ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-alternates.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-variant-alternates' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-variant-alternates', [
+ { syntax: 'normal' },
+ { syntax: 'historical-forms' },
+]);
+
+runUnsupportedPropertyTests('font-variant-alternates', [
+ 'stylistic(foo)',
+ 'styleset(foo)',
+ 'character-variant(foo)',
+ 'swash(foo)',
+ 'ornaments(foo)',
+ 'annotation(foo)',
+ 'swash(foo) annotation(foo2)',
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html
new file mode 100644
index 00000000000..38cd6d237be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant-emoji.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-variant-emoji' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-variant-emoji', [
+ { syntax: 'auto' },
+ { syntax: 'text' },
+ { syntax: 'emoji' },
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant.html
new file mode 100644
index 00000000000..765ce28bd84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variant.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-variant' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runUnsupportedPropertyTests('font-variant', [
+ 'normal', 'no-common-ligatures proportional-nums',
+ 'common-ligatures tabular-nums', 'small-caps slashed-zero'
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html
new file mode 100644
index 00000000000..12d62618bc0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-variation-settings.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font-variation-settings' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('font-variation-settings', [
+ { syntax: 'normal' },
+]);
+
+runUnsupportedPropertyTests('font-variation-settings', [
+ '"XHGT" 0.7',
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font.html
new file mode 100644
index 00000000000..b8a1e88a271
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'font' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runUnsupportedPropertyTests('font', [
+ '1.2em "Fira Sans", sans-serif',
+ 'italic 1.2em "Fira Sans", serif',
+ 'italic small-caps bold 16px/2 cursive',
+ 'small-caps bold 24px/1 sans-serif',
+ 'caption',
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/gap.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/gap.html
new file mode 100644
index 00000000000..e07d1cd54d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/gap.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'*-gap' properties</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om/#dom-stylepropertymapreadonly-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om/#reify-stylevalue">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+for (const prefix of ['column', 'row']) {
+ runPropertyTests(`${prefix}-gap`, [
+ { syntax: 'normal' },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ ]);
+}
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/inline-size.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/inline-size.html
new file mode 100644
index 00000000000..f509d4a33e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/inline-size.html
@@ -0,0 +1,51 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>'inline-size' property</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-get">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-stylepropertymap-set">
+<link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#property-stle-value-normalization">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../resources/testhelper.js"></script>
+<script src="resources/testsuite.js"></script>
+<body>
+<div id="log"></div>
+<script>
+'use strict';
+
+runPropertyTests('inline-size', [
+ { syntax: 'auto' },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+runPropertyTests('min-inline-size', [
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+runPropertyTests('max-inline-size', [
+ { syntax: 'none' },
+ {
+ syntax: '<percentage>',
+ specified: assert_is_equal_with_range_handling
+ },
+ {
+ syntax: '<length>',
+ specified: assert_is_equal_with_range_handling
+ },
+]);
+
+</script> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html b/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html
index 2b376d4cb00..5453da90da6 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Element-classlist.html
@@ -31,6 +31,13 @@ function checkModification(e, funcName, args, expectedRes, before, after,
}
setClass(e, before);
+ var obs;
+ // If we have MutationObservers available, do some checks to make
+ // sure attribute sets are happening at sane times.
+ if (self.MutationObserver) {
+ obs = new MutationObserver(() => {});
+ obs.observe(e, { attributes: true });
+ }
if (shouldThrow) {
assert_throws(expectedException, function() {
var list = e.classList;
@@ -40,6 +47,21 @@ function checkModification(e, funcName, args, expectedRes, before, after,
var list = e.classList;
var res = list[funcName].apply(list, args);
}
+ if (obs) {
+ var mutationRecords = obs.takeRecords();
+ obs.disconnect();
+ if (shouldThrow) {
+ assert_equals(mutationRecords.length, 0,
+ "There should have been no mutation");
+ } else if (funcName == "replace") {
+ assert_equals(mutationRecords.length == 1,
+ expectedRes,
+ "Should have a mutation exactly when replace() returns true");
+ } else {
+ // For other functions, would need to check when exactly
+ // mutations are supposed to happen.
+ }
+ }
if (!shouldThrow) {
assert_equals(res, expectedRes, "wrong return value");
}
diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html
index a29b5832a9e..c66251a03f3 100644
--- a/tests/wpt/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html
+++ b/tests/wpt/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html
@@ -33,6 +33,8 @@ promise_test(function() {
assert_equals(typeof capabilities.groupId, "string", "groupId must be a string.");
if (mediainfo.kind == "audioinput") {
assert_equals(typeof capabilities.echoCancellation, "object", "echoCancellation must be an object.");
+ assert_equals(typeof capabilities.autoGainControl, "object", "autoGainControl must be an object.");
+ assert_equals(typeof capabilities.noiseSuppression, "object", "noiseSuppression must be an object.");
}
if (mediainfo.kind == "videoinput") {
assert_equals(typeof capabilities.facingMode, "object", "facingMode must be an object.");
diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html
index 30f5d50079a..257578f67ca 100644
--- a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html
+++ b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html
@@ -12,6 +12,8 @@
var videoCapabilities = stream.getVideoTracks()[0].getCapabilities();
assert_true(undefined !== audioCapabilities.deviceId, "MediaTrackCapabilities's deviceId should exist for an audio track.");
assert_true(undefined !== audioCapabilities.echoCancellation, "MediaTrackCapabilities's echoCancellation should exist for an audio track.");
+ assert_true(undefined !== audioCapabilities.autoGainControl, "MediaTrackCapabilities's autoGainControl should exist for an audio track.");
+ assert_true(undefined !== audioCapabilities.noiseSuppression, "MediaTrackCapabilities's noiseSuppression should exist for an audio track.");
assert_true(undefined !== videoCapabilities.deviceId, "MediaTrackCapabilities's deviceId should exist for a video track.");
});
});
diff --git a/tests/wpt/web-platform-tests/resources/test/README.md b/tests/wpt/web-platform-tests/resources/test/README.md
index 773b83bfc05..c228372399c 100644
--- a/tests/wpt/web-platform-tests/resources/test/README.md
+++ b/tests/wpt/web-platform-tests/resources/test/README.md
@@ -11,16 +11,18 @@ Install the following dependencies:
- [the Mozilla Firefox web browser](https://mozilla.org/firefox)
- [the GeckoDriver server](https://github.com/mozilla/geckodriver)
-Once these dependencies are satisfied, the tests may be run from a command line
-by executing the following command from this directory:
+Make sure `geckodriver` can be found in your `PATH`.
- tox
+Currently, the tests should be run with the latest *Firefox Nightly*. In order to
+specify the path to Firefox Nightly, use the following command-line option:
-Currently, the tests should be run with Firefox Nightly.
+ tox -- --binary=/path/to/FirefoxNightly
-In order to specify the path to Firefox Nightly, use the following command-line option:
+### Automated Script
- tox -- --binary=/path/to/FirefoxNightly
+Alternatively, you may run `tools/ci/ci_resources_unittest.sh`, which only depends on
+Python 2. The script will install other dependencies automatically and start `tox` with
+the correct arguments.
## Authoring Tests
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
index 708903f5dcd..fbb75d658ce 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
@@ -8,7 +8,7 @@ import urlparse
from abc import ABCMeta, abstractmethod
from ..testrunner import Stop
-from protocol import Protocol
+from protocol import Protocol, BaseProtocolPart
here = os.path.split(__file__)[0]
@@ -411,7 +411,23 @@ class WdspecRun(object):
self.result_flag.set()
+class ConnectionlessBaseProtocolPart(BaseProtocolPart):
+ def execute_script(self, script, async=False):
+ pass
+
+ def set_timeout(self, timeout):
+ pass
+
+ def wait(self):
+ pass
+
+ def set_window(self, handle):
+ pass
+
+
class ConnectionlessProtocol(Protocol):
+ implements = [ConnectionlessBaseProtocolPart]
+
def connect(self):
pass
diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html
new file mode 100644
index 00000000000..3d4236393ee
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>DedicatedWorker: import</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+
+// Start a dedicated worker for |scriptURL| and wait until MessageEvents from
+// imported modules up to |expectedNumberOfImportedModules|.
+function RunImportTest(scriptURL, expectedNumberOfImportedModules) {
+ return new Promise(resolve => {
+ let numberOfImportedModules = 0;
+ const worker = new Worker(scriptURL, { type: 'module' });
+ worker.onmessage = e => {
+ if (e.data === 'LOADED')
+ ++numberOfImportedModules;
+ if (numberOfImportedModules === expectedNumberOfImportedModules)
+ resolve();
+ };
+ });
+}
+
+promise_test(() => {
+ return RunImportTest('resources/static-import-worker.js', 2);
+}, 'Test static import on DedicatedWorkerGlobalScope.');
+
+promise_test(() => {
+ return RunImportTest('resources/nested-static-import-worker.js', 3);
+}, 'Test nested static import on DedicatedWorkerGlobalScope.');
+
+promise_test(() => {
+ return RunImportTest(
+ 'resources/static-import-and-then-dynamic-import-worker.js', 3);
+}, 'Test static import and then dynamic import on DedicatedWorkerGlobalScope.');
+
+promise_test(() => {
+ return RunImportTest('resources/dynamic-import-worker.js', 2);
+}, 'Test dynamic import on DedicatedWorkerGlobalScope.');
+
+promise_test(() => {
+ return RunImportTest('resources/nested-dynamic-import-worker.js', 3);
+}, 'Test nested dynamic import on DedicatedWorkerGlobalScope.');
+
+promise_test(() => {
+ return RunImportTest(
+ 'resources/dynamic-import-and-then-static-import-worker.js', 3);
+}, 'Test dynamic import and then static import on DedicatedWorkerGlobalScope.');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-static-import.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-static-import.html
deleted file mode 100644
index ee5de185800..00000000000
--- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-static-import.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<title>DedicatedWorker: static import</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-
-promise_test(() => {
- const worker = new Worker('resources/static-import-worker.js',
- { type: 'module' });
- return new Promise(resolve => worker.onmessage = resolve)
- .then(msg_event => assert_equals(msg_event.data, 'LOADED'));
-}, 'Test static import on DedicatedWorkerGlobalScope.');
-
-promise_test(() => {
- const worker = new Worker('resources/nested-static-import-worker.js',
- { type: 'module' });
- return new Promise(resolve => worker.onmessage = resolve)
- .then(msg_event => assert_equals(msg_event.data, 'LOADED'));
-}, 'Test nested static import on DedicatedWorkerGlobalScope.');
-
-</script>
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js
new file mode 100644
index 00000000000..eaa3f1c686e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js
@@ -0,0 +1,2 @@
+import('./static-import-worker.js')
+ .then(module => postMessage('LOADED'));
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js
new file mode 100644
index 00000000000..98381b9da2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js
@@ -0,0 +1,2 @@
+import('./post-message-on-load-worker.js')
+ .then(module => postMessage('LOADED'));
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js
new file mode 100644
index 00000000000..8f56d156e2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js
@@ -0,0 +1,2 @@
+import('./dynamic-import-worker.js')
+ .then(module => postMessage('LOADED'));
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js
index bcaf7d89c58..f2ef5207cae 100644
--- a/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js
@@ -1 +1,2 @@
import './static-import-worker.js';
+postMessage('LOADED')
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js
new file mode 100644
index 00000000000..4e66d041a1b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js
@@ -0,0 +1,2 @@
+import './dynamic-import-worker.js';
+postMessage('LOADED');
diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js
index edb8caf34af..46931699e59 100644
--- a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js
+++ b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js
@@ -1 +1,2 @@
import './post-message-on-load-worker.js';
+postMessage('LOADED');