Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0fdb9b7d2bffda58084c155ec81422a8f5a3130a
https://github.com/WebKit/WebKit/commit/0fdb9b7d2bffda58084c155ec81422a8f5a3130a
Author: Antoine Quint <[email protected]>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
A
LayoutTests/webanimations/threaded-animations/underlying-style-has-reference-filter-expected.txt
A
LayoutTests/webanimations/threaded-animations/underlying-style-has-reference-filter.html
M Source/WebCore/animation/KeyframeEffect.cpp
M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp
Log Message:
-----------
[threaded-animations] repeated crash on
https://nerdy.dev/anchor-interpolated-morphing
https://bugs.webkit.org/show_bug.cgi?id=306253
rdar://168778245
Reviewed by Anne van Kesteren.
We would unconditionally encode the `filter` and `backdrop-filter` underlying
styles even
when we had a filter referencing an SVG filter which we don't know how to
encode. We now
check for those.
Fixing this made me realize that we also did not correctly interrupt a threaded
animation
if its underlying style changed to include an SVG-referencing filter that was
required for
animation, as is the case with an animation without an explicit "from" or "to"
keyframe, so
we add a test that checks this behavior which incidentally would have crashed
if we hadn't
fixed the encoding issue above.
This new test used to fail but now passes due to ensuring we call
`computeHasReferenceFilter()`
under `KeyframeEffect::lastStyleChangeEventStyleDidChange()` and caching
whether the animation
was running accelerated prior to calling that method since it will change the
acceleration status.
Test:
webanimations/threaded-animations/underlying-style-has-reference-filter.html
*
LayoutTests/webanimations/threaded-animations/underlying-style-has-reference-filter-expected.txt:
Added.
*
LayoutTests/webanimations/threaded-animations/underlying-style-has-reference-filter.html:
Added.
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::lastStyleChangeEventStyleDidChange):
* Source/WebCore/platform/animation/AcceleratedEffectValues.cpp:
(WebCore::AcceleratedEffectValues::AcceleratedEffectValues):
Canonical link: https://commits.webkit.org/306204@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications