[LayoutNG] Fix line-height quirks for atomic inline
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:Emil A Eklund <eae@chromium.org> Commit-Queue: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#603642}
Showing