Handle multicol intrinsic inline-size changes.
This was broken both in legacy multicol and with LayoutNGBlockFragmentation. Legacy: We stored the intrinsic size in the column sets, in addition to in the flow thread. There was no good reason for this, and it caused trouble once something caused the intrinsic size of the multicol container to change, since the column sets would never be marked dirty again. Just set the intrinsic size of column sets to 0 to fix this. LayoutNGBlockFragmentation: The flow thread is still created even if NG block fragmentation is enabled, but the flow thread is invisible to NG, so when calculating the intrinsic size of nodes in a subtree, we'll skip the flow thread - which means that it will never be marked clean. Skip to the containing block of the flow thread when marking preferred logical widths dirty. This fixes the remaining part of the demo in bug 1037790 - when trying to reduce column-count to 1. Without this fix, the multicol container would remain too wide. Bug: 1037790 Change-Id: I89c7cbeb3132162b6c52ae30e98a0da21cd34ef1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1985770Reviewed-by:Ian Kilpatrick <ikilpatrick@chromium.org> Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#728401}
Showing
Please register or sign in to comment