Files
ladybird/Libraries/LibWeb/Animations/Animation.idl
Callum Law 706570ae50 LibWeb: Track whether to ignore the animation-timeline property
We don't actually apply the `animation-timeline` property yet so this is
non-functional for now
2026-02-11 10:49:34 +01:00

42 lines
1.6 KiB
Plaintext

#import <Animations/AnimationEffect.idl>
#import <Animations/AnimationTimeline.idl>
#import <DOM/EventTarget.idl>
// https://www.w3.org/TR/web-animations-1/#the-animation-interface
[Exposed=Window]
interface Animation : EventTarget {
constructor(optional AnimationEffect? effect = null,
[ExplicitNull] optional AnimationTimeline? timeline);
attribute DOMString id;
attribute AnimationEffect? effect;
[ImplementedAs=timeline_for_bindings] attribute AnimationTimeline? timeline;
[ImplementedAs=start_time_for_bindings] attribute CSSNumberish? startTime;
[ImplementedAs=current_time_for_bindings] attribute CSSNumberish? currentTime;
attribute double playbackRate;
[ImplementedAs=play_state_for_bindings] readonly attribute AnimationPlayState playState;
readonly attribute AnimationReplaceState replaceState;
readonly attribute boolean pending;
readonly attribute Promise<Animation> ready;
readonly attribute Promise<Animation> finished;
attribute EventHandler onfinish;
attribute EventHandler oncancel;
attribute EventHandler onremove;
undefined cancel();
undefined finish();
undefined play();
undefined pause();
undefined updatePlaybackRate(double playbackRate);
undefined reverse();
undefined persist();
[FIXME, CEReactions] undefined commitStyles();
};
// https://www.w3.org/TR/web-animations-1/#the-animationplaystate-enumeration
enum AnimationPlayState { "idle", "running", "paused", "finished" };
// https://www.w3.org/TR/web-animations-1/#the-animationreplacestate-enumeration
enum AnimationReplaceState { "active", "removed", "persisted" };