Commit 0a105c39 authored by Morten Stenshorne's avatar Morten Stenshorne Committed by Commit Bot

[LayoutNG] Break before a float that follows a forced in-flow break.

Bug: 829028
Change-Id: I30d3d7349c97b497026141a242209051199c4c84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421371Reviewed-by: default avatarIan Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#808959}
parent 40a5b742
......@@ -1065,6 +1065,19 @@ void NGBlockLayoutAlgorithm::HandleFloat(
? NextBorderEdge(previous_inflow_position)
: ConstraintSpace().ExpectedBfcBlockOffset()};
if (ConstraintSpace().HasBlockFragmentation()) {
// Forced breaks cannot be specified directly on floats, but if the
// preceding block has a forced break after, we need to break before this
// float.
EBreakBetween break_between =
container_builder_.JoinedBreakBetweenValue(EBreakBetween::kAuto);
if (IsForcedBreakValue(ConstraintSpace(), break_between)) {
container_builder_.AddBreakBeforeChild(child, kBreakAppealPerfect,
/* is_forced_break*/ true);
return;
}
}
NGUnpositionedFloat unpositioned_float(
child, child_break_token, ChildAvailableSize(), child_percentage_size_,
replaced_child_percentage_size_, origin_bfc_offset, ConstraintSpace(),
......
......@@ -1054,7 +1054,6 @@ crbug.com/829028 virtual/layout_ng_block_frag/external/wpt/css/css-multicol/mult
crbug.com/1079031 virtual/layout_ng_block_frag/fast/multicol/abspos-after-break-after.html [ Failure ]
crbug.com/1066616 virtual/layout_ng_block_frag/fast/multicol/abspos-in-overflow-hidden-in-2nd-column.html [ Failure ]
crbug.com/1079031 virtual/layout_ng_block_frag/fast/multicol/abspos-new-width-rebalance.html [ Crash Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/balance-float-after-forced-break.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/balance-line-overflow.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/border-radius-clipped-layer.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/border-radius-clipped-layer-second-column.html [ Failure ]
......@@ -1084,7 +1083,6 @@ crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/dynamic/static-becom
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/event-offset-in-nested.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/file-upload-as-multicol.html [ Failure ]
crbug.com/1061423 virtual/layout_ng_block_frag/fast/multicol/flipped-blocks-hit-test.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/float-after-break-after.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/float-margin-at-row-boundary.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/float-margin-at-row-boundary-fixed-multicol-height.html [ Failure ]
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/float-moved-by-child-line-and-unbreakable.html [ Failure ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment