diff --git a/Tests/LibWeb/Text/expected/HTML/HTMLTrackElement-kind-attribute.txt b/Tests/LibWeb/Text/expected/HTML/HTMLTrackElement-kind-attribute.txt new file mode 100644 index 00000000000..53c30d9882e --- /dev/null +++ b/Tests/LibWeb/Text/expected/HTML/HTMLTrackElement-kind-attribute.txt @@ -0,0 +1,7 @@ +kind initial value: 'subtitles' +kind value after setting to "invalid": 'metadata' +kind value after setting to "captions": 'captions' +kind value after setting to null: 'metadata' +kind value after setting to "CHAPTERS": 'chapters' +kind value after setting to "": 'metadata' +kind value after calling removeAttribute: 'subtitles' \ No newline at end of file diff --git a/Tests/LibWeb/Text/input/HTML/HTMLTrackElement-kind-attribute.html b/Tests/LibWeb/Text/input/HTML/HTMLTrackElement-kind-attribute.html new file mode 100644 index 00000000000..f1bde43a498 --- /dev/null +++ b/Tests/LibWeb/Text/input/HTML/HTMLTrackElement-kind-attribute.html @@ -0,0 +1,20 @@ + + + diff --git a/Userland/Libraries/LibWeb/HTML/AttributeNames.h b/Userland/Libraries/LibWeb/HTML/AttributeNames.h index 39e6d060d90..01ccfde4920 100644 --- a/Userland/Libraries/LibWeb/HTML/AttributeNames.h +++ b/Userland/Libraries/LibWeb/HTML/AttributeNames.h @@ -94,6 +94,7 @@ namespace AttributeNames { __ENUMERATE_HTML_ATTRIBUTE(is) \ __ENUMERATE_HTML_ATTRIBUTE(ismap) \ __ENUMERATE_HTML_ATTRIBUTE(itemscope) \ + __ENUMERATE_HTML_ATTRIBUTE(kind) \ __ENUMERATE_HTML_ATTRIBUTE(label) \ __ENUMERATE_HTML_ATTRIBUTE(lang) \ __ENUMERATE_HTML_ATTRIBUTE(language) \ diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl index 6d800e28c44..b9e1155d610 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl @@ -1,12 +1,22 @@ #import +// 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(); - [FIXME, CEReactions] attribute DOMString kind; + [CEReactions, Enumerated=TrackKindAttribute, Reflect] attribute DOMString kind; [CEReactions, Reflect] attribute DOMString src; [CEReactions, Reflect] attribute DOMString srclang; [CEReactions, Reflect] attribute DOMString label;