Ting-Yu Lin 46965e75de Bug 847368 - Reset floating first letter's reflow status before checking break-inside:avoid. r=emilio
As the comment in the moved hunk said, a floating first letter frame's
incomplete status means that there is more content to be reflowed on the line.
If the block containing the floating first letter has `break-inside:avoid`
style, the old code would call `SetInlineLineBreakBeforeAndReset()`, and the
block's parent frame would misinterpret the status as "this block needs to be
push to the next fragment" even if we are *not* in a paginated environment.
Hence the assertion "Shouldn't be incomplete if availableBSize is
UNCONSTRAINED."

To fix this bug, we can reset the float's reflow status for a first letter frame
before checking `ShouldAvoidBreakInside`.

Differential Revision: https://phabricator.services.mozilla.com/D149712
2022-06-20 23:04:50 +00:00
..