• Koji Ishii's avatar
    [LayoutNG] Create fragments in "empty" line boxes · 744ec324
    Koji Ishii authored
    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: default avatarAleks Totic <atotic@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#612108}
    744ec324
enable-blink-features=LayoutNG 37.4 KB