spec/fixtures/html5.idl in webidl-0.0.2 vs spec/fixtures/html5.idl in webidl-0.0.3

- old
+ new

@@ -1,5 +1,72 @@ +interface Example { + // this is an IDL definition +}; + +interface HTMLCollection { + readonly attribute unsigned long length; + caller getter object item(in unsigned long index); // only returns Element + caller getter object namedItem(in DOMString name); // only returns Element +}; + +interface HTMLAllCollection : HTMLCollection { + // inherits length and item() + caller getter object namedItem(in DOMString name); // overrides inherited namedItem() + HTMLAllCollection tags(in DOMString tagName); +}; + +interface HTMLFormControlsCollection : HTMLCollection { + // inherits length and item() + caller getter object namedItem(in DOMString name); // overrides inherited namedItem() +}; + +interface RadioNodeList : NodeList { + attribute DOMString value; +}; + +interface HTMLOptionsCollection : HTMLCollection { + // inherits item() + attribute unsigned long length; // overrides inherited length + caller getter object namedItem(in DOMString name); // overrides inherited namedItem() + void add(in HTMLElement element, in optional HTMLElement before); + void add(in HTMLElement element, in long before); + void remove(in long index); +}; + +interface HTMLPropertiesCollection : HTMLCollection { + // inherits length and item() + caller getter PropertyNodeList namedItem(in DOMString name); // overrides inherited namedItem() + readonly attribute DOMStringList names; +}; + +typedef sequence<any> PropertyValueArray; + +interface PropertyNodeList : NodeList { + readonly attribute PropertyValueArray values; +}; + +interface DOMTokenList { + readonly attribute unsigned long length; + getter DOMString item(in unsigned long index); + boolean contains(in DOMString token); + void add(in DOMString token); + void remove(in DOMString token); + boolean toggle(in DOMString token); + stringifier DOMString (); +}; + +interface DOMSettableTokenList : DOMTokenList { + attribute DOMString value; +}; + +interface DOMStringMap { + getter DOMString (in DOMString name); + setter void (in DOMString name, in DOMString value); + creator void (in DOMString name, in DOMString value); + deleter void (in DOMString name); +}; + [OverrideBuiltins] interface HTMLDocument { // resource metadata management [PutForwards=href] readonly attribute Location location; readonly attribute DOMString URL; @@ -12,10 +79,11 @@ readonly attribute DOMString characterSet; readonly attribute DOMString defaultCharset; readonly attribute DOMString readyState; // DOM tree accessors + getter any (in DOMString name); attribute DOMString title; attribute DOMString dir; attribute HTMLElement body; readonly attribute HTMLHeadElement head; readonly attribute HTMLCollection images; @@ -24,22 +92,22 @@ readonly attribute HTMLCollection links; readonly attribute HTMLCollection forms; readonly attribute HTMLCollection scripts; NodeList getElementsByName(in DOMString elementName); NodeList getElementsByClassName(in DOMString classNames); - NodeList getItems(in optional DOMString typeNames); - getter any (in DOMString name); + NodeList getItems(in optional DOMString typeNames); // microdata // dynamic markup insertion attribute DOMString innerHTML; HTMLDocument open(in optional DOMString type, in optional DOMString replace); WindowProxy open(in DOMString url, in DOMString name, in DOMString features, in optional boolean replace); void close(); void write(in DOMString... text); void writeln(in DOMString... text); // user interaction + readonly attribute WindowProxy defaultView; Selection getSelection(); readonly attribute Element activeElement; boolean hasFocus(); attribute DOMString designMode; boolean execCommand(in DOMString commandId); @@ -58,10 +126,13 @@ attribute Function oncanplay; attribute Function oncanplaythrough; attribute Function onchange; attribute Function onclick; attribute Function oncontextmenu; + + attribute Function oncuechange; + attribute Function ondblclick; attribute Function ondrag; attribute Function ondragend; attribute Function ondragenter; attribute Function ondragleave; @@ -108,139 +179,20 @@ attribute Function onvolumechange; attribute Function onwaiting; }; Document implements HTMLDocument; -interface HTMLMarqueeElement : HTMLElement { - attribute DOMString behavior; - attribute DOMString bgColor; - attribute DOMString direction; - attribute DOMString height; - attribute unsigned long hspace; - attribute long loop; - attribute unsigned long scrollAmount; - attribute unsigned long scrollDelay; - attribute DOMString trueSpeed; - attribute unsigned long vspace; - attribute DOMString width; - - attribute Function onbounce; - attribute Function onfinish; - attribute Function onstart; - - void start(); - void stop(); -};interface HTMLFrameSetElement : HTMLElement { - attribute DOMString cols; - attribute DOMString rows; - attribute Function onafterprint; - attribute Function onbeforeprint; - attribute Function onbeforeunload; - attribute Function onblur; - attribute Function onerror; - attribute Function onfocus; - attribute Function onhashchange; - attribute Function onload; - attribute Function onmessage; - attribute Function onoffline; - attribute Function ononline; - attribute Function onpagehide; - attribute Function onpageshow; - attribute Function onpopstate; - attribute Function onredo; - attribute Function onresize; - attribute Function onstorage; - attribute Function onundo; - attribute Function onunload; -};interface HTMLFrameElement : HTMLElement { - attribute DOMString frameBorder; - attribute DOMString longDesc; - attribute DOMString marginHeight; - attribute DOMString marginWidth; - attribute DOMString name; - attribute boolean noResize; - attribute DOMString scrolling; - attribute DOMString src; - readonly attribute Document contentDocument; -};[Supplemental] -interface HTMLAnchorElement { - attribute DOMString coords; - attribute DOMString charset; - attribute DOMString name; - attribute DOMString rev; - attribute DOMString shape; -};[Supplemental] -interface HTMLAreaElement { - attribute boolean noHref; -};interface HTMLBaseFontElement : HTMLElement { - attribute DOMString color; - attribute DOMString face; - attribute long size; -};[Supplemental] -interface HTMLBodyElement { - attribute DOMString text; - attribute DOMString bgColor; - attribute DOMString background; - attribute DOMString link; - attribute DOMString vLink; - attribute DOMString aLink; -};[Supplemental] -interface HTMLBRElement { - attribute DOMString clear; -};[Supplemental] -interface HTMLTableCaptionElement { - attribute DOMString align; -};[Supplemental] -interface HTMLTableColElement { - attribute DOMString align; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString vAlign; - attribute DOMString width; -};[Supplemental, NoInterfaceObject] +[Supplemental, NoInterfaceObject] interface DOMHTMLImplementation { Document createHTMLDocument(in DOMString title); }; -DOMImplementation implements DOMHTMLImplementation;interface HTMLDirectoryElement : HTMLElement { - attribute DOMString compact; -};[Supplemental] -interface HTMLDivElement { - attribute DOMString align; -};[Supplemental] -interface HTMLDListElement { - attribute DOMString compact; -};[Supplemental] -interface HTMLEmbedElement { - attribute DOMString align; - attribute DOMString name; -};interface HTMLFontElement : HTMLElement { - attribute DOMString color; - attribute DOMString face; - attribute DOMString size; -};[Supplemental] -interface HTMLHeadingElement { - attribute DOMString align; -};[Supplemental] -interface HTMLHeadElement { - attribute DOMString profile; -};[Supplemental] -interface HTMLHRElement { - attribute DOMString align; - attribute boolean noShade; - attribute DOMString size; - attribute DOMString width; -};[Supplemental] -interface HTMLHtmlElement { - attribute DOMString version; -};[Supplemental] -interface HTMLIFrameElement { - attribute DOMString align; - attribute DOMString frameBorder; - attribute DOMString longDesc; - attribute DOMString marginHeight; - attribute DOMString marginWidth; - attribute DOMString scrolling; +DOMImplementation implements DOMHTMLImplementation; + +[Supplemental, NoInterfaceObject] +interface XMLDocumentLoader { + attribute boolean async; + boolean load(in DOMString url); }; interface HTMLElement : Element { // DOM tree accessors NodeList getElementsByClassName(in DOMString classNames); @@ -261,11 +213,11 @@ // microdata attribute boolean itemScope; attribute DOMString itemType; attribute DOMString itemId; - attribute DOMString itemRef; + [PutForwards=value] readonly attribute DOMSettableTokenList itemRef; [PutForwards=value] readonly attribute DOMSettableTokenList itemProp; readonly attribute HTMLPropertiesCollection properties; attribute any itemValue; // user interaction @@ -300,10 +252,13 @@ attribute Function oncanplay; attribute Function oncanplaythrough; attribute Function onchange; attribute Function onclick; attribute Function oncontextmenu; + + attribute Function oncuechange; + attribute Function ondblclick; attribute Function ondrag; attribute Function ondragend; attribute Function ondragenter; attribute Function ondragleave; @@ -349,157 +304,61 @@ attribute Function ontimeupdate; attribute Function onvolumechange; attribute Function onwaiting; }; -interface HTMLUnknownElement : HTMLElement { };[Supplemental] -interface HTMLImageElement { - attribute DOMString name; - attribute DOMString align; - attribute DOMString border; - attribute unsigned long hspace; - attribute DOMString longDesc; - attribute unsigned long vspace; -};[Supplemental] -interface HTMLInputElement { - attribute DOMString align; - attribute DOMString useMap; -};[Supplemental] -interface HTMLLegendElement { - attribute DOMString align; -};[Supplemental] -interface HTMLLIElement { - attribute DOMString type; -};[Supplemental] -interface HTMLLinkElement { - attribute DOMString charset; - attribute DOMString rev; - attribute DOMString target; -};[Supplemental] -interface HTMLMenuElement { - attribute DOMString compact; -};[Supplemental] -interface HTMLMetaElement { - attribute DOMString scheme; -};[Supplemental] -interface HTMLObjectElement { - attribute DOMString align; - attribute DOMString archive; - attribute DOMString border; - attribute DOMString code; - attribute DOMString codeBase; - attribute DOMString codeType; - attribute boolean declare; - attribute unsigned long hspace; - attribute DOMString standby; - attribute unsigned long vspace; -};[Supplemental] -interface HTMLOListElement { - attribute DOMString compact; - attribute DOMString type; -};[Supplemental] -interface HTMLParagraphElement { - attribute DOMString align; -};interface HTMLHtmlElement : HTMLElement {};[Supplemental] -interface HTMLParamElement { - attribute DOMString type; - attribute DOMString valueType; -};[Supplemental] -interface HTMLPreElement { - attribute unsigned long width; -};[Supplemental] -interface HTMLScriptElement { - attribute DOMString event; - attribute DOMString htmlFor; -};[Supplemental] -interface HTMLTableElement { - attribute DOMString align; - attribute DOMString bgColor; - attribute DOMString border; - attribute DOMString cellPadding; - attribute DOMString cellSpacing; - attribute DOMString frame; - attribute DOMString rules; - attribute DOMString width; -};[Supplemental] -interface HTMLTableSectionElement { - attribute DOMString align; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString vAlign; -};[Supplemental] -interface HTMLTableCellElement { - attribute DOMString abbr; - attribute DOMString align; - attribute DOMString axis; - attribute DOMString bgColor; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString height; - attribute boolean noWrap; - attribute DOMString vAlign; - attribute DOMString width; -};[Supplemental] -interface HTMLTableRowElement { - attribute DOMString align; - attribute DOMString bgColor; - attribute DOMString ch; - attribute DOMString chOff; - attribute DOMString vAlign; -};[Supplemental] -interface HTMLUListElement { - attribute DOMString compact; - attribute DOMString type; -};[Supplemental] -interface HTMLDocument { - attribute DOMString fgColor; - attribute DOMString bgColor; - attribute DOMString linkColor; - attribute DOMString vlinkColor; - attribute DOMString alinkColor; +interface HTMLUnknownElement : HTMLElement { }; - readonly attribute HTMLCollection anchors; - readonly attribute HTMLCollection applets; +interface HTMLHtmlElement : HTMLElement {}; - readonly attribute HTMLAllCollection all; -};interface HTMLHeadElement : HTMLElement {};interface HTMLTitleElement : HTMLElement { +interface HTMLHeadElement : HTMLElement {}; + +interface HTMLTitleElement : HTMLElement { attribute DOMString text; -};interface HTMLBaseElement : HTMLElement { +}; + +interface HTMLBaseElement : HTMLElement { attribute DOMString href; attribute DOMString target; -};interface HTMLLinkElement : HTMLElement { +}; + +interface HTMLLinkElement : HTMLElement { attribute boolean disabled; attribute DOMString href; attribute DOMString rel; readonly attribute DOMTokenList relList; attribute DOMString media; attribute DOMString hreflang; attribute DOMString type; - attribute DOMString sizes; + [PutForwards=value] readonly attribute DOMSettableTokenList sizes; }; -HTMLLinkElement implements LinkStyle;interface HTMLMetaElement : HTMLElement { +HTMLLinkElement implements LinkStyle; + +interface HTMLMetaElement : HTMLElement { attribute DOMString name; attribute DOMString httpEquiv; attribute DOMString content; -};interface HTMLStyleElement : HTMLElement { +}; + +interface HTMLStyleElement : HTMLElement { attribute boolean disabled; attribute DOMString media; attribute DOMString type; attribute boolean scoped; }; -HTMLStyleElement implements LinkStyle;interface HTMLCollection { - readonly attribute unsigned long length; - caller getter Element item(in unsigned long index); - caller getter Element namedItem(in DOMString name); -};interface HTMLScriptElement : HTMLElement { +HTMLStyleElement implements LinkStyle; + +interface HTMLScriptElement : HTMLElement { attribute DOMString src; attribute boolean async; attribute boolean defer; attribute DOMString type; attribute DOMString charset; attribute DOMString text; -};interface HTMLBodyElement : HTMLElement { +}; + +interface HTMLBodyElement : HTMLElement { attribute Function onafterprint; attribute Function onbeforeprint; attribute Function onbeforeunload; attribute Function onblur; attribute Function onerror; @@ -515,58 +374,79 @@ attribute Function onredo; attribute Function onresize; attribute Function onstorage; attribute Function onundo; attribute Function onunload; -};interface HTMLHeadingElement : HTMLElement {};interface HTMLParagraphElement : HTMLElement {};interface HTMLHRElement : HTMLElement {};interface HTMLBRElement : HTMLElement {};interface HTMLPreElement : HTMLElement {};interface HTMLQuoteElement : HTMLElement { +}; + +interface HTMLHeadingElement : HTMLElement {}; + +interface HTMLParagraphElement : HTMLElement {}; + +interface HTMLHRElement : HTMLElement {}; + +interface HTMLPreElement : HTMLElement {}; + +interface HTMLQuoteElement : HTMLElement { attribute DOMString cite; -};interface HTMLOListElement : HTMLElement { +}; + +interface HTMLOListElement : HTMLElement { attribute boolean reversed; attribute long start; -};interface HTMLUListElement : HTMLElement {};interface HTMLAllCollection : HTMLCollection { - // inherits length and item() - caller getter object namedItem(in DOMString name); // overrides inherited namedItem() - HTMLAllCollection tags(in DOMString tagName); -};interface HTMLLIElement : HTMLElement { +}; + +interface HTMLUListElement : HTMLElement {}; + +interface HTMLLIElement : HTMLElement { attribute long value; -};interface HTMLDListElement : HTMLElement {};interface HTMLDivElement : HTMLElement {};interface HTMLAnchorElement : HTMLElement { +}; + +interface HTMLDListElement : HTMLElement {}; + +interface HTMLDivElement : HTMLElement {}; + +interface HTMLAnchorElement : HTMLElement { stringifier attribute DOMString href; attribute DOMString target; + attribute DOMString ping; + attribute DOMString rel; readonly attribute DOMTokenList relList; attribute DOMString media; attribute DOMString hreflang; attribute DOMString type; + attribute DOMString text; + // URL decomposition IDL attributes attribute DOMString protocol; attribute DOMString host; attribute DOMString hostname; attribute DOMString port; attribute DOMString pathname; attribute DOMString search; attribute DOMString hash; -};interface HTMLTimeElement : HTMLElement { +}; + +interface HTMLTimeElement : HTMLElement { attribute DOMString dateTime; attribute boolean pubDate; readonly attribute Date valueAsDate; -};interface HTMLProgressElement : HTMLElement { - attribute float value; - attribute float max; - readonly attribute float position; -};interface HTMLMeterElement : HTMLElement { - attribute float value; - attribute float min; - attribute float max; - attribute float low; - attribute float high; - attribute float optimum; -};interface HTMLSpanElement : HTMLElement {};interface HTMLModElement : HTMLElement { +}; + +interface HTMLSpanElement : HTMLElement {}; + +interface HTMLBRElement : HTMLElement {}; + +interface HTMLModElement : HTMLElement { attribute DOMString cite; attribute DOMString dateTime; -};[NamedConstructor=Image(), +}; + +[NamedConstructor=Image(), NamedConstructor=Image(in unsigned long width), NamedConstructor=Image(in unsigned long width, in unsigned long height)] interface HTMLImageElement : HTMLElement { attribute DOMString alt; attribute DOMString src; @@ -575,32 +455,32 @@ attribute unsigned long width; attribute unsigned long height; readonly attribute unsigned long naturalWidth; readonly attribute unsigned long naturalHeight; readonly attribute boolean complete; -};interface HTMLFormControlsCollection : HTMLCollection { - // inherits length and item() - caller getter object namedItem(in DOMString name); // overrides inherited namedItem() }; -interface RadioNodeList : NodeList { - attribute DOMString value; -};interface HTMLIFrameElement : HTMLElement { +interface HTMLIFrameElement : HTMLElement { attribute DOMString src; + attribute DOMString srcdoc; attribute DOMString name; - attribute DOMString sandbox; + [PutForwards=value] readonly attribute DOMSettableTokenList sandbox; attribute boolean seamless; attribute DOMString width; attribute DOMString height; readonly attribute Document contentDocument; readonly attribute WindowProxy contentWindow; -};interface HTMLEmbedElement : HTMLElement { +}; + +interface HTMLEmbedElement : HTMLElement { attribute DOMString src; attribute DOMString type; attribute DOMString width; attribute DOMString height; -};interface HTMLObjectElement : HTMLElement { +}; + +interface HTMLObjectElement : HTMLElement { attribute DOMString data; attribute DOMString type; attribute DOMString name; attribute DOMString useMap; readonly attribute HTMLFormElement form; @@ -612,27 +492,46 @@ readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); -};interface HTMLParamElement : HTMLElement { +}; + +interface HTMLParamElement : HTMLElement { attribute DOMString name; attribute DOMString value; -};interface HTMLVideoElement : HTMLMediaElement { +}; + +interface HTMLVideoElement : HTMLMediaElement { attribute DOMString width; attribute DOMString height; readonly attribute unsigned long videoWidth; readonly attribute unsigned long videoHeight; attribute DOMString poster; -};[NamedConstructor=Audio(), +}; + +[NamedConstructor=Audio(), NamedConstructor=Audio(in DOMString src)] -interface HTMLAudioElement : HTMLMediaElement {};interface HTMLSourceElement : HTMLElement { +interface HTMLAudioElement : HTMLMediaElement {}; + +interface HTMLSourceElement : HTMLElement { attribute DOMString src; attribute DOMString type; attribute DOMString media; -};interface HTMLMediaElement : HTMLElement { +}; +interface HTMLTrackElement : HTMLElement { + attribute DOMString kind; + attribute DOMString label; + attribute DOMString src; + attribute DOMString srclang; + + readonly attribute TimedTrack track; +}; + +interface HTMLMediaElement : HTMLElement { + // error state readonly attribute MediaError error; // network state attribute DOMString src; @@ -640,11 +539,11 @@ const unsigned short NETWORK_EMPTY = 0; const unsigned short NETWORK_IDLE = 1; const unsigned short NETWORK_LOADING = 2; const unsigned short NETWORK_NO_SOURCE = 3; readonly attribute unsigned short networkState; - attribute boolean autobuffer; + attribute DOMString preload; readonly attribute TimeRanges buffered; void load(); DOMString canPlayType(in DOMString type); // ready state @@ -669,42 +568,105 @@ attribute boolean autoplay; attribute boolean loop; void play(); void pause(); - - // controls attribute boolean controls; attribute float volume; attribute boolean muted; -};interface MediaError { + + // timed tracks + readonly attribute TimedTrack[] tracks; + MutableTimedTrack addTrack(in DOMString label, in DOMString kind, in DOMString language); + +}; + +interface MediaError { const unsigned short MEDIA_ERR_ABORTED = 1; const unsigned short MEDIA_ERR_NETWORK = 2; const unsigned short MEDIA_ERR_DECODE = 3; const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4; readonly attribute unsigned short code; -};interface TimeRanges { +}; + +interface TimedTrack { + readonly attribute DOMString kind; + readonly attribute DOMString label; + readonly attribute DOMString language; + + 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 Function onload; + readonly attribute Function onerror; + + const unsigned short OFF = 0; + const unsigned short HIDDEN = 1; + const unsigned short SHOWING = 2; + attribute unsigned short mode; + + readonly attribute TimedTrackCueList cues; + readonly attribute TimedTrackCueList activeCues; + + readonly attribute Function oncuechange; +}; + +interface MutableTimedTrack : TimedTrack { + void addCue(in TimedTrackCue cue); + void removeCue(in TimedTrackCue cue); +}; + +interface TimedTrackCueList { readonly attribute unsigned long length; + getter TimedTrackCue (in unsigned long index); + TimedTrackCue getCueById(in DOMString id); +}; + +[Constructor(in DOMString id, in float startTime, in float endTime, in DOMString text, in optional DOMString settings, in optional DOMString voice, in optional boolean pauseOnExit)] +interface TimedTrackCue { + readonly attribute TimedTrack track; + readonly attribute DOMString id; + + readonly attribute float startTime; + readonly attribute float endTime; + readonly attribute boolean pauseOnExit; + + readonly attribute DOMString direction; + readonly attribute boolean snapToLines; + readonly attribute long linePosition; + readonly attribute long textPosition; + readonly attribute long size; + readonly attribute DOMString alignment; + + readonly attribute DOMString voice; + DOMString getCueAsSource(); + DocumentFragment getCueAsHTML(); + + readonly attribute Function onenter; + readonly attribute Function onexit; +}; + +interface TimeRanges { + readonly attribute unsigned long length; float start(in unsigned long index); float end(in unsigned long index); -};interface HTMLOptionsCollection : HTMLCollection { - // inherits item() - attribute unsigned long length; // overrides inherited length - caller getter object namedItem(in DOMString name); // overrides inherited namedItem() - void add(in HTMLElement element, in optional HTMLElement before); - void add(in HTMLElement element, in long before); - void remove(in long index); -};interface HTMLCanvasElement : HTMLElement { +}; + +interface HTMLCanvasElement : HTMLElement { attribute unsigned long width; attribute unsigned long height; DOMString toDataURL(in optional DOMString type, in any... args); - Object getContext(in DOMString contextId); -};interface CanvasRenderingContext2D { + object getContext(in DOMString contextId); +}; +interface CanvasRenderingContext2D { + // back-reference to the canvas readonly attribute HTMLCanvasElement canvas; // state void save(); // push state on state stack @@ -760,10 +722,13 @@ void fill(); void stroke(); void clip(); boolean isPointInPath(in float x, in float y); + // focus management + boolean drawFocusRing(in Element element, in float xCaret, in float yCaret, in optional boolean canDrawCustom); + // text attribute DOMString font; // (default 10px sans-serif) attribute DOMString textAlign; // "start", "end", "left", "right", "center" (default: "start") attribute DOMString textBaseline; // "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" (default: "alphabetic") void fillText(in DOMString text, in float x, in float y, in optional float maxWidth); @@ -806,21 +771,27 @@ interface CanvasPixelArray { readonly attribute unsigned long length; getter octet (in unsigned long index); setter void (in unsigned long index, in octet value); -};interface HTMLMapElement : HTMLElement { +}; + +interface HTMLMapElement : HTMLElement { attribute DOMString name; readonly attribute HTMLCollection areas; readonly attribute HTMLCollection images; -};interface HTMLAreaElement : HTMLElement { +}; + +interface HTMLAreaElement : HTMLElement { attribute DOMString alt; attribute DOMString coords; attribute DOMString shape; stringifier attribute DOMString href; attribute DOMString target; + attribute DOMString ping; + attribute DOMString rel; readonly attribute DOMTokenList relList; attribute DOMString media; attribute DOMString hreflang; attribute DOMString type; @@ -831,11 +802,13 @@ attribute DOMString hostname; attribute DOMString port; attribute DOMString pathname; attribute DOMString search; attribute DOMString hash; -};interface HTMLTableElement : HTMLElement { +}; + +interface HTMLTableElement : HTMLElement { attribute HTMLTableCaptionElement caption; HTMLElement createCaption(); void deleteCaption(); attribute HTMLTableSectionElement tHead; HTMLElement createTHead(); @@ -847,44 +820,50 @@ HTMLElement createTBody(); readonly attribute HTMLCollection rows; HTMLElement insertRow(in optional long index); void deleteRow(in long index); attribute DOMString summary; -};interface HTMLTableCaptionElement : HTMLElement {};interface HTMLTableColElement : HTMLElement { +}; + +interface HTMLTableCaptionElement : HTMLElement {}; + +interface HTMLTableColElement : HTMLElement { attribute unsigned long span; -};interface HTMLTableSectionElement : HTMLElement { +}; + +interface HTMLTableSectionElement : HTMLElement { readonly attribute HTMLCollection rows; HTMLElement insertRow(in optional long index); void deleteRow(in long index); -};interface HTMLTableRowElement : HTMLElement { +}; + +interface HTMLTableRowElement : HTMLElement { readonly attribute long rowIndex; readonly attribute long sectionRowIndex; readonly attribute HTMLCollection cells; HTMLElement insertCell(in optional long index); void deleteCell(in long index); -};interface HTMLTableDataCellElement : HTMLTableCellElement {};interface HTMLPropertiesCollection : HTMLCollection { - // inherits length and item() - caller getter PropertyNodeList namedItem(in DOMString name); // overrides inherited namedItem() - readonly attribute DOMStringList names; }; -typedef sequence<any> PropertyValueArray; +interface HTMLTableDataCellElement : HTMLTableCellElement {}; -interface PropertyNodeList : NodeList { - readonly attribute PropertyValueArray values; -};interface HTMLTableHeaderCellElement : HTMLTableCellElement { +interface HTMLTableHeaderCellElement : HTMLTableCellElement { attribute DOMString scope; -};interface HTMLTableCellElement : HTMLElement { +}; + +interface HTMLTableCellElement : HTMLElement { attribute unsigned long colSpan; attribute unsigned long rowSpan; - attribute DOMString headers; + [PutForwards=value] readonly attribute DOMSettableTokenList headers; readonly attribute long cellIndex; -};[OverrideBuiltins] +}; + +[OverrideBuiltins] interface HTMLFormElement : HTMLElement { attribute DOMString acceptCharset; attribute DOMString action; - attribute boolean autocomplete; + attribute DOMString autocomplete; attribute DOMString enctype; attribute DOMString method; attribute DOMString name; attribute boolean noValidate; attribute DOMString target; @@ -898,11 +877,13 @@ void reset(); boolean checkValidity(); void dispatchFormInput(); void dispatchFormChange(); -};interface HTMLFieldSetElement : HTMLElement { +}; + +interface HTMLFieldSetElement : HTMLElement { attribute boolean disabled; readonly attribute HTMLFormElement form; attribute DOMString name; readonly attribute DOMString type; @@ -912,20 +893,26 @@ readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); -};interface HTMLLegendElement : HTMLElement { +}; + +interface HTMLLegendElement : HTMLElement { readonly attribute HTMLFormElement form; -};interface HTMLLabelElement : HTMLElement { +}; + +interface HTMLLabelElement : HTMLElement { readonly attribute HTMLFormElement form; attribute DOMString htmlFor; readonly attribute HTMLElement control; -};interface HTMLInputElement : HTMLElement { +}; + +interface HTMLInputElement : HTMLElement { attribute DOMString accept; attribute DOMString alt; - attribute boolean autocomplete; + attribute DOMString autocomplete; attribute boolean autofocus; attribute boolean defaultChecked; attribute boolean checked; attribute boolean disabled; readonly attribute HTMLFormElement form; @@ -952,11 +939,11 @@ attribute DOMString step; attribute DOMString type; attribute DOMString defaultValue; attribute DOMString value; attribute Date valueAsDate; - attribute float valueAsNumber; + attribute double valueAsNumber; readonly attribute HTMLOptionElement selectedOption; attribute DOMString width; void stepUp(in optional long n); void stepDown(in optional long n); @@ -971,11 +958,13 @@ void select(); attribute unsigned long selectionStart; attribute unsigned long selectionEnd; void setSelectionRange(in unsigned long start, in unsigned long end); -};interface HTMLButtonElement : HTMLElement { +}; + +interface HTMLButtonElement : HTMLElement { attribute boolean autofocus; attribute boolean disabled; readonly attribute HTMLFormElement form; attribute DOMString formAction; attribute DOMString formEnctype; @@ -991,11 +980,13 @@ readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); readonly attribute NodeList labels; -};interface HTMLSelectElement : HTMLElement { +}; + +interface HTMLSelectElement : HTMLElement { attribute boolean autofocus; attribute boolean disabled; readonly attribute HTMLFormElement form; attribute boolean multiple; attribute DOMString name; @@ -1020,24 +1011,22 @@ readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); readonly attribute NodeList labels; -};interface HTMLDataListElement : HTMLElement { +}; + +interface HTMLDataListElement : HTMLElement { readonly attribute HTMLCollection options; -};interface DOMTokenList { - readonly attribute unsigned long length; - getter DOMString item(in unsigned long index); - boolean contains(in DOMString token); - void add(in DOMString token); - void remove(in DOMString token); - boolean toggle(in DOMString token); - stringifier DOMString (); -};interface HTMLOptGroupElement : HTMLElement { +}; + +interface HTMLOptGroupElement : HTMLElement { attribute boolean disabled; attribute DOMString label; -};[NamedConstructor=Option(), +}; + +[NamedConstructor=Option(), NamedConstructor=Option(in DOMString text), NamedConstructor=Option(in DOMString text, in DOMString value), NamedConstructor=Option(in DOMString text, in DOMString value, in boolean defaultSelected), NamedConstructor=Option(in DOMString text, in DOMString value, in boolean defaultSelected, in boolean selected)] interface HTMLOptionElement : HTMLElement { @@ -1048,11 +1037,13 @@ attribute boolean selected; attribute DOMString value; attribute DOMString text; readonly attribute long index; -};interface HTMLTextAreaElement : HTMLElement { +}; + +interface HTMLTextAreaElement : HTMLElement { attribute boolean autofocus; attribute unsigned long cols; attribute boolean disabled; readonly attribute HTMLFormElement form; attribute long maxLength; @@ -1078,11 +1069,13 @@ void select(); attribute unsigned long selectionStart; attribute unsigned long selectionEnd; void setSelectionRange(in unsigned long start, in unsigned long end); -};interface HTMLKeygenElement : HTMLElement { +}; + +interface HTMLKeygenElement : HTMLElement { attribute boolean autofocus; attribute DOMString challenge; attribute boolean disabled; readonly attribute HTMLFormElement form; attribute DOMString keytype; @@ -1095,12 +1088,14 @@ readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); readonly attribute NodeList labels; -};interface HTMLOutputElement : HTMLElement { - attribute DOMString htmlFor; +}; + +interface HTMLOutputElement : HTMLElement { + [PutForwards=value] readonly attribute DOMSettableTokenList htmlFor; readonly attribute HTMLFormElement form; attribute DOMString name; readonly attribute DOMString type; attribute DOMString defaultValue; @@ -1109,37 +1104,114 @@ readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); void setCustomValidity(in DOMString error); -};interface ValidityState { + + readonly attribute NodeList labels; +}; + +interface HTMLProgressElement : HTMLElement { + attribute float value; + attribute float max; + readonly attribute float position; + readonly attribute HTMLFormElement form; + readonly attribute NodeList labels; +}; + +interface HTMLMeterElement : HTMLElement { + attribute float value; + attribute float min; + attribute float max; + attribute float low; + attribute float high; + attribute float optimum; + readonly attribute HTMLFormElement form; + readonly attribute NodeList labels; +}; + +interface ValidityState { readonly attribute boolean valueMissing; readonly attribute boolean typeMismatch; readonly attribute boolean patternMismatch; readonly attribute boolean tooLong; readonly attribute boolean rangeUnderflow; readonly attribute boolean rangeOverflow; readonly attribute boolean stepMismatch; readonly attribute boolean customError; readonly attribute boolean valid; -};interface HTMLDetailsElement : HTMLElement { +}; + +interface HTMLDetailsElement : HTMLElement { attribute boolean open; -};interface HTMLCommandElement : HTMLElement { +}; + +interface HTMLCommandElement : HTMLElement { attribute DOMString type; attribute DOMString label; attribute DOMString icon; attribute boolean disabled; attribute boolean checked; attribute DOMString radiogroup; -};interface HTMLMenuElement : HTMLElement { +}; + +interface HTMLMenuElement : HTMLElement { attribute DOMString type; attribute DOMString label; -};[OverrideBuiltins] +}; + +interface HTMLDeviceElement : HTMLElement { + attribute DOMString type; + readonly attribute any data; +}; + +interface Stream { + readonly attribute DOMString url; + StreamRecorder record(); +}; + +interface StreamRecorder { + File stop(); +}; + +[Constructor(in DOMString serverConfiguration)] +interface ConnectionPeer { + void sendText(in DOMString text); + attribute Function ontext; // receiving + + void sendBitmap(in HTMLImageElement image); + attribute Function onbitmap; // receiving + + void sendFile(in File file); + attribute Function onfile; // receiving + + void addStream(in Stream stream); + void removeStream(in Stream stream); + readonly attribute Stream[] localStreams; + readonly attribute Stream[] remoteStreams; + attribute Function onstream; // receiving + + void getLocalConfiguration(in ConnectionPeerConfigurationCallback callback); // maybe this should be in the constructor + void addRemoteConfiguration(in DOMString configuration); + void close(); // disconnects and stops listening + + attribute Function onconnect; + attribute Function onerror; + attribute Function ondisconnect; +}; + +[Callback=FunctionOnly, NoInterfaceObject] +interface ConnectionPeerConfigurationCallback { + void handleEvent(in ConnectionPeer server, in DOMString configuration); +}; + +[OverrideBuiltins, ReplaceableNamedProperties] interface Window { // the current browsing context readonly attribute WindowProxy window; readonly attribute WindowProxy self; + readonly attribute Document document; attribute DOMString name; [PutForwards=href] readonly attribute Location location; readonly attribute History history; readonly attribute UndoManager undoManager; Selection getSelection(); @@ -1148,10 +1220,11 @@ [Replaceable] readonly attribute BarProp personalbar; [Replaceable] readonly attribute BarProp scrollbars; [Replaceable] readonly attribute BarProp statusbar; [Replaceable] readonly attribute BarProp toolbar; void close(); + void stop(); void focus(); void blur(); // other browsing contexts [Replaceable] readonly attribute WindowProxy frames; @@ -1160,11 +1233,11 @@ [Replaceable] readonly attribute WindowProxy opener; readonly attribute WindowProxy parent; readonly attribute Element frameElement; WindowProxy open(in optional DOMString url, in optional DOMString target, in optional DOMString features, in optional DOMString replace); getter WindowProxy (in unsigned long index); - getter WindowProxy (in DOMString name); + getter any (in DOMString name); // the user agent readonly attribute Navigator navigator; readonly attribute ApplicationCache applicationCache; @@ -1174,12 +1247,11 @@ DOMString prompt(in DOMString message, in optional DOMString default); void print(); any showModalDialog(in DOMString url, in optional any argument); // cross-document messaging - void postMessage(in any message, in DOMString targetOrigin); - void postMessage(in any message, in MessagePortArray ports, in DOMString targetOrigin); + void postMessage(in any message, in DOMString targetOrigin, in optional MessagePortArray ports); // event handler IDL attributes attribute Function onabort; attribute Function onafterprint; attribute Function onbeforeprint; @@ -1188,10 +1260,13 @@ attribute Function oncanplay; attribute Function oncanplaythrough; attribute Function onchange; attribute Function onclick; attribute Function oncontextmenu; + + attribute Function oncuechange; + attribute Function ondblclick; attribute Function ondrag; attribute Function ondragend; attribute Function ondragenter; attribute Function ondragleave; @@ -1248,29 +1323,111 @@ attribute Function onundo; attribute Function onunload; attribute Function onvolumechange; attribute Function onwaiting; }; -Window implements EventTarget;interface DOMSettableTokenList : DOMTokenList { - attribute DOMString value; -};interface BarProp { +Window implements EventTarget; + +interface BarProp { attribute boolean visible; -};[Callback=FunctionOnly, NoInterfaceObject] +}; + +interface History { + readonly attribute long length; + void go(in optional long delta); + void back(); + void forward(); + void pushState(in any data, in DOMString title, in optional DOMString url); + void replaceState(in any data, in DOMString title, in optional DOMString url); +}; + +interface Location { + stringifier attribute DOMString href; + void assign(in DOMString url); + void replace(in DOMString url); + void reload(); + + // URL decomposition IDL attributes + attribute DOMString protocol; + attribute DOMString host; + attribute DOMString hostname; + attribute DOMString port; + attribute DOMString pathname; + attribute DOMString search; + attribute DOMString hash; + + // resolving relative URLs + DOMString resolveURL(in DOMString url); +}; + +interface PopStateEvent : Event { + readonly attribute any state; + void initPopStateEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any stateArg); +}; + +interface HashChangeEvent : Event { + readonly attribute any oldURL; + readonly attribute any newURL; + void initHashChangeEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString oldURLArg, in DOMString newURLArg); +}; + +interface PageTransitionEvent : Event { + readonly attribute any persisted; + void initPageTransitionEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any persistedArg); +}; + +interface BeforeUnloadEvent : Event { + attribute DOMString returnValue; +}; + +interface ApplicationCache { + + // update status + const unsigned short UNCACHED = 0; + const unsigned short IDLE = 1; + const unsigned short CHECKING = 2; + const unsigned short DOWNLOADING = 3; + const unsigned short UPDATEREADY = 4; + const unsigned short OBSOLETE = 5; + readonly attribute unsigned short status; + + // updates + void update(); + void swapCache(); + + // events + attribute Function onchecking; + attribute Function onerror; + attribute Function onnoupdate; + attribute Function ondownloading; + attribute Function onprogress; + attribute Function onupdateready; + attribute Function oncached; + attribute Function onobsolete; +}; +ApplicationCache implements EventTarget; + +[Callback=FunctionOnly, NoInterfaceObject] interface Function { any call(in any... arguments); -};[Supplemental, NoInterfaceObject] +}; + +[Supplemental, NoInterfaceObject] interface WindowTimers { long setTimeout(in any handler, in optional any timeout, in any... args); void clearTimeout(in long handle); long setInterval(in any handler, in optional any timeout, in any... args); void clearInterval(in long handle); }; -Window implements WindowTimers;[Supplemental, NoInterfaceObject] interface WindowModal { +Window implements WindowTimers; + +[Supplemental, NoInterfaceObject] interface WindowModal { readonly attribute any dialogArguments; attribute DOMString returnValue; }; -Window implements WindowModal; /* sometimes */interface Navigator { + +interface Navigator { // objects implementing this interface also implement the interfaces given below }; Navigator implements NavigatorID; Navigator implements NavigatorOnLine; Navigator implements NavigatorAbilities; @@ -1292,71 +1449,13 @@ interface NavigatorAbilities { // content handler registration void registerProtocolHandler(in DOMString scheme, in DOMString url, in DOMString title); void registerContentHandler(in DOMString mimeType, in DOMString url, in DOMString title); void yieldForStorageUpdates(); -};interface ApplicationCache { - - // update status - const unsigned short UNCACHED = 0; - const unsigned short IDLE = 1; - const unsigned short CHECKING = 2; - const unsigned short DOWNLOADING = 3; - const unsigned short UPDATEREADY = 4; - const unsigned short OBSOLETE = 5; - readonly attribute unsigned short status; - - // updates - void update(); - void swapCache(); - - // events - attribute Function onchecking; - attribute Function onerror; - attribute Function onnoupdate; - attribute Function ondownloading; - attribute Function onprogress; - attribute Function onupdateready; - attribute Function oncached; - attribute Function onobsolete; }; -ApplicationCache implements EventTarget;interface History { - readonly attribute long length; - void go(in optional long delta); - void back(); - void forward(); - void pushState(in any data, in DOMString title, in optional DOMString url); - void replaceState(in any data, in DOMString title, in optional DOMString url); - void clearState(); -};interface PopStateEvent : Event { - readonly attribute any state; - void initPopStateEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any stateArg); -};interface Location { - stringifier readonly attribute DOMString href; - void assign(in DOMString url); - void replace(in DOMString url); - void reload(); - // URL decomposition IDL attributes - attribute DOMString protocol; - attribute DOMString host; - attribute DOMString hostname; - attribute DOMString port; - attribute DOMString pathname; - attribute DOMString search; - attribute DOMString hash; - - // resolving relative URLs - DOMString resolveURL(in DOMString url); -};interface BeforeUnloadEvent : Event { - attribute DOMString returnValue; -};interface DOMStringMap { - getter DOMString (in DOMString name); - setter void (in DOMString name, in DOMString value); - creator void (in DOMString name, in DOMString value); - deleter void (in DOMString name); -};interface Selection { +interface Selection { readonly attribute Node anchorNode; readonly attribute long anchorOffset; readonly attribute Node focusNode; readonly attribute long focusOffset; readonly attribute boolean isCollapsed; @@ -1374,11 +1473,11 @@ }; interface DragEvent : MouseEvent { readonly attribute DataTransfer dataTransfer; - void initDragEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in AbstractView viewArg, in long detailArg, in long screenXArg, in long screenYArg, in long clientXArg, in long clientYArg, in boolean ctrlKeyArg, in boolean altKeyArg, in boolean shiftKeyArg, in boolean metaKeyArg, in unsigned short buttonArg, in EventTarget relatedTargetArg, in DataTransfer dataTransferArg); + void initDragEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dummyArg, in long detailArg, in long screenXArg, in long screenYArg, in long clientXArg, in long clientYArg, in boolean ctrlKeyArg, in boolean altKeyArg, in boolean shiftKeyArg, in boolean metaKeyArg, in unsigned short buttonArg, in EventTarget relatedTargetArg, in DataTransfer dataTransferArg); }; interface DataTransfer { attribute DOMString dropEffect; attribute DOMString effectAllowed; @@ -1389,34 +1488,44 @@ DOMString getData(in DOMString format); readonly attribute FileList files; void setDragImage(in Element image, in long x, in long y); void addElement(in Element element); -};interface UndoManager { +}; + +interface UndoManager { readonly attribute unsigned long length; getter any item(in unsigned long index); readonly attribute unsigned long position; unsigned long add(in any data, in DOMString title); void remove(in unsigned long index); void clearUndo(); void clearRedo(); -};interface UndoManagerEvent : Event { +}; + +interface UndoManagerEvent : Event { readonly attribute any data; void initUndoManagerEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg); -};interface MessageEvent : Event { +}; + +interface MessageEvent : Event { readonly attribute any data; readonly attribute DOMString origin; readonly attribute DOMString lastEventId; readonly attribute WindowProxy source; readonly attribute MessagePortArray ports; void initMessageEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg, in DOMString originArg, in DOMString lastEventIdArg, in WindowProxy sourceArg, in MessagePortArray portsArg); -};[Constructor] +}; + +[Constructor] interface MessageChannel { readonly attribute MessagePort port1; readonly attribute MessagePort port2; -};typedef sequence<MessagePort> MessagePortArray; +}; +typedef sequence<MessagePort> MessagePortArray; + interface MessagePort { void postMessage(in any message, in optional MessagePortArray ports); void start(); void close(); @@ -1435,6 +1544,317 @@ attribute unsigned long hspace; attribute DOMString name; attribute DOMString _object; // the underscore is not part of the identifier attribute unsigned long vspace; attribute DOMString width; +}; + +interface HTMLMarqueeElement : HTMLElement { + attribute DOMString behavior; + attribute DOMString bgColor; + attribute DOMString direction; + attribute DOMString height; + attribute unsigned long hspace; + attribute long loop; + attribute unsigned long scrollAmount; + attribute unsigned long scrollDelay; + attribute DOMString trueSpeed; + attribute unsigned long vspace; + attribute DOMString width; + + attribute Function onbounce; + attribute Function onfinish; + attribute Function onstart; + + void start(); + void stop(); +}; + +interface HTMLFrameSetElement : HTMLElement { + attribute DOMString cols; + attribute DOMString rows; + attribute Function onafterprint; + attribute Function onbeforeprint; + attribute Function onbeforeunload; + attribute Function onblur; + attribute Function onerror; + attribute Function onfocus; + attribute Function onhashchange; + attribute Function onload; + attribute Function onmessage; + attribute Function onoffline; + attribute Function ononline; + attribute Function onpagehide; + attribute Function onpageshow; + attribute Function onpopstate; + attribute Function onredo; + attribute Function onresize; + attribute Function onstorage; + attribute Function onundo; + attribute Function onunload; +}; + +interface HTMLFrameElement : HTMLElement { + attribute DOMString frameBorder; + attribute DOMString longDesc; + attribute DOMString marginHeight; + attribute DOMString marginWidth; + attribute DOMString name; + attribute boolean noResize; + attribute DOMString scrolling; + attribute DOMString src; + readonly attribute Document contentDocument; +}; + +[Supplemental] +interface HTMLAnchorElement { + attribute DOMString coords; + attribute DOMString charset; + attribute DOMString name; + attribute DOMString rev; + attribute DOMString shape; +}; + +[Supplemental] +interface HTMLAreaElement { + attribute boolean noHref; +}; + +interface HTMLBaseFontElement : HTMLElement { + attribute DOMString color; + attribute DOMString face; + attribute long size; +}; + +[Supplemental] +interface HTMLBodyElement { + attribute DOMString text; + attribute DOMString bgColor; + attribute DOMString background; + attribute DOMString link; + attribute DOMString vLink; + attribute DOMString aLink; +}; + +[Supplemental] +interface HTMLBRElement { + attribute DOMString clear; +}; + +[Supplemental] +interface HTMLTableCaptionElement { + attribute DOMString align; +}; + +[Supplemental] +interface HTMLTableColElement { + attribute DOMString align; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString vAlign; + attribute DOMString width; +}; + +interface HTMLDirectoryElement : HTMLElement { + attribute boolean compact; +}; + +[Supplemental] +interface HTMLDivElement { + attribute DOMString align; +}; + +[Supplemental] +interface HTMLDListElement { + attribute boolean compact; +}; + +[Supplemental] +interface HTMLEmbedElement { + attribute DOMString align; + attribute DOMString name; +}; + +interface HTMLFontElement : HTMLElement { + attribute DOMString color; + attribute DOMString face; + attribute DOMString size; +}; + +[Supplemental] +interface HTMLHeadingElement { + attribute DOMString align; +}; + +[Supplemental] +interface HTMLHRElement { + attribute DOMString align; + attribute DOMString color; + attribute boolean noShade; + attribute DOMString size; + attribute DOMString width; +}; + +[Supplemental] +interface HTMLHtmlElement { + attribute DOMString version; +}; + +[Supplemental] +interface HTMLIFrameElement { + attribute DOMString align; + attribute DOMString frameBorder; + attribute DOMString longDesc; + attribute DOMString marginHeight; + attribute DOMString marginWidth; + attribute DOMString scrolling; +}; + +[Supplemental] +interface HTMLImageElement { + attribute DOMString name; + attribute DOMString align; + attribute DOMString border; + attribute unsigned long hspace; + attribute DOMString longDesc; + attribute unsigned long vspace; +}; + +[Supplemental] +interface HTMLInputElement { + attribute DOMString align; + attribute DOMString useMap; +}; + +[Supplemental] +interface HTMLLegendElement { + attribute DOMString align; +}; + +[Supplemental] +interface HTMLLIElement { + attribute DOMString type; +}; + +[Supplemental] +interface HTMLLinkElement { + attribute DOMString charset; + attribute DOMString rev; + attribute DOMString target; +}; + +[Supplemental] +interface HTMLMenuElement { + attribute boolean compact; +}; + +[Supplemental] +interface HTMLMetaElement { + attribute DOMString scheme; +}; + +[Supplemental] +interface HTMLObjectElement { + attribute DOMString align; + attribute DOMString archive; + attribute DOMString border; + attribute DOMString code; + attribute DOMString codeBase; + attribute DOMString codeType; + attribute boolean declare; + attribute unsigned long hspace; + attribute DOMString standby; + attribute unsigned long vspace; +}; + +[Supplemental] +interface HTMLOListElement { + attribute boolean compact; + attribute DOMString type; +}; + +[Supplemental] +interface HTMLParagraphElement { + attribute DOMString align; +}; + +[Supplemental] +interface HTMLParamElement { + attribute DOMString type; + attribute DOMString valueType; +}; + +[Supplemental] +interface HTMLPreElement { + attribute unsigned long width; +}; + +[Supplemental] +interface HTMLScriptElement { + attribute DOMString event; + attribute DOMString htmlFor; +}; + +[Supplemental] +interface HTMLTableElement { + attribute DOMString align; + attribute DOMString bgColor; + attribute DOMString border; + attribute DOMString cellPadding; + attribute DOMString cellSpacing; + attribute DOMString frame; + attribute DOMString rules; + attribute DOMString width; +}; + +[Supplemental] +interface HTMLTableSectionElement { + attribute DOMString align; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString vAlign; +}; + +[Supplemental] +interface HTMLTableCellElement { + attribute DOMString abbr; + attribute DOMString align; + attribute DOMString axis; + attribute DOMString bgColor; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString height; + attribute boolean noWrap; + attribute DOMString vAlign; + attribute DOMString width; +}; + +[Supplemental] +interface HTMLTableRowElement { + attribute DOMString align; + attribute DOMString bgColor; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString vAlign; +}; + +[Supplemental] +interface HTMLUListElement { + attribute boolean compact; + attribute DOMString type; +}; + +[Supplemental] +interface HTMLDocument { + attribute DOMString fgColor; + attribute DOMString bgColor; + attribute DOMString linkColor; + attribute DOMString vlinkColor; + attribute DOMString alinkColor; + + readonly attribute HTMLCollection anchors; + readonly attribute HTMLCollection applets; + + void clear(); + + readonly attribute HTMLAllCollection all; }; \ No newline at end of file