• Oriol Brufau's avatar
    [css-pseudo] Support text properties in ::marker · 41cb9e56
    Oriol Brufau authored
    The CSSWG resolved in https://github.com/w3c/csswg-drafts/issues/4568
    that inherited properties that apply to text can be set on ::marker and
    should affect the marker text.
    
    Therefore, this patch allows 'hyphens', 'letter-spacing', 'line-break',
    'overflow-wrap', 'tab-size', 'word-break', and 'word-spacing' in marker.
    
    Note it was already possibly to set these properties in the list item
    and the ::marker would inherit them. This patch just lets authors set
    them directly on the ::marker.
    
    I would have allowed 'text-justify' too but it's not enabled by default
    and in LayoutNG it has no effect on inline boxes (bug 1124043), so it
    didn't seem worth it.
    
    Bug: 1031667
    
    TEST=external/wpt/css/css-pseudo/marker-hyphens.html
    TEST=external/wpt/css/css-pseudo/marker-letter-spacing.html
    TEST=external/wpt/css/css-pseudo/marker-line-break.html
    TEST=external/wpt/css/css-pseudo/marker-overflow-wrap.html
    TEST=external/wpt/css/css-pseudo/marker-tab-size.html
    TEST=external/wpt/css/css-pseudo/marker-word-break.html
    TEST=external/wpt/css/css-pseudo/marker-word-spacing.html
    TEST=external/wpt/css/css-pseudo/parsing/marker-supported-properties-in-animation.html
    TEST=external/wpt/css/css-pseudo/parsing/marker-supported-properties.html
    
    Some tests fail in legacy because ::markers with 'content: normal' are
    not implemented with actual text.
    
    Change-Id: I2086854796fd355928591ee4c85f241337b33445
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2388384Reviewed-by: default avatarRune Lillesveen <futhark@chromium.org>
    Commit-Queue: Oriol Brufau <obrufau@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#803839}
    41cb9e56
disable-layout-ng 52.5 KB