• Oriol Brufau's avatar
    [css-pseudo] Let 'content' ::markers be forced to be inside · d6179fca
    Oriol Brufau authored
    Even if a list item has 'list-style-position: outside', Chromium may
    force its marker to be inside when it's a <li> outside a list element.
    
    This information was stored in layout, but this created an undesirable
    dependency since the computed 'display' value of the marker depends on
    whether it's inside or outside. And it wasn't possible to force a marker
    with non-normal 'content' to be inside.
    
    This patch fixes it by adding an internal 'IsInsideListElement' flag in
    ComputedStyle. This design also avoids traversing all the ancestors of
    every <li> element.
    
    BUG=457718
    
    TEST=external/wpt/css/css-pseudo/marker-content-015.html
    
    The test fails in legacy since 'content' is not supported yet.
    
    Change-Id: I2df70841e8e9d729fd4aa47ec9b9973c09a82dcb
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1973914Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
    Commit-Queue: Oriol Brufau <obrufau@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#726310}
    d6179fca
disable-layout-ng 35 KB