Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4a38bbbd7547d45a97ce02294621513d1559ce7a
      
https://github.com/WebKit/WebKit/commit/4a38bbbd7547d45a97ce02294621513d1559ce7a
  Author: Antoine Quint <grao...@webkit.org>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    A 
LayoutTests/webanimations/scheduling-of-accelerated-css-animation-without-css-animation-event-listeners-expected.txt
    A 
LayoutTests/webanimations/scheduling-of-accelerated-css-animation-without-css-animation-event-listeners.html
    M Source/WebCore/animation/KeyframeEffect.cpp

  Log Message:
  -----------
  [web-animations] accelerated CSS Animation should not schedule animation 
resolution at iteration boundary if no CSS Animation event listener was 
registered (affects reddit.com)
https://bugs.webkit.org/show_bug.cgi?id=265936
rdar://119244430

Reviewed by Antti Koivisto.

While we don't need to schedule animation resolution for animations that are 
running accelerated
to resolve styles, we do need to schedule resolution in order to dispatch 
`animationiteration`
events in the case of CSS Animations.

However, it is unlikely that the content will be interested in such events. As 
a cheap optimization,
we can detect whether any CSS Animation event listener is registered for the 
document to which the
effect target belongs, and if that is not the case we don't need to schedule 
animation resolution.

* 
LayoutTests/webanimations/scheduling-of-accelerated-css-animation-without-css-animation-event-listeners-expected.txt:
 Added.
* 
LayoutTests/webanimations/scheduling-of-accelerated-css-animation-without-css-animation-event-listeners.html:
 Added.
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::timeToNextTick const):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to