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

Reply via email to