fune/testing/web-platform/tests/css/css-layout-api/baseline/orthogonal-baseline.https.html
Alison Maher b3bea234f1 Bug 1611295 [wpt PR 21398] - [css-layout-api] Baselines, a=testonly
Automatic update from web-platform-tests
[css-layout-api] Baselines

This change adds support for the CSS Layout API Alignment, both in
retrieving child baselines and in setting parent baselines.
https://drafts.css-houdini.org/css-layout-api/#interaction-alignment

Due to recent changes, fragments produce only one baseline.
https://chromium-review.googlesource.com/c/chromium/src/+/1988376
As a result, custom LayoutFragments will always produce the
first-line baseline.

Bug: 726125
Change-Id: Ia92eddcd8cf6d7f1cc58c767cc71a199b0b7418e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015723
Commit-Queue: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735196}

--

wpt-commits: 338106e67c47bce94fd1fe5d3810f922b2860946
wpt-pr: 21398
2020-01-31 20:40:15 +00:00

42 lines
1.2 KiB
HTML

<!DOCTYPE html>
<html class=reftest-wait>
<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#interaction-alignment">
<link rel="match" href="../green-square-ref.html">
<meta name="assert" content="This test checks that orthogonal children do not produce baselines."/>
<style>
.test {
background: green;
padding: 0 10px;
width: 80px;
}
@supports (display: layout(test)) {
.test {
display: layout(test);
background: green;
}
}
</style>
<script src="/common/reftest-wait.js"></script>
<script src="/common/worklet-reftest.js"></script>
<div class="test">
<div style="writing-mode: vertical-rl; color: green;">text</div>
</div>
<script id="code" type="text/worklet">
registerLayout('test', class {
async intrinsicSizes() {}
async layout(children) {
const childFragments = await Promise.all(children.map(child => child.layoutNextFragment({})));
if (childFragments[0].baseline)
return {autoBlockSize: 0, childFragments};
return {autoBlockSize: 100, childFragments};
}
});
</script>
<script>
importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, document.getElementById('code').textContent);
</script>
</html>