spec/fixtures/html5.idl in webidl-0.1.4 vs spec/fixtures/html5.idl in webidl-0.1.5

- old
+ new

@@ -29,11 +29,11 @@ }; interface HTMLPropertiesCollection : HTMLCollection { // inherits length and item() legacycaller getter PropertyNodeList? namedItem(DOMString name); // overrides inherited namedItem() - readonly attribute DOMStringList names; + readonly attribute DOMString[] names; }; typedef sequence<any> PropertyValueArray; interface PropertyNodeList : NodeList { @@ -59,11 +59,10 @@ [OverrideBuiltins] partial interface Document { // resource metadata management [PutForwards=href] readonly attribute Location? location; - readonly attribute DOMString URL; attribute DOMString domain; readonly attribute DOMString referrer; attribute DOMString cookie; readonly attribute DOMString lastModified; readonly attribute DOMString readyState; @@ -79,11 +78,11 @@ readonly attribute HTMLCollection plugins; readonly attribute HTMLCollection links; readonly attribute HTMLCollection forms; readonly attribute HTMLCollection scripts; NodeList getElementsByName(DOMString elementName); - NodeList getItems(optional DOMString typeNames); // microdata + NodeList getItems(optional DOMString typeNames); // microdata readonly attribute DOMElementMap cssElementMap; // dynamic markup insertion Document open(optional DOMString type, optional DOMString replace); WindowProxy open(DOMString url, DOMString name, DOMString features, optional boolean replace); @@ -105,68 +104,68 @@ boolean queryCommandSupported(DOMString commandId); DOMString queryCommandValue(DOMString commandId); readonly attribute HTMLCollection commands; // event handler IDL attributes - [TreatNonCallableAsNull] attribute Function? onabort; - [TreatNonCallableAsNull] attribute Function? onblur; - [TreatNonCallableAsNull] attribute Function? oncancel; - [TreatNonCallableAsNull] attribute Function? oncanplay; - [TreatNonCallableAsNull] attribute Function? oncanplaythrough; - [TreatNonCallableAsNull] attribute Function? onchange; - [TreatNonCallableAsNull] attribute Function? onclick; - [TreatNonCallableAsNull] attribute Function? onclose; - [TreatNonCallableAsNull] attribute Function? oncontextmenu; - [TreatNonCallableAsNull] attribute Function? oncuechange; - [TreatNonCallableAsNull] attribute Function? ondblclick; - [TreatNonCallableAsNull] attribute Function? ondrag; - [TreatNonCallableAsNull] attribute Function? ondragend; - [TreatNonCallableAsNull] attribute Function? ondragenter; - [TreatNonCallableAsNull] attribute Function? ondragleave; - [TreatNonCallableAsNull] attribute Function? ondragover; - [TreatNonCallableAsNull] attribute Function? ondragstart; - [TreatNonCallableAsNull] attribute Function? ondrop; - [TreatNonCallableAsNull] attribute Function? ondurationchange; - [TreatNonCallableAsNull] attribute Function? onemptied; - [TreatNonCallableAsNull] attribute Function? onended; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onfocus; - [TreatNonCallableAsNull] attribute Function? oninput; - [TreatNonCallableAsNull] attribute Function? oninvalid; - [TreatNonCallableAsNull] attribute Function? onkeydown; - [TreatNonCallableAsNull] attribute Function? onkeypress; - [TreatNonCallableAsNull] attribute Function? onkeyup; - [TreatNonCallableAsNull] attribute Function? onload; - [TreatNonCallableAsNull] attribute Function? onloadeddata; - [TreatNonCallableAsNull] attribute Function? onloadedmetadata; - [TreatNonCallableAsNull] attribute Function? onloadstart; - [TreatNonCallableAsNull] attribute Function? onmousedown; - [TreatNonCallableAsNull] attribute Function? onmousemove; - [TreatNonCallableAsNull] attribute Function? onmouseout; - [TreatNonCallableAsNull] attribute Function? onmouseover; - [TreatNonCallableAsNull] attribute Function? onmouseup; - [TreatNonCallableAsNull] attribute Function? onmousewheel; - [TreatNonCallableAsNull] attribute Function? onpause; - [TreatNonCallableAsNull] attribute Function? onplay; - [TreatNonCallableAsNull] attribute Function? onplaying; - [TreatNonCallableAsNull] attribute Function? onprogress; - [TreatNonCallableAsNull] attribute Function? onratechange; - [TreatNonCallableAsNull] attribute Function? onreset; - [TreatNonCallableAsNull] attribute Function? onscroll; - [TreatNonCallableAsNull] attribute Function? onseeked; - [TreatNonCallableAsNull] attribute Function? onseeking; - [TreatNonCallableAsNull] attribute Function? onselect; - [TreatNonCallableAsNull] attribute Function? onshow; - [TreatNonCallableAsNull] attribute Function? onstalled; - [TreatNonCallableAsNull] attribute Function? onsubmit; - [TreatNonCallableAsNull] attribute Function? onsuspend; - [TreatNonCallableAsNull] attribute Function? ontimeupdate; - [TreatNonCallableAsNull] attribute Function? onvolumechange; - [TreatNonCallableAsNull] attribute Function? onwaiting; + attribute EventHandler onabort; + attribute EventHandler onblur; + attribute EventHandler oncancel; + attribute EventHandler oncanplay; + attribute EventHandler oncanplaythrough; + attribute EventHandler onchange; + attribute EventHandler onclick; + attribute EventHandler onclose; + attribute EventHandler oncontextmenu; + attribute EventHandler oncuechange; + attribute EventHandler ondblclick; + attribute EventHandler ondrag; + attribute EventHandler ondragend; + attribute EventHandler ondragenter; + attribute EventHandler ondragleave; + attribute EventHandler ondragover; + attribute EventHandler ondragstart; + attribute EventHandler ondrop; + attribute EventHandler ondurationchange; + attribute EventHandler onemptied; + attribute EventHandler onended; + attribute OnErrorEventHandler onerror; + attribute EventHandler onfocus; + attribute EventHandler oninput; + attribute EventHandler oninvalid; + attribute EventHandler onkeydown; + attribute EventHandler onkeypress; + attribute EventHandler onkeyup; + attribute EventHandler onload; + attribute EventHandler onloadeddata; + attribute EventHandler onloadedmetadata; + attribute EventHandler onloadstart; + attribute EventHandler onmousedown; + attribute EventHandler onmousemove; + attribute EventHandler onmouseout; + attribute EventHandler onmouseover; + attribute EventHandler onmouseup; + attribute EventHandler onmousewheel; + attribute EventHandler onpause; + attribute EventHandler onplay; + attribute EventHandler onplaying; + attribute EventHandler onprogress; + attribute EventHandler onratechange; + attribute EventHandler onreset; + attribute EventHandler onscroll; + attribute EventHandler onseeked; + attribute EventHandler onseeking; + attribute EventHandler onselect; + attribute EventHandler onshow; + attribute EventHandler onstalled; + attribute EventHandler onsubmit; + attribute EventHandler onsuspend; + attribute EventHandler ontimeupdate; + attribute EventHandler onvolumechange; + attribute EventHandler onwaiting; // special event handler IDL attributes that only apply to Document objects - [TreatNonCallableAsNull,LenientThis] attribute Function? onreadystatechange; + [LenientThis] attribute EventHandler onreadystatechange; }; partial interface XMLDocument { boolean load(DOMString url); }; @@ -175,15 +174,13 @@ // metadata attributes attribute DOMString title; attribute DOMString lang; attribute boolean translate; attribute DOMString dir; - attribute DOMString className; - readonly attribute DOMTokenList classList; readonly attribute DOMStringMap dataset; - // microdata + // microdata attribute boolean itemScope; [PutForwards=value] readonly attribute DOMSettableTokenList itemType; attribute DOMString itemId; [PutForwards=value] readonly attribute DOMSettableTokenList itemRef; [PutForwards=value] readonly attribute DOMSettableTokenList itemProp; @@ -215,65 +212,65 @@ // styling readonly attribute CSSStyleDeclaration style; // event handler IDL attributes - [TreatNonCallableAsNull] attribute Function? onabort; - [TreatNonCallableAsNull] attribute Function? onblur; - [TreatNonCallableAsNull] attribute Function? oncancel; - [TreatNonCallableAsNull] attribute Function? oncanplay; - [TreatNonCallableAsNull] attribute Function? oncanplaythrough; - [TreatNonCallableAsNull] attribute Function? onchange; - [TreatNonCallableAsNull] attribute Function? onclick; - [TreatNonCallableAsNull] attribute Function? onclose; - [TreatNonCallableAsNull] attribute Function? oncontextmenu; - [TreatNonCallableAsNull] attribute Function? oncuechange; - [TreatNonCallableAsNull] attribute Function? ondblclick; - [TreatNonCallableAsNull] attribute Function? ondrag; - [TreatNonCallableAsNull] attribute Function? ondragend; - [TreatNonCallableAsNull] attribute Function? ondragenter; - [TreatNonCallableAsNull] attribute Function? ondragleave; - [TreatNonCallableAsNull] attribute Function? ondragover; - [TreatNonCallableAsNull] attribute Function? ondragstart; - [TreatNonCallableAsNull] attribute Function? ondrop; - [TreatNonCallableAsNull] attribute Function? ondurationchange; - [TreatNonCallableAsNull] attribute Function? onemptied; - [TreatNonCallableAsNull] attribute Function? onended; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onfocus; - [TreatNonCallableAsNull] attribute Function? oninput; - [TreatNonCallableAsNull] attribute Function? oninvalid; - [TreatNonCallableAsNull] attribute Function? onkeydown; - [TreatNonCallableAsNull] attribute Function? onkeypress; - [TreatNonCallableAsNull] attribute Function? onkeyup; - [TreatNonCallableAsNull] attribute Function? onload; - [TreatNonCallableAsNull] attribute Function? onloadeddata; - [TreatNonCallableAsNull] attribute Function? onloadedmetadata; - [TreatNonCallableAsNull] attribute Function? onloadstart; - [TreatNonCallableAsNull] attribute Function? onmousedown; - [TreatNonCallableAsNull] attribute Function? onmousemove; - [TreatNonCallableAsNull] attribute Function? onmouseout; - [TreatNonCallableAsNull] attribute Function? onmouseover; - [TreatNonCallableAsNull] attribute Function? onmouseup; - [TreatNonCallableAsNull] attribute Function? onmousewheel; - [TreatNonCallableAsNull] attribute Function? onpause; - [TreatNonCallableAsNull] attribute Function? onplay; - [TreatNonCallableAsNull] attribute Function? onplaying; - [TreatNonCallableAsNull] attribute Function? onprogress; - [TreatNonCallableAsNull] attribute Function? onratechange; - [TreatNonCallableAsNull] attribute Function? onreset; - [TreatNonCallableAsNull] attribute Function? onscroll; - [TreatNonCallableAsNull] attribute Function? onseeked; - [TreatNonCallableAsNull] attribute Function? onseeking; - [TreatNonCallableAsNull] attribute Function? onselect; - [TreatNonCallableAsNull] attribute Function? onshow; - [TreatNonCallableAsNull] attribute Function? onstalled; - [TreatNonCallableAsNull] attribute Function? onsubmit; - [TreatNonCallableAsNull] attribute Function? onsuspend; - [TreatNonCallableAsNull] attribute Function? ontimeupdate; - [TreatNonCallableAsNull] attribute Function? onvolumechange; - [TreatNonCallableAsNull] attribute Function? onwaiting; + attribute EventHandler onabort; + attribute EventHandler onblur; + attribute EventHandler oncancel; + attribute EventHandler oncanplay; + attribute EventHandler oncanplaythrough; + attribute EventHandler onchange; + attribute EventHandler onclick; + attribute EventHandler onclose; + attribute EventHandler oncontextmenu; + attribute EventHandler oncuechange; + attribute EventHandler ondblclick; + attribute EventHandler ondrag; + attribute EventHandler ondragend; + attribute EventHandler ondragenter; + attribute EventHandler ondragleave; + attribute EventHandler ondragover; + attribute EventHandler ondragstart; + attribute EventHandler ondrop; + attribute EventHandler ondurationchange; + attribute EventHandler onemptied; + attribute EventHandler onended; + attribute OnErrorEventHandler onerror; + attribute EventHandler onfocus; + attribute EventHandler oninput; + attribute EventHandler oninvalid; + attribute EventHandler onkeydown; + attribute EventHandler onkeypress; + attribute EventHandler onkeyup; + attribute EventHandler onload; + attribute EventHandler onloadeddata; + attribute EventHandler onloadedmetadata; + attribute EventHandler onloadstart; + attribute EventHandler onmousedown; + attribute EventHandler onmousemove; + attribute EventHandler onmouseout; + attribute EventHandler onmouseover; + attribute EventHandler onmouseup; + attribute EventHandler onmousewheel; + attribute EventHandler onpause; + attribute EventHandler onplay; + attribute EventHandler onplaying; + attribute EventHandler onprogress; + attribute EventHandler onratechange; + attribute EventHandler onreset; + attribute EventHandler onscroll; + attribute EventHandler onseeked; + attribute EventHandler onseeking; + attribute EventHandler onselect; + attribute EventHandler onshow; + attribute EventHandler onstalled; + attribute EventHandler onsubmit; + attribute EventHandler onsuspend; + attribute EventHandler ontimeupdate; + attribute EventHandler onvolumechange; + attribute EventHandler onwaiting; }; interface HTMLUnknownElement : HTMLElement { }; interface HTMLHtmlElement : HTMLElement {}; @@ -323,28 +320,28 @@ attribute DOMString charset; attribute DOMString text; }; interface HTMLBodyElement : HTMLElement { - [TreatNonCallableAsNull] attribute Function? onafterprint; - [TreatNonCallableAsNull] attribute Function? onbeforeprint; - [TreatNonCallableAsNull] attribute Function? onbeforeunload; - [TreatNonCallableAsNull] attribute Function? onblur; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onfocus; - [TreatNonCallableAsNull] attribute Function? onhashchange; - [TreatNonCallableAsNull] attribute Function? onload; - [TreatNonCallableAsNull] attribute Function? onmessage; - [TreatNonCallableAsNull] attribute Function? onoffline; - [TreatNonCallableAsNull] attribute Function? ononline; - [TreatNonCallableAsNull] attribute Function? onpopstate; - [TreatNonCallableAsNull] attribute Function? onpagehide; - [TreatNonCallableAsNull] attribute Function? onpageshow; - [TreatNonCallableAsNull] attribute Function? onresize; - [TreatNonCallableAsNull] attribute Function? onscroll; - [TreatNonCallableAsNull] attribute Function? onstorage; - [TreatNonCallableAsNull] attribute Function? onunload; + attribute EventHandler onafterprint; + attribute EventHandler onbeforeprint; + attribute EventHandler onbeforeunload; + attribute EventHandler onblur; + attribute OnErrorEventHandler onerror; + attribute EventHandler onfocus; + attribute EventHandler onhashchange; + attribute EventHandler onload; + attribute EventHandler onmessage; + attribute EventHandler onoffline; + attribute EventHandler ononline; + attribute EventHandler onpopstate; + attribute EventHandler onpagehide; + attribute EventHandler onpageshow; + attribute EventHandler onresize; + attribute EventHandler onscroll; + attribute EventHandler onstorage; + attribute EventHandler onunload; }; interface HTMLHeadingElement : HTMLElement {}; interface HTMLParagraphElement : HTMLElement {}; @@ -419,10 +416,13 @@ NamedConstructor=Image(unsigned long width), NamedConstructor=Image(unsigned long width, unsigned long height)] interface HTMLImageElement : HTMLElement { attribute DOMString alt; attribute DOMString src; + + attribute DOMString srcset; + attribute DOMString crossOrigin; attribute DOMString useMap; attribute boolean isMap; attribute unsigned long width; attribute unsigned long height; @@ -539,11 +539,11 @@ readonly attribute unsigned short readyState; readonly attribute boolean seeking; // playback state attribute double currentTime; - readonly attribute double duration; + readonly attribute unrestricted double duration; readonly attribute Date startDate; readonly attribute boolean paused; attribute double defaultPlaybackRate; attribute double playbackRate; readonly attribute TimeRanges played; @@ -582,12 +582,13 @@ interface AudioTrackList : EventTarget { readonly attribute unsigned long length; getter AudioTrack (unsigned long index); AudioTrack? getTrackById(DOMString id); - [TreatNonCallableAsNull] attribute Function? onchange; - [TreatNonCallableAsNull] attribute Function? onaddtrack; + attribute EventHandler onchange; + attribute EventHandler onaddtrack; + attribute EventHandler onremovetrack; }; interface AudioTrack { readonly attribute DOMString id; readonly attribute DOMString kind; @@ -600,89 +601,96 @@ readonly attribute unsigned long length; getter VideoTrack (unsigned long index); VideoTrack? getTrackById(DOMString id); readonly attribute long selectedIndex; - [TreatNonCallableAsNull] attribute Function? onchange; - [TreatNonCallableAsNull] attribute Function? onaddtrack; + attribute EventHandler onchange; + attribute EventHandler onaddtrack; + attribute EventHandler onremovetrack; }; interface VideoTrack { readonly attribute DOMString id; readonly attribute DOMString kind; readonly attribute DOMString label; readonly attribute DOMString language; attribute boolean selected; }; +enum MediaControllerPlaybackState { "waiting", "playing", "ended" }; [Constructor] interface MediaController { + readonly attribute unsigned short readyState; // uses HTMLMediaElement.readyState's values + readonly attribute TimeRanges buffered; readonly attribute TimeRanges seekable; - readonly attribute double duration; + readonly attribute unrestricted double duration; attribute double currentTime; readonly attribute boolean paused; + readonly attribute MediaControllerPlaybackState playbackState; readonly attribute TimeRanges played; void play(); void pause(); attribute double defaultPlaybackRate; attribute double playbackRate; attribute double volume; attribute boolean muted; - [TreatNonCallableAsNull] attribute Function? onemptied; - [TreatNonCallableAsNull] attribute Function? onloadedmetadata; - [TreatNonCallableAsNull] attribute Function? onloadeddata; - [TreatNonCallableAsNull] attribute Function? oncanplay; - [TreatNonCallableAsNull] attribute Function? oncanplaythrough; - [TreatNonCallableAsNull] attribute Function? onplaying; - [TreatNonCallableAsNull] attribute Function? onended; - [TreatNonCallableAsNull] attribute Function? onwaiting; + attribute EventHandler onemptied; + attribute EventHandler onloadedmetadata; + attribute EventHandler onloadeddata; + attribute EventHandler oncanplay; + attribute EventHandler oncanplaythrough; + attribute EventHandler onplaying; + attribute EventHandler onended; + attribute EventHandler onwaiting; - [TreatNonCallableAsNull] attribute Function? ondurationchange; - [TreatNonCallableAsNull] attribute Function? ontimeupdate; - [TreatNonCallableAsNull] attribute Function? onplay; - [TreatNonCallableAsNull] attribute Function? onpause; - [TreatNonCallableAsNull] attribute Function? onratechange; - [TreatNonCallableAsNull] attribute Function? onvolumechange; + attribute EventHandler ondurationchange; + attribute EventHandler ontimeupdate; + attribute EventHandler onplay; + attribute EventHandler onpause; + attribute EventHandler onratechange; + attribute EventHandler onvolumechange; }; interface TextTrackList : EventTarget { readonly attribute unsigned long length; getter TextTrack (unsigned long index); - [TreatNonCallableAsNull] attribute Function? onaddtrack; + attribute EventHandler onaddtrack; + attribute EventHandler onremovetrack; }; enum TextTrackMode { "disabled", "hidden", "showing" }; interface TextTrack : EventTarget { readonly attribute DOMString kind; readonly attribute DOMString label; readonly attribute DOMString language; + readonly attribute DOMString inBandMetadataTrackDispatchType; attribute TextTrackMode mode; readonly attribute TextTrackCueList? cues; readonly attribute TextTrackCueList? activeCues; void addCue(TextTrackCue cue); void removeCue(TextTrackCue cue); - [TreatNonCallableAsNull] attribute Function? oncuechange; + attribute EventHandler oncuechange; }; interface TextTrackCueList { readonly attribute unsigned long length; getter TextTrackCue (unsigned long index); TextTrackCue? getCueById(DOMString id); }; -[Constructor(DOMString id, double startTime, double endTime, DOMString text, optional DOMString settings, optional boolean pauseOnExit)] +[Constructor(double startTime, double endTime, DOMString text)] interface TextTrackCue : EventTarget { readonly attribute TextTrack? track; attribute DOMString id; attribute double startTime; @@ -695,12 +703,12 @@ attribute long size; attribute DOMString align; attribute DOMString text; DocumentFragment getCueAsHTML(); - [TreatNonCallableAsNull] attribute Function? onenter; - [TreatNonCallableAsNull] attribute Function? onexit; + attribute EventHandler onenter; + attribute EventHandler onexit; }; interface TimeRanges { readonly attribute unsigned long length; double start(unsigned long index); @@ -719,11 +727,13 @@ interface HTMLCanvasElement : HTMLElement { attribute unsigned long width; attribute unsigned long height; DOMString toDataURL(optional DOMString type, any... args); + DOMString toDataURLHD(optional DOMString type, any... args); void toBlob(FileCallback? _callback, optional DOMString type, any... args); + void toBlobHD(FileCallback? _callback, optional DOMString type, any... args); object? getContext(DOMString contextId, any... args); }; interface CanvasRenderingContext2D { @@ -735,38 +745,41 @@ void save(); // push state on state stack void restore(); // pop state stack and restore state // transformations (default transform is the identity matrix) attribute SVGMatrix currentTransform; - void scale(double x, double y); - void rotate(double angle); - void translate(double x, double y); - void transform(double a, double b, double c, double d, double e, double f); - void setTransform(double a, double b, double c, double d, double e, double f); + void scale(unrestricted double x, unrestricted double y); + void rotate(unrestricted double angle); + void translate(unrestricted double x, unrestricted double y); + void transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); + void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); void resetTransform(); // compositing - attribute double globalAlpha; // (default 1.0) + attribute unrestricted double globalAlpha; // (default 1.0) attribute DOMString globalCompositeOperation; // (default source-over) + // image smoothing + attribute boolean imageSmoothingEnabled; // (default true) + // colors and styles (see also the CanvasDrawingStyles interface) attribute any strokeStyle; // (default black) attribute any fillStyle; // (default black) - CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1); - CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1); + CanvasGradient createLinearGradient(unrestricted double x0, unrestricted double y0, unrestricted double x1, unrestricted double y1); + CanvasGradient createRadialGradient(unrestricted double x0, unrestricted double y0, unrestricted double r0, unrestricted double x1, unrestricted double y1, unrestricted double r1); CanvasPattern createPattern((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, DOMString repetition); // shadows - attribute double shadowOffsetX; // (default 0) - attribute double shadowOffsetY; // (default 0) - attribute double shadowBlur; // (default 0) + attribute unrestricted double shadowOffsetX; // (default 0) + attribute unrestricted double shadowOffsetY; // (default 0) + attribute unrestricted double shadowBlur; // (default 0) attribute DOMString shadowColor; // (default transparent black) // rects - void clearRect(double x, double y, double w, double h); - void fillRect(double x, double y, double w, double h); - void strokeRect(double x, double y, double w, double h); + void clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + void fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + void strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); // path API (see also CanvasPathMethods) void beginPath(); void fill(); void fill(Path path); @@ -779,49 +792,51 @@ void scrollPathIntoView(); void scrollPathIntoView(Path path); void clip(); void clip(Path path); void resetClip(); - boolean isPointInPath(double x, double y); - boolean isPointInPath(Path path, double x, double y); + boolean isPointInPath(unrestricted double x, unrestricted double y); + boolean isPointInPath(Path path, unrestricted double x, unrestricted double y); // text (see also the CanvasDrawingStyles interface) - void fillText(DOMString text, double x, double y, optional double maxWidth); - void strokeText(DOMString text, double x, double y, optional double maxWidth); + void fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + void strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); TextMetrics measureText(DOMString text); // drawing images - attribute boolean imageSmoothingEnabled; // (default true) - void drawImage((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, double dx, double dy); - void drawImage((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, double dx, double dy, double dw, double dh); - void drawImage((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh); + void drawImage((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, unrestricted double dx, unrestricted double dy); + void drawImage((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); + void drawImage((HTMLImageElement or HTMLCanvasElement or HTMLVideoElement) image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); // hit regions void addHitRegion(HitRegionOptions options); + void removeHitRegion(HitRegionOptions options); // pixel manipulation ImageData createImageData(double sw, double sh); ImageData createImageData(ImageData imagedata); + ImageData createImageDataHD(double sw, double sh); ImageData getImageData(double sx, double sy, double sw, double sh); + ImageData getImageDataHD(double sx, double sy, double sw, double sh); void putImageData(ImageData imagedata, double dx, double dy); - void putImageData(ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight); + void putImageDataHD(ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight); }; CanvasRenderingContext2D implements CanvasDrawingStyles; CanvasRenderingContext2D implements CanvasPathMethods; [NoInterfaceObject] interface CanvasDrawingStyles { // line caps/joins - attribute double lineWidth; // (default 1) + attribute unrestricted double lineWidth; // (default 1) attribute DOMString lineCap; // "butt", "round", "square" (default "butt") attribute DOMString lineJoin; // "round", "bevel", "miter" (default "miter") - attribute double miterLimit; // (default 10) + attribute unrestricted double miterLimit; // (default 10) // dashed lines - void setLineDash(sequence<double> segments); // default empty - sequence<double> getLineDash(); - attribute double lineDashOffset; + void setLineDash(sequence<unrestricted double> segments); // default empty + sequence<unrestricted double> getLineDash(); + attribute unrestricted double lineDashOffset; // 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") @@ -829,24 +844,24 @@ [NoInterfaceObject] interface CanvasPathMethods { // shared path API methods void closePath(); - void moveTo(double x, double y); - void lineTo(double x, double y); - void quadraticCurveTo(double cpx, double cpy, double x, double y); - void bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y); - void arcTo(double x1, double y1, double x2, double y2, double radius); - void arcTo(double x1, double y1, double x2, double y2, double radiusX, double radiusY, double rotation); - void rect(double x, double y, double w, double h); - void arc(double x, double y, double radius, double startAngle, double endAngle, optional boolean anticlockwise = false); - void ellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, boolean anticlockwise); + void moveTo(unrestricted double x, unrestricted double y); + void lineTo(unrestricted double x, unrestricted double y); + void quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y); + void bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y); + void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); + void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation); + void rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); + void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, boolean anticlockwise); }; interface CanvasGradient { // opaque object - void addColorStop(double offset, DOMString color); + void addColorStop(unrestricted double offset, DOMString color); }; interface CanvasPattern { // opaque object void setTransform(SVGMatrix transform); @@ -896,17 +911,21 @@ Constructor(Path path), Constructor(DOMString d)] interface Path { void addPath(Path path, SVGMatrix? transformation); void addPathByStrokingPath(Path path, CanvasDrawingStyles styles, SVGMatrix? transformation); - void addText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, double x, double y, optional double maxWidth); - void addPathByStrokingText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, double x, double y, optional double maxWidth); - void addText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, Path path, optional double maxWidth); - void addPathByStrokingText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, Path path, optional double maxWidth); + void addText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + void addPathByStrokingText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + void addText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, Path path, optional unrestricted double maxWidth); + void addPathByStrokingText(DOMString text, CanvasDrawingStyles styles, SVGMatrix? transformation, Path path, optional unrestricted double maxWidth); }; Path implements CanvasPathMethods; +partial interface Screen { + readonly attribute double canvasResolution; +}; + partial interface MouseEvent { readonly attribute DOMString? region; }; partial dictionary MouseEventInit { @@ -1077,11 +1096,11 @@ attribute DOMString step; attribute DOMString type; attribute DOMString defaultValue; attribute DOMString value; attribute Date? valueAsDate; - attribute double valueAsNumber; + attribute unrestricted double valueAsNumber; attribute unsigned long width; void stepUp(optional long n); void stepDown(optional long n); @@ -1274,11 +1293,10 @@ attribute double high; attribute double optimum; readonly attribute NodeList labels; }; - enum SelectionMode { 'select', 'start', 'end', 'preserve', @@ -1321,22 +1339,19 @@ void show(optional (MouseEvent or Element) anchor); void showModal(optional (MouseEvent or Element) anchor); void close(optional DOMString returnValue); }; -[ReplaceableNamedProperties] +[NamedPropertiesObject] interface Window : EventTarget { // the current browsing context [Unforgeable] readonly attribute WindowProxy window; [Replaceable] readonly attribute WindowProxy self; [Unforgeable] readonly attribute Document document; - attribute DOMString name; + attribute DOMString name; [PutForwards=href, Unforgeable] readonly attribute Location location; readonly attribute History history; - - boolean find(optional DOMString aString, optional boolean aCaseSensitive, optional boolean aBackwards, optional boolean aWrapAround, optional boolean aWholeWord, optional boolean aSearchInFrames, optional boolean aShowDialog); - [Replaceable] readonly attribute BarProp locationbar; [Replaceable] readonly attribute BarProp menubar; [Replaceable] readonly attribute BarProp personalbar; [Replaceable] readonly attribute BarProp scrollbars; [Replaceable] readonly attribute BarProp statusbar; @@ -1357,11 +1372,11 @@ WindowProxy open(optional DOMString url, optional DOMString target, optional DOMString features, optional boolean replace); getter WindowProxy (unsigned long index); getter object (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(DOMString message); @@ -1372,78 +1387,78 @@ // cross-document messaging void postMessage(any message, DOMString targetOrigin, optional sequence<Transferable> transfer); // event handler IDL attributes - [TreatNonCallableAsNull] attribute Function? onabort; - [TreatNonCallableAsNull] attribute Function? onafterprint; - [TreatNonCallableAsNull] attribute Function? onbeforeprint; - [TreatNonCallableAsNull] attribute Function? onbeforeunload; - [TreatNonCallableAsNull] attribute Function? onblur; - [TreatNonCallableAsNull] attribute Function? oncancel; - [TreatNonCallableAsNull] attribute Function? oncanplay; - [TreatNonCallableAsNull] attribute Function? oncanplaythrough; - [TreatNonCallableAsNull] attribute Function? onchange; - [TreatNonCallableAsNull] attribute Function? onclick; - [TreatNonCallableAsNull] attribute Function? onclose; - [TreatNonCallableAsNull] attribute Function? oncontextmenu; - [TreatNonCallableAsNull] attribute Function? oncuechange; - [TreatNonCallableAsNull] attribute Function? ondblclick; - [TreatNonCallableAsNull] attribute Function? ondrag; - [TreatNonCallableAsNull] attribute Function? ondragend; - [TreatNonCallableAsNull] attribute Function? ondragenter; - [TreatNonCallableAsNull] attribute Function? ondragleave; - [TreatNonCallableAsNull] attribute Function? ondragover; - [TreatNonCallableAsNull] attribute Function? ondragstart; - [TreatNonCallableAsNull] attribute Function? ondrop; - [TreatNonCallableAsNull] attribute Function? ondurationchange; - [TreatNonCallableAsNull] attribute Function? onemptied; - [TreatNonCallableAsNull] attribute Function? onended; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onfocus; - [TreatNonCallableAsNull] attribute Function? onhashchange; - [TreatNonCallableAsNull] attribute Function? oninput; - [TreatNonCallableAsNull] attribute Function? oninvalid; - [TreatNonCallableAsNull] attribute Function? onkeydown; - [TreatNonCallableAsNull] attribute Function? onkeypress; - [TreatNonCallableAsNull] attribute Function? onkeyup; - [TreatNonCallableAsNull] attribute Function? onload; - [TreatNonCallableAsNull] attribute Function? onloadeddata; - [TreatNonCallableAsNull] attribute Function? onloadedmetadata; - [TreatNonCallableAsNull] attribute Function? onloadstart; - [TreatNonCallableAsNull] attribute Function? onmessage; - [TreatNonCallableAsNull] attribute Function? onmousedown; - [TreatNonCallableAsNull] attribute Function? onmousemove; - [TreatNonCallableAsNull] attribute Function? onmouseout; - [TreatNonCallableAsNull] attribute Function? onmouseover; - [TreatNonCallableAsNull] attribute Function? onmouseup; - [TreatNonCallableAsNull] attribute Function? onmousewheel; - [TreatNonCallableAsNull] attribute Function? onoffline; - [TreatNonCallableAsNull] attribute Function? ononline; - [TreatNonCallableAsNull] attribute Function? onpause; - [TreatNonCallableAsNull] attribute Function? onplay; - [TreatNonCallableAsNull] attribute Function? onplaying; - [TreatNonCallableAsNull] attribute Function? onpagehide; - [TreatNonCallableAsNull] attribute Function? onpageshow; - [TreatNonCallableAsNull] attribute Function? onpopstate; - [TreatNonCallableAsNull] attribute Function? onprogress; - [TreatNonCallableAsNull] attribute Function? onratechange; - [TreatNonCallableAsNull] attribute Function? onreset; - [TreatNonCallableAsNull] attribute Function? onresize; - [TreatNonCallableAsNull] attribute Function? onscroll; - [TreatNonCallableAsNull] attribute Function? onseeked; - [TreatNonCallableAsNull] attribute Function? onseeking; - [TreatNonCallableAsNull] attribute Function? onselect; - [TreatNonCallableAsNull] attribute Function? onshow; - [TreatNonCallableAsNull] attribute Function? onstalled; - [TreatNonCallableAsNull] attribute Function? onstorage; - [TreatNonCallableAsNull] attribute Function? onsubmit; - [TreatNonCallableAsNull] attribute Function? onsuspend; - [TreatNonCallableAsNull] attribute Function? ontimeupdate; - [TreatNonCallableAsNull] attribute Function? onunload; - [TreatNonCallableAsNull] attribute Function? onvolumechange; - [TreatNonCallableAsNull] attribute Function? onwaiting; + attribute EventHandler onabort; + attribute EventHandler onafterprint; + attribute EventHandler onbeforeprint; + attribute EventHandler onbeforeunload; + attribute EventHandler onblur; + attribute EventHandler oncancel; + attribute EventHandler oncanplay; + attribute EventHandler oncanplaythrough; + attribute EventHandler onchange; + attribute EventHandler onclick; + attribute EventHandler onclose; + attribute EventHandler oncontextmenu; + attribute EventHandler oncuechange; + attribute EventHandler ondblclick; + attribute EventHandler ondrag; + attribute EventHandler ondragend; + attribute EventHandler ondragenter; + attribute EventHandler ondragleave; + attribute EventHandler ondragover; + attribute EventHandler ondragstart; + attribute EventHandler ondrop; + attribute EventHandler ondurationchange; + attribute EventHandler onemptied; + attribute EventHandler onended; + attribute OnErrorEventHandler onerror; + attribute EventHandler onfocus; + attribute EventHandler onhashchange; + attribute EventHandler oninput; + attribute EventHandler oninvalid; + attribute EventHandler onkeydown; + attribute EventHandler onkeypress; + attribute EventHandler onkeyup; + attribute EventHandler onload; + attribute EventHandler onloadeddata; + attribute EventHandler onloadedmetadata; + attribute EventHandler onloadstart; + attribute EventHandler onmessage; + attribute EventHandler onmousedown; + attribute EventHandler onmousemove; + attribute EventHandler onmouseout; + attribute EventHandler onmouseover; + attribute EventHandler onmouseup; + attribute EventHandler onmousewheel; + attribute EventHandler onoffline; + attribute EventHandler ononline; + attribute EventHandler onpause; + attribute EventHandler onplay; + attribute EventHandler onplaying; + attribute EventHandler onpagehide; + attribute EventHandler onpageshow; + attribute EventHandler onpopstate; + attribute EventHandler onprogress; + attribute EventHandler onratechange; + attribute EventHandler onreset; + attribute EventHandler onresize; + attribute EventHandler onscroll; + attribute EventHandler onseeked; + attribute EventHandler onseeking; + attribute EventHandler onselect; + attribute EventHandler onshow; + attribute EventHandler onstalled; + attribute EventHandler onstorage; + attribute EventHandler onsubmit; + attribute EventHandler onsuspend; + attribute EventHandler ontimeupdate; + attribute EventHandler onunload; + attribute EventHandler onvolumechange; + attribute EventHandler onwaiting; }; interface BarProp { attribute boolean visible; }; @@ -1462,11 +1477,11 @@ stringifier attribute DOMString href; void assign(DOMString url); void replace(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; @@ -1522,48 +1537,53 @@ void update(); void abort(); void swapCache(); // events - [TreatNonCallableAsNull] attribute Function? onchecking; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onnoupdate; - [TreatNonCallableAsNull] attribute Function? ondownloading; - [TreatNonCallableAsNull] attribute Function? onprogress; - [TreatNonCallableAsNull] attribute Function? onupdateready; - [TreatNonCallableAsNull] attribute Function? oncached; - [TreatNonCallableAsNull] attribute Function? onobsolete; + attribute EventHandler onchecking; + attribute EventHandler onerror; + attribute EventHandler onnoupdate; + attribute EventHandler ondownloading; + attribute EventHandler onprogress; + attribute EventHandler onupdateready; + attribute EventHandler oncached; + attribute EventHandler onobsolete; }; [NoInterfaceObject] interface NavigatorOnLine { readonly attribute boolean onLine; }; -[Callback=FunctionOnly, NoInterfaceObject] -interface Function { - any call(any... arguments); -}; +[TreatNonCallableAsNull] +callback EventHandlerNonNull = any (Event event); +typedef EventHandlerNonNull? EventHandler; +[TreatNonCallableAsNull] +callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, DOMString source, unsigned long lineno, unsigned long column); +typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; + [NoInterfaceObject] interface WindowBase64 { DOMString btoa(DOMString btoa); DOMString atob(DOMString atob); }; Window implements WindowBase64; [NoInterfaceObject] interface WindowTimers { - long setTimeout(Function handler, optional long timeout, any... args); + long setTimeout(ArbitraryCallback handler, optional long timeout, any... args); long setTimeout([AllowAny] DOMString handler, optional long timeout, any... args); void clearTimeout(long handle); - long setInterval(Function handler, optional long timeout, any... args); + long setInterval(ArbitraryCallback handler, optional long timeout, any... args); long setInterval([AllowAny] DOMString handler, optional long timeout, any... args); void clearInterval(long handle); }; Window implements WindowTimers; +[TreatNonCallableAsNull] callback ArbitraryCallback = any (any... args); + [NoInterfaceObject] interface WindowModal { readonly attribute any dialogArguments; attribute DOMString returnValue; }; @@ -1612,11 +1632,11 @@ void setDragImage(Element image, long x, long y); void addElement(Element element); /* old interface */ - readonly attribute DOMStringList types; + readonly attribute DOMString[] types; DOMString getData(DOMString format); void setData(DOMString format, DOMString data); void clearData(optional DOMString format); readonly attribute FileList files; }; @@ -1655,25 +1675,25 @@ interface WorkerGlobalScope : EventTarget { readonly attribute WorkerGlobalScope self; readonly attribute WorkerLocation location; void close(); - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onoffline; - [TreatNonCallableAsNull] attribute Function? ononline; + attribute EventHandler onerror; + attribute EventHandler onoffline; + attribute EventHandler ononline; }; WorkerGlobalScope implements WorkerUtils; interface DedicatedWorkerGlobalScope : WorkerGlobalScope { void postMessage(any message, optional sequence<Transferable> transfer); - [TreatNonCallableAsNull] attribute Function? onmessage; + attribute EventHandler onmessage; }; interface SharedWorkerGlobalScope : WorkerGlobalScope { readonly attribute DOMString name; readonly attribute ApplicationCache applicationCache; - [TreatNonCallableAsNull] attribute Function? onconnect; + attribute EventHandler onconnect; }; [Constructor(DOMString type, optional ErrorEventInit eventInitDict)] interface ErrorEvent : Event { readonly attribute DOMString message; @@ -1687,20 +1707,20 @@ unsigned long lineno; }; [NoInterfaceObject] interface AbstractWorker { - [TreatNonCallableAsNull] attribute Function? onerror; + attribute EventHandler onerror; }; [Constructor(DOMString scriptURL)] interface Worker : EventTarget { void terminate(); void postMessage(any message, optional sequence<Transferable> transfer); - [TreatNonCallableAsNull] attribute Function? onmessage; + attribute EventHandler onmessage; }; Worker implements AbstractWorker; [Constructor(DOMString scriptURL, optional DOMString name)] interface SharedWorker : EventTarget { @@ -1735,11 +1755,11 @@ [Constructor(DOMString type, optional MessageEventInit eventInitDict)] interface MessageEvent : Event { readonly attribute any data; readonly attribute DOMString origin; readonly attribute DOMString lastEventId; - readonly attribute WindowProxy? source; + readonly attribute (WindowProxy or MessagePort)? source; readonly attribute MessagePort[]? ports; }; dictionary MessageEventInit : EventInit { any data; @@ -1759,13 +1779,13 @@ const unsigned short OPEN = 1; const unsigned short CLOSED = 2; readonly attribute unsigned short readyState; // networking - [TreatNonCallableAsNull] attribute Function? onopen; - [TreatNonCallableAsNull] attribute Function? onmessage; - [TreatNonCallableAsNull] attribute Function? onerror; + attribute EventHandler onopen; + attribute EventHandler onmessage; + attribute EventHandler onerror; void close(); }; dictionary EventSourceInit { boolean withCredentials = false; @@ -1782,22 +1802,22 @@ const unsigned short CLOSED = 3; readonly attribute unsigned short readyState; readonly attribute unsigned long bufferedAmount; // networking - [TreatNonCallableAsNull] attribute Function? onopen; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onclose; + attribute EventHandler onopen; + attribute EventHandler onerror; + attribute EventHandler onclose; readonly attribute DOMString extensions; readonly attribute DOMString protocol; void close([Clamp] optional unsigned short code, optional DOMString reason); // messaging - [TreatNonCallableAsNull] attribute Function? onmessage; + attribute EventHandler onmessage; attribute DOMString binaryType; void send(DOMString data); - void send(ArrayBuffer data); + void send(ArrayBufferView data); void send(Blob data); }; [Constructor(DOMString type, optional CloseEventInit eventInitDict)] interface CloseEvent : Event { @@ -1822,11 +1842,11 @@ void postMessage(any message, optional sequence<Transferable> transfer); void start(); void close(); // event handlers - [TreatNonCallableAsNull] attribute Function? onmessage; + attribute EventHandler onmessage; }; MessagePort implements Transferable; interface Storage { readonly attribute unsigned long length; @@ -1873,11 +1893,11 @@ 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 { @@ -1891,39 +1911,39 @@ attribute unsigned long scrollDelay; attribute boolean trueSpeed; attribute unsigned long vspace; attribute DOMString width; - [TreatNonCallableAsNull] attribute Function? onbounce; - [TreatNonCallableAsNull] attribute Function? onfinish; - [TreatNonCallableAsNull] attribute Function? onstart; + attribute EventHandler onbounce; + attribute EventHandler onfinish; + attribute EventHandler onstart; void start(); void stop(); }; interface HTMLFrameSetElement : HTMLElement { attribute DOMString cols; attribute DOMString rows; - [TreatNonCallableAsNull] attribute Function? onafterprint; - [TreatNonCallableAsNull] attribute Function? onbeforeprint; - [TreatNonCallableAsNull] attribute Function? onbeforeunload; - [TreatNonCallableAsNull] attribute Function? onblur; - [TreatNonCallableAsNull] attribute Function? onerror; - [TreatNonCallableAsNull] attribute Function? onfocus; - [TreatNonCallableAsNull] attribute Function? onhashchange; - [TreatNonCallableAsNull] attribute Function? onload; - [TreatNonCallableAsNull] attribute Function? onmessage; - [TreatNonCallableAsNull] attribute Function? onoffline; - [TreatNonCallableAsNull] attribute Function? ononline; - [TreatNonCallableAsNull] attribute Function? onpagehide; - [TreatNonCallableAsNull] attribute Function? onpageshow; - [TreatNonCallableAsNull] attribute Function? onpopstate; - [TreatNonCallableAsNull] attribute Function? onresize; - [TreatNonCallableAsNull] attribute Function? onscroll; - [TreatNonCallableAsNull] attribute Function? onstorage; - [TreatNonCallableAsNull] attribute Function? onunload; + attribute EventHandler onafterprint; + attribute EventHandler onbeforeprint; + attribute EventHandler onbeforeunload; + attribute EventHandler onblur; + attribute EventHandler onerror; + attribute EventHandler onfocus; + attribute EventHandler onhashchange; + attribute EventHandler onload; + attribute EventHandler onmessage; + attribute EventHandler onoffline; + attribute EventHandler ononline; + attribute EventHandler onpagehide; + attribute EventHandler onpageshow; + attribute EventHandler onpopstate; + attribute EventHandler onresize; + attribute EventHandler onscroll; + attribute EventHandler onstorage; + attribute EventHandler onunload; }; interface HTMLFrameElement : HTMLElement { attribute DOMString name; attribute DOMString scrolling; @@ -1951,11 +1971,11 @@ }; interface HTMLBaseFontElement : HTMLElement { attribute DOMString color; attribute DOMString face; - attribute long size; + attribute long size; }; partial interface HTMLBodyElement { [TreatNullAs=EmptyString] attribute DOMString text; [TreatNullAs=EmptyString] attribute DOMString link; @@ -1999,10 +2019,10 @@ }; interface HTMLFontElement : HTMLElement { [TreatNullAs=EmptyString] attribute DOMString color; attribute DOMString face; - attribute DOMString size; + attribute DOMString size; }; partial interface HTMLHeadingElement { attribute DOMString align; }; \ No newline at end of file