diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js')
-rw-r--r-- | testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js b/testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js new file mode 100644 index 0000000000..7d5c494952 --- /dev/null +++ b/testing/web-platform/tests/css/css-layout-api/position-fragment/support/layout-position-child-worklet.js @@ -0,0 +1,20 @@ +registerLayout('test', class { + static get childInputProperties() { + return [ + '--inline-offset', + '--block-offset', + ]; + } + + async intrinsicSizes() {} + async layout(children, edges, constraints, styleMap) { + const childFragments = await Promise.all(children.map((child) => child.layoutNextFragment({}))); + + for (let i = 0; i < children.length; i++) { + childFragments[i].inlineOffset = parseInt(children[i].styleMap.get('--inline-offset').toString()); + childFragments[i].blockOffset = parseInt(children[i].styleMap.get('--block-offset').toString()); + } + + return {autoBlockSize: 0, childFragments}; + } +}); |