• Koji Ishii's avatar
    [LayoutNG] Fix line-height quirks for atomic inline · 1ea65ada
    Koji Ishii authored
    This patch fixes line-height quirks mode to include strut
    for close tags only when the end-side of the inline box is
    not empty. It used to include when |needs_box_fragment|,
    which is set under many more conditions.
    
    Normally, when the emptiness (and thus the strut) matters,
    open and close are in the same line. <span><br></span> or
    <span><div></div></span> can make this situation.
    
    It involved two more changes:
    1. NGInlineItem.IsEmptyItem is used to determine the block
       emptiness, while NGLineBreaker had another code to
       determine line emptiness, using slightly different
       conditions. The two logics were merged, stored in
       NGInlineItem.
    2. It revealed a problem in 'vertical-align' where it does
       not include inline boxes for 'top' and 'bottom' align.
       This is fixed in this CL.
    
    Bug: 636993
    Change-Id: I2d609580c96371e702dd365737e8d704b0fcccd8
    Reviewed-on: https://chromium-review.googlesource.com/c/1302173Reviewed-by: default avatarEmil A Eklund <eae@chromium.org>
    Commit-Queue: Emil A Eklund <eae@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#603642}
    1ea65ada
enable-blink-features=LayoutNG 43 KB