spec/fixtures/html5.idl in webidl-0.1.0 vs spec/fixtures/html5.idl in webidl-0.1.1

- old
+ new

@@ -1,51 +1,51 @@ interface HTMLCollection { readonly attribute unsigned long length; - caller getter Element item(in unsigned long index); - caller getter object namedItem(in DOMString name); // only returns Element + caller getter Element? item(in unsigned long index); + 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() + 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() + 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); + 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); attribute long selectedIndex; }; interface HTMLPropertiesCollection : HTMLCollection { // inherits length and item() - caller getter PropertyNodeList namedItem(in DOMString name); // overrides inherited namedItem() + 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; + PropertyValueArray getValues(); }; interface DOMTokenList { readonly attribute unsigned long length; - getter DOMString item(in unsigned long index); + 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 (); @@ -53,10 +53,13 @@ interface DOMSettableTokenList : DOMTokenList { attribute DOMString value; }; +[NoInterfaceObject] +interface Transferable { }; + 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); @@ -76,11 +79,11 @@ }; [OverrideBuiltins] interface HTMLDocument { // resource metadata management - [PutForwards=href] readonly attribute Location location; + [PutForwards=href] readonly attribute Location? location; readonly attribute DOMString URL; attribute DOMString domain; readonly attribute DOMString referrer; attribute DOMString cookie; readonly attribute DOMString lastModified; @@ -92,21 +95,21 @@ // DOM tree accessors getter any (in DOMString name); attribute DOMString title; attribute DOMString dir; - attribute HTMLElement body; - readonly attribute HTMLHeadElement head; + attribute HTMLElement? body; + readonly attribute HTMLHeadElement? head; readonly attribute HTMLCollection images; readonly attribute HTMLCollection embeds; readonly attribute HTMLCollection plugins; 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); // microdata + NodeList getItems(in optional DOMString typeNames); // microdata readonly attribute DOMElementMap cssElementMap; // dynamic markup insertion attribute DOMString innerHTML; HTMLDocument open(in optional DOMString type, in optional DOMString replace); @@ -114,12 +117,12 @@ void close(); void write(in DOMString... text); void writeln(in DOMString... text); // user interaction - readonly attribute WindowProxy defaultView; - readonly attribute Element activeElement; + readonly attribute WindowProxy? defaultView; + readonly attribute Element? activeElement; boolean hasFocus(); attribute DOMString designMode; boolean execCommand(in DOMString commandId); boolean execCommand(in DOMString commandId, in boolean showUI); boolean execCommand(in DOMString commandId, in boolean showUI, in DOMString value); @@ -129,66 +132,64 @@ boolean queryCommandSupported(in DOMString commandId); DOMString queryCommandValue(in DOMString commandId); readonly attribute HTMLCollection commands; // event handler IDL attributes - attribute Function onabort; - attribute Function onblur; - 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; - attribute Function ondragover; - attribute Function ondragstart; - attribute Function ondrop; - attribute Function ondurationchange; - attribute Function onemptied; - attribute Function onended; - attribute Function onerror; - attribute Function onfocus; - attribute Function oninput; - attribute Function oninvalid; - attribute Function onkeydown; - attribute Function onkeypress; - attribute Function onkeyup; - attribute Function onload; - attribute Function onloadeddata; - attribute Function onloadedmetadata; - attribute Function onloadstart; - attribute Function onmousedown; - attribute Function onmousemove; - attribute Function onmouseout; - attribute Function onmouseover; - attribute Function onmouseup; - attribute Function onmousewheel; - attribute Function onpause; - attribute Function onplay; - attribute Function onplaying; - attribute Function onprogress; - attribute Function onratechange; - attribute Function onreadystatechange; - attribute Function onreset; - attribute Function onscroll; - attribute Function onseeked; - attribute Function onseeking; - attribute Function onselect; - attribute Function onshow; - attribute Function onstalled; - attribute Function onsubmit; - attribute Function onsuspend; - attribute Function ontimeupdate; - attribute Function onvolumechange; - attribute Function onwaiting; + attribute Function? onabort; + attribute Function? onblur; + 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; + attribute Function? ondragover; + attribute Function? ondragstart; + attribute Function? ondrop; + attribute Function? ondurationchange; + attribute Function? onemptied; + attribute Function? onended; + attribute Function? onerror; + attribute Function? onfocus; + attribute Function? oninput; + attribute Function? oninvalid; + attribute Function? onkeydown; + attribute Function? onkeypress; + attribute Function? onkeyup; + attribute Function? onload; + attribute Function? onloadeddata; + attribute Function? onloadedmetadata; + attribute Function? onloadstart; + attribute Function? onmousedown; + attribute Function? onmousemove; + attribute Function? onmouseout; + attribute Function? onmouseover; + attribute Function? onmouseup; + attribute Function? onmousewheel; + attribute Function? onpause; + attribute Function? onplay; + attribute Function? onplaying; + attribute Function? onprogress; + attribute Function? onratechange; + attribute Function? onreadystatechange; + attribute Function? onreset; + attribute Function? onscroll; + attribute Function? onseeked; + attribute Function? onseeking; + attribute Function? onselect; + attribute Function? onshow; + attribute Function? onstalled; + attribute Function? onsubmit; + attribute Function? onsuspend; + attribute Function? ontimeupdate; + attribute Function? onvolumechange; + attribute Function? onwaiting; }; Document implements HTMLDocument; [Supplemental, NoInterfaceObject] interface DOMHTMLImplementation { @@ -217,11 +218,11 @@ attribute DOMString dir; attribute DOMString className; readonly attribute DOMTokenList classList; readonly attribute DOMStringMap dataset; - // microdata + // microdata attribute boolean itemScope; attribute DOMString itemType; attribute DOMString itemId; [PutForwards=value] readonly attribute DOMSettableTokenList itemRef; [PutForwards=value] readonly attribute DOMSettableTokenList itemProp; @@ -235,83 +236,82 @@ void focus(); void blur(); attribute DOMString accessKey; readonly attribute DOMString accessKeyLabel; attribute boolean draggable; - [PutForwards=value] attribute DOMSettableTokenList dropzone; + [PutForwards=value] readonly attribute DOMSettableTokenList dropzone; attribute DOMString contentEditable; readonly attribute boolean isContentEditable; - attribute HTMLMenuElement contextMenu; + attribute HTMLMenuElement? contextMenu; attribute boolean spellcheck; // command API - readonly attribute DOMString commandType; - readonly attribute DOMString label; - readonly attribute DOMString icon; - readonly attribute boolean disabled; - readonly attribute boolean checked; + readonly attribute DOMString? commandType; + readonly attribute DOMString? commandLabel; + readonly attribute DOMString? commandIcon; + readonly attribute boolean? commandHidden; + readonly attribute boolean? commandDisabled; + readonly attribute boolean? commandChecked; // styling readonly attribute CSSStyleDeclaration style; // event handler IDL attributes - attribute Function onabort; - attribute Function onblur; - 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; - attribute Function ondragover; - attribute Function ondragstart; - attribute Function ondrop; - attribute Function ondurationchange; - attribute Function onemptied; - attribute Function onended; - attribute Function onerror; - attribute Function onfocus; - attribute Function oninput; - attribute Function oninvalid; - attribute Function onkeydown; - attribute Function onkeypress; - attribute Function onkeyup; - attribute Function onload; - attribute Function onloadeddata; - attribute Function onloadedmetadata; - attribute Function onloadstart; - attribute Function onmousedown; - attribute Function onmousemove; - attribute Function onmouseout; - attribute Function onmouseover; - attribute Function onmouseup; - attribute Function onmousewheel; - attribute Function onpause; - attribute Function onplay; - attribute Function onplaying; - attribute Function onprogress; - attribute Function onratechange; - attribute Function onreadystatechange; - attribute Function onreset; - attribute Function onscroll; - attribute Function onseeked; - attribute Function onseeking; - attribute Function onselect; - attribute Function onshow; - attribute Function onstalled; - attribute Function onsubmit; - attribute Function onsuspend; - attribute Function ontimeupdate; - attribute Function onvolumechange; - attribute Function onwaiting; + attribute Function? onabort; + attribute Function? onblur; + 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; + attribute Function? ondragover; + attribute Function? ondragstart; + attribute Function? ondrop; + attribute Function? ondurationchange; + attribute Function? onemptied; + attribute Function? onended; + attribute Function? onerror; + attribute Function? onfocus; + attribute Function? oninput; + attribute Function? oninvalid; + attribute Function? onkeydown; + attribute Function? onkeypress; + attribute Function? onkeyup; + attribute Function? onload; + attribute Function? onloadeddata; + attribute Function? onloadedmetadata; + attribute Function? onloadstart; + attribute Function? onmousedown; + attribute Function? onmousemove; + attribute Function? onmouseout; + attribute Function? onmouseover; + attribute Function? onmouseup; + attribute Function? onmousewheel; + attribute Function? onpause; + attribute Function? onplay; + attribute Function? onplaying; + attribute Function? onprogress; + attribute Function? onratechange; + attribute Function? onreadystatechange; + attribute Function? onreset; + attribute Function? onscroll; + attribute Function? onseeked; + attribute Function? onseeking; + attribute Function? onselect; + attribute Function? onshow; + attribute Function? onstalled; + attribute Function? onsubmit; + attribute Function? onsuspend; + attribute Function? ontimeupdate; + attribute Function? onvolumechange; + attribute Function? onwaiting; }; interface HTMLUnknownElement : HTMLElement { }; interface HTMLHtmlElement : HTMLElement {}; @@ -361,30 +361,30 @@ attribute DOMString charset; attribute DOMString text; }; interface HTMLBodyElement : HTMLElement { - 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 onpopstate; - attribute Function onpagehide; - attribute Function onpageshow; - attribute Function onredo; - attribute Function onresize; - attribute Function onscroll; - attribute Function onstorage; - attribute Function onundo; - attribute Function onunload; + 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? onpopstate; + attribute Function? onpagehide; + attribute Function? onpageshow; + attribute Function? onredo; + attribute Function? onresize; + attribute Function? onscroll; + attribute Function? onstorage; + attribute Function? onundo; + attribute Function? onunload; }; interface HTMLHeadingElement : HTMLElement {}; interface HTMLParagraphElement : HTMLElement {}; @@ -438,11 +438,11 @@ }; interface HTMLTimeElement : HTMLElement { attribute DOMString dateTime; attribute boolean pubDate; - readonly attribute Date valueAsDate; + readonly attribute Date? valueAsDate; }; interface HTMLSpanElement : HTMLElement {}; interface HTMLBRElement : HTMLElement {}; @@ -456,10 +456,11 @@ 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; + attribute DOMString crossOrigin; attribute DOMString useMap; attribute boolean isMap; attribute unsigned long width; attribute unsigned long height; readonly attribute unsigned long naturalWidth; @@ -473,12 +474,12 @@ attribute DOMString name; [PutForwards=value] readonly attribute DOMSettableTokenList sandbox; attribute boolean seamless; attribute DOMString width; attribute DOMString height; - readonly attribute Document contentDocument; - readonly attribute WindowProxy contentWindow; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; }; interface HTMLEmbedElement : HTMLElement { attribute DOMString src; attribute DOMString type; @@ -487,17 +488,18 @@ }; interface HTMLObjectElement : HTMLElement { attribute DOMString data; attribute DOMString type; + attribute boolean typeMustMatch; attribute DOMString name; attribute DOMString useMap; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString width; attribute DOMString height; - readonly attribute Document contentDocument; - readonly attribute WindowProxy contentWindow; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); @@ -513,11 +515,10 @@ attribute unsigned long width; attribute unsigned long height; readonly attribute unsigned long videoWidth; readonly attribute unsigned long videoHeight; attribute DOMString poster; - [PutForwards=value] attribute DOMSettableTokenList audio; }; [NamedConstructor=Audio(), NamedConstructor=Audio(in DOMString src)] interface HTMLAudioElement : HTMLMediaElement {}; @@ -539,15 +540,16 @@ }; interface HTMLMediaElement : HTMLElement { // error state - readonly attribute MediaError error; + readonly attribute MediaError? error; // network state attribute DOMString src; readonly attribute DOMString currentSrc; + attribute DOMString crossOrigin; 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; @@ -581,77 +583,97 @@ void play(); void pause(); // media controller attribute DOMString mediaGroup; - attribute MediaController controller; + attribute MediaController? controller; // controls attribute boolean controls; attribute double volume; attribute boolean muted; + attribute boolean defaultMuted; // tracks - - readonly attribute MultipleTrackList audioTracks; - readonly attribute ExclusiveTrackList videoTracks; - - readonly attribute TextTrack[] textTracks; + readonly attribute AudioTrackList audioTracks; + readonly attribute VideoTrackList videoTracks; + readonly attribute TextTrackList textTracks; MutableTextTrack addTextTrack(in DOMString kind, in optional DOMString label, in optional 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 TrackList { +interface AudioTrackList { readonly attribute unsigned long length; - DOMString getName(in unsigned long index); - DOMString getLanguage(in unsigned long index); + getter AudioTrack (in unsigned long index); + AudioTrack? getTrackById(in DOMString id); + attribute Function? onchange; +}; - attribute Function onchange; +interface AudioTrack { + readonly attribute DOMString id; + readonly attribute DOMString kind; + readonly attribute DOMString label; + readonly attribute DOMString language; + attribute boolean enabled; }; -interface MultipleTrackList : TrackList { - boolean isEnabled(in unsigned long index); - void enable(in unsigned long index); - void disable(in unsigned long index); +interface VideoTrackList { + readonly attribute unsigned long length; + getter VideoTrack (in unsigned long index); + VideoTrack? getTrackById(in DOMString id); + readonly attribute long selectedIndex; + attribute Function? onchange; }; -interface ExclusiveTrackList : TrackList { - readonly attribute unsigned long selectedIndex; - void select(in unsigned long index); +interface VideoTrack { + readonly attribute DOMString id; + readonly attribute DOMString kind; + readonly attribute DOMString label; + readonly attribute DOMString language; + attribute boolean selected; }; [Constructor] interface MediaController { readonly attribute TimeRanges buffered; readonly attribute TimeRanges seekable; readonly attribute double duration; attribute double currentTime; readonly attribute boolean paused; + readonly attribute TimeRanges played; void play(); void pause(); attribute double defaultPlaybackRate; attribute double playbackRate; attribute double volume; attribute boolean muted; - attribute Function ondurationchange; - attribute Function ontimeupdate; - attribute Function onplay; - attribute Function onpause; - attribute Function onratechange; - attribute Function onvolumechange; + attribute Function? onemptied; + attribute Function? onloadedmetadata; + attribute Function? onloadeddata; + attribute Function? oncanplay; + attribute Function? oncanplaythrough; + attribute Function? onplaying; + attribute Function? onended; + attribute Function? onwaiting; + + attribute Function? ondurationchange; + attribute Function? ontimeupdate; + attribute Function? onplay; + attribute Function? onpause; + attribute Function? onratechange; + attribute Function? onvolumechange; }; interface TextTrack { readonly attribute DOMString kind; readonly attribute DOMString label; @@ -660,42 +682,44 @@ 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; - attribute Function onload; - attribute Function onerror; + attribute Function? onload; + attribute Function? onerror; const unsigned short OFF = 0; const unsigned short HIDDEN = 1; const unsigned short SHOWING = 2; attribute unsigned short mode; - readonly attribute TextTrackCueList cues; - readonly attribute TextTrackCueList activeCues; + readonly attribute TextTrackCueList? cues; + readonly attribute TextTrackCueList? activeCues; - attribute Function oncuechange; + attribute Function? oncuechange; }; TextTrack implements EventTarget; +typedef TextTrack[] TextTrackList; + interface MutableTextTrack : TextTrack { void addCue(in TextTrackCue cue); void removeCue(in TextTrackCue cue); }; interface TextTrackCueList { readonly attribute unsigned long length; getter TextTrackCue (in unsigned long index); - TextTrackCue getCueById(in DOMString id); + TextTrackCue? getCueById(in DOMString id); }; [Constructor(in DOMString id, in double startTime, in double endTime, in DOMString text, in optional DOMString settings, in optional boolean pauseOnExit)] interface TextTrackCue { - readonly attribute TextTrack track; + readonly attribute TextTrack? track; readonly attribute DOMString id; readonly attribute double startTime; readonly attribute double endTime; readonly attribute boolean pauseOnExit; @@ -710,12 +734,12 @@ DOMString getCueAsSource(); DocumentFragment getCueAsHTML(); - attribute Function onenter; - attribute Function onexit; + attribute Function? onenter; + attribute Function? onexit; }; TextTrackCue implements EventTarget; interface TimeRanges { readonly attribute unsigned long length; @@ -726,12 +750,13 @@ interface HTMLCanvasElement : HTMLElement { attribute unsigned long width; attribute unsigned long height; DOMString toDataURL(in optional DOMString type, in any... args); + void toBlob(in FileCallback? callback, in optional DOMString type, in any... args); - object getContext(in DOMString contextId, in any... args); + object? getContext(in DOMString contextId, in any... args); }; interface CanvasRenderingContext2D { // back-reference to the canvas @@ -788,37 +813,41 @@ void arcTo(in double x1, in double y1, in double x2, in double y2, in double radius); void rect(in double x, in double y, in double w, in double h); void arc(in double x, in double y, in double radius, in double startAngle, in double endAngle, in optional boolean anticlockwise); void fill(); void stroke(); + void drawSystemFocusRing(in Element element); + boolean drawCustomFocusRing(in Element element); + void scrollPathIntoView(); void clip(); boolean isPointInPath(in double x, in double y); - // focus management - boolean drawFocusRing(in Element element, in double xCaret, in double 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 double x, in double y, in optional double maxWidth); void strokeText(in DOMString text, in double x, in double y, in optional double maxWidth); TextMetrics measureText(in DOMString text); // drawing images - void drawImage(in HTMLImageElement image, in double dx, in double dy, in optional double dw, in double dh); + void drawImage(in HTMLImageElement image, in double dx, in double dy); + void drawImage(in HTMLImageElement image, in double dx, in double dy, in double dw, in double dh); void drawImage(in HTMLImageElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh); - void drawImage(in HTMLCanvasElement image, in double dx, in double dy, in optional double dw, in double dh); + void drawImage(in HTMLCanvasElement image, in double dx, in double dy); + void drawImage(in HTMLCanvasElement image, in double dx, in double dy, in double dw, in double dh); void drawImage(in HTMLCanvasElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh); - void drawImage(in HTMLVideoElement image, in double dx, in double dy, in optional double dw, in double dh); + void drawImage(in HTMLVideoElement image, in double dx, in double dy); + void drawImage(in HTMLVideoElement image, in double dx, in double dy, in double dw, in double dh); void drawImage(in HTMLVideoElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh); // pixel manipulation ImageData createImageData(in double sw, in double sh); ImageData createImageData(in ImageData imagedata); ImageData getImageData(in double sx, in double sy, in double sw, in double sh); - void putImageData(in ImageData imagedata, in double dx, in double dy, in optional double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight); + void putImageData(in ImageData imagedata, in double dx, in double dy); + void putImageData(in ImageData imagedata, in double dx, in double dy, in double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight); }; interface CanvasGradient { // opaque object void addColorStop(in double offset, in DOMString color); @@ -874,25 +903,25 @@ attribute DOMString search; attribute DOMString hash; }; interface HTMLTableElement : HTMLElement { - attribute HTMLTableCaptionElement caption; + attribute HTMLTableCaptionElement? caption; HTMLElement createCaption(); void deleteCaption(); - attribute HTMLTableSectionElement tHead; + attribute HTMLTableSectionElement? tHead; HTMLElement createTHead(); void deleteTHead(); - attribute HTMLTableSectionElement tFoot; + attribute HTMLTableSectionElement? tFoot; HTMLElement createTFoot(); void deleteTFoot(); readonly attribute HTMLCollection tBodies; HTMLElement createTBody(); readonly attribute HTMLCollection rows; HTMLElement insertRow(in optional long index); void deleteRow(in long index); - attribute DOMString summary; + attribute DOMString border; }; interface HTMLTableCaptionElement : HTMLElement {}; interface HTMLTableColElement : HTMLElement { @@ -948,11 +977,11 @@ boolean checkValidity(); }; interface HTMLFieldSetElement : HTMLElement { attribute boolean disabled; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString name; readonly attribute DOMString type; readonly attribute HTMLFormControlsCollection elements; @@ -963,17 +992,17 @@ boolean checkValidity(); void setCustomValidity(in DOMString error); }; interface HTMLLegendElement : HTMLElement { - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; }; interface HTMLLabelElement : HTMLElement { - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString htmlFor; - readonly attribute HTMLElement control; + readonly attribute HTMLElement? control; }; interface HTMLInputElement : HTMLElement { attribute DOMString accept; attribute DOMString alt; @@ -981,20 +1010,20 @@ attribute boolean autofocus; attribute boolean defaultChecked; attribute boolean checked; attribute DOMString dirName; attribute boolean disabled; - readonly attribute HTMLFormElement form; - readonly attribute FileList files; + readonly attribute HTMLFormElement? form; + readonly attribute FileList? files; attribute DOMString formAction; attribute DOMString formEnctype; attribute DOMString formMethod; attribute boolean formNoValidate; attribute DOMString formTarget; attribute DOMString height; attribute boolean indeterminate; - readonly attribute HTMLElement list; + readonly attribute HTMLElement? list; attribute DOMString max; attribute long maxLength; attribute DOMString min; attribute boolean multiple; attribute DOMString name; @@ -1008,11 +1037,11 @@ attribute DOMString type; attribute DOMString defaultValue; attribute DOMString value; attribute Date valueAsDate; attribute double valueAsNumber; - readonly attribute HTMLOptionElement selectedOption; + readonly attribute HTMLOptionElement? selectedOption; attribute DOMString width; void stepUp(in optional long n); void stepDown(in optional long n); @@ -1025,17 +1054,18 @@ readonly attribute NodeList labels; void select(); attribute unsigned long selectionStart; attribute unsigned long selectionEnd; - void setSelectionRange(in unsigned long start, in unsigned long end); + attribute DOMString selectionDirection; + void setSelectionRange(in unsigned long start, in unsigned long end, in optional DOMString direction); }; interface HTMLButtonElement : HTMLElement { attribute boolean autofocus; attribute boolean disabled; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString formAction; attribute DOMString formEnctype; attribute DOMString formMethod; attribute DOMString formNoValidate; attribute DOMString formTarget; @@ -1053,11 +1083,11 @@ }; interface HTMLSelectElement : HTMLElement { attribute boolean autofocus; attribute boolean disabled; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute boolean multiple; attribute DOMString name; attribute boolean required; attribute unsigned long size; @@ -1065,11 +1095,11 @@ readonly attribute HTMLOptionsCollection options; attribute unsigned long length; getter any item(in unsigned long index); any namedItem(in DOMString name); - void add(in HTMLElement element, in optional HTMLElement before); + void add(in HTMLElement element, in optional HTMLElement? before); void add(in HTMLElement element, in long before); void remove(in long index); readonly attribute HTMLCollection selectedOptions; attribute long selectedIndex; @@ -1098,11 +1128,11 @@ 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 { attribute boolean disabled; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString label; attribute boolean defaultSelected; attribute boolean selected; attribute DOMString value; @@ -1113,11 +1143,11 @@ interface HTMLTextAreaElement : HTMLElement { attribute boolean autofocus; attribute unsigned long cols; attribute DOMString dirName; attribute boolean disabled; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute long maxLength; attribute DOMString name; attribute DOMString placeholder; attribute boolean readOnly; attribute boolean required; @@ -1138,18 +1168,19 @@ readonly attribute NodeList labels; void select(); attribute unsigned long selectionStart; attribute unsigned long selectionEnd; - void setSelectionRange(in unsigned long start, in unsigned long end); + attribute DOMString selectionDirection; + void setSelectionRange(in unsigned long start, in unsigned long end, in optional DOMString direction); }; interface HTMLKeygenElement : HTMLElement { attribute boolean autofocus; attribute DOMString challenge; attribute boolean disabled; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString keytype; attribute DOMString name; readonly attribute DOMString type; @@ -1162,11 +1193,11 @@ readonly attribute NodeList labels; }; interface HTMLOutputElement : HTMLElement { [PutForwards=value] readonly attribute DOMSettableTokenList htmlFor; - readonly attribute HTMLFormElement form; + readonly attribute HTMLFormElement? form; attribute DOMString name; readonly attribute DOMString type; attribute DOMString defaultValue; attribute DOMString value; @@ -1182,22 +1213,20 @@ interface HTMLProgressElement : HTMLElement { attribute double value; attribute double max; readonly attribute double position; - readonly attribute HTMLFormElement form; readonly attribute NodeList labels; }; interface HTMLMeterElement : HTMLElement { attribute double value; attribute double min; attribute double max; attribute double low; attribute double high; attribute double optimum; - readonly attribute HTMLFormElement form; readonly attribute NodeList labels; }; interface ValidityState { readonly attribute boolean valueMissing; @@ -1227,17 +1256,17 @@ interface HTMLMenuElement : HTMLElement { attribute DOMString type; attribute DOMString label; }; -[ReplaceableNamedProperties] +[ReplaceableNamedProperties] interface Window { // the current browsing context readonly attribute WindowProxy window; readonly attribute WindowProxy self; readonly attribute Document document; - attribute DOMString name; + attribute DOMString name; [PutForwards=href] readonly attribute Location location; readonly attribute History history; readonly attribute UndoManager undoManager; @@ -1245,10 +1274,11 @@ [Replaceable] readonly attribute BarProp menubar; [Replaceable] readonly attribute BarProp personalbar; [Replaceable] readonly attribute BarProp scrollbars; [Replaceable] readonly attribute BarProp statusbar; [Replaceable] readonly attribute BarProp toolbar; + attribute DOMString status; void close(); void stop(); void focus(); void blur(); @@ -1256,101 +1286,100 @@ [Replaceable] readonly attribute WindowProxy frames; [Replaceable] readonly attribute unsigned long length; readonly attribute WindowProxy top; attribute WindowProxy opener; readonly attribute WindowProxy parent; - readonly attribute Element frameElement; + 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 any (in DOMString name); // the user agent - readonly attribute Navigator navigator; + readonly attribute Navigator navigator; + readonly attribute External external; readonly attribute ApplicationCache applicationCache; // user prompts void alert(in DOMString message); boolean confirm(in DOMString message); - DOMString prompt(in DOMString message, in optional DOMString default); + 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, in optional MessagePortArray ports); + void postMessage(in any message, in DOMString targetOrigin, in optional sequence<Transferable> transfer); // event handler IDL attributes - attribute Function onabort; - attribute Function onafterprint; - attribute Function onbeforeprint; - attribute Function onbeforeunload; - attribute Function onblur; - 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; - attribute Function ondragover; - attribute Function ondragstart; - attribute Function ondrop; - attribute Function ondurationchange; - attribute Function onemptied; - attribute Function onended; - attribute Function onerror; - attribute Function onfocus; - attribute Function onhashchange; - attribute Function oninput; - attribute Function oninvalid; - attribute Function onkeydown; - attribute Function onkeypress; - attribute Function onkeyup; - attribute Function onload; - attribute Function onloadeddata; - attribute Function onloadedmetadata; - attribute Function onloadstart; - attribute Function onmessage; - attribute Function onmousedown; - attribute Function onmousemove; - attribute Function onmouseout; - attribute Function onmouseover; - attribute Function onmouseup; - attribute Function onmousewheel; - attribute Function onoffline; - attribute Function ononline; - attribute Function onpause; - attribute Function onplay; - attribute Function onplaying; - attribute Function onpagehide; - attribute Function onpageshow; - attribute Function onpopstate; - attribute Function onprogress; - attribute Function onratechange; - attribute Function onreadystatechange; - attribute Function onredo; - attribute Function onreset; - attribute Function onresize; - attribute Function onscroll; - attribute Function onseeked; - attribute Function onseeking; - attribute Function onselect; - attribute Function onshow; - attribute Function onstalled; - attribute Function onstorage; - attribute Function onsubmit; - attribute Function onsuspend; - attribute Function ontimeupdate; - attribute Function onundo; - attribute Function onunload; - attribute Function onvolumechange; - attribute Function onwaiting; + attribute Function? onabort; + attribute Function? onafterprint; + attribute Function? onbeforeprint; + attribute Function? onbeforeunload; + attribute Function? onblur; + 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; + attribute Function? ondragover; + attribute Function? ondragstart; + attribute Function? ondrop; + attribute Function? ondurationchange; + attribute Function? onemptied; + attribute Function? onended; + attribute Function? onerror; + attribute Function? onfocus; + attribute Function? onhashchange; + attribute Function? oninput; + attribute Function? oninvalid; + attribute Function? onkeydown; + attribute Function? onkeypress; + attribute Function? onkeyup; + attribute Function? onload; + attribute Function? onloadeddata; + attribute Function? onloadedmetadata; + attribute Function? onloadstart; + attribute Function? onmessage; + attribute Function? onmousedown; + attribute Function? onmousemove; + attribute Function? onmouseout; + attribute Function? onmouseover; + attribute Function? onmouseup; + attribute Function? onmousewheel; + attribute Function? onoffline; + attribute Function? ononline; + attribute Function? onpause; + attribute Function? onplay; + attribute Function? onplaying; + attribute Function? onpagehide; + attribute Function? onpageshow; + attribute Function? onpopstate; + attribute Function? onprogress; + attribute Function? onratechange; + attribute Function? onreadystatechange; + attribute Function? onredo; + attribute Function? onreset; + attribute Function? onresize; + attribute Function? onscroll; + attribute Function? onseeked; + attribute Function? onseeking; + attribute Function? onselect; + attribute Function? onshow; + attribute Function? onstalled; + attribute Function? onstorage; + attribute Function? onsubmit; + attribute Function? onsuspend; + attribute Function? ontimeupdate; + attribute Function? onundo; + attribute Function? onunload; + attribute Function? onvolumechange; + attribute Function? onwaiting; }; Window implements EventTarget; interface BarProp { attribute boolean visible; @@ -1370,11 +1399,11 @@ stringifier attribute DOMString href; void assign(in DOMString url); void replace(in DOMString url); void reload(); - // URL decomposition IDL attributes + // URL decomposition IDL attributes attribute DOMString protocol; attribute DOMString host; attribute DOMString hostname; attribute DOMString port; attribute DOMString pathname; @@ -1419,18 +1448,18 @@ // 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; + 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; [Supplemental, NoInterfaceObject] interface NavigatorOnLine { @@ -1489,15 +1518,20 @@ [Supplemental, NoInterfaceObject] interface NavigatorStorageUtils { void yieldForStorageUpdates(); }; +interface External { + void AddSearchProvider(in DOMString engineURL); + unsigned long IsSearchProviderInstalled(in DOMString engineURL); +}; + interface DataTransfer { attribute DOMString dropEffect; attribute DOMString effectAllowed; - readonly attribute DataTransferItems items; + readonly attribute DataTransferItemList items; void setDragImage(in Element image, in long x, in long y); void addElement(in Element element); /* old interface */ @@ -1506,36 +1540,36 @@ void setData(in DOMString format, in DOMString data); void clearData(in optional DOMString format); readonly attribute FileList files; }; -interface DataTransferItems { +interface DataTransferItemList { readonly attribute unsigned long length; getter DataTransferItem (in unsigned long index); deleter void (in unsigned long index); void clear(); - DataTransferItem add(in DOMString data, in DOMString type); - DataTransferItem add(in File data); + DataTransferItem? add(in DOMString data, in DOMString type); + DataTransferItem? add(in File data); }; interface DataTransferItem { readonly attribute DOMString kind; readonly attribute DOMString type; - void getAsString(in FunctionStringCallback callback); - File getAsFile(); + void getAsString(in FunctionStringCallback? callback); + File? getAsFile(); }; [Callback=FunctionOnly, NoInterfaceObject] interface FunctionStringCallback { void handleEvent(in DOMString data); }; interface DragEvent : MouseEvent { - readonly attribute DataTransfer dataTransfer; + readonly attribute DataTransfer? dataTransfer; - 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); + 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 UndoManager { readonly attribute unsigned long length; getter any item(in unsigned long index); @@ -1551,17 +1585,17 @@ void initUndoManagerEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg); }; [Supplemental, NoInterfaceObject] interface NavigatorUserMedia { - void getUserMedia(in DOMString options, in NavigatorUserMediaSuccessCallback successCallback, in optional NavigatorUserMediaErrorCallback errorCallback); + void getUserMedia(in DOMString options, in NavigatorUserMediaSuccessCallback? successCallback, in optional NavigatorUserMediaErrorCallback? errorCallback); }; Navigator implements NavigatorUserMedia; [Callback=FunctionOnly, NoInterfaceObject] interface NavigatorUserMediaSuccessCallback { - void handleEvent(in GeneratedStream stream); + void handleEvent(in LocalMediaStream stream); }; [NoInterfaceObject] interface NavigatorUserMediaError { const unsigned short PERMISSION_DENIED = 1; @@ -1571,119 +1605,123 @@ [Callback=FunctionOnly, NoInterfaceObject] interface NavigatorUserMediaErrorCallback { void handleEvent(in NavigatorUserMediaError error); }; -interface Stream { +[Constructor(in MediaStream parentStream)] +interface MediaStream { readonly attribute DOMString label; - StreamRecorder record(); + readonly attribute MediaStreamTrackList tracks; + MediaStreamRecorder record(); + const unsigned short LIVE = 1; const unsigned short ENDED = 2; readonly attribute unsigned short readyState; - attribute Function onended; + attribute Function? onended; }; -Stream implements EventTarget; +MediaStream implements EventTarget; -interface GeneratedStream : Stream { +interface LocalMediaStream : MediaStream { void stop(); +}; - // track control - readonly attribute MultipleTrackList audioTracks; - readonly attribute ExclusiveTrackList videoTracks; +typedef MediaStreamTrack[] MediaStreamTrackList; + +interface MediaStreamTrack { + readonly attribute DOMString kind; + readonly attribute DOMString label; + attribute boolean enabled; }; -interface StreamRecorder { - void getRecordedData(in BlobCallback callback); +interface MediaStreamRecorder { + void getRecordedData(in BlobCallback? callback); }; [Callback=FunctionOnly, NoInterfaceObject] interface BlobCallback { void handleEvent(in Blob blob); }; [Supplemental] interface URL { - static DOMString createObjectURL(in Stream stream); + static DOMString createObjectURL(in MediaStream stream); }; [Constructor(in DOMString configuration, in SignalingCallback signalingCallback)] interface PeerConnection { - void signalingMessage(in DOMString message); + void processSignalingMessage(in DOMString message); const unsigned short NEW = 0; const unsigned short NEGOTIATING = 1; const unsigned short ACTIVE = 2; const unsigned short CLOSED = 3; readonly attribute unsigned short readyState; void send(in DOMString text); - void addStream(in Stream stream); - void removeStream(in Stream stream); - readonly attribute Stream[] localStreams; - readonly attribute Stream[] remoteStreams; + void addStream(in MediaStream stream); + void removeStream(in MediaStream stream); + readonly attribute MediaStream[] localStreams; + readonly attribute MediaStream[] remoteStreams; void close(); // connection quality information - attribute Function onconnecting; - attribute Function onopen; - attribute Function onerror; - attribute Function onclose; - attribute Function onmessage; - attribute Function onaddstream; - attribute Function onremovestream; + attribute Function? onconnecting; + attribute Function? onopen; + attribute Function? onmessage; + attribute Function? onaddstream; + attribute Function? onremovestream; }; PeerConnection implements EventTarget; [Callback=FunctionOnly, NoInterfaceObject] interface SignalingCallback { void handleEvent(in DOMString message, in PeerConnection source); }; interface StreamEvent : Event { - readonly attribute Stream stream; - void initStreamEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in Stream streamArg); + readonly attribute MediaStream? stream; + void initStreamEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in MediaStream? streamArg); }; 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); + readonly attribute WindowProxy? source; + readonly attribute MessagePort[] 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 sequence<MessagePort> portsArg); }; [Constructor] interface MessageChannel { readonly attribute MessagePort port1; readonly attribute MessagePort port2; }; -typedef sequence<MessagePort> MessagePortArray; - interface MessagePort { - void postMessage(in any message, in optional MessagePortArray ports); + void postMessage(in any message, in optional sequence<Transferable> transfer); void start(); void close(); // event handlers - attribute Function onmessage; + attribute Function? onmessage; }; MessagePort implements EventTarget; +MessagePort implements Transferable; interface HTMLAppletElement : HTMLElement { attribute DOMString align; attribute DOMString alt; attribute DOMString archive; attribute DOMString code; attribute DOMString codeBase; attribute DOMString height; attribute unsigned long hspace; attribute DOMString name; - attribute DOMString _object; // the underscore is not part of the identifier + attribute DOMString _object; // the underscore is not part of the identifier attribute unsigned long vspace; attribute DOMString width; }; interface HTMLMarqueeElement : HTMLElement { @@ -1697,41 +1735,41 @@ attribute unsigned long scrollDelay; attribute boolean trueSpeed; attribute unsigned long vspace; attribute DOMString width; - attribute Function onbounce; - attribute Function onfinish; - attribute Function onstart; + 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 onscroll; - attribute Function onstorage; - attribute Function onundo; - attribute Function onunload; + 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? onscroll; + attribute Function? onstorage; + attribute Function? onundo; + attribute Function? onunload; }; interface HTMLFrameElement : HTMLElement { attribute DOMString frameBorder; attribute DOMString longDesc; @@ -1739,12 +1777,12 @@ attribute DOMString marginWidth; attribute DOMString name; attribute boolean noResize; attribute DOMString scrolling; attribute DOMString src; - readonly attribute Document contentDocument; - readonly attribute WindowProxy contentWindow; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; }; [Supplemental] interface HTMLAnchorElement { attribute DOMString coords; @@ -1760,11 +1798,11 @@ }; interface HTMLBaseFontElement : HTMLElement { attribute DOMString color; attribute DOMString face; - attribute long size; + attribute long size; }; [Supplemental] interface HTMLBodyElement { attribute DOMString text; @@ -1815,11 +1853,11 @@ }; interface HTMLFontElement : HTMLElement { attribute DOMString color; attribute DOMString face; - attribute DOMString size; + attribute DOMString size; }; [Supplemental] interface HTMLHeadingElement { attribute DOMString align; @@ -1935,14 +1973,14 @@ [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 summary; attribute DOMString width; }; [Supplemental] interface HTMLTableSectionElement { \ No newline at end of file