enum AnimationPlayState {
"idle",
"running",
"paused",
"finished"
};
enum AnimationReplaceState {
"active",
"removed",
"persisted"
};
[
ActiveDOMObject,
InterfaceName=Animation,
CustomToJSObject,
ExportMacro=WEBCORE_EXPORT,
Exposed=Window
] interface WebAnimation : EventTarget {
[Custom] constructor();
attribute DOMString id;
[ImplementedAs=bindingsEffect] attribute AnimationEffect? effect;
[SettingsConditionallyReadWrite=WebAnimationsMutableTimelines] attribute AnimationTimeline? timeline;
[ImplementedAs=bindingsStartTime] attribute double? startTime;
[MayThrowException, ImplementedAs=bindingsCurrentTime] attribute double? currentTime;
attribute double playbackRate;
[ImplementedAs=bindingsPlayState] readonly attribute AnimationPlayState playState;
[ImplementedAs=bindingsReplaceState] readonly attribute AnimationReplaceState replaceState;
[ImplementedAs=bindingsPending] readonly attribute boolean pending;
attribute EventHandler onfinish;
attribute EventHandler oncancel;
attribute EventHandler onremove;
[ImplementedAs=bindingsReady] readonly attribute Promise<WebAnimation> ready;
[ImplementedAs=bindingsFinished] readonly attribute Promise<WebAnimation> finished;
undefined cancel();
[MayThrowException] undefined finish();
[MayThrowException, ImplementedAs=bindingsPlay] undefined play();
[MayThrowException, ImplementedAs=bindingsPause] undefined pause();
undefined updatePlaybackRate(double playbackRate);
[MayThrowException, ImplementedAs=bindingsReverse] undefined reverse();
undefined persist();
[MayThrowException] undefined commitStyles();
};