• Koji Ishii's avatar
    [LayoutNG] Support block content in list items · cbe9c5b9
    Koji Ishii authored
    The first implementation of CSS list in LayoutNG adds the logic to
    NGInlineLayoutAlgorithm, and supports only when content of the list
    item is inline level. Extending this to when list items have block
    level children wasn't easy. Making them as inline blocks is likely not
    web-compatible when floats affect part of the blocks.
    
    The most common case is nested lists, because a list is block level.
    This patch renders basic nested lists correctly.
    
    This patch supports list marker as an unpositioned object in
    NGBlockLayoutAlgorithm, similar to floats or out-of-flow objects, and
    positions them when it lays out the next block, relative to its first
    line baseline. It is much simpler than floats or out-of-flow objects,
    because it is contained only within the list item.
    
    The approach is still being discussed with Francois (msft) and Cathie.
    Also this patch still doesn't support images, and customized
    positioning of markers by setting padding/margin. These will be in
    following patches.
    
    Two tests that were incorrectly rebaselined were re-rebaselined.
    Some image failures turned to text failures that need manual reviews
    to rebaseline.
    
    Bug: 725277
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
    Change-Id: I2e7f46fc6320c6986e4894a263ef99873db2f092
    Reviewed-on: https://chromium-review.googlesource.com/919443
    Commit-Queue: Koji Ishii <kojii@chromium.org>
    Reviewed-by: default avatarEmil A Eklund <eae@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#537584}
    cbe9c5b9
enable-blink-features=LayoutNG 565 KB