Bug 1754041 [wpt PR 32730] - [LayoutNG] Add PropagateChildBreakValues flag to the...
commit50cc2461d5da307ba9de0d8afb172c407106d098
authorAlison Maher <almaher@microsoft.com>
Sat, 26 Feb 2022 22:18:55 +0000 (26 22:18 +0000)
committermoz-wptsync-bot <wptsync@mozilla.com>
Mon, 7 Mar 2022 14:48:59 +0000 (7 14:48 +0000)
treeefff4326a3f9b9a1b001ebdf3bb00ba103db75f0
parent05fdea4c5da1ea186a452fa964630c7b8e2c6ca0
Bug 1754041 [wpt PR 32730] - [LayoutNG] Add PropagateChildBreakValues flag to the ConstraintSpace, a=testonly

Automatic update from web-platform-tests
[LayoutNG] Add PropagateChildBreakValues flag to the ConstraintSpace

This CL adds a new flag to the ConstraintSpace to propagate child break
values (initial-break-before and previous-break-after).

The flag is currently set when setting up the constraint space for
fragmentation. However, it will also be used in future changes outside
of the normal fragmentation pass to determine the initial-break-before
and final-break-after for rows.

The code that performs child break value propagation in
MovePastBreakpoint() was moved to the builder, and it is run
whenever the new flag is set to true.

This fixed a bug where we failed to propagate up the break values of
a child if there was no BFC block-offset. The reason was that we
never called BreakBeforeChildIfNeeded() in that case. By moving the
propagation to the builder, instead, we can ensure the break values
are correctly propagated in this case, as well.

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

--

wpt-commits: be6b703bf7c9c6862a6ce02e54dab1a8ac50cb9e
wpt-pr: 32730
testing/web-platform/tests/css/css-break/break-between-avoid-010.html [new file with mode: 0644]
testing/web-platform/tests/css/css-break/break-between-force-001.html [new file with mode: 0644]
testing/web-platform/tests/css/css-break/break-between-force-002.html [new file with mode: 0644]