Bug 1449286 [wpt PR 10199] - [css-layout-api] Implementation of LayoutConstraints#fixedInlineSize., a=testonly
authorIan Kilpatrick <ikilpatrick@chromium.org>
Mon, 09 Apr 2018 18:25:33 +0000
changeset 467212 462919f2fedc343b3292252b9a817f0d1848a72d
parent 467211 11e80888afc46ec2aa2939fc7502b71da3bed517
child 467213 c5d8e8a1bde77ee37963d564ed1b880799a827ff
push id9165
push userasasaki@mozilla.com
push dateThu, 26 Apr 2018 21:04:54 +0000
treeherdermozilla-beta@064c3804de2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1449286, 10199, 726125, 981517, 546393
milestone61.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 1449286 [wpt PR 10199] - [css-layout-api] Implementation of LayoutConstraints#fixedInlineSize., a=testonly Automatic update from web-platform-tests[css-layout-api] Implementation of LayoutConstraints#fixedInlineSize. This adds the bare bones for the LayoutConstraints object. It just handles the fixedInlineSize parameter. I expect the information in this object after the next F2F. The layout for the test will simply output an autoBlockSize of 100, if the fixedInlineSize is 100. The tests impose various conditions in how this can occur, but is certainly not exhaustive. Change-Id: I6be4a7b77d7b737c778dc2de8b235035b8d3fa22 Bug: 726125 Reviewed-on: https://chromium-review.googlesource.com/981517 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#546393} wpt-commits: c2cd7575a454498f5758b8179506b3b49ad9f074 wpt-pr: 10199 wpt-commits: c2cd7575a454498f5758b8179506b3b49ad9f074 wpt-pr: 10199
testing/web-platform/meta/MANIFEST.json
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/support/constraints-fixed-inline-size.js
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -117744,16 +117744,172 @@
       [
        "/css/css-layout-api/box-tree-unregistered-ref.html",
        "=="
       ]
      ],
      {}
     ]
    ],
+   "css/css-layout-api/constraints-fixed-inline-size-absolute-left-right.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-absolute-left-right.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-absolute-top-bottom-vrl.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-absolute-top-bottom-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats-vlr.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats-vlr.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-block-auto-vlr.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-block-auto-vlr.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-block-auto.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-block-auto.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-fixed-vrl.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-fixed-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-fixed.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-fixed.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-flex-grow-column-vrl.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-flex-grow-column-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-flex-grow.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-flex-grow.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-grid.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-grid.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-percentage-vlr.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-percentage-vlr.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/constraints-fixed-inline-size-percentage.https.html": [
+    [
+     "/css/css-layout-api/constraints-fixed-inline-size-percentage.https.html",
+     [
+      [
+       "/css/css-layout-api/constraints-fixed-inline-size-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-layout-api/fallback-constructor-error.https.html": [
     [
      "/css/css-layout-api/fallback-constructor-error.https.html",
      [
       [
        "/css/css-layout-api/fallback-ref.html",
        "=="
       ]
@@ -248537,16 +248693,21 @@
      {}
     ]
    ],
    "css/css-layout-api/box-tree-unregistered-ref.html": [
     [
      {}
     ]
    ],
+   "css/css-layout-api/constraints-fixed-inline-size-ref.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-layout-api/fallback-ref.html": [
     [
      {}
     ]
    ],
    "css/css-layout-api/layout-child-ref.html": [
     [
      {}
@@ -248562,16 +248723,21 @@
      {}
     ]
    ],
    "css/css-layout-api/style-map-ref.html": [
     [
      {}
     ]
    ],
+   "css/css-layout-api/support/constraints-fixed-inline-size.js": [
+    [
+     {}
+    ]
+   ],
    "css/css-layout-api/support/layout-child-fixed-sizes-worklet.js": [
     [
      {}
     ]
    ],
    "css/css-layout-api/support/layout-child-worklet.js": [
     [
      {}
@@ -503124,16 +503290,72 @@
   "css/css-layout-api/box-tree-unregistered.https.html": [
    "c2058c848fe71230148b2531585fbddd678e6926",
    "reftest"
   ],
   "css/css-layout-api/computed-style-layout-function.https.html": [
    "a999a2a7ad8981879cdc984bf602939a23a60ea6",
    "testharness"
   ],
+  "css/css-layout-api/constraints-fixed-inline-size-absolute-left-right.https.html": [
+   "15f8dde88dd066b5525a6b8990206ac567f48b2a",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-absolute-top-bottom-vrl.https.html": [
+   "9cb3a2b8671ef4f9926a39431d193875a5a1738a",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats-vlr.https.html": [
+   "b38fb83238cba9bef74121b1f2a07a1667e4ea63",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-block-auto-avoid-floats.https.html": [
+   "50b56739750402d286da5a3c6cdbbc0335a60bd4",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-block-auto-vlr.https.html": [
+   "929bc22562cd2b1a3635b082c4176215d8668857",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-block-auto.https.html": [
+   "8d0459a147ed62a8c2dc6941bfb38335fa9ad4e5",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-fixed-vrl.https.html": [
+   "888a34c8a1e40c7687a5500efce2496bb5e1b2b6",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-fixed.https.html": [
+   "d98fc7d2cdecc5f11a6853a3280aaf106a8de4e2",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-flex-grow-column-vrl.https.html": [
+   "924c0581767d514b24b530ab012233d61d96055a",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-flex-grow.https.html": [
+   "3f0077ceb95fcfa870c6c6625efbee3c8fa1e2b6",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-grid.https.html": [
+   "ec0ea758406f3bbc73d5d8b8ee2138a3fd941163",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-percentage-vlr.https.html": [
+   "e1e299e101a6f501f2a27b867db36ab8afdc73d1",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-percentage.https.html": [
+   "c11a34aeba8f8743723b8859bb9c6fca886cda23",
+   "reftest"
+  ],
+  "css/css-layout-api/constraints-fixed-inline-size-ref.html": [
+   "1d7de325448b3132ec04b8788665829ff5d1fb02",
+   "support"
+  ],
   "css/css-layout-api/fallback-constructor-error.https.html": [
    "fdb9954e12f4628c114499a5e69f257b60377617",
    "reftest"
   ],
   "css/css-layout-api/fallback-layout-error.https.html": [
    "3d279f42a9b8e8ea0f6dc120d36ca0597372ef9b",
    "reftest"
   ],
@@ -503248,16 +503470,20 @@
   "css/css-layout-api/style-map-ref.html": [
    "fa11b57c69526a4922b2a5f9aeff2486d11a4fc6",
    "support"
   ],
   "css/css-layout-api/style-map.https.html": [
    "361b3c82c37c0068d23ae23e96d8e9185d3765b0",
    "reftest"
   ],
+  "css/css-layout-api/support/constraints-fixed-inline-size.js": [
+   "ed0224a380c50a7e83d23a95be5a4348ce5bf706",
+   "support"
+  ],
   "css/css-layout-api/support/layout-child-fixed-sizes-worklet.js": [
    "5ddda72e3c9d077508622511e8685249c7803028",
    "support"
   ],
   "css/css-layout-api/support/layout-child-worklet.js": [
    "87af0bfedbe9d4ea23e904edc5b22382a5d5d56c",
    "support"
   ],
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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>
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="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-inline-size-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<style>
+.result {
+  background: green;
+  height: 100px;
+  width: 100px;
+}
+</style>
+
+<div class="result"></div>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-layout-api/support/constraints-fixed-inline-size.js
@@ -0,0 +1,9 @@
+registerLayout('test', class {
+  *intrinsicSizes() {}
+  *layout(children, edges, constraints, styleMap) {
+    if (constraints.fixedInlineSize !== 100)
+      return {autoBlockSize: 0};
+
+    return {autoBlockSize: 100};
+  }
+});