#import <HTML/HTMLElement.idl>

// https://html.spec.whatwg.org/multipage/media.html#attr-track-kind
[MissingValueDefault=subtitles, InvalidValueDefault=metadata]
enum TrackKindAttribute {
    "subtitles",
    "captions",
    "descriptions",
    "chapters",
    "metadata"
};

// https://html.spec.whatwg.org/multipage/media.html#htmltrackelement
[Exposed=Window]
interface HTMLTrackElement : HTMLElement {

    [HTMLConstructor] constructor();

    [CEReactions, Enumerated=TrackKindAttribute, Reflect] attribute DOMString kind;
    [CEReactions, Reflect, URL] attribute USVString src;
    [CEReactions, Reflect] attribute DOMString srclang;
    [CEReactions, Reflect] attribute DOMString label;
    [CEReactions, Reflect] attribute boolean default;

    const unsigned short NONE = 0;
    const unsigned short LOADING = 1;
    const unsigned short LOADED = 2;
    const unsigned short ERROR = 3;
    readonly attribute unsigned short readyState;

    readonly attribute TextTrack track;

};