ladybird/Libraries/LibWeb/Animations
Jelle Raaijmakers aa563706ca LibWeb: Rework AnimationTimeline's monotonically increasing property
Our previous implementation kept track of an AnimationTimeline being
monotonically increasing, by looking at new time values coming in and
setting `m_monotonically_increasing` to `false` whenever a new value
is before the previous known time value.

As far as I can tell, the spec doesn't really ask us to do so: it just
defines 'monotonically increasing' as a property of a timeline, i.e. it
guarantees that returned time values from `::current_time()` are always
greater than or equal to the last returned value.

This fixes a common crash seen when the last render opportunity lies
before the document's origin time, and `::set_current_time()` was
invoked with a negative value. This was especially visible in the
`Text/input/wpt-import/css/cssom/CSSStyleSheet-constructable.html` test.
2025-07-30 14:37:54 +02:00
..
Animatable.cpp LibWeb: Remove animations from timeline in Element::removed_from() 2025-07-23 17:50:01 -04:00
Animatable.h LibWeb: Remove animations from timeline in Element::removed_from() 2025-07-23 17:50:01 -04:00
Animatable.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Animation.cpp LibWeb: Rework AnimationTimeline's monotonically increasing property 2025-07-30 14:37:54 +02: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: Rework AnimationTimeline's monotonically increasing property 2025-07-30 14:37:54 +02:00
AnimationTimeline.h LibWeb: Rework AnimationTimeline's monotonically increasing property 2025-07-30 14:37:54 +02:00
AnimationTimeline.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
DocumentTimeline.cpp LibWeb: Rework AnimationTimeline's monotonically increasing property 2025-07-30 14:37:54 +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 Everywhere: Use HashMap::update() where applicable 2025-07-25 16:22:06 +02: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