diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-layout-api/constraints/support')
3 files changed, 52 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size-quirky-body-iframe.html b/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size-quirky-body-iframe.html new file mode 100644 index 0000000000..da770e6caf --- /dev/null +++ b/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size-quirky-body-iframe.html @@ -0,0 +1,21 @@ +<style> +body { + margin: 0; + --expected-block-size: 200; +} + +.child { + background: green; +} + +@supports (display: layout(test)) { + body { + display: layout(test); + } +} +</style> + +<!-- In Quirks mode, we should stretch to 100% of the inital containing block. --> +<body> +<div class="child"></div> +</body> diff --git a/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size.js b/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size.js new file mode 100644 index 0000000000..25d73ef615 --- /dev/null +++ b/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-block-size.js @@ -0,0 +1,22 @@ +registerLayout('test', class { + static get inputProperties() { + return ['--expected-block-size']; + } + + async intrinsicSizes() {} + async layout([child], edges, constraints, styleMap) { + let childFixedInlineSize = 0; + let childFixedBlockSize = 0; + if (constraints.fixedBlockSize === JSON.parse(styleMap.get('--expected-block-size'))) { + childFixedInlineSize = 100; + childFixedBlockSize = 100; + } + + const childFragments = [await child.layoutNextFragment({ + fixedInlineSize: childFixedInlineSize, + fixedBlockSize: childFixedBlockSize, + })]; + + return {childFragments}; + } +}); diff --git a/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-inline-size.js b/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-inline-size.js new file mode 100644 index 0000000000..3636f36654 --- /dev/null +++ b/testing/web-platform/tests/css/css-layout-api/constraints/support/constraints-fixed-inline-size.js @@ -0,0 +1,9 @@ +registerLayout('test', class { + async intrinsicSizes() {} + async layout(children, edges, constraints, styleMap) { + if (constraints.fixedInlineSize !== 100) + return {autoBlockSize: 0}; + + return {autoBlockSize: 100}; + } +}); |