ladybird/Libraries/LibWeb/Animations
Andreas Kling 92221f0c57 LibWeb: Apply all animations and transitions before invalidating style
This fixes an issue where only the last KeyframeEffect applied to an
element would actually have an effect on the computed properties.

It was particularly noticeable when animating a shorthand property like
border-width, since only one of the border edges would have its width
actually animate.

By deferring the invalidation until all animations have been processed,
we also reduce the amount of work that gets done on pages with many
animations/transitions per element. Discord is very fond of this for
example.
2025-07-19 11:08:46 -04:00
..
Animatable.cpp LibWeb: Implement CSS transitions support for pseudo elements 2025-05-30 15:48:16 +02:00
Animatable.h LibWeb: Implement CSS transitions support for pseudo elements 2025-05-30 15:48:16 +02:00
Animatable.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Animation.cpp LibWeb: Apply all animations and transitions before invalidating style 2025-07-19 11:08:46 -04:00
Animation.h LibWeb: Don't invalidate style for animations in idle state 2025-03-04 18:06:46 +01:00
Animation.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AnimationEffect.cpp LibWeb: Apply all animations and transitions before invalidating style 2025-07-19 11:08:46 -04:00
AnimationEffect.h LibWeb: Apply all animations and transitions before invalidating style 2025-07-19 11:08:46 -04:00
AnimationEffect.idl LibWeb/Bindings: Support returning nullable types in dictionaries 2025-02-10 17:05:15 +00:00
AnimationPlaybackEvent.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
AnimationPlaybackEvent.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AnimationPlaybackEvent.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AnimationTimeline.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
AnimationTimeline.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AnimationTimeline.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
DocumentTimeline.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
DocumentTimeline.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
DocumentTimeline.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
KeyframeEffect.cpp LibWeb: Apply all animations and transitions before invalidating style 2025-07-19 11:08:46 -04:00
KeyframeEffect.h LibWeb: Apply all animations and transitions before invalidating style 2025-07-19 11:08:46 -04:00
KeyframeEffect.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
PseudoElementParsing.cpp LibWeb: Generate pseudo-element code from JSON 2025-03-24 09:49:50 +00:00
PseudoElementParsing.h LibWeb/CSS: Move and rename PseudoElement types to prep for code gen 2025-03-24 09:49:50 +00:00