Bug 1693326 [wpt PR 27660] - Allow fragmentainers with zero block-size., a=testonly

Automatic update from web-platform-tests
Allow fragmentainers with zero block-size.

The spec [1] says that fragmentainers are assumed to have a minimum
block-size of 1px regardless of their used size, in order to guarantee
content progress. We implemented this by simply making sure that the
used block-size of a fragmentainer would never become less than 1px. But
this wasn't ideal, as that would contribute to unwanted layout overflow
in cases where the content of the multicol container was shorter than
1px.

We'll now still accept at least 1px of content into each fragmentainer,
but don't stretch the fragmentainer itself (just allow the actual column
fragments to become that short as they want, and instead let the content
overflow the columns if necessary).

We still need to fill at least 1px of content before moving to the next
fragmentainer, and fast/multicol/zero-height-with-children.html is a
good test for this.

[1] https://www.w3.org/TR/css-break-3/#breaking-rules

Bug: 829028
Change-Id: I7b4e69524288dad8bb10fd10c715339d1769815a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2698554
Reviewed-by: Alison Maher <almaher@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#854974}

--

wpt-commits: dfa6dff98df467e0fa2721833c54f7a538d10158
wpt-pr: 27660
This commit is contained in:
Morten Stenshorne 2021-02-22 21:46:48 +00:00 коммит произвёл moz-wptsync-bot
Родитель 6e35ea7e76
Коммит 1714d8d96b
1 изменённых файлов: 15 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,15 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-break-3/#breaking-rules">
<meta name="assert" content="When flowing into fragmentainers, we require them to accept at least 1px of content in the block direction, in order to guarantee progress. But the block-size of the fragmentainer itself shouldn't be stretched to 1px, as that would lead to overflow contibution">
<div id="container" style="width:100px; height:100px; overflow:auto;">
<div style="height:100px;"></div>
<div style="columns:3;"><div></div></div>
</div>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(()=> {
assert_equals(container.scrollHeight, 100);
}, "empty multicol doesn't add layout overflow");
</script>