gecko-dev/testing/web-platform/tests/css/css-multicol/intrinsic-width-change-column-count.html
Morten Stenshorne 018c292a37 Bug 1606714 [wpt PR 21010] - Recalculate flow thread intrinsic size when parent needs it., a=testonly
Automatic update from web-platform-tests
Recalculate flow thread intrinsic size when parent needs it.

If the multicol container gets marked for intrinsic size recalculation,
its flow thread child might need to recalculate its intrinsic size as
well (the intrinsic inner size of a multicol container is stored in the
flow thread), although it may not have been marked as such. This
situation occurs when column-count changes.

Re-use the NeedsPreferredWidthsRecalculation() mechanism to fix this,
instead of inventing something new.

This fixes most of the demo in bug 1037790, except when attempting to
reduce column-count to 1.
https://chromium-review.googlesource.com/c/chromium/src/+/1985770/1
will fix that.

Bug: 1037790
Change-Id: I9d42448f8cc7a5b170c98a59bcde7a916cea22db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985769
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728390}

--

wpt-commits: 52ad8a87fb72bcf6950c20cced0d87f34e26dc81
wpt-pr: 21010
2020-01-08 00:50:03 +00:00

15 lines
732 B
HTML

<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#pseudo-algorithm">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1037790">
<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="width:100px; background:red;">
<div id="container" style="columns:3; column-gap:0; column-fill:auto; width:fit-content; height:100px; background:green;">
<div style="width:25px; height:10px;"></div>
</div>
</div>
<script>
document.body.offsetTop;
container.style.columns = "4";
</script>