Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3a3971d9fc9294d0819735461d788028b1cb5c73
      
https://github.com/WebKit/WebKit/commit/3a3971d9fc9294d0819735461d788028b1cb5c73
  Author: Sam Weinig <[email protected]>
  Date:   2025-12-16 (Tue, 16 Dec 2025)

  Changed paths:
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-font-size-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-font-size.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-letter-spacing-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-letter-spacing.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-animating-font-size-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-animating-letter-spacing-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/reference/word-spacing-animating-font-size-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/reference/word-spacing-animating-word-spacing-ref.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-font-size-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-font-size.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-word-spacing-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-word-spacing.html
    M Source/WebCore/SaferCPPExpectations/UncheckedLocalVarsCheckerExpectations
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/rendering/style/RenderStyleBase.cpp
    M Source/WebCore/rendering/style/RenderStyleBase.h
    M Source/WebCore/rendering/style/RenderStylePropertiesSettersCustom.h
    M Source/WebCore/style/StyleBuilderState.cpp
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py

  Log Message:
  -----------
  REGRESSION(300618@main): `letter-spacing` transition no longer works
https://bugs.webkit.org/show_bug.cgi?id=304172
rdar://166530064

Reviewed by Antoine Quint.

When splitting the computed letter-spacing and word-spacing values
out of FontCascade in 300618@main, I neglected to account for the
case where the the style builder is not used: animations. So, while
the computed letter-spacing and word-spacing values got updated
during animations (which is what most test cases look at because
it can be queried from script), the used letter-spacing and
word-spacing values on FontCascade where not getting synchronized.

To rectify this, I extracted the synchronization code into new
helpers on RenderStyleBase (with both updating, for animation, and
non-updating, for style building, variants), and introduced new
setters for the letter-spacing and word-spacing interpolator to
call that invokes the new synchronizers.

While thinking about this, I realized we had another related issue
with letter-spacing and word-spacing during animations but when
animating font-size. When animating font-size, we also need to ensure
that letter-spacing and word-spacing are synchronized, as they
might be using percentage values.

Tests: 
imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-font-size.html
       
imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-letter-spacing.html
       
imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-animating-font-size-ref.html
       
imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-animating-letter-spacing-ref.html
       
imported/w3c/web-platform-tests/css/css-text/word-spacing/reference/word-spacing-animating-font-size-ref.html
       
imported/w3c/web-platform-tests/css/css-text/word-spacing/reference/word-spacing-animating-word-spacing-ref.html
       
imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-font-size.html
       
imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-word-spacing.html
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-font-size-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-font-size.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-letter-spacing-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/letter-spacing-animating-letter-spacing.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-animating-font-size-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/letter-spacing/reference/letter-spacing-animating-letter-spacing-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/reference/word-spacing-animating-font-size-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/reference/word-spacing-animating-word-spacing-ref.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-font-size-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-font-size.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-word-spacing-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-text/word-spacing/word-spacing-animating-word-spacing.html:
 Added.
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/rendering/style/RenderStyleBase.cpp:
* Source/WebCore/rendering/style/RenderStyleBase.h:
* Source/WebCore/rendering/style/RenderStylePropertiesSettersCustom.h:
* Source/WebCore/style/StyleBuilderState.cpp:

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



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

Reply via email to