From fc46def2f56cccb00c6c53866ac24d13404d9296 Mon Sep 17 00:00:00 2001 From: Bastiaan van der Plaat Date: Wed, 25 Oct 2023 17:26:24 +0200 Subject: [PATCH] LibWeb: Reorder and add missing HTML elements IDL items --- .../Libraries/LibWeb/HTML/HTMLAreaElement.idl | 2 + .../Libraries/LibWeb/HTML/HTMLBodyElement.idl | 1 + .../LibWeb/HTML/HTMLCanvasElement.idl | 4 +- .../LibWeb/HTML/HTMLDetailsElement.idl | 1 + .../Libraries/LibWeb/HTML/HTMLElement.idl | 41 +++++++++++++++---- .../LibWeb/HTML/HTMLEmbedElement.idl | 2 + .../Libraries/LibWeb/HTML/HTMLFormElement.idl | 22 ++++++---- .../LibWeb/HTML/HTMLFrameElement.idl | 6 +++ .../Libraries/LibWeb/HTML/HTMLHRElement.idl | 1 + .../LibWeb/HTML/HTMLHeadingElement.idl | 1 + .../Libraries/LibWeb/HTML/HTMLHtmlElement.idl | 1 + .../LibWeb/HTML/HTMLIFrameElement.idl | 11 +++-- .../LibWeb/HTML/HTMLImageElement.idl | 26 ++++++++---- .../Libraries/LibWeb/HTML/HTMLLIElement.idl | 2 + .../LibWeb/HTML/HTMLLabelElement.idl | 2 + .../Libraries/LibWeb/HTML/HTMLLinkElement.idl | 16 ++++++-- .../Libraries/LibWeb/HTML/HTMLMapElement.idl | 1 + .../LibWeb/HTML/HTMLMarqueeElement.idl | 9 ++++ .../LibWeb/HTML/HTMLMediaElement.idl | 11 +++++ .../Libraries/LibWeb/HTML/HTMLMenuElement.idl | 1 + .../Libraries/LibWeb/HTML/HTMLMetaElement.idl | 4 +- .../LibWeb/HTML/HTMLOListElement.idl | 1 + .../LibWeb/HTML/HTMLObjectElement.idl | 18 ++++++-- .../LibWeb/HTML/HTMLOptionElement.idl | 2 +- .../LibWeb/HTML/HTMLParagraphElement.idl | 1 + .../LibWeb/HTML/HTMLParamElement.idl | 1 - .../Libraries/LibWeb/HTML/HTMLPreElement.idl | 2 + .../LibWeb/HTML/HTMLScriptElement.idl | 5 +++ .../LibWeb/HTML/HTMLTableCaptionElement.idl | 1 + .../LibWeb/HTML/HTMLTableCellElement.idl | 6 ++- .../LibWeb/HTML/HTMLTableColElement.idl | 3 ++ .../LibWeb/HTML/HTMLTableElement.idl | 1 + .../LibWeb/HTML/HTMLTableRowElement.idl | 13 +++--- .../LibWeb/HTML/HTMLTableSectionElement.idl | 9 ++-- .../LibWeb/HTML/HTMLTitleElement.idl | 2 + .../LibWeb/HTML/HTMLTrackElement.idl | 9 ++++ .../LibWeb/HTML/HTMLUListElement.idl | 1 + .../LibWeb/HTML/HTMLVideoElement.idl | 2 + .../Libraries/LibWeb/MathML/MathMLElement.cpp | 10 +++++ .../Libraries/LibWeb/MathML/MathMLElement.h | 3 ++ Userland/Libraries/LibWeb/SVG/SVGElement.cpp | 10 +++++ Userland/Libraries/LibWeb/SVG/SVGElement.h | 3 ++ 42 files changed, 220 insertions(+), 48 deletions(-) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.idl index df8a755d774..509cc72ec35 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLAreaElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.idl index 47ae014d18e..97feaa89080 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLBodyElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.idl index 6ea01e08fda..fe1810446ea 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLCanvasElement.idl @@ -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); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.idl index 8694d0c7701..a6d027fe485 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLDetailsElement.idl @@ -6,6 +6,7 @@ interface HTMLDetailsElement : HTMLElement { [HTMLConstructor] constructor(); + [CEReactions, Reflect] attribute DOMString name; [CEReactions, Reflect] attribute boolean open; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLElement.idl index 52fc46dd64a..5c4487b4e78 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.idl index 2cf3c34c1b8..ef309c89191 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLEmbedElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.idl index 30b95985e9b..d6c99826b9b 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.idl @@ -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; - }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.idl index 89c4e229c5f..dc4def2d8d7 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLFrameElement.idl @@ -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; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHRElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLHRElement.idl index 172e7a31a4e..b5dda1934cd 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHRElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLHRElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.idl index d1df2dcca2d..83f90e135d0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLHeadingElement.idl @@ -6,6 +6,7 @@ interface HTMLHeadingElement : HTMLElement { [HTMLConstructor] constructor(); + // Obsolete [CEReactions, Reflect] attribute DOMString align; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.idl index 8c27c495ae7..d4dfd3b677b 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLHtmlElement.idl @@ -6,6 +6,7 @@ interface HTMLHtmlElement : HTMLElement { [HTMLConstructor] constructor(); + // Obsolete [CEReactions, Reflect] attribute DOMString version; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.idl index bff188e0268..3d4cae878de 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLIFrameElement.idl @@ -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(); }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl index 4304041b62f..7027cb511ba 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl @@ -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 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; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLIElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLLIElement.idl index 791e297972b..8f2799825b3 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLIElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLLIElement.idl @@ -5,8 +5,10 @@ interface HTMLLIElement : HTMLElement { [HTMLConstructor] constructor(); + // FIXME: [CEReactions] attribute long value; + // Obsolete [CEReactions, Reflect] attribute DOMString type; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.idl index 002ecee32c7..f650b7a9bcb 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLLabelElement.idl @@ -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; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.idl index f503297d1d9..0cea8e9abba 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.idl @@ -1,3 +1,4 @@ +#import #import // 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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMapElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLMapElement.idl index 79da6e07eed..8e074d80c56 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMapElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLMapElement.idl @@ -7,5 +7,6 @@ interface HTMLMapElement : HTMLElement { [HTMLConstructor] constructor(); [CEReactions, Reflect] attribute DOMString name; + // FIXME: [SameObject] readonly attribute HTMLCollection areas; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.idl index b9fd06c4743..fa12118ced2 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLMarqueeElement.idl @@ -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(); + }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.idl index 8f3a869c117..ee9429c695d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.idl @@ -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 = ""); + }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.idl index 82fb9df4838..398d64a1790 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLMenuElement.idl @@ -6,6 +6,7 @@ interface HTMLMenuElement : HTMLElement { [HTMLConstructor] constructor(); + // Obsolete [CEReactions, Reflect] attribute boolean compact; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.idl index 35bffbd2468..28b72d0529e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLMetaElement.idl @@ -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; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOListElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLOListElement.idl index 61f70ae4316..a59842bbec8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOListElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLOListElement.idl @@ -10,6 +10,7 @@ interface HTMLOListElement : HTMLElement { // FIXME: [CEReactions] attribute long start; [CEReactions, Reflect] attribute DOMString type; + // Obsolete [CEReactions, Reflect] attribute boolean compact; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.idl index 1e40ca53296..8175863b4c0 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLObjectElement.idl @@ -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(); }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.idl index c80229a2f58..94478a2d33f 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLOptionElement.idl @@ -1,7 +1,7 @@ #import // 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(); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.idl index 0ca919f2e95..f5eee8fb4d8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLParagraphElement.idl @@ -6,6 +6,7 @@ interface HTMLParagraphElement : HTMLElement { [HTMLConstructor] constructor(); + // Obsolete [CEReactions, Reflect] attribute DOMString align; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLParamElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLParamElement.idl index 3623c58f089..15ecb19c274 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLParamElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLParamElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.idl index 6fa4e64e367..c59ad960dc3 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.idl @@ -5,6 +5,8 @@ interface HTMLPreElement : HTMLElement { [HTMLConstructor] constructor(); + + // Obsolete // FIXME: [CEReactions, Reflect] attribute long width; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.idl index f4f4449bdef..4bb4113d3ea 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLScriptElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.idl index b0413d9dae6..5417ffa50e4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCaptionElement.idl @@ -6,6 +6,7 @@ interface HTMLTableCaptionElement : HTMLElement { [HTMLConstructor] constructor(); + // Obsolete [CEReactions, Reflect] attribute DOMString align; }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.idl index d9fddd3bbb1..8fac4631a2e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableCellElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.idl index b84f50403bf..0a479fe59a1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableColElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTableElement.idl index d6a2b1c8e1e..0086606ea3f 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.idl index 9a35671b75a..14a2ec7ab77 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableRowElement.idl @@ -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); }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.idl index d1ff615f05f..f61d78c31d1 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTableSectionElement.idl @@ -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); - }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.idl index bbd34cfb5fc..2b6030a8696 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTitleElement.idl @@ -6,4 +6,6 @@ interface HTMLTitleElement : HTMLElement { [HTMLConstructor] constructor(); + // FIXME: [CEReactions] attribute DOMString text; + }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl index f4ff0df6640..d5855aa60d8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLTrackElement.idl @@ -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; + }; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLUListElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLUListElement.idl index 207ffc08d7a..46517a8f05c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLUListElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLUListElement.idl @@ -6,6 +6,7 @@ interface HTMLUListElement : HTMLElement { [HTMLConstructor] constructor(); + // Obsolete [CEReactions, Reflect] attribute boolean compact; [CEReactions, Reflect] attribute DOMString type; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.idl b/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.idl index 4e270ba3bf5..4d0daf20227 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.idl +++ b/Userland/Libraries/LibWeb/HTML/HTMLVideoElement.idl @@ -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; diff --git a/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp b/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp index 63d61d257a5..5fe84814e4b 100644 --- a/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp +++ b/Userland/Libraries/LibWeb/MathML/MathMLElement.cpp @@ -33,4 +33,14 @@ Optional MathMLElement::default_role() const return {}; } +void MathMLElement::focus() +{ + dbgln("(STUBBED) MathMLElement::focus()"); +} + +void MathMLElement::blur() +{ + dbgln("(STUBBED) MathMLElement::blur()"); +} + } diff --git a/Userland/Libraries/LibWeb/MathML/MathMLElement.h b/Userland/Libraries/LibWeb/MathML/MathMLElement.h index d9466a3d04d..ec4682f288a 100644 --- a/Userland/Libraries/LibWeb/MathML/MathMLElement.h +++ b/Userland/Libraries/LibWeb/MathML/MathMLElement.h @@ -24,6 +24,9 @@ public: virtual Optional default_role() const override; + void focus(); + void blur(); + protected: virtual DOM::EventTarget& global_event_handlers_to_event_target(FlyString const&) override { return *this; } diff --git a/Userland/Libraries/LibWeb/SVG/SVGElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGElement.cpp index 520a396dcf9..a7f8582b658 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGElement.cpp @@ -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()"); +} + } diff --git a/Userland/Libraries/LibWeb/SVG/SVGElement.h b/Userland/Libraries/LibWeb/SVG/SVGElement.h index 69055ee22cd..1e5a4075c39 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGElement.h @@ -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);