// https://drafts.csswg.org/css-animations-1/#animationevent
[Exposed=Window]
interface AnimationEvent : Event {
    constructor(CSSOMString type, optional AnimationEventInit animationEventInitDict = {});
    readonly attribute CSSOMString animationName;
    readonly attribute double elapsedTime;
    readonly attribute CSSOMString pseudoElement;
};

// https://drafts.csswg.org/css-animations-1/#dictdef-animationeventinit
dictionary AnimationEventInit : EventInit {
    CSSOMString animationName = "";
    double elapsedTime = 0.0;
    CSSOMString pseudoElement = "";
};

// https://drafts.csswg.org/css-animations/#interface-globaleventhandlers-idl
partial interface mixin GlobalEventHandlers {
    attribute EventHandler onanimationcancel;
    attribute EventHandler onanimationend;
    attribute EventHandler onanimationiteration;
    attribute EventHandler onanimationstart;
};
