HTML5 Tracker

Diff (omit for latest revision)
Filter

Short URL: http://html5.org/r/7146

SVNBugCommentTime (UTC)
7146sync with WebIDL for event handlers2012-06-26 19:58
Index: source
===================================================================
--- source	(revision 7145)
+++ source	(revision 7146)
@@ -10127,64 +10127,64 @@
   readonly attribute <span>HTMLCollection</span> <span title="dom-document-commands">commands</span>;
 
   // <span>event handler IDL attributes</span>
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onblur">onblur</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncancel">oncancel</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclose">onclose</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondrag">ondrag</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragend">ondragend</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragenter">ondragenter</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragleave">ondragleave</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragover">ondragover</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragstart">ondragstart</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondrop">ondrop</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondurationchange">ondurationchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onemptied">onemptied</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onended">onended</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onfocus">onfocus</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oninput">oninput</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oninvalid">oninvalid</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeydown">onkeydown</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeypress">onkeypress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeyup">onkeyup</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onload">onload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadeddata">onloadeddata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadedmetadata">onloadedmetadata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadstart">onloadstart</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousedown">onmousedown</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousemove">onmousemove</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseout">onmouseout</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseover">onmouseover</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseup">onmouseup</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousewheel">onmousewheel</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onpause">onpause</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onplay">onplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onplaying">onplaying</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onprogress">onprogress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onratechange">onratechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onreset">onreset</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onscroll">onscroll</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onseeked">onseeked</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onseeking">onseeking</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onselect">onselect</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onshow">onshow</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onstalled">onstalled</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onsubmit">onsubmit</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onsuspend">onsuspend</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ontimeupdate">ontimeupdate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onvolumechange">onvolumechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onwaiting">onwaiting</span>;
+           attribute <span>EventHandler</span> <span title="handler-onabort">onabort</span>;
+           attribute <span>EventHandler</span> <span title="handler-onblur">onblur</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncancel">oncancel</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncanplay">oncanplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncanplaythrough">oncanplaythrough</span>;
+           attribute <span>EventHandler</span> <span title="handler-onchange">onchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onclick">onclick</span>;
+           attribute <span>EventHandler</span> <span title="handler-onclose">onclose</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncontextmenu">oncontextmenu</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncuechange">oncuechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondblclick">ondblclick</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondrag">ondrag</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragend">ondragend</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragenter">ondragenter</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragleave">ondragleave</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragover">ondragover</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragstart">ondragstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondrop">ondrop</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondurationchange">ondurationchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onemptied">onemptied</span>;
+           attribute <span>EventHandler</span> <span title="handler-onended">onended</span>;
+           attribute <span>OnErrorEventHandler</span> <span title="handler-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-onfocus">onfocus</span>;
+           attribute <span>EventHandler</span> <span title="handler-oninput">oninput</span>;
+           attribute <span>EventHandler</span> <span title="handler-oninvalid">oninvalid</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeydown">onkeydown</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeypress">onkeypress</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeyup">onkeyup</span>;
+           attribute <span>EventHandler</span> <span title="handler-onload">onload</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadeddata">onloadeddata</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadedmetadata">onloadedmetadata</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadstart">onloadstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousedown">onmousedown</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousemove">onmousemove</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseout">onmouseout</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseover">onmouseover</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseup">onmouseup</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousewheel">onmousewheel</span>;
+           attribute <span>EventHandler</span> <span title="handler-onpause">onpause</span>;
+           attribute <span>EventHandler</span> <span title="handler-onplay">onplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-onplaying">onplaying</span>;
+           attribute <span>EventHandler</span> <span title="handler-onprogress">onprogress</span>;
+           attribute <span>EventHandler</span> <span title="handler-onratechange">onratechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onreset">onreset</span>;
+           attribute <span>EventHandler</span> <span title="handler-onscroll">onscroll</span>;
+           attribute <span>EventHandler</span> <span title="handler-onseeked">onseeked</span>;
+           attribute <span>EventHandler</span> <span title="handler-onseeking">onseeking</span>;
+           attribute <span>EventHandler</span> <span title="handler-onselect">onselect</span>;
+           attribute <span>EventHandler</span> <span title="handler-onshow">onshow</span>;
+           attribute <span>EventHandler</span> <span title="handler-onstalled">onstalled</span>;
+           attribute <span>EventHandler</span> <span title="handler-onsubmit">onsubmit</span>;
+           attribute <span>EventHandler</span> <span title="handler-onsuspend">onsuspend</span>;
+           attribute <span>EventHandler</span> <span title="handler-ontimeupdate">ontimeupdate</span>;
+           attribute <span>EventHandler</span> <span title="handler-onvolumechange">onvolumechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onwaiting">onwaiting</span>;
 
   // special <span>event handler IDL attributes</span> that only apply to Document objects
-  [TreatNonCallableAsNull,LenientThis] attribute <span>Function</span>? <span title="handler-onreadystatechange">onreadystatechange</span>;
+  [LenientThis] attribute <span>EventHandler</span> <span title="handler-onreadystatechange">onreadystatechange</span>;
 };</pre>
 
 
@@ -11317,61 +11317,61 @@
   readonly attribute <span>CSSStyleDeclaration</span> <span title="dom-style">style</span>;
 
   // <span>event handler IDL attributes</span>
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onblur">onblur</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncancel">oncancel</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclose">onclose</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondrag">ondrag</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragend">ondragend</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragenter">ondragenter</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragleave">ondragleave</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragover">ondragover</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragstart">ondragstart</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondrop">ondrop</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondurationchange">ondurationchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onemptied">onemptied</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onended">onended</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onfocus">onfocus</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oninput">oninput</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oninvalid">oninvalid</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeydown">onkeydown</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeypress">onkeypress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeyup">onkeyup</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onload">onload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadeddata">onloadeddata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadedmetadata">onloadedmetadata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadstart">onloadstart</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousedown">onmousedown</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousemove">onmousemove</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseout">onmouseout</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseover">onmouseover</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseup">onmouseup</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousewheel">onmousewheel</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onpause">onpause</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onplay">onplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onplaying">onplaying</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onprogress">onprogress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onratechange">onratechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onreset">onreset</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onscroll">onscroll</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onseeked">onseeked</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onseeking">onseeking</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onselect">onselect</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onshow">onshow</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onstalled">onstalled</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onsubmit">onsubmit</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onsuspend">onsuspend</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ontimeupdate">ontimeupdate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onvolumechange">onvolumechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onwaiting">onwaiting</span>;
+           attribute <span>EventHandler</span> <span title="handler-onabort">onabort</span>;
+           attribute <span>EventHandler</span> <span title="handler-onblur">onblur</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncancel">oncancel</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncanplay">oncanplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncanplaythrough">oncanplaythrough</span>;
+           attribute <span>EventHandler</span> <span title="handler-onchange">onchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onclick">onclick</span>;
+           attribute <span>EventHandler</span> <span title="handler-onclose">onclose</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncontextmenu">oncontextmenu</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncuechange">oncuechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondblclick">ondblclick</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondrag">ondrag</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragend">ondragend</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragenter">ondragenter</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragleave">ondragleave</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragover">ondragover</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragstart">ondragstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondrop">ondrop</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondurationchange">ondurationchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onemptied">onemptied</span>;
+           attribute <span>EventHandler</span> <span title="handler-onended">onended</span>;
+           attribute <span>OnErrorEventHandler</span> <span title="handler-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-onfocus">onfocus</span>;
+           attribute <span>EventHandler</span> <span title="handler-oninput">oninput</span>;
+           attribute <span>EventHandler</span> <span title="handler-oninvalid">oninvalid</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeydown">onkeydown</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeypress">onkeypress</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeyup">onkeyup</span>;
+           attribute <span>EventHandler</span> <span title="handler-onload">onload</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadeddata">onloadeddata</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadedmetadata">onloadedmetadata</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadstart">onloadstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousedown">onmousedown</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousemove">onmousemove</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseout">onmouseout</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseover">onmouseover</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseup">onmouseup</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousewheel">onmousewheel</span>;
+           attribute <span>EventHandler</span> <span title="handler-onpause">onpause</span>;
+           attribute <span>EventHandler</span> <span title="handler-onplay">onplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-onplaying">onplaying</span>;
+           attribute <span>EventHandler</span> <span title="handler-onprogress">onprogress</span>;
+           attribute <span>EventHandler</span> <span title="handler-onratechange">onratechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onreset">onreset</span>;
+           attribute <span>EventHandler</span> <span title="handler-onscroll">onscroll</span>;
+           attribute <span>EventHandler</span> <span title="handler-onseeked">onseeked</span>;
+           attribute <span>EventHandler</span> <span title="handler-onseeking">onseeking</span>;
+           attribute <span>EventHandler</span> <span title="handler-onselect">onselect</span>;
+           attribute <span>EventHandler</span> <span title="handler-onshow">onshow</span>;
+           attribute <span>EventHandler</span> <span title="handler-onstalled">onstalled</span>;
+           attribute <span>EventHandler</span> <span title="handler-onsubmit">onsubmit</span>;
+           attribute <span>EventHandler</span> <span title="handler-onsuspend">onsuspend</span>;
+           attribute <span>EventHandler</span> <span title="handler-ontimeupdate">ontimeupdate</span>;
+           attribute <span>EventHandler</span> <span title="handler-onvolumechange">onvolumechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onwaiting">onwaiting</span>;
 };
 
 interface <dfn>HTMLUnknownElement</dfn> : <span>HTMLElement</span> { };</pre>
@@ -18823,24 +18823,24 @@
    <dt><span title="element-dfn-dom">DOM interface</span>:</dt><!--TOPIC:DOM APIs-->
    <dd>
 <pre class="idl">interface <dfn>HTMLBodyElement</dfn> : <span>HTMLElement</span> {
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onfocus">onfocus</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onhashchange">onhashchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onload">onload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onmessage">onmessage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onoffline">onoffline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-ononline">ononline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpopstate">onpopstate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpagehide">onpagehide</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpageshow">onpageshow</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onresize">onresize</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onscroll">onscroll</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onstorage">onstorage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onunload">onunload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onafterprint">onafterprint</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onbeforeprint">onbeforeprint</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onbeforeunload">onbeforeunload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onblur">onblur</span>;
+           attribute <span>OnErrorEventHandler</span> <span title="handler-window-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onfocus">onfocus</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onhashchange">onhashchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onload">onload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onoffline">onoffline</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-ononline">ononline</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpopstate">onpopstate</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpagehide">onpagehide</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpageshow">onpageshow</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onresize">onresize</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onscroll">onscroll</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onstorage">onstorage</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onunload">onunload</span>;
 };</pre>
 </dd>
   </dl><!--TOPIC:HTML-->
@@ -34160,9 +34160,9 @@
   getter <span>AudioTrack</span> (unsigned long index);
   <span>AudioTrack</span>? <span title="dom-AudioTrackList-getTrackById">getTrackById</span>(DOMString id);
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onchange">onchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onaddtrack">onaddtrack</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onremovetrack">onremovetrack</span>;
+           attribute <span>EventHandler</span> <span title="handler-TrackList-onchange">onchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-TrackList-onaddtrack">onaddtrack</span>;
+           attribute <span>EventHandler</span> <span title="handler-TrackList-onremovetrack">onremovetrack</span>;
 };
 
 interface <dfn>AudioTrack</dfn> {
@@ -34179,9 +34179,9 @@
   <span>VideoTrack</span>? <span title="dom-VideoTrackList-getTrackById">getTrackById</span>(DOMString id);
   readonly attribute long <span title="dom-VideoTrackList-selectedIndex">selectedIndex</span>;
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onchange">onchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onaddtrack">onaddtrack</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onremovetrack">onremovetrack</span>;
+           attribute <span>EventHandler</span> <span title="handler-TrackList-onchange">onchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-TrackList-onaddtrack">onaddtrack</span>;
+           attribute <span>EventHandler</span> <span title="handler-TrackList-onremovetrack">onremovetrack</span>;
 };
 
 interface <dfn>VideoTrack</dfn> {
@@ -34692,21 +34692,21 @@
            attribute double <span title="dom-MediaController-volume">volume</span>;
            attribute boolean <span title="dom-MediaController-muted">muted</span>;
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onemptied">onemptied</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onloadedmetadata">onloadedmetadata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onloadeddata">onloadeddata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-oncanplay">oncanplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-oncanplaythrough">oncanplaythrough</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onplaying">onplaying</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onended">onended</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onwaiting">onwaiting</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onemptied">onemptied</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onloadedmetadata">onloadedmetadata</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onloadeddata">onloadeddata</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-oncanplay">oncanplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-oncanplaythrough">oncanplaythrough</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onplaying">onplaying</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onended">onended</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onwaiting">onwaiting</span>;
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-ondurationchange">ondurationchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-ontimeupdate">ontimeupdate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onplay">onplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onpause">onpause</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onratechange">onratechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaController-onvolumechange">onvolumechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-ondurationchange">ondurationchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-ontimeupdate">ontimeupdate</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onplay">onplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onpause">onpause</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onratechange">onratechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-MediaController-onvolumechange">onvolumechange</span>;
 };</pre>
 
   <dl class="domintro">
@@ -36712,8 +36712,8 @@
   readonly attribute unsigned long <span title="dom-TextTrackList-length">length</span>;
   getter <span>TextTrack</span> (unsigned long index);
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrackList-onaddtrack">onaddtrack</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrackList-onremovetrack">onremovetrack</span>;
+           attribute <span>EventHandler</span> <span title="handler-TextTrackList-onaddtrack">onaddtrack</span>;
+           attribute <span>EventHandler</span> <span title="handler-TextTrackList-onremovetrack">onremovetrack</span>;
 };</pre>
 
   <dl class="domintro">
@@ -36789,7 +36789,7 @@
   void <span title="dom-TextTrack-addCue">addCue</span>(<span>TextTrackCue</span> cue);
   void <span title="dom-TextTrack-removeCue">removeCue</span>(<span>TextTrackCue</span> cue);
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrack-oncuechange">oncuechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-TextTrack-oncuechange">oncuechange</span>;
 };</pre>
 
   <dl class="domintro">
@@ -37237,8 +37237,8 @@
            attribute DOMString <span title="dom-TextTrackCue-text">text</span>;
   <span>DocumentFragment</span> <span title="dom-TextTrackCue-getCueAsHTML">getCueAsHTML</span>();
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrackCue-onenter">onenter</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrackCue-onexit">onexit</span>;
+           attribute <span>EventHandler</span> <span title="handler-TextTrackCue-onenter">onenter</span>;
+           attribute <span>EventHandler</span> <span title="handler-TextTrackCue-onexit">onexit</span>;
 };</pre>
 
   <dl class="domintro">
@@ -76723,74 +76723,74 @@
   void <span title="dom-window-postMessage">postMessage</span>(any message, DOMString targetOrigin, optional sequence&lt;<span>Transferable</span>&gt; transfer);
 <!--START w3c-html--><!--POSTMSG-->
   // <span>event handler IDL attributes</span>
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncancel">oncancel</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onclose">onclose</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondrag">ondrag</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragend">ondragend</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragenter">ondragenter</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragleave">ondragleave</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragover">ondragover</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondragstart">ondragstart</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondrop">ondrop</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ondurationchange">ondurationchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onemptied">onemptied</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onended">onended</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onfocus">onfocus</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onhashchange">onhashchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oninput">oninput</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-oninvalid">oninvalid</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeydown">onkeydown</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeypress">onkeypress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onkeyup">onkeyup</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onload">onload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadeddata">onloadeddata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadedmetadata">onloadedmetadata</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onloadstart">onloadstart</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onmessage">onmessage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousedown">onmousedown</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousemove">onmousemove</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseout">onmouseout</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseover">onmouseover</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmouseup">onmouseup</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onmousewheel">onmousewheel</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onoffline">onoffline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-ononline">ononline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onpause">onpause</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onplay">onplay</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onplaying">onplaying</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpagehide">onpagehide</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpageshow">onpageshow</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpopstate">onpopstate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onprogress">onprogress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onratechange">onratechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onreset">onreset</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onresize">onresize</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onscroll">onscroll</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onseeked">onseeked</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onseeking">onseeking</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onselect">onselect</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onshow">onshow</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onstalled">onstalled</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onstorage">onstorage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onsubmit">onsubmit</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onsuspend">onsuspend</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-ontimeupdate">ontimeupdate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onunload">onunload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onvolumechange">onvolumechange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onwaiting">onwaiting</span>;
+           attribute <span>EventHandler</span> <span title="handler-onabort">onabort</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onafterprint">onafterprint</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onbeforeprint">onbeforeprint</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onbeforeunload">onbeforeunload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onblur">onblur</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncancel">oncancel</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncanplay">oncanplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncanplaythrough">oncanplaythrough</span>;
+           attribute <span>EventHandler</span> <span title="handler-onchange">onchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onclick">onclick</span>;
+           attribute <span>EventHandler</span> <span title="handler-onclose">onclose</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncontextmenu">oncontextmenu</span>;
+           attribute <span>EventHandler</span> <span title="handler-oncuechange">oncuechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondblclick">ondblclick</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondrag">ondrag</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragend">ondragend</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragenter">ondragenter</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragleave">ondragleave</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragover">ondragover</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondragstart">ondragstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondrop">ondrop</span>;
+           attribute <span>EventHandler</span> <span title="handler-ondurationchange">ondurationchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onemptied">onemptied</span>;
+           attribute <span>EventHandler</span> <span title="handler-onended">onended</span>;
+           attribute <span>OnErrorEventHandler</span> <span title="handler-window-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onfocus">onfocus</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onhashchange">onhashchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-oninput">oninput</span>;
+           attribute <span>EventHandler</span> <span title="handler-oninvalid">oninvalid</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeydown">onkeydown</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeypress">onkeypress</span>;
+           attribute <span>EventHandler</span> <span title="handler-onkeyup">onkeyup</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onload">onload</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadeddata">onloadeddata</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadedmetadata">onloadedmetadata</span>;
+           attribute <span>EventHandler</span> <span title="handler-onloadstart">onloadstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousedown">onmousedown</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousemove">onmousemove</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseout">onmouseout</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseover">onmouseover</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmouseup">onmouseup</span>;
+           attribute <span>EventHandler</span> <span title="handler-onmousewheel">onmousewheel</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onoffline">onoffline</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-ononline">ononline</span>;
+           attribute <span>EventHandler</span> <span title="handler-onpause">onpause</span>;
+           attribute <span>EventHandler</span> <span title="handler-onplay">onplay</span>;
+           attribute <span>EventHandler</span> <span title="handler-onplaying">onplaying</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpagehide">onpagehide</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpageshow">onpageshow</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpopstate">onpopstate</span>;
+           attribute <span>EventHandler</span> <span title="handler-onprogress">onprogress</span>;
+           attribute <span>EventHandler</span> <span title="handler-onratechange">onratechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onreset">onreset</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onresize">onresize</span>;
+           attribute <span>EventHandler</span> <span title="handler-onscroll">onscroll</span>;
+           attribute <span>EventHandler</span> <span title="handler-onseeked">onseeked</span>;
+           attribute <span>EventHandler</span> <span title="handler-onseeking">onseeking</span>;
+           attribute <span>EventHandler</span> <span title="handler-onselect">onselect</span>;
+           attribute <span>EventHandler</span> <span title="handler-onshow">onshow</span>;
+           attribute <span>EventHandler</span> <span title="handler-onstalled">onstalled</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onstorage">onstorage</span>;
+           attribute <span>EventHandler</span> <span title="handler-onsubmit">onsubmit</span>;
+           attribute <span>EventHandler</span> <span title="handler-onsuspend">onsuspend</span>;
+           attribute <span>EventHandler</span> <span title="handler-ontimeupdate">ontimeupdate</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onunload">onunload</span>;
+           attribute <span>EventHandler</span> <span title="handler-onvolumechange">onvolumechange</span>;
+           attribute <span>EventHandler</span> <span title="handler-onwaiting">onwaiting</span>;
 };</pre>
 
 <!-- for more features to add here, look here:
@@ -83701,14 +83701,14 @@
   void <span title="dom-appcache-swapCache">swapCache</span>();
 
   // events
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-onchecking">onchecking</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-onnoupdate">onnoupdate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-ondownloading">ondownloading</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-onprogress">onprogress</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-onupdateready">onupdateready</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-oncached">oncached</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-appcache-onobsolete">onobsolete</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-onchecking">onchecking</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-onnoupdate">onnoupdate</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-ondownloading">ondownloading</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-onprogress">onprogress</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-onupdateready">onupdateready</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-oncached">oncached</span>;
+           attribute <span>EventHandler</span> <span title="handler-appcache-onobsolete">onobsolete</span>;
 };</pre>
 
   <dl class="domintro">
@@ -84167,7 +84167,7 @@
     <p class="example">In JavaScript, the script execution environment
     consists of the interpreter, the stack of <i>execution
     contexts</i>, the <i>global code</i> and <i>function code</i> and
-    the Function objects resulting, and so forth.</p>
+    the <code>Function</code> objects resulting, and so forth.</p>
 
    </dd>
 
@@ -84179,9 +84179,9 @@
     that the script exposes to other scripts and to the user
     agent.</p>
 
-    <p class="example">Each Function object in a JavaScript
-    <span>script execution environment</span> has a corresponding code
-    entry-point, for instance.</p>
+    <p class="example">Each <code>Function</code> object in a
+    JavaScript <span>script execution environment</span> has a
+    corresponding code entry-point, for instance.</p>
 
     <p>The main program code of the script, if any, is the
     <dfn><i>initial code entry-point</i></dfn>. Typically, the code
@@ -84483,7 +84483,7 @@
   <dl class="switch">
 
    <dt>If the value of <var title="">onerror</var> is a
-   <code>Function</code></dt>
+   <code>OnErrorEventHandler</code></dt>
 
    <dd>
 
@@ -84501,13 +84501,13 @@
 
      <li>
 
-      <p>The function must be invoked with four arguments: <var
+      <p>The callback must be invoked with four arguments: <var
       title="">message</var>, <var title="">location</var>, <var
       title="">line</var>, and <var title="">col</var>.</p>
 
-      <p>If the function returns true, then the error is <i
-      title="concept-error-handled">handled</i>. Otherwise, the error is
-      <i title="concept-error-nothandled">not handled</i>.</p>
+      <p>If the callback returns true, then the error is <i
+      title="concept-error-handled">handled</i>. Otherwise, the error
+      is <i title="concept-error-nothandled">not handled</i>.</p>
 
       <p>Any uncaught exceptions thrown or errors caused by this
       function may be reported to the user immediately after the error
@@ -85126,8 +85126,9 @@
   specified. <a href="#refsDOMCORE">[DOMCORE]</a></p>
 
   <p>An <span title="event handlers">event handler</span> can either
-  have the value null or be set to a <code>Function</code>
-  object. <span class="impl">Initially, event handlers must be set to
+  have the value null or be set to a callback object. This is defined
+  using the <code>EventHandler</code> callback interface type. <span
+  class="impl">Initially, event handlers must be set to
   null.</span></p>
 
   <p>Event handlers are exposed in one or two ways.</p>
@@ -85397,9 +85398,9 @@
   event listeners registered with <code
   title="dom-EventTarget-addEventListener">addEventListener()</code>
   before the first time the <span title="event handlers">event
-  handler</span> was set to a non-null value, then the
-  <code>Function</code> to which it is currently set, if any, and
-  finally the event listeners registered with <code
+  handler</span> was set to a non-null value, then the callback to
+  which it is currently set, if any, and finally the event listeners
+  registered with <code
   title="dom-EventTarget-addEventListener">addEventListener()</code>
   <em>after</em> the first time the <span title="event handlers">event
   handler</span> was set to a non-null value.</p>
@@ -85455,11 +85456,10 @@
    these steps.</p></li>
 
    <li><p>Let <var title="">callback</var> be <var title="">H</var>'s
-   value, the <code>Function</code> object that the <span title="event
-   handlers">event handler</span> was last set to.</p></li>
+   value, the callback that the <span title="event handlers">event
+   handler</span> was last set to.</p></li>
 
-   <li><p>Invoke <var title="">callback</var>'s <code
-   title="dom-function-call">call()</code> operation with one
+   <li><p>Invoke <var title="">callback</var> with one
    argument, the value of which is the <code>Event</code> object <var
    title="">E</var>, with the <i
    title="dfn-callback-this-value">callback this value</i> set to the
@@ -85507,21 +85507,17 @@
 
   <hr>
 
-  <p>The <code>Function</code> interface represents a function in the
-  scripting language being used. It is represented in Web IDL as
+  <p>The <code>EventHandler</code> interface represents a callback
+  used for event handlers. It is represented in Web IDL as
   follows:</p>
 
-  <pre class="idl">[Callback=FunctionOnly, NoInterfaceObject]
-interface <dfn>Function</dfn> {
-  any <span title="dom-function-call">call</span>(any... arguments);
-};</pre>
+  <pre class="idl">[TreatNonCallableAsNull]
+callback <dfn>EventHandlerNonNull</dfn> = any (<span>Event</span> event);
+typedef <span>EventHandlerNonNull</span>? <dfn>EventHandler</dfn>;</pre>
 
-  <p>The <dfn title="dom-function-call"><code>call(...)</code></dfn>
-  method is the object's callback.</p>
+  <p class="note">In JavaScript, any <code>Function</code> object
+  implements this interface.</p>
 
-  <p class="note">In JavaScript, any <code title="">Function</code>
-  object implements this interface.</p>
-
   <div class="example">
 
    <p>For example, the following document fragment:</p>
@@ -85544,7 +85540,17 @@
   <code title="event-beforeunload">beforeunload</code> events, the
   value is instead used to determine the message to show the user.</p>
 
+  <p>For historical reasons, the <code
+  title="handler-onerror">onerror</code> handler has different
+  arguments:</p>
 
+  <pre class="idl">[TreatNonCallableAsNull]
+callback <dfn>OnErrorEventHandlerNonNull</dfn> = any ((<span>Event</span> or DOMString) event, DOMString source, unsigned long lineno, unsigned long column);
+typedef <span>OnErrorEventHandlerNonNull</span>? <dfn>OnErrorEventHandler</dfn>;</pre>
+
+  <!-- onreadystatechange is also defined specially, using [LenientThis]; see IDL -->
+
+
   <h5>Event handlers on elements, <code>Document</code> objects, and <code>Window</code> objects</h5>
 
   <p>The following are the <span>event handlers</span> (and their
@@ -86049,15 +86055,17 @@
 
   <pre class="idl">[NoInterfaceObject]
 interface <dfn>WindowTimers</dfn> {
-  long <span title="dom-windowtimers-setTimeout">setTimeout</span>(Function handler, optional long timeout, any... args);
+  long <span title="dom-windowtimers-setTimeout">setTimeout</span>(<span>ArbitraryCallback</span> handler, optional long timeout, any... args);
   long <span title="dom-windowtimers-setTimeout">setTimeout</span>([AllowAny] DOMString handler, optional long timeout, any... args);
   void <span title="dom-windowtimers-clearTimeout">clearTimeout</span>(long handle);
-  long <span title="dom-windowtimers-setInterval">setInterval</span>(Function handler, optional long timeout, any... args);
+  long <span title="dom-windowtimers-setInterval">setInterval</span>(<span>ArbitraryCallback</span> handler, optional long timeout, any... args);
   long <span title="dom-windowtimers-setInterval">setInterval</span>([AllowAny] DOMString handler, optional long timeout, any... args);
   void <span title="dom-windowtimers-clearInterval">clearInterval</span>(long handle);
 };
-<span>Window</span> implements <span>WindowTimers</span>;</pre>
+<span>Window</span> implements <span>WindowTimers</span>;
 
+[TreatNonCallableAsNull] callback <dfn>ArbitraryCallback</dfn> = any (any... args);</pre>
+
   <!-- Demonstrating the need for wrapping of the timeout argument value treated as long rather than clamping or treating as double:
           http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1228
        Demonstrating the need for the timeout argument to be signed rather than unsigned:
@@ -86360,14 +86368,15 @@
 
    <li>
 
-    <p>If the first argument to the invoked method is a
-    <code>Function</code>, then return a <span
+    <p>If the first argument to the invoked method is an
+    <code>ArbitraryCallback</code>, then return a <span
     title="concept-task">task</span> that checks if the entry for <var
     title="">handle</var> in <var title="">list</var> has been
-    cleared, and if it has not, calls the <code>Function</code> with
-    as its arguments the third and subsequent arguments to the invoked
-    method (if any) and with an undefined <var title="">thisArg</var>,
-    and abort these steps. <a href="#refsECMA262">[ECMA262]</a></p>
+    cleared, and if it has not, calls the
+    <code>ArbitraryCallback</code> with as its arguments the third and
+    subsequent arguments to the invoked method (if any) and with an
+    undefined <var title="">thisArg</var>, and abort these steps. <a
+    href="#refsECMA262">[ECMA262]</a></p>
 
     <p class="note">Setting <var title="">thisArg</var> to undefined
     means that the function code will be executed with the <code
@@ -92940,10 +92949,10 @@
   readonly attribute <span>WorkerLocation</span> <span title="dom-WorkerGlobalScope-location">location</span>;
 
   void <span title="dom-WorkerGlobalScope-close">close</span>();
-<!-- v2-onclose  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onclose">onclose</span>;
--->  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onoffline">onoffline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-ononline">ononline</span>;
+<!-- v2-onclose           attribute <span>EventHandler</span> <span title="handler-WorkerGlobalScope-onclose">onclose</span>;
+-->           attribute <span>EventHandler</span> <span title="handler-WorkerGlobalScope-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-WorkerGlobalScope-onoffline">onoffline</span>;
+           attribute <span>EventHandler</span> <span title="handler-WorkerGlobalScope-ononline">ononline</span>;
 };
 <span>WorkerGlobalScope</span> implements <span>WorkerUtils</span>;</pre>
 
@@ -93007,7 +93016,7 @@
   <pre class="idl">interface <dfn>DedicatedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   void <span title="dom-DedicatedWorkerGlobalScope-postMessage">postMessage</span>(any message, optional sequence&lt;<span>Transferable</span>&gt; transfer);<!--
   <span>MessagePort</span> <span title="dom-DedicatedWorkerGlobalScope-startConversation">startConversation</span>(any message);-->
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-DedicatedWorkerGlobalScope-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-DedicatedWorkerGlobalScope-onmessage">onmessage</span>;
 };</pre>
 
   <p>The <code>DedicatedWorkerGlobalScope</code> interface must not
@@ -93058,7 +93067,7 @@
   <pre class="idl">interface <dfn>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   readonly attribute DOMString <span title="dom-SharedWorkerGlobalScope-name">name</span>;
   readonly attribute <span>ApplicationCache</span> <span title="dom-SharedWorkerGlobalScope-applicationCache">applicationCache</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-SharedWorkerGlobalScope-onconnect">onconnect</span>;
+           attribute <span>EventHandler</span> <span title="handler-SharedWorkerGlobalScope-onconnect">onconnect</span>;
 };</pre>
 
   <p>The <code>SharedWorkerGlobalScope</code> interface must not
@@ -93648,8 +93657,8 @@
 
   <pre class="idl">[NoInterfaceObject]
 interface <dfn>AbstractWorker</dfn> {
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-AbstractWorker-onerror">onerror</span>;
-<!-- v2-onclose  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-AbstractWorker-onclose">onclose</span>; -->
+           attribute <span>EventHandler</span> <span title="handler-AbstractWorker-onerror">onerror</span>;
+<!-- v2-onclose           attribute <span>EventHandler</span> <span title="handler-AbstractWorker-onclose">onclose</span>; -->
 };</pre>
 
   <p>The following are the <span>event handlers</span> (and their
@@ -93675,7 +93684,7 @@
 
   void <span title="dom-Worker-postMessage">postMessage</span>(any message, optional sequence&lt;<span>Transferable</span>&gt; transfer);<!--
   <span>MessagePort</span> <span title="dom-Worker-startConversation">startConversation</span>(any message);-->
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-Worker-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-Worker-onmessage">onmessage</span>;
 };
 <span>Worker</span> implements <span>AbstractWorker</span>;</pre>
 
@@ -94632,9 +94641,9 @@
   readonly attribute unsigned short <span title="dom-EventSource-readyState">readyState</span>;
 
   // networking
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-EventSource-onopen">onopen</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-EventSource-onmessage">onmessage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-EventSource-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-EventSource-onopen">onopen</span>;
+           attribute <span>EventHandler</span> <span title="handler-EventSource-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-EventSource-onerror">onerror</span>;
   void <span title="dom-EventSource-close">close</span>();
 };
 
@@ -95653,15 +95662,15 @@
   readonly attribute unsigned long <span title="dom-WebSocket-bufferedAmount">bufferedAmount</span>;
 
   // networking
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WebSocket-onopen">onopen</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WebSocket-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WebSocket-onclose">onclose</span>;
+           attribute <span>EventHandler</span> <span title="handler-WebSocket-onopen">onopen</span>;
+           attribute <span>EventHandler</span> <span title="handler-WebSocket-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-WebSocket-onclose">onclose</span>;
   readonly attribute DOMString <span title="dom-WebSocket-extensions">extensions</span>;
   readonly attribute DOMString <span title="dom-WebSocket-protocol">protocol</span>;
   void <span title="dom-WebSocket-close">close</span>([Clamp] optional unsigned short code, optional DOMString reason);
 
   // messaging
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WebSocket-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-WebSocket-onmessage">onmessage</span>;
            attribute DOMString <span title="dom-WebSocket-binaryType">binaryType</span>;
   void <span title="dom-WebSocket-send">send</span>(DOMString data);
   void <span title="dom-WebSocket-send">send</span>(<span>ArrayBufferView</span> data);
@@ -97215,7 +97224,7 @@
   void <span title="dom-MessagePort-close">close</span>();
 
   // event handlers
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MessagePort-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-MessagePort-onmessage">onmessage</span>;
 };
 <span>MessagePort</span> implements <span>Transferable</span>;</pre>
 
@@ -113818,9 +113827,9 @@
            attribute unsigned long <span title="dom-marquee-vspace">vspace</span>;
            attribute DOMString <span title="dom-marquee-width">width</span>;
 
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-marquee-onbounce">onbounce</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-marquee-onfinish">onfinish</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-marquee-onstart">onstart</span>;
+           attribute <span>EventHandler</span> <span title="handler-marquee-onbounce">onbounce</span>;
+           attribute <span>EventHandler</span> <span title="handler-marquee-onfinish">onfinish</span>;
+           attribute <span>EventHandler</span> <span title="handler-marquee-onstart">onstart</span>;
 
   void <span title="dom-marquee-start">start</span>();
   void <span title="dom-marquee-stop">stop</span>();
@@ -114063,24 +114072,24 @@
   <pre class="idl">interface <dfn>HTMLFrameSetElement</dfn> : <span>HTMLElement</span> {
            attribute DOMString <span title="dom-frameset-cols">cols</span>;
            attribute DOMString <span title="dom-frameset-rows">rows</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onerror">onerror</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onfocus">onfocus</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onhashchange">onhashchange</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onload">onload</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onmessage">onmessage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onoffline">onoffline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-ononline">ononline</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpagehide">onpagehide</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpageshow">onpageshow</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onpopstate">onpopstate</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onresize">onresize</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onscroll">onscroll</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onstorage">onstorage</span>;
-  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-window-onunload">onunload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onafterprint">onafterprint</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onbeforeprint">onbeforeprint</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onbeforeunload">onbeforeunload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onblur">onblur</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onerror">onerror</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onfocus">onfocus</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onhashchange">onhashchange</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onload">onload</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onmessage">onmessage</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onoffline">onoffline</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-ononline">ononline</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpagehide">onpagehide</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpageshow">onpageshow</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onpopstate">onpopstate</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onresize">onresize</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onscroll">onscroll</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onstorage">onstorage</span>;
+           attribute <span>EventHandler</span> <span title="handler-window-onunload">onunload</span>;
 };</pre>
 
   <p>The <dfn title="dom-frameset-cols"><code>cols</code></dfn> and

|