LibWeb: Reorder and add missing HTML elements IDL items

This commit is contained in:
Bastiaan van der Plaat 2023-10-25 17:26:24 +02:00 committed by Andreas Kling
parent 54cdcd0d06
commit fc46def2f5
Notes: sideshowbarker 2024-07-17 20:22:04 +09:00
42 changed files with 220 additions and 48 deletions

View file

@ -14,6 +14,8 @@ interface HTMLAreaElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString download;
[CEReactions, Reflect] attribute USVString ping;
[CEReactions, Reflect] attribute DOMString rel;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
// FIXME: [CEReactions] attribute DOMString referrerPolicy;
// Obsolete
[Reflect=nohref] attribute boolean noHref;

View file

@ -7,6 +7,7 @@ interface HTMLBodyElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString text;
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString link;
[CEReactions, LegacyNullToEmptyString, Reflect=vlink] attribute DOMString vLink;

View file

@ -10,12 +10,14 @@ interface HTMLCanvasElement : HTMLElement {
[HTMLConstructor] constructor();
RenderingContext? getContext(DOMString contextId, optional any options = null);
[CEReactions] attribute unsigned long width;
[CEReactions] attribute unsigned long height;
RenderingContext? getContext(DOMString contextId, optional any options = null);
USVString toDataURL(optional DOMString type = "image/png", optional double quality);
undefined toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional double quality);
};
callback BlobCallback = undefined (Blob? blob);

View file

@ -6,6 +6,7 @@ interface HTMLDetailsElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute boolean open;
};

View file

@ -8,37 +8,62 @@ interface HTMLElement : Element {
[HTMLConstructor] constructor();
// metadata attributes
[Reflect, CEReactions] attribute DOMString title;
[Reflect, CEReactions] attribute DOMString lang;
// FIXME: [CEReactions] attribute boolean translate;
[CEReactions] attribute DOMString dir;
// user interaction
[Reflect, CEReactions] attribute boolean hidden;
attribute DOMString contentEditable;
// FIXME: [CEReactions] attribute boolean inert;
undefined click();
// FIXME: Support the optional FocusOptions parameter.
undefined focus();
undefined blur();
// FIXME: [CEReactions] attribute DOMString accessKey;
// FIXME: readonly attribute DOMString accessKeyLabel;
// FIXME: [CEReactions] attribute boolean draggable;
// FIXME: [CEReactions] attribute boolean spellcheck;
// FIXME: [CEReactions] attribute DOMString autocapitalize;
[LegacyNullToEmptyString, CEReactions] attribute DOMString innerText;
// FIXME: [LegacyNullToEmptyString, CEReactions] attribute DOMString outerText;
// FIXME: ElementInternals attachInternals();
// The popover API
// FIXME: undefined showPopover();
// FIXME: undefined hidePopover();
// FIXME: boolean togglePopover(optional boolean force);
// FIXME: [CEReactions] attribute DOMString? popover;
// https://drafts.csswg.org/cssom-view/#extensions-to-the-htmlelement-interface
// FIXME: readonly attribute Element? offsetParent;
readonly attribute long offsetTop;
readonly attribute long offsetLeft;
readonly attribute long offsetWidth;
readonly attribute long offsetHeight;
};
HTMLElement includes GlobalEventHandlers;
HTMLElement includes ElementContentEditable;
HTMLElement includes HTMLOrSVGElement;
interface mixin ElementContentEditable {
[CEReactions] attribute DOMString contentEditable;
// FIXME: [CEReactions] attribute DOMString enterKeyHint;
// FIXME: readonly attribute boolean isContentEditable;
// FIXME: [CEReactions] attribute DOMString inputMode;
};
interface mixin HTMLOrSVGElement {
[SameObject] readonly attribute DOMStringMap dataset;
// FIXME: attribute DOMString nonce; // intentionally no [CEReactions]
[CEReactions, Reflect] attribute boolean autofocus;
[CEReactions] attribute long tabIndex;
// FIXME: Support the optional FocusOptions parameter.
undefined focus();
undefined blur();
};
HTMLElement includes ElementCSSInlineStyle;

View file

@ -10,7 +10,9 @@ interface HTMLEmbedElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString type;
[CEReactions, Reflect] attribute DOMString width;
[CEReactions, Reflect] attribute DOMString height;
// FIXME: Document? getSVGDocument();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute DOMString name;

View file

@ -7,21 +7,27 @@ interface HTMLFormElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute DOMString rel;
[CEReactions] attribute DOMString method;
[CEReactions, Reflect=accept-charset] attribute DOMString acceptCharset;
[CEReactions, Reflect=novalidate] attribute boolean noValidate;
[CEReactions] attribute USVString action;
// FIXME: [CEReactions] attribute DOMString autocomplete;
// FIXME: [CEReactions] attribute DOMString enctype;
// FIXME: [CEReactions] attribute DOMString encoding;
[CEReactions] attribute DOMString method;
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect=novalidate] attribute boolean noValidate;
[CEReactions, Reflect] attribute DOMString target;
[CEReactions, Reflect] attribute DOMString rel;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
[SameObject] readonly attribute HTMLFormControlsCollection elements;
readonly attribute unsigned long length;
// FIXME: getter Element (unsigned long index);
// FIXME: getter (RadioNodeList or Element) (DOMString name);
undefined submit();
// FIXME: undefined requestSubmit(optional HTMLElement? submitter = null);
[CEReactions] undefined reset();
boolean checkValidity();
boolean reportValidity();
[SameObject] readonly attribute HTMLFormControlsCollection elements;
readonly attribute unsigned long length;
};

View file

@ -11,5 +11,11 @@ interface HTMLFrameElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect=frameborder] attribute DOMString frameBorder;
[CEReactions, Reflect=longdesc] attribute DOMString longDesc;
// FIXME: [CEReactions] attribute boolean noResize;
// FIXME: readonly attribute Document? contentDocument;
// FIXME: readonly attribute WindowProxy? contentWindow;
// FIXME: [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
// FIXME: [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
};

View file

@ -6,6 +6,7 @@ interface HTMLHRElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute DOMString color;
[CEReactions, Reflect=noshade] attribute boolean noShade;

View file

@ -6,6 +6,7 @@ interface HTMLHeadingElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
};

View file

@ -6,6 +6,7 @@ interface HTMLHtmlElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute DOMString version;
};

View file

@ -10,21 +10,24 @@ interface HTMLIFrameElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect] attribute DOMString srcdoc;
[CEReactions, Reflect] attribute DOMString name;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox;
[CEReactions, Reflect] attribute DOMString allow;
[CEReactions, Reflect=allowfullscreen] attribute boolean allowFullscreen;
[CEReactions, Reflect] attribute DOMString width;
[CEReactions, Reflect] attribute DOMString height;
[CEReactions, Reflect=allowfullscreen] attribute boolean allowFullscreen;
// FIXME: [CEReactions] attribute DOMString referrerPolicy;
// FIXME: [CEReactions] attribute DOMString loading;
readonly attribute Document? contentDocument;
readonly attribute WindowProxy? contentWindow;
Document? getSVGDocument();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute DOMString scrolling;
[CEReactions, Reflect=frameborder] attribute DOMString frameBorder;
// FIXME: [CEReactions] attribute USVString longDesc;
[CEReactions, LegacyNullToEmptyString, Reflect=marginheight] attribute DOMString marginHeight;
[CEReactions, LegacyNullToEmptyString, Reflect=marginwidth] attribute DOMString marginWidth;
Document? getSVGDocument();
};

View file

@ -6,22 +6,34 @@ interface HTMLImageElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect] attribute DOMString alt;
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect] attribute DOMString srcset;
[CEReactions, Reflect] attribute DOMString sizes;
// FIXME: [CEReactions] attribute DOMString? crossOrigin;
[CEReactions, Reflect=usemap] attribute DOMString useMap;
[CEReactions, Reflect=ismap] attribute boolean isMap;
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString border;
[CEReactions] attribute unsigned long width;
[CEReactions] attribute unsigned long height;
readonly attribute unsigned long naturalWidth;
readonly attribute unsigned long naturalHeight;
readonly attribute boolean complete;
// FIXME: readonly attribute USVString currentSrc;
// FIXME: [CEReactions] attribute DOMString referrerPolicy;
// FIXME: [CEReactions] attribute DOMString decoding;
// FIXME: [CEReactions] attribute DOMString loading;
// FIXME: [CEReactions] attribute DOMString fetchPriority;
// FIXME: Promise<undefined> decode();
// Obsolete
[CEReactions, Reflect] attribute DOMString name;
// FIXME: [CEReactions] attribute USVString lowsrc;
[CEReactions, Reflect] attribute DOMString align;
// FIXME: [CEReactions] attribute unsigned long hspace;
// FIXME: [CEReactions] attribute unsigned long vspace;
// FIXME: [CEReactions] attribute USVString longDesc;
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString border;
};

View file

@ -5,8 +5,10 @@
interface HTMLLIElement : HTMLElement {
[HTMLConstructor] constructor();
// FIXME: [CEReactions] attribute long value;
// Obsolete
[CEReactions, Reflect] attribute DOMString type;
};

View file

@ -6,6 +6,8 @@ interface HTMLLabelElement : HTMLElement {
[HTMLConstructor] constructor();
// FIXME: readonly attribute HTMLFormElement? form;
[CEReactions, Reflect=for] attribute DOMString htmlFor;
// FIXME: readonly attribute HTMLElement? control;
};

View file

@ -1,3 +1,4 @@
#import <CSS/LinkStyle.idl>
#import <HTML/HTMLElement.idl>
// https://html.spec.whatwg.org/multipage/semantics.html#htmllinkelement
@ -7,17 +8,26 @@ interface HTMLLinkElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString href;
[CEReactions, Reflect] attribute DOMString hreflang;
[CEReactions, Reflect] attribute DOMString integrity;
[CEReactions, Reflect] attribute DOMString media;
// FIXME: [CEReactions] attribute DOMString? crossOrigin;
[CEReactions, Reflect] attribute DOMString rel;
// FIXME: [CEReactions] attribute DOMString as;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
[CEReactions, Reflect] attribute DOMString media;
[CEReactions, Reflect] attribute DOMString integrity;
[CEReactions, Reflect] attribute DOMString hreflang;
[CEReactions, Reflect] attribute DOMString type;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
[CEReactions, Reflect=imagesrcset] attribute DOMString imageSrcset;
[CEReactions, Reflect=imagesizes] attribute DOMString imageSizes;
// FIXME: [CEReactions] attribute DOMString referrerPolicy;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
[CEReactions, Reflect] attribute boolean disabled;
// FIXME: [CEReactions] attribute DOMString fetchPriority;
// Obsolete
[CEReactions, Reflect] attribute DOMString charset;
[CEReactions, Reflect] attribute DOMString rev;
[CEReactions, Reflect] attribute DOMString target;
};
// FIXME: HTMLLinkElement includes LinkStyle;

View file

@ -7,5 +7,6 @@ interface HTMLMapElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString name;
// FIXME: [SameObject] readonly attribute HTMLCollection areas;
};

View file

@ -10,6 +10,15 @@ interface HTMLMarqueeElement : HTMLElement {
[CEReactions, Reflect=bgcolor] attribute DOMString bgColor;
[CEReactions, Reflect] attribute DOMString direction;
[CEReactions, Reflect] attribute DOMString height;
// FIXME: [CEReactions] attribute unsigned long hspace;
// FIXME: [CEReactions] attribute long loop;
// FIXME: [CEReactions] attribute unsigned long scrollAmount;
// FIXME: [CEReactions] attribute unsigned long scrollDelay;
// FIXME: [CEReactions] attribute boolean trueSpeed;
// FIXME: [CEReactions] attribute unsigned long vspace;
[CEReactions, Reflect] attribute DOMString width;
// FIXME: undefined start();
// FIXME: undefined stop();
};

View file

@ -19,6 +19,7 @@ interface HTMLMediaElement : HTMLElement {
// network state
[Reflect, CEReactions] attribute DOMString src;
// FIXME: attribute MediaProvider? srcObject;
readonly attribute USVString currentSrc;
[Reflect=crossorigin, CEReactions] attribute DOMString? crossOrigin;
const unsigned short NETWORK_EMPTY = 0;
@ -26,6 +27,7 @@ interface HTMLMediaElement : HTMLElement {
const unsigned short NETWORK_LOADING = 2;
const unsigned short NETWORK_NO_SOURCE = 3;
readonly attribute unsigned short networkState;
// FIXME: [CEReactions] attribute DOMString preload;
readonly attribute TimeRanges buffered;
undefined load();
CanPlayTypeResult canPlayType(DOMString type);
@ -43,7 +45,13 @@ interface HTMLMediaElement : HTMLElement {
attribute double currentTime;
undefined fastSeek(double time);
readonly attribute unrestricted double duration;
// FIXME: object getStartDate();
readonly attribute boolean paused;
// FIXME: attribute double defaultPlaybackRate;
// FIXME: attribute double playbackRate;
// FIXME: attribute boolean preservesPitch;
// FIXME: readonly attribute TimeRanges played;
// FIXME: readonly attribute TimeRanges seekable;
readonly attribute boolean ended;
[Reflect, CEReactions] attribute boolean autoplay;
[Reflect, CEReactions] attribute boolean loop;
@ -59,4 +67,7 @@ interface HTMLMediaElement : HTMLElement {
// tracks
[SameObject] readonly attribute AudioTrackList audioTracks;
[SameObject] readonly attribute VideoTrackList videoTracks;
// FIXME: [SameObject] readonly attribute TextTrackList textTracks;
// FIXME: TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
};

View file

@ -6,6 +6,7 @@ interface HTMLMenuElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute boolean compact;
};

View file

@ -7,9 +7,11 @@ interface HTMLMetaElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute DOMString content;
[CEReactions, Reflect=http-equiv] attribute DOMString httpEquiv;
[CEReactions, Reflect] attribute DOMString content;
// FIXME: [CEReactions] attribute DOMString media;
// Obsolete
[CEReactions, Reflect] attribute DOMString scheme;
};

View file

@ -10,6 +10,7 @@ interface HTMLOListElement : HTMLElement {
// FIXME: [CEReactions] attribute long start;
[CEReactions, Reflect] attribute DOMString type;
// Obsolete
[CEReactions, Reflect] attribute boolean compact;
};

View file

@ -10,20 +10,32 @@ interface HTMLObjectElement : HTMLElement {
[CEReactions] attribute DOMString data;
[CEReactions, Reflect] attribute DOMString type;
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect=usemap] attribute DOMString useMap;
// FIXME: readonly attribute HTMLFormElement? form;
[CEReactions, Reflect] attribute DOMString width;
[CEReactions, Reflect] attribute DOMString height;
readonly attribute Document? contentDocument;
// FIXME: readonly attribute WindowProxy? contentWindow;
Document? getSVGDocument();
// FIXME: readonly attribute boolean willValidate;
// FIXME: readonly attribute ValidityState validity;
// FIXME: readonly attribute DOMString validationMessage;
// FIXME: boolean checkValidity();
// FIXME: boolean reportValidity();
// FIXME: undefined setCustomValidity(DOMString error);
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute DOMString archive;
[CEReactions, Reflect] attribute DOMString code;
[CEReactions, Reflect] attribute boolean declare;
// FIXME: [CEReactions] attribute unsigned long hspace;
[CEReactions, Reflect] attribute DOMString standby;
// FIXME: [CEReactions] attribute unsigned long vspace;
// FIXME: [CEReactions] attribute DOMString codeBase;
[CEReactions, Reflect=codetype] attribute DOMString codeType;
[CEReactions, Reflect=usemap] attribute DOMString useMap;
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString border;
Document? getSVGDocument();
};

View file

@ -1,7 +1,7 @@
#import <HTML/HTMLElement.idl>
// https://html.spec.whatwg.org/multipage/form-elements.html#htmloptionelement
[Exposed=Window, LegacyFactoryFunction=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)]
[Exposed=Window, LegacyFactoryFunction=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)]
interface HTMLOptionElement : HTMLElement {
[HTMLConstructor] constructor();

View file

@ -6,6 +6,7 @@ interface HTMLParagraphElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
};

View file

@ -8,7 +8,6 @@ interface HTMLParamElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString name;
[CEReactions, Reflect] attribute DOMString value;
[CEReactions, Reflect] attribute DOMString type;
[CEReactions, Reflect=valuetype] attribute DOMString valueType;

View file

@ -5,6 +5,8 @@
interface HTMLPreElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
// FIXME: [CEReactions, Reflect] attribute long width;
};

View file

@ -9,13 +9,18 @@ interface HTMLScriptElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect] attribute DOMString type;
[CEReactions, Reflect=nomodule] attribute boolean noModule;
// FIXME: [CEReactions] attribute boolean async;
[CEReactions, Reflect] attribute boolean defer;
[CEReactions, Reflect=crossorigin] attribute DOMString? crossOrigin;
// FIXME: [CEReactions] attribute DOMString text;
[CEReactions, Reflect] attribute DOMString integrity;
[CEReactions, Reflect=referrerpolicy] attribute DOMString referrerPolicy;
// FIXME: [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
// FIXME: [CEReactions] attribute DOMString fetchPriority;
static boolean supports(DOMString type);
// Obsolete
[CEReactions, Reflect] attribute DOMString charset;
[CEReactions, Reflect] attribute DOMString event;
[CEReactions, Reflect=for] attribute DOMString htmlFor;

View file

@ -6,6 +6,7 @@ interface HTMLTableCaptionElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
};

View file

@ -9,8 +9,12 @@ interface HTMLTableCellElement : HTMLElement {
[CEReactions] attribute unsigned long colSpan;
[CEReactions] attribute unsigned long rowSpan;
[CEReactions, Reflect] attribute DOMString headers;
[CEReactions, Reflect] attribute DOMString abbr;
// FIXME: readonly attribute long cellIndex;
// FIXME: [CEReactions] attribute DOMString scope; // only conforming for th elements
[CEReactions, Reflect] attribute DOMString abbr; // only conforming for th elements
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute DOMString axis;
[CEReactions, Reflect] attribute DOMString height;

View file

@ -6,6 +6,9 @@ interface HTMLTableColElement : HTMLElement {
[HTMLConstructor] constructor();
// FIXME: [CEReactions] attribute unsigned long span;
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect=char] attribute DOMString ch;
[CEReactions, Reflect=charoff] attribute DOMString chOff;

View file

@ -29,6 +29,7 @@ interface HTMLTableElement : HTMLElement {
HTMLTableRowElement insertRow(optional long index = -1);
[CEReactions] undefined deleteRow(long index);
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect] attribute DOMString border;
[CEReactions, Reflect] attribute DOMString frame;

View file

@ -8,6 +8,13 @@ interface HTMLTableRowElement : HTMLElement {
[HTMLConstructor] constructor();
readonly attribute long rowIndex;
readonly attribute long sectionRowIndex;
[SameObject] readonly attribute HTMLCollection cells;
HTMLTableCellElement insertCell(optional long index = -1);
[CEReactions] undefined deleteCell(long index);
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect=char] attribute DOMString ch;
[CEReactions, Reflect=charoff] attribute DOMString chOff;
@ -15,10 +22,4 @@ interface HTMLTableRowElement : HTMLElement {
[CEReactions, LegacyNullToEmptyString, Reflect=bgcolor] attribute DOMString bgColor;
readonly attribute long rowIndex;
readonly attribute long sectionRowIndex;
[SameObject] readonly attribute HTMLCollection cells;
HTMLTableCellElement insertCell(optional long index = -1);
[CEReactions] undefined deleteCell(long index);
};

View file

@ -8,13 +8,14 @@ interface HTMLTableSectionElement : HTMLElement {
[HTMLConstructor] constructor();
[SameObject] readonly attribute HTMLCollection rows;
HTMLTableRowElement insertRow(optional long index = -1);
[CEReactions] undefined deleteRow(long index);
// Obsolete
[CEReactions, Reflect] attribute DOMString align;
[CEReactions, Reflect=char] attribute DOMString ch;
[CEReactions, Reflect=charoff] attribute DOMString chOff;
[CEReactions, Reflect=valign] attribute DOMString vAlign;
[SameObject] readonly attribute HTMLCollection rows;
HTMLTableRowElement insertRow(optional long index = -1);
[CEReactions] undefined deleteRow(long index);
};

View file

@ -6,4 +6,6 @@ interface HTMLTitleElement : HTMLElement {
[HTMLConstructor] constructor();
// FIXME: [CEReactions] attribute DOMString text;
};

View file

@ -6,9 +6,18 @@ interface HTMLTrackElement : HTMLElement {
[HTMLConstructor] constructor();
// FIXME: [CEReactions] attribute DOMString kind;
[CEReactions, Reflect] attribute DOMString src;
[CEReactions, Reflect] attribute DOMString srclang;
[CEReactions, Reflect] attribute DOMString label;
[CEReactions, Reflect] attribute boolean default;
// FIXME: [const unsigned short NONE = 0;
// FIXME: [const unsigned short LOADING = 1;
// FIXME: [const unsigned short LOADED = 2;
// FIXME: [const unsigned short ERROR = 3;
// FIXME: [readonly attribute unsigned short readyState;
// FIXME: [readonly attribute TextTrack track;
};

View file

@ -6,6 +6,7 @@ interface HTMLUListElement : HTMLElement {
[HTMLConstructor] constructor();
// Obsolete
[CEReactions, Reflect] attribute boolean compact;
[CEReactions, Reflect] attribute DOMString type;

View file

@ -6,6 +6,8 @@ interface HTMLVideoElement : HTMLMediaElement {
[HTMLConstructor] constructor();
// FIXME: [CEReactions] attribute unsigned long width;
// FIXME: [CEReactions] attribute unsigned long height;
readonly attribute unsigned long videoWidth;
readonly attribute unsigned long videoHeight;
[CEReactions, Reflect] attribute USVString poster;

View file

@ -33,4 +33,14 @@ Optional<ARIA::Role> MathMLElement::default_role() const
return {};
}
void MathMLElement::focus()
{
dbgln("(STUBBED) MathMLElement::focus()");
}
void MathMLElement::blur()
{
dbgln("(STUBBED) MathMLElement::blur()");
}
}

View file

@ -24,6 +24,9 @@ public:
virtual Optional<ARIA::Role> default_role() const override;
void focus();
void blur();
protected:
virtual DOM::EventTarget& global_event_handlers_to_event_target(FlyString const&) override { return *this; }

View file

@ -97,4 +97,14 @@ void SVGElement::remove_from_use_element_that_reference_this()
});
}
void SVGElement::focus()
{
dbgln("(STUBBED) SVGElement::focus()");
}
void SVGElement::blur()
{
dbgln("(STUBBED) SVGElement::blur()");
}
}

View file

@ -26,6 +26,9 @@ public:
HTML::DOMStringMap* dataset() { return m_dataset.ptr(); }
HTML::DOMStringMap const* dataset() const { return m_dataset.ptr(); }
void focus();
void blur();
protected:
SVGElement(DOM::Document&, DOM::QualifiedName);