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