[LayoutNG] Create fragments in "empty" line boxes
The "empty" line box is what CSS defines as "certain zero- height line box", that suffices certain conditions as defined in the spec and is ignored for margin collapsing. It has some special behaviors, such as to ignore strut, that LayoutNG suppressed to generate their child fragments. However, we need them under certain conditions such as when they have out-of-flow container as descendants. This change breaks some normal flow, out-of-flow, and outline tests. Normal flow failures were fixed by adding an explicit |IsEmptyLineBox()| function. Out-of-flow failures are fixed as a separate CL in r610994 (CL:1351189). Outline failures are fixed in this CL and in r611954 (CL:13543199) thanks to atotic@. Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I4d393af016439cdbe085d91fdd1e8550d320d1f1 Bug: 636993, 903578 Reviewed-on: https://chromium-review.googlesource.com/c/1251142 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by:Aleks Totic <atotic@chromium.org> Cr-Commit-Position: refs/heads/master@{#612108}
Showing