Bug 1574537 [wpt PR 18503] - [css-layout-api] Move tests into various sub-directories., a=testonly
authorIan Kilpatrick <ikilpatrick@chromium.org>
Sat, 24 Aug 2019 10:00:05 +0000
changeset 553857 5fb05065a41f615fe8887c3ea1eb63e09d84e966
parent 553856 70f199060a2b9f35754b1875ac31a123b1d14daa
child 553858 8b7461534ad951904348ef6ef124363d9d5c61a6
push id2165
push userffxbld-merge
push dateMon, 14 Oct 2019 16:30:58 +0000
treeherdermozilla-release@0eae18af659f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1574537, 18503, 726125, 1757890, 687807
milestone70.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1574537 [wpt PR 18503] - [css-layout-api] Move tests into various sub-directories., a=testonly Automatic update from web-platform-tests [css-layout-api] Move tests into various sub-directories. Tests-only. Moves tests into logically grouped sub-directories. This speeds up (local) test runs as parallelization happens on a per directory basis. Bug: 726125 Change-Id: I963184ea74675a4c662ec4779afafa085c33ea0e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1757890 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Auto-Submit: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#687807} -- wpt-commits: f10378fa073caba1a793c28801a5231aeab95279 wpt-pr: 18503
testing/web-platform/tests/css/css-layout-api/auto-block-size-absolute-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-absolute.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-flex-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-flex.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-floats-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-floats.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-inflow-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-inflow.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-negative-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size-negative.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/absolute-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/absolute.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/flex-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/flex.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/floats-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/floats.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/inflow-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/inflow.https.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/negative-ref.html
testing/web-platform/tests/css/css-layout-api/auto-block-size/negative.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-block-size.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-inline-size.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html
testing/web-platform/tests/css/css-layout-api/child-constraints/support/layout-child-sizes-worklet.js
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-absolute-left-right-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-absolute-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-absolute-top-bottom.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-block-none-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-block-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed-max.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed-min.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-basis-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-basis.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-grow.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-stretch-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-grow-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-percentage-indefinite.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-stretch-max.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-stretch.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-stretch-max.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-stretch.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage-indefinite.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-quirky-body.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-absolute-left-right.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-absolute-top-bottom-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats-vlr.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto-vlr.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-fixed-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-fixed.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-flex-grow-column-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-flex-grow.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-grid.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-percentage-vlr.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-percentage.https.html
testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-ref.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-absolute-left-right-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-absolute-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-absolute-top-bottom.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-block-none-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-block-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed-max.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed-min.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-basis-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-basis.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-grow.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-stretch-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-grow-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-percentage-indefinite.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-stretch-max.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-stretch.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-none.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-stretch-max.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-stretch.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage-indefinite.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage-quirks-mode.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-quirky-body.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-absolute-left-right.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-absolute-top-bottom-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto-avoid-floats-vlr.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto-avoid-floats.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto-vlr.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-fixed-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-fixed.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-flex-grow-column-vrl.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-flex-grow.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-grid.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-percentage-vlr.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-percentage.https.html
testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-ref.html
testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size-quirky-body-iframe.html
testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size.js
testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-inline-size.js
testing/web-platform/tests/css/css-layout-api/crash-multicol.https.html
testing/web-platform/tests/css/css-layout-api/fallback-constructor-error.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout-error.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout-invalid-child.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout-invalid-fragment.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout-no-promise.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout-return.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout-unresolved-promise.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/bad-return.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/constructor-error.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/error.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/fallback-ref.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/invalid-child.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/invalid-fragment.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/no-promise.https.html
testing/web-platform/tests/css/css-layout-api/fallback-layout/unresolved-promise.https.html
testing/web-platform/tests/css/css-layout-api/fallback-ref.html
testing/web-platform/tests/css/css-layout-api/layout-child-absolute.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-before-after.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-fixed.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-float.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-inflow.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-inlines-dynamic.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-inlines.https.html
testing/web-platform/tests/css/css-layout-api/layout-child-text.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/absolute.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/before-after.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/fixed.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/float.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/inflow.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/inlines-dynamic.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/inlines.https.html
testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js
testing/web-platform/tests/css/css-layout-api/layout-child/text.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment-htb-ltr.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment-htb-rtl.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment-ref.html
testing/web-platform/tests/css/css-layout-api/position-fragment-vlr-ltr.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment-vlr-rtl.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment-vrl-ltr.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment-vrl-rtl.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment/htb-ltr.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment/htb-rtl.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment/ref.html
testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js
testing/web-platform/tests/css/css-layout-api/position-fragment/vlr-ltr.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment/vlr-rtl.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment/vrl-ltr.https.html
testing/web-platform/tests/css/css-layout-api/position-fragment/vrl-rtl.https.html
testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-block-size-quirky-body-iframe.html
testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-block-size.js
testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-inline-size.js
testing/web-platform/tests/css/css-layout-api/support/layout-child-sizes-worklet.js
testing/web-platform/tests/css/css-layout-api/support/layout-child-worklet.js
testing/web-platform/tests/css/css-layout-api/support/layout-position-child-worklet.js
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/auto-block-size-absolute.https.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
-<link rel="match" href="auto-block-size-absolute-ref.html">
-<meta name="assert" content="This test checks that the absolute positioning respects the auto-block-size." />
-
-<style>
-.test {
-  position: absolute;
-  background: red;
-}
-
-@supports (display: layout(block-size-100)) {
-  .test {
-    display: layout(block-size-100);
-    background: green;
-  }
-}
-
-.container {
-  position: relative;
-  margin: 20px 0;
-  width: 200px;
-  height: 200px;
-  border: solid 2px;
-}
-
-.width-100 {
-  width: 100px;
-  writing-mode: horizontal-tb;
-}
-
-.height-100 {
-  height: 100px;
-  writing-mode: vertical-rl;
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<!-- 100px x 100px, bottom-left -->
-<div class="container">
-  <div class="test width-100" style="bottom: 0px"></div>
-</div>
-
-<!-- 100px x 200px, left, auto-size is ignored. -->
-<div class="container">
-  <div class="test width-100" style="top: 0px; bottom: 0px"></div>
-</div>
-
-<!-- 100px x 100px, top-left -->
-<div class="container">
-  <div class="test height-100" style="left: 0px;"></div>
-</div>
-
-<!-- 100px x 100px, top, auto-size is ignored. -->
-<div class="container">
-  <div class="test height-100" style="left: 0px; right: 0px;"></div>
-</div>
-
-<script id="code" type="text/worklet">
-registerLayout('block-size-100', class {
-  async intrinsicSizes() {}
-  async layout() {
-    return {autoBlockSize: 100};
-  }
-});
-</script>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
-</script>
-</html>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/auto-block-size-flex.https.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
-<link rel="match" href="auto-block-size-flex-ref.html">
-<meta name="assert" content="This test checks that the flex layout respects the auto-block-size." />
-
-<style>
-.flex {
-  width: 300px;
-  display: flex;
-  border: solid 2px;
-}
-
-.custom {
-  background: red;
-  box-sizing: border-box;
-  border: solid 2px;
-  height: 100px;
-  writing-mode: vertical-rl;
-}
-
-@supports (display: layout(block-size-100)) {
-  .custom-100 {
-    display: layout(block-size-100);
-    background: green;
-  }
-  .custom-50 {
-    display: layout(block-size-50);
-    background: green;
-    flex: 1;
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<!-- Tests that floats using an auto block size get positioned correctly. -->
-<div class="flex">
-  <div class="custom custom-100"></div>
-  <div class="custom custom-50"></div>
-</div>
-
-<script id="code" type="text/worklet">
-registerLayout('block-size-100', class {
-  async intrinsicSizes() {}
-  async layout() {
-    return {autoBlockSize: 100};
-  }
-});
-registerLayout('block-size-50', class {
-  async intrinsicSizes() {}
-  async layout() {
-    return {autoBlockSize: 50};
-  }
-});
-</script>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
-</script>
-</html>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/auto-block-size-floats.https.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
-<link rel="match" href="auto-block-size-floats-ref.html">
-<meta name="assert" content="This test checks that if the layout() is a float, the flow layout respects the auto-block-size." />
-
-<style>
-.test {
-  background: red;
-}
-
-@supports (display: layout(block-size-100)) {
-  .test {
-    display: layout(block-size-100);
-    background: green;
-  }
-}
-
-.container {
-  width: 150px;
-  border: solid 2px;
-}
-
-.left {
-  float: left;
-  width: 100px;
-  writing-mode: horizontal-tb;
-}
-
-.right {
-  float: right;
-  height: 100px;
-  writing-mode: vertical-rl;
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<!-- Tests that floats using an auto block size get positioned correctly. -->
-<div class="container">
-  <div class="left test"></div>
-  <div class="right test"></div>
-</div>
-
-<script id="code" type="text/worklet">
-registerLayout('block-size-100', class {
-  async intrinsicSizes() {}
-  async layout() {
-    return {autoBlockSize: 100};
-  }
-});
-</script>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
-</script>
-</html>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/auto-block-size-inflow.https.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
-<link rel="match" href="auto-block-size-inflow-ref.html">
-<meta name="assert" content="This test checks that min/max-block-size constraints are applied correctly to a layout()." />
-
-<style>
-.test {
-  margin: 20px 0;
-  background: red;
-}
-
-@supports (display: layout(block-size-100)) {
-  .test {
-    display: layout(block-size-100);
-    background: green;
-  }
-}
-
-.width-100 {
-  width: 100px;
-  writing-mode: horizontal-tb;
-}
-
-.height-100 {
-  height: 100px;
-  writing-mode: vertical-rl;
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<!-- 100px x 100px -->
-<div class="test width-100"></div>
-
-<!-- 100px x 150px -->
-<div class="test width-100" style="min-height: 150px"></div>
-
-<!-- 100px x 50px -->
-<div class="test width-100" style="max-height: 50px"></div>
-
-<!-- 100px x 100px -->
-<div class="test height-100"></div>
-
-<!-- 150px x 100px -->
-<div class="test height-100" style="min-width: 150px"></div>
-
-<!-- 50px x 100px -->
-<div class="test height-100" style="max-width: 50px"></div>
-
-<script id="code" type="text/worklet">
-registerLayout('block-size-100', class {
-  async intrinsicSizes() {}
-  async layout() {
-    return {autoBlockSize: 100};
-  }
-});
-</script>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
-</script>
-</html>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/auto-block-size-negative.https.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
-<link rel="match" href="auto-block-size-negative-ref.html">
-<meta name="assert" content="This test checks that auto-block-size is correctly clamped to zero." />
-<meta name="assert" content="TODO" />
-
-<style>
-
-.test {
-  background: red;
-  border: solid 2px;
-  margin: 20px 0;
-}
-
-.width-100 {
-  width: 100px;
-  writing-mode: horizontal-tb;
-}
-
-.height-100 {
-  height: 100px;
-  writing-mode: vertical-rl;
-}
-
-@supports (display: layout(block-size-negative)) {
-  .test {
-    display: layout(block-size-negative);
-    background: green;
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test width-100"></div>
-<div class="test height-100"></div>
-
-<script id="code" type="text/worklet">
-registerLayout('block-size-negative', class {
-  async intrinsicSizes() {}
-  async layout() {
-    return {autoBlockSize: -100};
-  }
-});
-</script>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
-</script>
-</html>
rename from testing/web-platform/tests/css/css-layout-api/auto-block-size-absolute-ref.html
rename to testing/web-platform/tests/css/css-layout-api/auto-block-size/absolute-ref.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/auto-block-size/absolute.https.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
+<link rel="match" href="absolute-ref.html">
+<meta name="assert" content="This test checks that the absolute positioning respects the auto-block-size." />
+
+<style>
+.test {
+  position: absolute;
+  background: red;
+}
+
+@supports (display: layout(block-size-100)) {
+  .test {
+    display: layout(block-size-100);
+    background: green;
+  }
+}
+
+.container {
+  position: relative;
+  margin: 20px 0;
+  width: 200px;
+  height: 200px;
+  border: solid 2px;
+}
+
+.width-100 {
+  width: 100px;
+  writing-mode: horizontal-tb;
+}
+
+.height-100 {
+  height: 100px;
+  writing-mode: vertical-rl;
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<!-- 100px x 100px, bottom-left -->
+<div class="container">
+  <div class="test width-100" style="bottom: 0px"></div>
+</div>
+
+<!-- 100px x 200px, left, auto-size is ignored. -->
+<div class="container">
+  <div class="test width-100" style="top: 0px; bottom: 0px"></div>
+</div>
+
+<!-- 100px x 100px, top-left -->
+<div class="container">
+  <div class="test height-100" style="left: 0px;"></div>
+</div>
+
+<!-- 100px x 100px, top, auto-size is ignored. -->
+<div class="container">
+  <div class="test height-100" style="left: 0px; right: 0px;"></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('block-size-100', class {
+  async intrinsicSizes() {}
+  async layout() {
+    return {autoBlockSize: 100};
+  }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
rename from testing/web-platform/tests/css/css-layout-api/auto-block-size-flex-ref.html
rename to testing/web-platform/tests/css/css-layout-api/auto-block-size/flex-ref.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/auto-block-size/flex.https.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
+<link rel="match" href="flex-ref.html">
+<meta name="assert" content="This test checks that the flex layout respects the auto-block-size." />
+
+<style>
+.flex {
+  width: 300px;
+  display: flex;
+  border: solid 2px;
+}
+
+.custom {
+  background: red;
+  box-sizing: border-box;
+  border: solid 2px;
+  height: 100px;
+  writing-mode: vertical-rl;
+}
+
+@supports (display: layout(block-size-100)) {
+  .custom-100 {
+    display: layout(block-size-100);
+    background: green;
+  }
+  .custom-50 {
+    display: layout(block-size-50);
+    background: green;
+    flex: 1;
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<!-- Tests that floats using an auto block size get positioned correctly. -->
+<div class="flex">
+  <div class="custom custom-100"></div>
+  <div class="custom custom-50"></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('block-size-100', class {
+  async intrinsicSizes() {}
+  async layout() {
+    return {autoBlockSize: 100};
+  }
+});
+registerLayout('block-size-50', class {
+  async intrinsicSizes() {}
+  async layout() {
+    return {autoBlockSize: 50};
+  }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
rename from testing/web-platform/tests/css/css-layout-api/auto-block-size-floats-ref.html
rename to testing/web-platform/tests/css/css-layout-api/auto-block-size/floats-ref.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/auto-block-size/floats.https.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
+<link rel="match" href="floats-ref.html">
+<meta name="assert" content="This test checks that if the layout() is a float, the flow layout respects the auto-block-size." />
+
+<style>
+.test {
+  background: red;
+}
+
+@supports (display: layout(block-size-100)) {
+  .test {
+    display: layout(block-size-100);
+    background: green;
+  }
+}
+
+.container {
+  width: 150px;
+  border: solid 2px;
+}
+
+.left {
+  float: left;
+  width: 100px;
+  writing-mode: horizontal-tb;
+}
+
+.right {
+  float: right;
+  height: 100px;
+  writing-mode: vertical-rl;
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<!-- Tests that floats using an auto block size get positioned correctly. -->
+<div class="container">
+  <div class="left test"></div>
+  <div class="right test"></div>
+</div>
+
+<script id="code" type="text/worklet">
+registerLayout('block-size-100', class {
+  async intrinsicSizes() {}
+  async layout() {
+    return {autoBlockSize: 100};
+  }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
rename from testing/web-platform/tests/css/css-layout-api/auto-block-size-inflow-ref.html
rename to testing/web-platform/tests/css/css-layout-api/auto-block-size/inflow-ref.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/auto-block-size/inflow.https.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
+<link rel="match" href="inflow-ref.html">
+<meta name="assert" content="This test checks that min/max-block-size constraints are applied correctly to a layout()." />
+
+<style>
+.test {
+  margin: 20px 0;
+  background: red;
+}
+
+@supports (display: layout(block-size-100)) {
+  .test {
+    display: layout(block-size-100);
+    background: green;
+  }
+}
+
+.width-100 {
+  width: 100px;
+  writing-mode: horizontal-tb;
+}
+
+.height-100 {
+  height: 100px;
+  writing-mode: vertical-rl;
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<!-- 100px x 100px -->
+<div class="test width-100"></div>
+
+<!-- 100px x 150px -->
+<div class="test width-100" style="min-height: 150px"></div>
+
+<!-- 100px x 50px -->
+<div class="test width-100" style="max-height: 50px"></div>
+
+<!-- 100px x 100px -->
+<div class="test height-100"></div>
+
+<!-- 150px x 100px -->
+<div class="test height-100" style="min-width: 150px"></div>
+
+<!-- 50px x 100px -->
+<div class="test height-100" style="max-width: 50px"></div>
+
+<script id="code" type="text/worklet">
+registerLayout('block-size-100', class {
+  async intrinsicSizes() {}
+  async layout() {
+    return {autoBlockSize: 100};
+  }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
rename from testing/web-platform/tests/css/css-layout-api/auto-block-size-negative-ref.html
rename to testing/web-platform/tests/css/css-layout-api/auto-block-size/negative-ref.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/auto-block-size/negative.https.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-sizing">
+<link rel="match" href="negative-ref.html">
+<meta name="assert" content="This test checks that auto-block-size is correctly clamped to zero." />
+
+<style>
+
+.test {
+  background: red;
+  border: solid 2px;
+  margin: 20px 0;
+}
+
+.width-100 {
+  width: 100px;
+  writing-mode: horizontal-tb;
+}
+
+.height-100 {
+  height: 100px;
+  writing-mode: vertical-rl;
+}
+
+@supports (display: layout(block-size-negative)) {
+  .test {
+    display: layout(block-size-negative);
+    background: green;
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test width-100"></div>
+<div class="test height-100"></div>
+
+<script id="code" type="text/worklet">
+registerLayout('block-size-negative', class {
+  async intrinsicSizes() {}
+  async layout() {
+    return {autoBlockSize: -100};
+  }
+});
+</script>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
+</script>
+</html>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html
@@ -56,10 +56,10 @@
 
   <!-- Make sure the min-height property clamps the size. -->
   <div class="child" style="min-height: 25px; --block-size-expected: 25; --inline-size-expected: 8;">
     <span class="inline inline-size-10"></span>
   </div>
 </div>
 
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html
@@ -40,10 +40,10 @@
   <!-- The invalid available block-size should be clamped to zero. -->
   <div class="child" style="--block-size-expected: 10; --inline-size-expected: 16;">
     <span class="inline inline-size-10"></span>
     <span class="inline inline-size-10"></span>
   </div>
 </div>
 
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html
@@ -56,10 +56,10 @@
 
   <!-- Make sure the min-width property clamps the size. -->
   <div class="child" style="min-width: 25px; --block-size-expected: 25; --inline-size-expected: 8;">
     <span class="inline inline-size-10"></span>
   </div>
 </div>
 
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html
@@ -56,10 +56,10 @@
 
   <!-- Make sure the min-width property clamps the size. -->
   <div class="child" style="min-width: 25px; --inline-size-expected: 25; --block-size-expected: 8;">
     <span class="inline inline-size-10"></span>
   </div>
 </div>
 
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html
@@ -40,10 +40,10 @@
   <!-- The invalid available inline-size should be clamped to zero. -->
   <div class="child" style="--inline-size-expected: 10; --block-size-expected: 16;">
     <span class="inline inline-size-10"></span>
     <span class="inline inline-size-10"></span>
   </div>
 </div>
 
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html
@@ -56,10 +56,10 @@
 
   <!-- Make sure the min-height property clamps the size. -->
   <div class="child" style="min-height: 25px; --inline-size-expected: 25; --block-size-expected: 8;">
     <span class="inline inline-size-10"></span>
   </div>
 </div>
 
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html
@@ -50,10 +50,10 @@
   <img class="child" style="width: 20%; height: 50%;" />
 
   <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
   <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
 
   <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
   <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html
@@ -50,10 +50,10 @@
   <img class="child" style="width: 20%; height: 50%;" />
 
   <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
   <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
 
   <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
   <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html
@@ -40,10 +40,10 @@
   <!-- The available inline-size gets clamped to zero, and the available block-size gets treated as indefinite. -->
   <div class="child" style="--inline-size-expected: 0px; --block-size-expected: 10px; width: 100%; height: 100%;">
     <div class="inline"></div>
   </div>
 
   <!-- For replaced elements, both axis should be resolved to 0px. -->
   <img class="child" style="--inline-size-expected: 0px; --block-size-expected: 0px; width: 100%; height: 100%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html
@@ -50,10 +50,10 @@
   <img class="child" style="width: 20%; height: 50%;" />
 
   <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
   <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
 
   <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
   <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html
@@ -50,10 +50,10 @@
   <img class="child" style="width: 20%; height: 50%;" />
 
   <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
   <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
 
   <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
   <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html
@@ -51,10 +51,10 @@
   <!-- 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-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-block-size.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-block-size.https.html
@@ -50,10 +50,10 @@
   <!-- 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-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html
@@ -51,10 +51,10 @@
   <!-- 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-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-inline-size.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/fixed-inline-size.https.html
@@ -50,10 +50,10 @@
   <!-- 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-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html
@@ -49,10 +49,10 @@
   <img class="child" style="height: 50%;" />
 
   <!-- A replaced percentage max-height should resolve itself against the percentageBlockSize. -->
   <img class="child" style="height: 15px; max-height: 50%;" />
 
   <!-- A replaced percentage min-height should resolve itself against the percentageBlockSize. -->
   <img class="child" style="height: 5px; min-height: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html
@@ -49,10 +49,10 @@
   <img class="child" style="width: 50%;" />
 
   <!-- A replaced percentage max-width should resolve itself against the percentageInlineSize. -->
   <img class="child" style="width: 15px; max-width: 50%;" />
 
   <!-- A replaced percentage min-width should resolve itself against the percentageInlineSize. -->
   <img class="child" style="width: 5px; min-width: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html
@@ -38,10 +38,10 @@
   <!-- A percentage shouldn't be resolved against an invalid percentageBlockSize. -->
   <div class="child" style="--inline-size-expected: 10px; --block-size-expected: 10px; height: 100%;">
     <div class="inline"></div>
   </div>
 
   <!-- A percentage shouldn't be resolved against an invalid percentageBlockSize. -->
   <img class="child" style="--inline-size-expected: 10px; --block-size-expected: 0px; height: 100%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html
@@ -46,10 +46,10 @@
     <div class="child" style="--inline-size-expected: 10px; --block-size-expected: 10px;">
       <div style="height: 100%">
         <div class="inline"></div>
       </div>
     </div>
   </div>
 </div>
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html
@@ -49,10 +49,10 @@
   <img class="child" style="height: 50%;" />
 
   <!-- A replaced percentage max-height should resolve itself against the percentageInlineSize. -->
   <img class="child" style="height: 15px; max-height: 50%;" />
 
   <!-- A replaced percentage min-height should resolve itself against the percentageInlineSize. -->
   <img class="child" style="height: 5px; min-height: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
--- a/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html
@@ -49,10 +49,10 @@
   <img class="child" style="width: 50%;" />
 
   <!-- A replaced percentage max-width should resolve itself against the percentageBlockSize. -->
   <img class="child" style="width: 15px; max-width: 50%;" />
 
   <!-- A replaced percentage min-width should resolve itself against the percentageBlockSize. -->
   <img class="child" style="width: 5px; min-width: 50%;" />
 <script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
 </script>
rename from testing/web-platform/tests/css/css-layout-api/support/layout-child-sizes-worklet.js
rename to testing/web-platform/tests/css/css-layout-api/child-constraints/support/layout-child-sizes-worklet.js
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-absolute-left-right-vrl.https.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  position: relative;
-  width: 120px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  position: absolute;
-  left: 0px;
-  right: 20px;
-  --expected-block-size: 100;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-absolute-none.https.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  position: relative;
-}
-
-.test {
-  background: red;
-  position: absolute;
-  --expected-block-size: null;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-absolute-top-bottom.https.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  position: relative;
-  height: 120px;
-}
-
-.test {
-  background: red;
-  position: absolute;
-  top: 0px;
-  bottom: 20px;
-  --expected-block-size: 100;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-block-none-vrl.https.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  writing-mode: vertical-lr;
-  background: red;
-  --expected-block-size: null;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-block-none.https.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  --expected-block-size: null;
-  width: 100px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed-max.https.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  --expected-block-size: 30;
-  width: 100px;
-  height: 60px;
-  max-height: 30px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed-min.https.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  --expected-block-size: 70;
-  width: 100px;
-  height: 60px;
-  min-height: 70px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed-vrl.https.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  --expected-block-size: 100;
-  width: 100px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-fixed.https.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  --expected-block-size: 60;
-  width: 100px;
-  height: 60px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-basis-vrl.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  --expected-block-size: 100;
-  flex-basis: 100px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-basis.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  flex-direction: column;
-  width: 100px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 60;
-  flex-basis: 60px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-grow.https.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  flex-direction: column;
-  width: 100px;
-  height: 60px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 50;
-  margin-bottom: 10px;
-  flex-grow: 1;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-none.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  flex-direction: column;
-  width: 100px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: null;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-column-stretch-vrl.https.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  flex-direction: column;
-  width: 100px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  --expected-block-size: 90; /* flex-item should stretch to (100 - 10)px */
-  margin-left: 10px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-grow-vrl.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  width: 100px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  --expected-block-size: 100;
-  flex-grow: 1;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-none.https.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-}
-
-.test {
-  background: red;
-  --expected-block-size: null;
-  width: 100px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-percentage-indefinite.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-}
-
-.test {
-  background: red;
-  --expected-block-size: null; /* Percentage which we are resolving height against is indefinite. */
-  width: 100px;
-  height: 50%;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-stretch-max.https.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  height: 50px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 30; /* flex-item should respect the max constraint */
-  max-height: 30px;
-  width: 100px;
-  margin-bottom: 10px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-flex-stretch.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  height: 50px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 40; /* flex-item should stretch to (50 - 10)px */
-  width: 100px;
-  margin-bottom: 10px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-none.https.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: grid;
-}
-
-.test {
-  background: red;
-  --expected-block-size: null;
-  width: 100px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-stretch-max.https.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: grid;
-  grid: 50px / auto-flow;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 30; /* grid-item should respect the max constraint */
-  max-height: 30px;
-  width: 100px;
-  margin-bottom: 10px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-stretch.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: grid;
-  grid: 50px / auto-flow;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 40; /* grid-item should stretch to (50 - 10)px */
-  width: 100px;
-  margin-bottom: 10px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-grid-vrl.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  display: grid;
-  grid: auto-flow / 100px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  --expected-block-size: 100;
-  width: 100px;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage-indefinite.https.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  --expected-block-size: null; /* Percentage which we are resolving height against is indefinite. */
-  width: 100px;
-  height: 50%;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  height: 100px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 50; /* In quirks mode we should get 100px * 50% */
-  width: 100px;
-  height: 50%;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="container">
-  <div class="test">
-    <div class="child"></div>
-  </div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage-vrl.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  width: 200px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  background: red;
-  --expected-block-size: 100;
-  width: 50%;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-percentage.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-body {
-  height: 200px;
-}
-
-.test {
-  background: red;
-  --expected-block-size: 100;
-  width: 100px;
-  height: 50%;
-}
-
-.child {
-  background: green;
-}
-
-@supports (display: layout(test)) {
-  .test {
-    display: layout(test);
-  }
-}
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-
-<div class="test">
-  <div class="child"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-block-size-quirky-body.https.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
-<style>
-iframe { border: none; width: 200px; height: 200px; }
-</style>
-<script src="/common/reftest-wait.js"></script>
-<script src="/common/worklet-reftest.js"></script>
-<body>
-<script>
-// For this test we load a quirky iframe with the test file.
-// We can control the auto size of the iframe body element by setting the iframe height.
-const iframe = document.createElement('iframe');
-document.body.appendChild(iframe);
-iframe.addEventListener('load', () => {
-  importWorkletAndTerminateTestAfterAsyncPaint(
-    iframe.contentWindow.CSS.layoutWorklet, {url: 'constraints-fixed-block-size.js'});
-});
-iframe.src = 'support/constraints-fixed-block-size-quirky-body-iframe.html';
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-absolute-left-right.https.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  position: relative;
-  width: 120px;
-}
-
-.test {
-  background: red;
-  position: absolute;
-  left: 0px;
-  right: 20px;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-absolute-top-bottom-vrl.https.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  position: relative;
-  height: 120px;
-}
-
-.test {
-  background: red;
-  position: absolute;
-  left: 0px;
-  top: 0px;
-  bottom: 20px;
-  writing-mode: vertical-rl;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats-vlr.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  height: 200px;
-  writing-mode: vertical-lr;
-}
-
-.float {
-  float: right;
-  width: 20px;
-  height: 100px;
-}
-
-.test {
-  background: red;
-}
-
-@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="float"></div>
-<div class="test"></div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats.https.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  width: 200px;
-}
-
-.float {
-  float: right;
-  width: 100px;
-  height: 20px;
-}
-
-.test {
-  background: red;
-}
-
-@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="float"></div>
-<div class="test"></div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto-vlr.https.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  height: 120px;
-  writing-mode: vertical-lr;
-}
-
-.test {
-  margin-bottom: 20px;
-  background: red;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-block-auto.https.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  width: 120px;
-}
-
-.test {
-  margin-right: 20px;
-  background: red;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-fixed-vrl.https.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  height: 100px;
-  writing-mode: vertical-rl;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-fixed.https.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-flex-grow-column-vrl.https.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  flex-flow: column;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  background: red;
-  flex-grow: 1;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-flex-grow.https.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  display: flex;
-  width: 100px;
-}
-
-.test {
-  background: red;
-  flex-grow: 1;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-grid.https.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  display: grid;
-  grid: auto-flow / 100px;
-}
-
-.test {
-  background: red;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-percentage-vlr.https.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  height: 200px;
-  writing-mode: vertical-lr;
-}
-
-.test {
-  background: red;
-  height: 50%;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-percentage.https.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
-<link rel="match" href="constraints-fixed-inline-size-ref.html">
-<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
-<style>
-body {
-  width: 200px;
-}
-
-.test {
-  background: red;
-  width: 50%;
-}
-
-@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>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
-</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-absolute-left-right-vrl.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  position: relative;
+  width: 120px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  position: absolute;
+  left: 0px;
+  right: 20px;
+  --expected-block-size: 100;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-absolute-none.https.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  position: relative;
+}
+
+.test {
+  background: red;
+  position: absolute;
+  --expected-block-size: null;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-absolute-top-bottom.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  position: relative;
+  height: 120px;
+}
+
+.test {
+  background: red;
+  position: absolute;
+  top: 0px;
+  bottom: 20px;
+  --expected-block-size: 100;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-block-none-vrl.https.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  writing-mode: vertical-lr;
+  background: red;
+  --expected-block-size: null;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-block-none.https.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  --expected-block-size: null;
+  width: 100px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed-max.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  --expected-block-size: 30;
+  width: 100px;
+  height: 60px;
+  max-height: 30px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed-min.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  --expected-block-size: 70;
+  width: 100px;
+  height: 60px;
+  min-height: 70px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed-vrl.https.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  --expected-block-size: 100;
+  width: 100px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-fixed.https.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  --expected-block-size: 60;
+  width: 100px;
+  height: 60px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-basis-vrl.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  --expected-block-size: 100;
+  flex-basis: 100px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-basis.https.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  flex-direction: column;
+  width: 100px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 60;
+  flex-basis: 60px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-grow.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  flex-direction: column;
+  width: 100px;
+  height: 60px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 50;
+  margin-bottom: 10px;
+  flex-grow: 1;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-none.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  flex-direction: column;
+  width: 100px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: null;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-column-stretch-vrl.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  flex-direction: column;
+  width: 100px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  --expected-block-size: 90; /* flex-item should stretch to (100 - 10)px */
+  margin-left: 10px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-grow-vrl.https.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  width: 100px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  --expected-block-size: 100;
+  flex-grow: 1;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-none.https.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+}
+
+.test {
+  background: red;
+  --expected-block-size: null;
+  width: 100px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-percentage-indefinite.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+}
+
+.test {
+  background: red;
+  --expected-block-size: null; /* Percentage which we are resolving height against is indefinite. */
+  width: 100px;
+  height: 50%;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-stretch-max.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  height: 50px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 30; /* flex-item should respect the max constraint */
+  max-height: 30px;
+  width: 100px;
+  margin-bottom: 10px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-flex-stretch.https.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  height: 50px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 40; /* flex-item should stretch to (50 - 10)px */
+  width: 100px;
+  margin-bottom: 10px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-none.https.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: grid;
+}
+
+.test {
+  background: red;
+  --expected-block-size: null;
+  width: 100px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-stretch-max.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: grid;
+  grid: 50px / auto-flow;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 30; /* grid-item should respect the max constraint */
+  max-height: 30px;
+  width: 100px;
+  margin-bottom: 10px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-stretch.https.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: grid;
+  grid: 50px / auto-flow;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 40; /* grid-item should stretch to (50 - 10)px */
+  width: 100px;
+  margin-bottom: 10px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-grid-vrl.https.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  display: grid;
+  grid: auto-flow / 100px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  --expected-block-size: 100;
+  width: 100px;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage-indefinite.https.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  --expected-block-size: null; /* Percentage which we are resolving height against is indefinite. */
+  width: 100px;
+  height: 50%;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage-quirks-mode.https.html
@@ -0,0 +1,38 @@
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  height: 100px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 50; /* In quirks mode we should get 100px * 50% */
+  width: 100px;
+  height: 50%;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="container">
+  <div class="test">
+    <div class="child"></div>
+  </div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage-vrl.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  width: 200px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  background: red;
+  --expected-block-size: 100;
+  width: 50%;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-percentage.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+body {
+  height: 200px;
+}
+
+.test {
+  background: red;
+  --expected-block-size: 100;
+  width: 100px;
+  height: 50%;
+}
+
+.child {
+  background: green;
+}
+
+@supports (display: layout(test)) {
+  .test {
+    display: layout(test);
+  }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+  <div class="child"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-block-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-block-size-quirky-body.https.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedBlockSize is passed into the layout function correctly." />
+<style>
+iframe { border: none; width: 200px; height: 200px; }
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+<body>
+<script>
+// For this test we load a quirky iframe with the test file.
+// We can control the auto size of the iframe body element by setting the iframe height.
+const iframe = document.createElement('iframe');
+document.body.appendChild(iframe);
+iframe.addEventListener('load', () => {
+  importWorkletAndTerminateTestAfterAsyncPaint(
+    iframe.contentWindow.CSS.layoutWorklet, {url: 'constraints-fixed-block-size.js'});
+});
+iframe.src = 'support/constraints-fixed-block-size-quirky-body-iframe.html';
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-absolute-left-right.https.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  position: relative;
+  width: 120px;
+}
+
+.test {
+  background: red;
+  position: absolute;
+  left: 0px;
+  right: 20px;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-absolute-top-bottom-vrl.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  position: relative;
+  height: 120px;
+}
+
+.test {
+  background: red;
+  position: absolute;
+  left: 0px;
+  top: 0px;
+  bottom: 20px;
+  writing-mode: vertical-rl;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto-avoid-floats-vlr.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  height: 200px;
+  writing-mode: vertical-lr;
+}
+
+.float {
+  float: right;
+  width: 20px;
+  height: 100px;
+}
+
+.test {
+  background: red;
+}
+
+@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="float"></div>
+<div class="test"></div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto-avoid-floats.https.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  width: 200px;
+}
+
+.float {
+  float: right;
+  width: 100px;
+  height: 20px;
+}
+
+.test {
+  background: red;
+}
+
+@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="float"></div>
+<div class="test"></div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto-vlr.https.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  height: 120px;
+  writing-mode: vertical-lr;
+}
+
+.test {
+  margin-bottom: 20px;
+  background: red;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-block-auto.https.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  width: 120px;
+}
+
+.test {
+  margin-right: 20px;
+  background: red;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-fixed-vrl.https.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  height: 100px;
+  writing-mode: vertical-rl;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-fixed.https.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-flex-grow-column-vrl.https.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  flex-flow: column;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  background: red;
+  flex-grow: 1;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-flex-grow.https.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  display: flex;
+  width: 100px;
+}
+
+.test {
+  background: red;
+  flex-grow: 1;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-grid.https.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  display: grid;
+  grid: auto-flow / 100px;
+}
+
+.test {
+  background: red;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-percentage-vlr.https.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  height: 200px;
+  writing-mode: vertical-lr;
+}
+
+.test {
+  background: red;
+  height: 50%;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-percentage.https.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraints-fixedinlinesize">
+<link rel="match" href="fixed-inline-size-ref.html">
+<meta name="assert" content="This test checks that LayoutConstraints#fixedInlineSize is passed into the layout function correctly." />
+<style>
+body {
+  width: 200px;
+}
+
+.test {
+  background: red;
+  width: 50%;
+}
+
+@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>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/constraints-fixed-inline-size.js'});
+</script>
rename from testing/web-platform/tests/css/css-layout-api/constraints-fixed-inline-size-ref.html
rename to testing/web-platform/tests/css/css-layout-api/constraints/fixed-inline-size-ref.html
rename from testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-block-size-quirky-body-iframe.html
rename to testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size-quirky-body-iframe.html
rename from testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-block-size.js
rename to testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size.js
rename from testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-inline-size.js
rename to testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-inline-size.js
--- a/testing/web-platform/tests/css/css-layout-api/crash-multicol.https.html
+++ b/testing/web-platform/tests/css/css-layout-api/crash-multicol.https.html
@@ -9,13 +9,20 @@
 #test {
   display: layout('test');
   columns: 2;
 }
 </style>
 
 <div id="test"></div>
 
+<script id="code" type="text/worklet">
+registerLayout('test', class {
+  async intrinsicSizes() {}
+  async layout() {}
+});
+</script>
+
 <script>
 promise_test(async function() {
-  await importWorklet(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+  await importWorklet(CSS.layoutWorklet, document.getElementById('code').textContent);
 });
 </script>
rename from testing/web-platform/tests/css/css-layout-api/fallback-layout-return.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/bad-return.https.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-constructor-error.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/constructor-error.https.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-layout-error.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/error.https.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-ref.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/fallback-ref.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-layout-invalid-child.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/invalid-child.https.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-layout-invalid-fragment.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/invalid-fragment.https.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-layout-no-promise.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/no-promise.https.html
rename from testing/web-platform/tests/css/css-layout-api/fallback-layout-unresolved-promise.https.html
rename to testing/web-platform/tests/css/css-layout-api/fallback-layout/unresolved-promise.https.html
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-absolute.https.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that absolute children don't appear in the children array." />
-
-<style>
-.test {
-  --child-expected: ["2"];
-
-  background: red;
-  width: 100px;
-}
-
-.absolute {
-  position: absolute;
-  visibility: hidden;
-  --child: 1;
-}
-
-.inflow {
-  visibility: hidden;
-  --child: 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="absolute"></div>
-  <div class="inflow"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-before-after.https.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that boxes created by ::before/::after appear as children." />
-
-<style>
-.test {
-  --child-expected: ["1", "2", "3"];
-
-  background: red;
-  width: 100px;
-}
-
-.test::before {
-  visibility: hidden;
-  content: 'before';
-  --child: 1;
-}
-
-.inflow {
-  visibility: hidden;
-  --child: 2;
-}
-
-.test::after {
-  visibility: hidden;
-  content: 'after';
-  --child: 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="inflow"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-fixed.https.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that fixed children don't appear in the children array." />
-
-<style>
-.test {
-  --child-expected: ["2"];
-
-  background: red;
-  width: 100px;
-}
-
-.fixed {
-  position: fixed;
-  visibility: hidden;
-  --child: 1;
-}
-
-.inflow {
-  visibility: hidden;
-  --child: 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="fixed"></div>
-  <div class="inflow"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-float.https.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that float children appear in the children array." />
-
-<style>
-.test {
-  --child-expected: ["1", "2"];
-
-  background: red;
-  width: 100px;
-}
-
-.float {
-  float: right;
-  visibility: hidden;
-  --child: 1;
-}
-
-.inflow {
-  visibility: hidden;
-  --child: 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="float"></div>
-  <div class="inflow"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-inflow.https.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that regular inflow children appear as children." />
-
-<style>
-.test {
-  --child-expected: ["1", "2"];
-
-  background: red;
-  width: 100px;
-}
-
-.inflow-1 {
-  visibility: hidden;
-  --child: 1;
-}
-
-.inflow-2 {
-  visibility: hidden;
-  --child: 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="inflow-1"></div>
-  <div class="inflow-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-inlines.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that inline children are correctly blockified or wrapped in anonymous boxes." />
-
-<style>
-/* We have a wrapper in this test to ensure that any text that is positioned
- * slightly outside the "test" box doesn't affect the rendering.
- * This wrapper has a 10px inline padding which does the trick. */
-.wrapper {
-  background: green;
-  padding: 0 10px;
-  width: 80px;
-}
-
-.test {
-  --child-expected: ["1", "default", "3", "4", "5"];
-
-  background: red;
-  color: green;
-  width: 80px;
-  --child: default;
-}
-
-.inflow {
-  visibility: hidden;
-  --child: 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="wrapper">
-  <div class="test">
-    <span style="--child: 1;">Text,</span> more text
-    <div class="inflow"></div>
-    <span style="--child: 4;">Text,
-       <div>block!</div>
-    </span>
-    <span style="--child: 5;">Other text</span>
-  </div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/layout-child-text.https.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that text children are correctly blockified." />
-
-<style>
-/* We have a wrapper in this test to ensure that any text that is positioned
- * slightly outside the "test" box doesn't affect the rendering.
- * This wrapper has a 10px inline padding which does the trick. */
-.wrapper {
-  background: green;
-  padding: 0 10px;
-  width: 80px;
-}
-
-.test {
-  --child-expected: ["default", "2", "default"];
-
-  background: red;
-  color: green;
-  width: 80px;
-  --child: default;
-}
-
-.inflow {
-  visibility: hidden;
-  --child: 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="wrapper">
-  <div class="test">
-    Text text text
-    <div class="inflow"></div>
-    Text text text
-  </div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
-</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/absolute.https.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that absolute children don't appear in the children array." />
+
+<style>
+.test {
+  --child-expected: ["2"];
+
+  background: red;
+  width: 100px;
+}
+
+.absolute {
+  position: absolute;
+  visibility: hidden;
+  --child: 1;
+}
+
+.inflow {
+  visibility: hidden;
+  --child: 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="absolute"></div>
+  <div class="inflow"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/before-after.https.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that boxes created by ::before/::after appear as children." />
+
+<style>
+.test {
+  --child-expected: ["1", "2", "3"];
+
+  background: red;
+  width: 100px;
+}
+
+.test::before {
+  visibility: hidden;
+  content: 'before';
+  --child: 1;
+}
+
+.inflow {
+  visibility: hidden;
+  --child: 2;
+}
+
+.test::after {
+  visibility: hidden;
+  content: 'after';
+  --child: 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="inflow"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/fixed.https.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that fixed children don't appear in the children array." />
+
+<style>
+.test {
+  --child-expected: ["2"];
+
+  background: red;
+  width: 100px;
+}
+
+.fixed {
+  position: fixed;
+  visibility: hidden;
+  --child: 1;
+}
+
+.inflow {
+  visibility: hidden;
+  --child: 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="fixed"></div>
+  <div class="inflow"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/float.https.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that float children appear in the children array." />
+
+<style>
+.test {
+  --child-expected: ["1", "2"];
+
+  background: red;
+  width: 100px;
+}
+
+.float {
+  float: right;
+  visibility: hidden;
+  --child: 1;
+}
+
+.inflow {
+  visibility: hidden;
+  --child: 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="float"></div>
+  <div class="inflow"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/inflow.https.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that regular inflow children appear as children." />
+
+<style>
+.test {
+  --child-expected: ["1", "2"];
+
+  background: red;
+  width: 100px;
+}
+
+.inflow-1 {
+  visibility: hidden;
+  --child: 1;
+}
+
+.inflow-2 {
+  visibility: hidden;
+  --child: 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="inflow-1"></div>
+  <div class="inflow-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
rename from testing/web-platform/tests/css/css-layout-api/layout-child-inlines-dynamic.https.html
rename to testing/web-platform/tests/css/css-layout-api/layout-child/inlines-dynamic.https.html
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/inlines.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that inline children are correctly blockified or wrapped in anonymous boxes." />
+
+<style>
+/* We have a wrapper in this test to ensure that any text that is positioned
+ * slightly outside the "test" box doesn't affect the rendering.
+ * This wrapper has a 10px inline padding which does the trick. */
+.wrapper {
+  background: green;
+  padding: 0 10px;
+  width: 80px;
+}
+
+.test {
+  --child-expected: ["1", "default", "3", "4", "5"];
+
+  background: red;
+  color: green;
+  width: 80px;
+  --child: default;
+}
+
+.inflow {
+  visibility: hidden;
+  --child: 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="wrapper">
+  <div class="test">
+    <span style="--child: 1;">Text,</span> more text
+    <div class="inflow"></div>
+    <span style="--child: 4;">Text,
+       <div>block!</div>
+    </span>
+    <span style="--child: 5;">Other text</span>
+  </div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
rename from testing/web-platform/tests/css/css-layout-api/support/layout-child-worklet.js
rename to testing/web-platform/tests/css/css-layout-api/layout-child/support/layout-child-worklet.js
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/layout-child/text.https.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layout-children">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that text children are correctly blockified." />
+
+<style>
+/* We have a wrapper in this test to ensure that any text that is positioned
+ * slightly outside the "test" box doesn't affect the rendering.
+ * This wrapper has a 10px inline padding which does the trick. */
+.wrapper {
+  background: green;
+  padding: 0 10px;
+  width: 80px;
+}
+
+.test {
+  --child-expected: ["default", "2", "default"];
+
+  background: red;
+  color: green;
+  width: 80px;
+  --child: default;
+}
+
+.inflow {
+  visibility: hidden;
+  --child: 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="wrapper">
+  <div class="test">
+    Text text text
+    <div class="inflow"></div>
+    Text text text
+  </div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-worklet.js'});
+</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/position-fragment-htb-ltr.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
-<link rel="match" href="position-fragment-ref.html">
-<meta name="assert" content="This test checks that child fragments get positioned correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  writing-mode: horizontal-tb;
-  direction: ltr;
-}
-
-.child-1 {
-  background: rebeccapurple;
-  width: 10px;
-  height: 20px;
-
-  --inline-offset: 5;
-  --block-offset: 25;
-}
-
-.child-2 {
-  writing-mode: vertical-rl;
-  background: rebeccapurple;
-  width: 15px;
-  height: 25px;
-
-  --inline-offset: 50;
-  --block-offset: 60;
-}
-
-@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="child-1"></div>
-  <div class="child-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/position-fragment-htb-rtl.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
-<link rel="match" href="position-fragment-ref.html">
-<meta name="assert" content="This test checks that child fragments get positioned correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  writing-mode: horizontal-tb;
-  direction: rtl;
-}
-
-.child-1 {
-  background: rebeccapurple;
-  width: 10px;
-  height: 20px;
-
-  --inline-offset: 85;
-  --block-offset: 25;
-}
-
-.child-2 {
-  writing-mode: vertical-rl;
-  background: rebeccapurple;
-  width: 15px;
-  height: 25px;
-
-  --inline-offset: 35;
-  --block-offset: 60;
-}
-
-@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="child-1"></div>
-  <div class="child-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/position-fragment-vlr-ltr.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
-<link rel="match" href="position-fragment-ref.html">
-<meta name="assert" content="This test checks that child fragments get positioned correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  writing-mode: vertical-lr;
-  direction: ltr;
-}
-
-.child-1 {
-  background: rebeccapurple;
-  width: 10px;
-  height: 20px;
-
-  --inline-offset: 25;
-  --block-offset: 5;
-}
-
-.child-2 {
-  writing-mode: vertical-rl;
-  background: rebeccapurple;
-  width: 15px;
-  height: 25px;
-
-  --inline-offset: 60;
-  --block-offset: 50;
-}
-
-@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="child-1"></div>
-  <div class="child-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/position-fragment-vlr-rtl.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
-<link rel="match" href="position-fragment-ref.html">
-<meta name="assert" content="This test checks that child fragments get positioned correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  writing-mode: vertical-lr;
-  direction: rtl;
-}
-
-.child-1 {
-  background: rebeccapurple;
-  width: 10px;
-  height: 20px;
-
-  --inline-offset: 55;
-  --block-offset: 5;
-}
-
-.child-2 {
-  writing-mode: vertical-rl;
-  background: rebeccapurple;
-  width: 15px;
-  height: 25px;
-
-  --inline-offset: 15;
-  --block-offset: 50;
-}
-
-@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="child-1"></div>
-  <div class="child-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/position-fragment-vrl-ltr.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
-<link rel="match" href="position-fragment-ref.html">
-<meta name="assert" content="This test checks that child fragments get positioned correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  direction: ltr;
-}
-
-.child-1 {
-  background: rebeccapurple;
-  width: 10px;
-  height: 20px;
-
-  --inline-offset: 25;
-  --block-offset: 85;
-}
-
-.child-2 {
-  writing-mode: vertical-rl;
-  background: rebeccapurple;
-  width: 15px;
-  height: 25px;
-
-  --inline-offset: 60;
-  --block-offset: 35;
-}
-
-@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="child-1"></div>
-  <div class="child-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
-</script>
deleted file mode 100644
--- a/testing/web-platform/tests/css/css-layout-api/position-fragment-vrl-rtl.https.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
-<link rel="match" href="position-fragment-ref.html">
-<meta name="assert" content="This test checks that child fragments get positioned correctly." />
-<style>
-.test {
-  background: red;
-  width: 100px;
-  height: 100px;
-}
-
-.test {
-  writing-mode: vertical-rl;
-  direction: rtl;
-}
-
-.child-1 {
-  background: rebeccapurple;
-  width: 10px;
-  height: 20px;
-
-  --inline-offset: 55;
-  --block-offset: 85;
-}
-
-.child-2 {
-  writing-mode: vertical-rl;
-  background: rebeccapurple;
-  width: 15px;
-  height: 25px;
-
-  --inline-offset: 15;
-  --block-offset: 35;
-}
-
-@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="child-1"></div>
-  <div class="child-2"></div>
-</div>
-
-<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
-</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/htb-ltr.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
+<link rel="match" href="ref.html">
+<meta name="assert" content="This test checks that child fragments get positioned correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  writing-mode: horizontal-tb;
+  direction: ltr;
+}
+
+.child-1 {
+  background: rebeccapurple;
+  width: 10px;
+  height: 20px;
+
+  --inline-offset: 5;
+  --block-offset: 25;
+}
+
+.child-2 {
+  writing-mode: vertical-rl;
+  background: rebeccapurple;
+  width: 15px;
+  height: 25px;
+
+  --inline-offset: 50;
+  --block-offset: 60;
+}
+
+@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="child-1"></div>
+  <div class="child-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/htb-rtl.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
+<link rel="match" href="ref.html">
+<meta name="assert" content="This test checks that child fragments get positioned correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  writing-mode: horizontal-tb;
+  direction: rtl;
+}
+
+.child-1 {
+  background: rebeccapurple;
+  width: 10px;
+  height: 20px;
+
+  --inline-offset: 85;
+  --block-offset: 25;
+}
+
+.child-2 {
+  writing-mode: vertical-rl;
+  background: rebeccapurple;
+  width: 15px;
+  height: 25px;
+
+  --inline-offset: 35;
+  --block-offset: 60;
+}
+
+@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="child-1"></div>
+  <div class="child-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+</script>
rename from testing/web-platform/tests/css/css-layout-api/position-fragment-ref.html
rename to testing/web-platform/tests/css/css-layout-api/position-fragment/ref.html
rename from testing/web-platform/tests/css/css-layout-api/support/layout-position-child-worklet.js
rename to testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/vlr-ltr.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
+<link rel="match" href="ref.html">
+<meta name="assert" content="This test checks that child fragments get positioned correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  writing-mode: vertical-lr;
+  direction: ltr;
+}
+
+.child-1 {
+  background: rebeccapurple;
+  width: 10px;
+  height: 20px;
+
+  --inline-offset: 25;
+  --block-offset: 5;
+}
+
+.child-2 {
+  writing-mode: vertical-rl;
+  background: rebeccapurple;
+  width: 15px;
+  height: 25px;
+
+  --inline-offset: 60;
+  --block-offset: 50;
+}
+
+@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="child-1"></div>
+  <div class="child-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/vlr-rtl.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
+<link rel="match" href="ref.html">
+<meta name="assert" content="This test checks that child fragments get positioned correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  writing-mode: vertical-lr;
+  direction: rtl;
+}
+
+.child-1 {
+  background: rebeccapurple;
+  width: 10px;
+  height: 20px;
+
+  --inline-offset: 55;
+  --block-offset: 5;
+}
+
+.child-2 {
+  writing-mode: vertical-rl;
+  background: rebeccapurple;
+  width: 15px;
+  height: 25px;
+
+  --inline-offset: 15;
+  --block-offset: 50;
+}
+
+@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="child-1"></div>
+  <div class="child-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/vrl-ltr.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
+<link rel="match" href="ref.html">
+<meta name="assert" content="This test checks that child fragments get positioned correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  direction: ltr;
+}
+
+.child-1 {
+  background: rebeccapurple;
+  width: 10px;
+  height: 20px;
+
+  --inline-offset: 25;
+  --block-offset: 85;
+}
+
+.child-2 {
+  writing-mode: vertical-rl;
+  background: rebeccapurple;
+  width: 15px;
+  height: 25px;
+
+  --inline-offset: 60;
+  --block-offset: 35;
+}
+
+@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="child-1"></div>
+  <div class="child-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+</script>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/vrl-rtl.https.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#layoutfragment">
+<link rel="match" href="ref.html">
+<meta name="assert" content="This test checks that child fragments get positioned correctly." />
+<style>
+.test {
+  background: red;
+  width: 100px;
+  height: 100px;
+}
+
+.test {
+  writing-mode: vertical-rl;
+  direction: rtl;
+}
+
+.child-1 {
+  background: rebeccapurple;
+  width: 10px;
+  height: 20px;
+
+  --inline-offset: 55;
+  --block-offset: 85;
+}
+
+.child-2 {
+  writing-mode: vertical-rl;
+  background: rebeccapurple;
+  width: 15px;
+  height: 25px;
+
+  --inline-offset: 15;
+  --block-offset: 35;
+}
+
+@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="child-1"></div>
+  <div class="child-2"></div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-position-child-worklet.js'});
+</script>