[webkit-changes] [WebKit/WebKit] 834ed1: text-underline-offset should support percentages

Zak Ridouh noreply at github.com
Thu Aug 22 00:55:51 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 834ed1dcd01004b6fa48e5d348acba481253e88b
      https://github.com/WebKit/WebKit/commit/834ed1dcd01004b6fa48e5d348acba481253e88b
  Author: Zak Ridouh <zakr at apple.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/animations/text-underline-offset-interpolation-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/animations/text-underline-offset-interpolation.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-002-expected.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-002.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-calc-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-calc-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-calc.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-percentage-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-percentage-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-percentage.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-underline-offset-expected.txt
    M Source/WebCore/animation/CSSPropertyAnimation.cpp
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h
    M Source/WebCore/rendering/style/TextUnderlineOffset.h
    M Source/WebCore/style/InlineTextBoxStyle.cpp
    M Source/WebCore/style/StyleBuilderConverter.h

  Log Message:
  -----------
  text-underline-offset should support percentages
https://bugs.webkit.org/show_bug.cgi?id=263431
rdar://117246233

Reviewed by Tim Nguyen.

This commit adds support for percentages in text-underline-offset [1].

Interpolation between different supported length types, such as em, %, and px
is supported and tested. Validate proper rendering with new tests. As specified
in the spec, % scales as a percentage of em/size of the font it inherits.

[1] https://drafts.csswg.org/css-text-decor-4/#valdef-text-underline-offset-percentage

    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/animations/text-underline-offset-interpolation-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/animations/text-underline-offset-interpolation.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-002-expected.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-002.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-calc-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-calc-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-calc.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-computed.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-percentage-expected.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-percentage-ref.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-percentage.html: Added.
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-text-decor/text-underline-offset-valid.html:
    * LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/text-underline-offset-expected.txt:
    * Source/WebCore/animation/CSSPropertyAnimation.cpp:
    (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
    * Source/WebCore/css/CSSProperties.json:
    * Source/WebCore/css/ComputedStyleExtractor.cpp:
    (WebCore::textUnderlineOffsetToCSSValue):
    (WebCore::textDecorationThicknessToCSSValue):
    (WebCore::ComputedStyleExtractor::valueForPropertyInStyle const):
    * Source/WebCore/rendering/style/RenderStyle.h:
    * Source/WebCore/rendering/style/RenderStyleInlines.h:
    (WebCore::RenderStyle::initialTextUnderlineOffset):
    * Source/WebCore/rendering/style/TextUnderlineOffset.h:
    (WebCore::TextUnderlineOffset::createWithAuto):
    (WebCore::TextUnderlineOffset::createWithLength):
    (WebCore::TextUnderlineOffset::isAuto const):
    (WebCore::TextUnderlineOffset::isLength const):
    (WebCore::TextUnderlineOffset::length const):
    (WebCore::TextUnderlineOffset::resolve const):
    (WebCore::TextUnderlineOffset::TextUnderlineOffset):
    (WebCore::operator<<):
    (WebCore::TextUnderlineOffset::setLengthValue): Deleted.
    (WebCore::TextUnderlineOffset::lengthValue const): Deleted.
    (WebCore::TextUnderlineOffset::lengthOr const): Deleted.
    * Source/WebCore/style/InlineTextBoxStyle.cpp:
    (WebCore::computedUnderlineOffset):
    * Source/WebCore/style/StyleBuilderConverter.h:
    (WebCore::Style::BuilderConverter::convertTextUnderlineOffset):

Canonical link: https://commits.webkit.org/282611@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list