Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 43a3c1193c42e20ce68c491a8a229b27e05e8569
https://github.com/WebKit/WebKit/commit/43a3c1193c42e20ce68c491a8a229b27e05e8569
Author: Antoine Quint <[email protected]>
Date: 2025-12-19 (Fri, 19 Dec 2025)
Changed paths:
A
LayoutTests/webanimations/threaded-animations/threaded-scroll-driven-animation-rendering-updates-expected.txt
A
LayoutTests/webanimations/threaded-animations/threaded-scroll-driven-animation-rendering-updates.html
M Source/WebCore/animation/KeyframeEffectStack.cpp
Log Message:
-----------
[threaded-animations] scroll-driven animations cause continuous page
rendering updates while the page is idle
https://bugs.webkit.org/show_bug.cgi?id=304412
rdar://166792409
Reviewed by Simon Fraser.
If you have "Threaded Scroll-driven Animations" and have a page loaded with a
scroll-driven animation,
you'll see page rendering updates happening continuously resulting in remote
layer tree transactions
being uploaded to the remote layer tree even when the page appears completely
idle.
This was due to the `AnimationImpact::RequiresRecomposite` bit being set when
applying keyframe effects
when an effect was marked as accelerated. We should only set that bit if the
acceleration state changed
to being accelerated.
The new test would fail on iOS prior to this change.
Test:
webanimations/threaded-animations/threaded-scroll-driven-animation-rendering-updates.html
*
LayoutTests/webanimations/threaded-animations/threaded-scroll-driven-animation-rendering-updates-expected.txt:
Added.
*
LayoutTests/webanimations/threaded-animations/threaded-scroll-driven-animation-rendering-updates.html:
Added.
* Source/WebCore/animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::applyKeyframeEffects):
Canonical link: https://commits.webkit.org/304731@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications