tree a128f03a02be97dc9fecec52e3f151e5239ff703
parent 8097f1959cf300cd423192fe36d00c05c58c066c
author Morten Stenshorne <mstensho@chromium.org> 1631204624 -0700
committer Blink WPT Bot <blink-w3c-test-autoroller@chromium.org> 1631206275 -0700

Improve breaking before nested multicols and their rows.

1. Avoid breaking inside an inner multicol fragment if there were
suboptimal breaks inside even if the inner multicol container didn't
break in the outer fragmentation context. multicol-nested-018.html,
multicol-nested-022.html and multicol-nested-023.html test this.

2. Properly constrain balanced column block-size to remaining space in
the outer fragmentainer.  We used to let unbreakable content override
the remaining space, but this is wrong. This fixes
forced-break-too-short-column.html and
nested-short-first-row-extra-tall-line.html

Store break appeal in NGLayoutResult, rather than in NGBreakToken. The
reason is that we may have a violating break inside a fragment that
happened inside a nested fragmentation context, even if the fragment
doesn't necessarily break within the outer fragmentation context.

Also create a proper break token inside a nested multicol container if
there is none and we want to break before the first piece of column
content. Calling SetDidBreakSelf() manually, like we used to, confused
FinishFragmentation() into thinking that we were past the end of the
block-end content box of the multicol container. This is tested by
nested-with-padding.html Because of this change, the code in
PreviousInnerFragmentainerIndex() needed an update, to ignore this break
token, since break-before tokens don't have a sequence number.

Remove the has_violating_descendant_break flag, and use the break appeal
in the layout result instead. We had a column-balancing bug where where
we were missing break-inside:avoid violations, because such violations
don't affect the child's stored break appeal (the reason for this is
explained in further detail inside CalculateBreakAppealInside()).
Such violations were already propagated correctly to the builder's break
appeal, so now it just works. This is tested by
multicol-fill-balance-014.html . Also remove
LayoutNGBlockFragmentation-specific baselines for
moz-multicol3-column-balancing-break-inside-avoid-1.html because of
this, as we now render identically to the legacy engine.

This change fixes some existing tests. It also made
outer-column-break-after-inner-spanner-2.html render correctly, but not
according to the expectation, which was written for the legacy engine.
The legacy engine fails to push the block with the BR inside entirely to
the next outer fragmentainer. So replce it with a correct test:
multicol-nested-017.html

Bug: 829028
Change-Id: I13b2d95a0eb0407a82c8c24070a6dff4d2f620e1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3150413
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919825}
