Bug 1588566 [wpt PR 19677] - The block-offset of a spanner may affect layout., a=testonly

Automatic update from web-platform-tests
The block-offset of a spanner may affect layout.

We already had code that copied to the block-offset from the spanner
placeholder to the actual spanner layout object, but we also need to
make sure that it actually gets laid out.

See test: In the initial layout pass we'd set the block-size of the
first column row (with the empty DIV) to the block-size of the multicol
container. Then we'd bump into the spanner, and realize that this
block-size wouldn't do, since we need to balance columns in front of a
spanner. Because of this initial block-size of the column row, the
initial layout pass of the spanner would put the spanner below that,
tricking the machinery into believing that we need a break inside the
spanner. In the next layout pass the block-size of the column row would
be corrected, and also the position of the spanner. But we wouldn't
re-lay out, and thus incorrectly keeping a pagination strut in the
middle of the spanner.

Bug: 1006249
Change-Id: If7ec10389ba5f6e78d9ecb5fd4ad7fd113c128bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1859977
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#705646}

--

wpt-commits: 20a55f606de85d95a46cd19b423c9215cb39898c
wpt-pr: 19677
This commit is contained in:
Morten Stenshorne 2019-10-22 09:44:34 +00:00 коммит произвёл James Graham
Родитель 302df18f5b
Коммит e257f63f6e
1 изменённых файлов: 14 добавлений и 0 удалений

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

@ -0,0 +1,14 @@
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1006249">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="columns:2; column-fill:auto; width:500px; height:500px; margin-top:-1px;">
<div style="columns:2; column-fill:auto; height:400px; padding-top:1px;">
<div></div>
<div style="width:100px; column-span:all; background:red;">
<div style="height:50px; break-inside:avoid; background:green;"></div>
<div style="height:50px; break-inside:avoid; background:green;"></div>
</div>
</div>
</div>