[html5] r6599 - [giow] (0) Event handler IDL attribute compatibility WebIDL fix. Fixing http://w [...]

whatwg at whatwg.org whatwg at whatwg.org
Thu Sep 29 13:59:05 PDT 2011


Author: ianh
Date: 2011-09-29 13:59:02 -0700 (Thu, 29 Sep 2011)
New Revision: 6599

Modified:
   complete.html
   index
   source
Log:
[giow] (0) Event handler IDL attribute compatibility WebIDL fix.
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=13433

Modified: complete.html
===================================================================
--- complete.html	2011-09-29 18:41:38 UTC (rev 6598)
+++ complete.html	2011-09-29 20:59:02 UTC (rev 6599)
@@ -9254,62 +9254,62 @@
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-document-commands title=dom-document-commands>commands</a>;
 
   // <a href=#event-handler-idl-attributes>event handler IDL attributes</a>
-           attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 
   // special <a href=#event-handler-idl-attributes>event handler IDL attributes</a> that only apply to Document objects
-           attribute <a href=#function>Function</a>? <a href=#handler-onreadystatechange title=handler-onreadystatechange>onreadystatechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreadystatechange title=handler-onreadystatechange>onreadystatechange</a>;
 };
 <a href=#document>Document</a> implements <a href=#htmldocument>HTMLDocument</a>;</pre>
 
@@ -10288,59 +10288,59 @@
   readonly attribute <span>CSSStyleDeclaration</span> <a href=#dom-style title=dom-style>style</a>;
 
   // <a href=#event-handler-idl-attributes>event handler IDL attributes</a>
-           attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };
 
 interface <dfn id=htmlunknownelement>HTMLUnknownElement</dfn> : <a href=#htmlelement>HTMLElement</a> { };</pre>
@@ -16534,24 +16534,24 @@
    <dt>DOM interface:</dt>
    <dd>
 <pre class=idl>interface <dfn id=htmlbodyelement>HTMLBodyElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
 };</pre>
 </dd>
   </dl><p>The <code><a href=#the-body-element>body</a></code> element <a href=#represents>represents</a> the main
@@ -29297,7 +29297,7 @@
   readonly attribute unsigned long <a href=#dom-audiotracklist-length title=dom-AudioTrackList-length>length</a>;
   getter <a href=#audiotrack>AudioTrack</a> (unsigned long index);
   <a href=#audiotrack>AudioTrack</a>? <a href=#dom-audiotracklist-gettrackbyid title=dom-AudioTrackList-getTrackById>getTrackById</a>(DOMString id);
-           attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
 };
 
 interface <dfn id=audiotrack>AudioTrack</dfn> {
@@ -29313,7 +29313,7 @@
   getter <a href=#videotrack>VideoTrack</a> (unsigned long index);
   <a href=#videotrack>VideoTrack</a>? <a href=#dom-videotracklist-gettrackbyid title=dom-VideoTrackList-getTrackById>getTrackById</a>(DOMString id);
   readonly attribute long <a href=#dom-videotracklist-selectedindex title=dom-VideoTrackList-selectedIndex>selectedIndex</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
 };
 
 interface <dfn id=videotrack>VideoTrack</dfn> {
@@ -29747,21 +29747,21 @@
            attribute double <a href=#dom-mediacontroller-volume title=dom-MediaController-volume>volume</a>;
            attribute boolean <a href=#dom-mediacontroller-muted title=dom-MediaController-muted>muted</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onemptied title=handler-MediaController-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadedmetadata title=handler-MediaController-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadeddata title=handler-MediaController-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplay title=handler-MediaController-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplaythrough title=handler-MediaController-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplaying title=handler-MediaController-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onended title=handler-MediaController-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onwaiting title=handler-MediaController-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onemptied title=handler-MediaController-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadedmetadata title=handler-MediaController-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadeddata title=handler-MediaController-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplay title=handler-MediaController-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplaythrough title=handler-MediaController-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplaying title=handler-MediaController-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onended title=handler-MediaController-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onwaiting title=handler-MediaController-onwaiting>onwaiting</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ondurationchange title=handler-MediaController-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ontimeupdate title=handler-MediaController-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplay title=handler-MediaController-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onpause title=handler-MediaController-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onratechange title=handler-MediaController-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onvolumechange title=handler-MediaController-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ondurationchange title=handler-MediaController-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ontimeupdate title=handler-MediaController-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplay title=handler-MediaController-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onpause title=handler-MediaController-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onratechange title=handler-MediaController-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onvolumechange title=handler-MediaController-onvolumechange>onvolumechange</a>;
 };</pre>
 
   <dl class=domintro><dt><var title="">controller</var> = new <code title=dom-MediaController><a href=#dom-mediacontroller>MediaController</a></code>()</dt>
@@ -31343,8 +31343,8 @@
   const unsigned short <a href=#dom-texttrack-loaded title=dom-TextTrack-LOADED>LOADED</a> = 2;
   const unsigned short <a href=#dom-texttrack-error title=dom-TextTrack-ERROR>ERROR</a> = 3;
   readonly attribute unsigned short <a href=#dom-texttrack-readystate title=dom-TextTrack-readyState>readyState</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onload title=handler-TextTrack-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onerror title=handler-TextTrack-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onload title=handler-TextTrack-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onerror title=handler-TextTrack-onerror>onerror</a>;
 
   const unsigned short <a href=#dom-texttrack-disabled title=dom-TextTrack-DISABLED>DISABLED</a> = 0;
   const unsigned short <a href=#dom-texttrack-hidden title=dom-TextTrack-HIDDEN>HIDDEN</a> = 1;
@@ -31354,7 +31354,7 @@
   readonly attribute <a href=#texttrackcuelist>TextTrackCueList</a>? <a href=#dom-texttrack-cues title=dom-TextTrack-cues>cues</a>;
   readonly attribute <a href=#texttrackcuelist>TextTrackCueList</a>? <a href=#dom-texttrack-activecues title=dom-TextTrack-activeCues>activeCues</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrack-oncuechange title=handler-TextTrack-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrack-oncuechange title=handler-TextTrack-oncuechange>oncuechange</a>;
 };</pre>
 
   <dl class=domintro><dt><var title="">textTrack</var> . <code title=dom-TextTrack-kind><a href=#dom-texttrack-kind>kind</a></code></dt>
@@ -31790,8 +31790,8 @@
   DOMString <a href=#dom-texttrackcue-getcueassource title=dom-TextTrackCue-getCueAsSource>getCueAsSource</a>();
   <a href=#documentfragment>DocumentFragment</a> <a href=#dom-texttrackcue-getcueashtml title=dom-TextTrackCue-getCueAsHTML>getCueAsHTML</a>();
 
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onenter title=handler-TextTrackCue-onenter>onenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onexit title=handler-TextTrackCue-onexit>onexit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onenter title=handler-TextTrackCue-onenter>onenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onexit title=handler-TextTrackCue-onexit>onexit</a>;
 };</pre>
 
   <dl class=domintro><!--TTVTT--><dt><var title="">cue</var> = new <code title=dom-TextTrackCue><a href=#dom-texttrackcue>TextTrackCue</a></code>( <var title="">id</var>, <var title="">startTime</var>, <var title="">endTime</var>, <var title="">text</var> [, <var title="">settings</var> [, <var title="">pauseOnExit</var> ] ] )</dt>
@@ -62033,72 +62033,72 @@
   void <a href=#dom-window-postmessage title=dom-window-postMessage>postMessage</a>(any message, DOMString targetOrigin, optional sequence<<a href=#transferable>Transferable</a>> transfer);
 <!--POSTMSG-->
   // <a href=#event-handler-idl-attributes>event handler IDL attributes</a>
-           attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };</pre>
 
 <!-- for more features to add here, look here:
@@ -67557,14 +67557,14 @@
   void <a href=#dom-appcache-swapcache title=dom-appcache-swapCache>swapCache</a>();
 
   // events
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onchecking title=handler-appcache-onchecking>onchecking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onerror title=handler-appcache-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onnoupdate title=handler-appcache-onnoupdate>onnoupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-ondownloading title=handler-appcache-ondownloading>ondownloading</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onprogress title=handler-appcache-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onupdateready title=handler-appcache-onupdateready>onupdateready</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-oncached title=handler-appcache-oncached>oncached</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onobsolete title=handler-appcache-onobsolete>onobsolete</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onchecking title=handler-appcache-onchecking>onchecking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onerror title=handler-appcache-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onnoupdate title=handler-appcache-onnoupdate>onnoupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-ondownloading title=handler-appcache-ondownloading>ondownloading</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onprogress title=handler-appcache-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onupdateready title=handler-appcache-onupdateready>onupdateready</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-oncached title=handler-appcache-oncached>oncached</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onobsolete title=handler-appcache-onobsolete>onobsolete</a>;
 };</pre>
 
   <dl class=domintro><dt><var title="">cache</var> = <var title="">window</var> . <code title=dom-applicationCache><a href=#dom-applicationcache>applicationCache</a></code></dt>
@@ -75370,7 +75370,7 @@
   const unsigned short <a href=#dom-mediastream-live title=dom-MediaStream-LIVE>LIVE</a> = 1;
   const unsigned short <a href=#dom-mediastream-ended title=dom-MediaStream-ENDED>ENDED</a> = 2;
   readonly attribute unsigned short <a href=#dom-mediastream-readystate title=dom-MediaStream-readyState>readyState</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediastream-onended title=handler-MediaStream-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediastream-onended title=handler-MediaStream-onended>onended</a>;
 };
 
 interface <dfn id=localmediastream>LocalMediaStream</dfn> : <a href=#mediastream>MediaStream</a> {
@@ -75985,13 +75985,13 @@
   void <a href=#dom-peerconnection-close title=dom-PeerConnection-close>close</a>();
 
   // <span class=XXX>connection quality information</span>
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting>onconnecting</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;<!--
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onclose">onclose</span>;-->
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onmessage title=handler-PeerConnection-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream>onaddstream</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting>onconnecting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;<!--
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onerror">onerror</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onclose">onclose</span>;-->
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onmessage title=handler-PeerConnection-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream>onaddstream</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
 };
 
 [Callback=FunctionOnly, NoInterfaceObject]
@@ -78203,10 +78203,10 @@
   readonly attribute <a href=#workerlocation>WorkerLocation</a> <a href=#dom-workerglobalscope-location title=dom-WorkerGlobalScope-location>location</a>;
 
   void <a href=#dom-workerglobalscope-close title=dom-WorkerGlobalScope-close>close</a>();
-<!-- v2-onclose           attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onclose">onclose</span>;
--->           attribute <a href=#function>Function</a>? <a href=#handler-workerglobalscope-onerror title=handler-WorkerGlobalScope-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-workerglobalscope-onoffline title=handler-WorkerGlobalScope-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-workerglobalscope-ononline title=handler-WorkerGlobalScope-ononline>ononline</a>;
+<!-- v2-onclose  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onclose">onclose</span>;
+-->  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-workerglobalscope-onerror title=handler-WorkerGlobalScope-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-workerglobalscope-onoffline title=handler-WorkerGlobalScope-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-workerglobalscope-ononline title=handler-WorkerGlobalScope-ononline>ononline</a>;
 };
 <a href=#workerglobalscope>WorkerGlobalScope</a> implements <a href=#workerutils>WorkerUtils</a>;</pre>
 
@@ -78259,7 +78259,7 @@
 interface <dfn id=dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</dfn> : <a href=#workerglobalscope>WorkerGlobalScope</a> {
   void <a href=#dom-dedicatedworkerglobalscope-postmessage title=dom-DedicatedWorkerGlobalScope-postMessage>postMessage</a>(any message, optional sequence<<a href=#transferable>Transferable</a>> transfer);<!--
   <span>MessagePort</span> <span title="dom-DedicatedWorkerGlobalScope-startConversation">startConversation</span>(any message);-->
-           attribute <a href=#function>Function</a>? <a href=#handler-dedicatedworkerglobalscope-onmessage title=handler-DedicatedWorkerGlobalScope-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-dedicatedworkerglobalscope-onmessage title=handler-DedicatedWorkerGlobalScope-onmessage>onmessage</a>;
 };</pre>
 
   <p><code><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> objects act as if they
@@ -78300,7 +78300,7 @@
 interface <dfn id=sharedworkerglobalscope>SharedWorkerGlobalScope</dfn> : <a href=#workerglobalscope>WorkerGlobalScope</a> {
   readonly attribute DOMString <a href=#dom-sharedworkerglobalscope-name title=dom-SharedWorkerGlobalScope-name>name</a>;
   readonly attribute <a href=#applicationcache>ApplicationCache</a> <a href=#dom-sharedworkerglobalscope-applicationcache title=dom-SharedWorkerGlobalScope-applicationCache>applicationCache</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-sharedworkerglobalscope-onconnect title=handler-SharedWorkerGlobalScope-onconnect>onconnect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-sharedworkerglobalscope-onconnect title=handler-SharedWorkerGlobalScope-onconnect>onconnect</a>;
 };</pre>
 
   <p>Shared workers receive message ports through <code title=event-WorkerGlobalScope-connect>connect</code> events on
@@ -78796,8 +78796,8 @@
 
   <pre class=idl>[Supplemental, NoInterfaceObject]
 interface <dfn id=abstractworker>AbstractWorker</dfn> : <a href=#eventtarget>EventTarget</a> {
-           attribute <a href=#function>Function</a>? <a href=#handler-abstractworker-onerror title=handler-AbstractWorker-onerror>onerror</a>;
-<!-- v2-onclose           attribute <span>Function</span>? <span title="handler-AbstractWorker-onclose">onclose</span>; -->
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-abstractworker-onerror title=handler-AbstractWorker-onerror>onerror</a>;
+<!-- v2-onclose  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-AbstractWorker-onclose">onclose</span>; -->
 };</pre>
 
   <p>The following are the <a href=#event-handlers>event handlers</a> (and their
@@ -78816,7 +78816,7 @@
 
   void <a href=#dom-worker-postmessage title=dom-Worker-postMessage>postMessage</a>(any message, optional sequence<<a href=#transferable>Transferable</a>> transfer);<!--
   <span>MessagePort</span> <span title="dom-Worker-startConversation">startConversation</span>(any message);-->
-           attribute <a href=#function>Function</a>? <a href=#handler-worker-onmessage title=handler-Worker-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-worker-onmessage title=handler-Worker-onmessage>onmessage</a>;
 };</pre>
 
   <p>The <dfn id=dom-worker-terminate title=dom-Worker-terminate><code>terminate()</code></dfn> method,
@@ -79564,9 +79564,9 @@
   readonly attribute unsigned short <a href=#dom-eventsource-readystate title=dom-EventSource-readyState>readyState</a>;
 
   // networking
-           attribute <a href=#function>Function</a>? <a href=#handler-eventsource-onopen title=handler-EventSource-onopen>onopen</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-eventsource-onmessage title=handler-EventSource-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-eventsource-onerror title=handler-EventSource-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-eventsource-onopen title=handler-EventSource-onopen>onopen</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-eventsource-onmessage title=handler-EventSource-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-eventsource-onerror title=handler-EventSource-onerror>onerror</a>;
   void <a href=#dom-eventsource-close title=dom-EventSource-close>close</a>();
 };</pre>
 
@@ -80354,15 +80354,15 @@
   readonly attribute unsigned long <a href=#dom-websocket-bufferedamount title=dom-WebSocket-bufferedAmount>bufferedAmount</a>;
 
   // networking
-           attribute <a href=#function>Function</a>? <a href=#handler-websocket-onopen title=handler-WebSocket-onopen>onopen</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-websocket-onerror title=handler-WebSocket-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-websocket-onclose title=handler-WebSocket-onclose>onclose</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-websocket-onopen title=handler-WebSocket-onopen>onopen</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-websocket-onerror title=handler-WebSocket-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-websocket-onclose title=handler-WebSocket-onclose>onclose</a>;
   readonly attribute DOMString <a href=#dom-websocket-extensions title=dom-WebSocket-extensions>extensions</a>;
   readonly attribute DOMString <a href=#dom-websocket-protocol title=dom-WebSocket-protocol>protocol</a>;
   void <a href=#dom-websocket-close title=dom-WebSocket-close>close</a>([Clamp] optional unsigned short code, optional DOMString reason);
 
   // messaging
-           attribute <a href=#function>Function</a>? <a href=#handler-websocket-onmessage title=handler-WebSocket-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-websocket-onmessage title=handler-WebSocket-onmessage>onmessage</a>;
            attribute DOMString <a href=#dom-websocket-binarytype title=dom-WebSocket-binaryType>binaryType</a>;
   void <a href=#dom-websocket-send title=dom-WebSocket-send>send</a>(DOMString data);
   void <a href=#dom-websocket-send title=dom-WebSocket-send>send</a>(<a href=#arraybuffer>ArrayBuffer</a> data);
@@ -81376,7 +81376,7 @@
   void <a href=#dom-messageport-close title=dom-MessagePort-close>close</a>();
 
   // event handlers
-           attribute <a href=#function>Function</a>? <a href=#handler-messageport-onmessage title=handler-MessagePort-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-messageport-onmessage title=handler-MessagePort-onmessage>onmessage</a>;
 };
 <a href=#messageport>MessagePort</a> implements <a href=#transferable>Transferable</a>;</pre>
 
@@ -95820,9 +95820,9 @@
            attribute unsigned long <a href=#dom-marquee-vspace title=dom-marquee-vspace>vspace</a>;
            attribute DOMString <a href=#dom-marquee-width title=dom-marquee-width>width</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-marquee-onbounce title=handler-marquee-onbounce>onbounce</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-marquee-onfinish title=handler-marquee-onfinish>onfinish</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-marquee-onstart title=handler-marquee-onstart>onstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-marquee-onbounce title=handler-marquee-onbounce>onbounce</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-marquee-onfinish title=handler-marquee-onfinish>onfinish</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-marquee-onstart title=handler-marquee-onstart>onstart</a>;
 
   void <a href=#dom-marquee-start title=dom-marquee-start>start</a>();
   void <a href=#dom-marquee-stop title=dom-marquee-stop>stop</a>();
@@ -95983,24 +95983,24 @@
   <pre class=idl>interface <dfn id=htmlframesetelement>HTMLFrameSetElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-frameset-cols title=dom-frameset-cols>cols</a>;
            attribute DOMString <a href=#dom-frameset-rows title=dom-frameset-rows>rows</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
 };</pre>
 
   <p>The <dfn id=dom-frameset-cols title=dom-frameset-cols><code>cols</code></dfn> and

Modified: index
===================================================================
--- index	2011-09-29 18:41:38 UTC (rev 6598)
+++ index	2011-09-29 20:59:02 UTC (rev 6599)
@@ -9118,62 +9118,62 @@
   readonly attribute <a href=#htmlcollection>HTMLCollection</a> <a href=#dom-document-commands title=dom-document-commands>commands</a>;
 
   // <a href=#event-handler-idl-attributes>event handler IDL attributes</a>
-           attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 
   // special <a href=#event-handler-idl-attributes>event handler IDL attributes</a> that only apply to Document objects
-           attribute <a href=#function>Function</a>? <a href=#handler-onreadystatechange title=handler-onreadystatechange>onreadystatechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreadystatechange title=handler-onreadystatechange>onreadystatechange</a>;
 };
 <a href=#document>Document</a> implements <a href=#htmldocument>HTMLDocument</a>;</pre>
 
@@ -10152,59 +10152,59 @@
   readonly attribute <span>CSSStyleDeclaration</span> <a href=#dom-style title=dom-style>style</a>;
 
   // <a href=#event-handler-idl-attributes>event handler IDL attributes</a>
-           attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onblur title=handler-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onerror title=handler-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onfocus title=handler-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onload title=handler-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };
 
 interface <dfn id=htmlunknownelement>HTMLUnknownElement</dfn> : <a href=#htmlelement>HTMLElement</a> { };</pre>
@@ -16398,24 +16398,24 @@
    <dt>DOM interface:</dt>
    <dd>
 <pre class=idl>interface <dfn id=htmlbodyelement>HTMLBodyElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
 };</pre>
 </dd>
   </dl><p>The <code><a href=#the-body-element>body</a></code> element <a href=#represents>represents</a> the main
@@ -29164,7 +29164,7 @@
   readonly attribute unsigned long <a href=#dom-audiotracklist-length title=dom-AudioTrackList-length>length</a>;
   getter <a href=#audiotrack>AudioTrack</a> (unsigned long index);
   <a href=#audiotrack>AudioTrack</a>? <a href=#dom-audiotracklist-gettrackbyid title=dom-AudioTrackList-getTrackById>getTrackById</a>(DOMString id);
-           attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
 };
 
 interface <dfn id=audiotrack>AudioTrack</dfn> {
@@ -29180,7 +29180,7 @@
   getter <a href=#videotrack>VideoTrack</a> (unsigned long index);
   <a href=#videotrack>VideoTrack</a>? <a href=#dom-videotracklist-gettrackbyid title=dom-VideoTrackList-getTrackById>getTrackById</a>(DOMString id);
   readonly attribute long <a href=#dom-videotracklist-selectedindex title=dom-VideoTrackList-selectedIndex>selectedIndex</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-tracklist-onchange title=handler-TrackList-onchange>onchange</a>;
 };
 
 interface <dfn id=videotrack>VideoTrack</dfn> {
@@ -29614,21 +29614,21 @@
            attribute double <a href=#dom-mediacontroller-volume title=dom-MediaController-volume>volume</a>;
            attribute boolean <a href=#dom-mediacontroller-muted title=dom-MediaController-muted>muted</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onemptied title=handler-MediaController-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadedmetadata title=handler-MediaController-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadeddata title=handler-MediaController-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplay title=handler-MediaController-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplaythrough title=handler-MediaController-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplaying title=handler-MediaController-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onended title=handler-MediaController-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onwaiting title=handler-MediaController-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onemptied title=handler-MediaController-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadedmetadata title=handler-MediaController-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onloadeddata title=handler-MediaController-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplay title=handler-MediaController-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-oncanplaythrough title=handler-MediaController-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplaying title=handler-MediaController-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onended title=handler-MediaController-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onwaiting title=handler-MediaController-onwaiting>onwaiting</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ondurationchange title=handler-MediaController-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ontimeupdate title=handler-MediaController-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplay title=handler-MediaController-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onpause title=handler-MediaController-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onratechange title=handler-MediaController-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onvolumechange title=handler-MediaController-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ondurationchange title=handler-MediaController-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-ontimeupdate title=handler-MediaController-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onplay title=handler-MediaController-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onpause title=handler-MediaController-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onratechange title=handler-MediaController-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediacontroller-onvolumechange title=handler-MediaController-onvolumechange>onvolumechange</a>;
 };</pre>
 
   <dl class=domintro><dt><var title="">controller</var> = new <code title=dom-MediaController><a href=#dom-mediacontroller>MediaController</a></code>()</dt>
@@ -31210,8 +31210,8 @@
   const unsigned short <a href=#dom-texttrack-loaded title=dom-TextTrack-LOADED>LOADED</a> = 2;
   const unsigned short <a href=#dom-texttrack-error title=dom-TextTrack-ERROR>ERROR</a> = 3;
   readonly attribute unsigned short <a href=#dom-texttrack-readystate title=dom-TextTrack-readyState>readyState</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onload title=handler-TextTrack-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onerror title=handler-TextTrack-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onload title=handler-TextTrack-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrack-onerror title=handler-TextTrack-onerror>onerror</a>;
 
   const unsigned short <a href=#dom-texttrack-disabled title=dom-TextTrack-DISABLED>DISABLED</a> = 0;
   const unsigned short <a href=#dom-texttrack-hidden title=dom-TextTrack-HIDDEN>HIDDEN</a> = 1;
@@ -31221,7 +31221,7 @@
   readonly attribute <a href=#texttrackcuelist>TextTrackCueList</a>? <a href=#dom-texttrack-cues title=dom-TextTrack-cues>cues</a>;
   readonly attribute <a href=#texttrackcuelist>TextTrackCueList</a>? <a href=#dom-texttrack-activecues title=dom-TextTrack-activeCues>activeCues</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrack-oncuechange title=handler-TextTrack-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrack-oncuechange title=handler-TextTrack-oncuechange>oncuechange</a>;
 };</pre>
 
   <dl class=domintro><dt><var title="">textTrack</var> . <code title=dom-TextTrack-kind><a href=#dom-texttrack-kind>kind</a></code></dt>
@@ -31657,8 +31657,8 @@
   DOMString <a href=#dom-texttrackcue-getcueassource title=dom-TextTrackCue-getCueAsSource>getCueAsSource</a>();
   <a href=#documentfragment>DocumentFragment</a> <a href=#dom-texttrackcue-getcueashtml title=dom-TextTrackCue-getCueAsHTML>getCueAsHTML</a>();
 
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onenter title=handler-TextTrackCue-onenter>onenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onexit title=handler-TextTrackCue-onexit>onexit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onenter title=handler-TextTrackCue-onenter>onenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-texttrackcue-onexit title=handler-TextTrackCue-onexit>onexit</a>;
 };</pre>
 
   <dl class=domintro><!--TTVTT--><dt><var title="">cue</var> = new <code title=dom-TextTrackCue><a href=#dom-texttrackcue>TextTrackCue</a></code>( <var title="">id</var>, <var title="">startTime</var>, <var title="">endTime</var>, <var title="">text</var> [, <var title="">settings</var> [, <var title="">pauseOnExit</var> ] ] )</dt>
@@ -61900,72 +61900,72 @@
   void <a href=#dom-window-postmessage title=dom-window-postMessage>postMessage</a>(any message, DOMString targetOrigin, optional sequence<<a href=#transferable>Transferable</a>> transfer);
 <!--POSTMSG-->
   // <a href=#event-handler-idl-attributes>event handler IDL attributes</a>
-           attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onabort title=handler-onabort>onabort</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplay title=handler-oncanplay>oncanplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncanplaythrough title=handler-oncanplaythrough>oncanplaythrough</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onchange title=handler-onchange>onchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onclick title=handler-onclick>onclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncontextmenu title=handler-oncontextmenu>oncontextmenu</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oncuechange title=handler-oncuechange>oncuechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondblclick title=handler-ondblclick>ondblclick</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrag title=handler-ondrag>ondrag</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragend title=handler-ondragend>ondragend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragenter title=handler-ondragenter>ondragenter</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragleave title=handler-ondragleave>ondragleave</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragover title=handler-ondragover>ondragover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondragstart title=handler-ondragstart>ondragstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondrop title=handler-ondrop>ondrop</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ondurationchange title=handler-ondurationchange>ondurationchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onemptied title=handler-onemptied>onemptied</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onended title=handler-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninput title=handler-oninput>oninput</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-oninvalid title=handler-oninvalid>oninvalid</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeydown title=handler-onkeydown>onkeydown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeypress title=handler-onkeypress>onkeypress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onkeyup title=handler-onkeyup>onkeyup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadeddata title=handler-onloadeddata>onloadeddata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadedmetadata title=handler-onloadedmetadata>onloadedmetadata</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onloadstart title=handler-onloadstart>onloadstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousedown title=handler-onmousedown>onmousedown</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousemove title=handler-onmousemove>onmousemove</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseout title=handler-onmouseout>onmouseout</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseover title=handler-onmouseover>onmouseover</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmouseup title=handler-onmouseup>onmouseup</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onmousewheel title=handler-onmousewheel>onmousewheel</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onpause title=handler-onpause>onpause</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplay title=handler-onplay>onplay</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onplaying title=handler-onplaying>onplaying</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onprogress title=handler-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onratechange title=handler-onratechange>onratechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onreset title=handler-onreset>onreset</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onscroll title=handler-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeked title=handler-onseeked>onseeked</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onseeking title=handler-onseeking>onseeking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onselect title=handler-onselect>onselect</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onshow title=handler-onshow>onshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onstalled title=handler-onstalled>onstalled</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsubmit title=handler-onsubmit>onsubmit</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onsuspend title=handler-onsuspend>onsuspend</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-ontimeupdate title=handler-ontimeupdate>ontimeupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onvolumechange title=handler-onvolumechange>onvolumechange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-onwaiting title=handler-onwaiting>onwaiting</a>;
 };</pre>
 
 <!-- for more features to add here, look here:
@@ -67433,14 +67433,14 @@
   void <a href=#dom-appcache-swapcache title=dom-appcache-swapCache>swapCache</a>();
 
   // events
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onchecking title=handler-appcache-onchecking>onchecking</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onerror title=handler-appcache-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onnoupdate title=handler-appcache-onnoupdate>onnoupdate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-ondownloading title=handler-appcache-ondownloading>ondownloading</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onprogress title=handler-appcache-onprogress>onprogress</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onupdateready title=handler-appcache-onupdateready>onupdateready</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-oncached title=handler-appcache-oncached>oncached</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-appcache-onobsolete title=handler-appcache-onobsolete>onobsolete</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onchecking title=handler-appcache-onchecking>onchecking</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onerror title=handler-appcache-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onnoupdate title=handler-appcache-onnoupdate>onnoupdate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-ondownloading title=handler-appcache-ondownloading>ondownloading</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onprogress title=handler-appcache-onprogress>onprogress</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onupdateready title=handler-appcache-onupdateready>onupdateready</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-oncached title=handler-appcache-oncached>oncached</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-appcache-onobsolete title=handler-appcache-onobsolete>onobsolete</a>;
 };</pre>
 
   <dl class=domintro><dt><var title="">cache</var> = <var title="">window</var> . <code title=dom-applicationCache><a href=#dom-applicationcache>applicationCache</a></code></dt>
@@ -75266,7 +75266,7 @@
   const unsigned short <a href=#dom-mediastream-live title=dom-MediaStream-LIVE>LIVE</a> = 1;
   const unsigned short <a href=#dom-mediastream-ended title=dom-MediaStream-ENDED>ENDED</a> = 2;
   readonly attribute unsigned short <a href=#dom-mediastream-readystate title=dom-MediaStream-readyState>readyState</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-mediastream-onended title=handler-MediaStream-onended>onended</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-mediastream-onended title=handler-MediaStream-onended>onended</a>;
 };
 
 interface <dfn id=localmediastream>LocalMediaStream</dfn> : <a href=#mediastream>MediaStream</a> {
@@ -75881,13 +75881,13 @@
   void <a href=#dom-peerconnection-close title=dom-PeerConnection-close>close</a>();
 
   // <span class=XXX>connection quality information</span>
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting>onconnecting</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;<!--
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onclose">onclose</span>;-->
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onmessage title=handler-PeerConnection-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream>onaddstream</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onconnecting title=handler-PeerConnection-onconnecting>onconnecting</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onopen title=handler-PeerConnection-onopen>onopen</a>;<!--
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onerror">onerror</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onclose">onclose</span>;-->
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onmessage title=handler-PeerConnection-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onaddstream title=handler-PeerConnection-onaddstream>onaddstream</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-peerconnection-onremovestream title=handler-PeerConnection-onremovestream>onremovestream</a>;
 };
 
 [Callback=FunctionOnly, NoInterfaceObject]
@@ -77499,7 +77499,7 @@
   void <a href=#dom-messageport-close title=dom-MessagePort-close>close</a>();
 
   // event handlers
-           attribute <a href=#function>Function</a>? <a href=#handler-messageport-onmessage title=handler-MessagePort-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-messageport-onmessage title=handler-MessagePort-onmessage>onmessage</a>;
 };
 <a href=#messageport>MessagePort</a> implements <a href=#transferable>Transferable</a>;</pre>
 
@@ -91245,9 +91245,9 @@
            attribute unsigned long <a href=#dom-marquee-vspace title=dom-marquee-vspace>vspace</a>;
            attribute DOMString <a href=#dom-marquee-width title=dom-marquee-width>width</a>;
 
-           attribute <a href=#function>Function</a>? <a href=#handler-marquee-onbounce title=handler-marquee-onbounce>onbounce</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-marquee-onfinish title=handler-marquee-onfinish>onfinish</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-marquee-onstart title=handler-marquee-onstart>onstart</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-marquee-onbounce title=handler-marquee-onbounce>onbounce</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-marquee-onfinish title=handler-marquee-onfinish>onfinish</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-marquee-onstart title=handler-marquee-onstart>onstart</a>;
 
   void <a href=#dom-marquee-start title=dom-marquee-start>start</a>();
   void <a href=#dom-marquee-stop title=dom-marquee-stop>stop</a>();
@@ -91408,24 +91408,24 @@
   <pre class=idl>interface <dfn id=htmlframesetelement>HTMLFrameSetElement</dfn> : <a href=#htmlelement>HTMLElement</a> {
            attribute DOMString <a href=#dom-frameset-cols title=dom-frameset-cols>cols</a>;
            attribute DOMString <a href=#dom-frameset-rows title=dom-frameset-rows>rows</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
-           attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onafterprint title=handler-window-onafterprint>onafterprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeprint title=handler-window-onbeforeprint>onbeforeprint</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onbeforeunload title=handler-window-onbeforeunload>onbeforeunload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onblur title=handler-window-onblur>onblur</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onerror title=handler-window-onerror>onerror</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onfocus title=handler-window-onfocus>onfocus</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onhashchange title=handler-window-onhashchange>onhashchange</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onload title=handler-window-onload>onload</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onmessage title=handler-window-onmessage>onmessage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onoffline title=handler-window-onoffline>onoffline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-ononline title=handler-window-ononline>ononline</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpagehide title=handler-window-onpagehide>onpagehide</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpageshow title=handler-window-onpageshow>onpageshow</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onpopstate title=handler-window-onpopstate>onpopstate</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onresize title=handler-window-onresize>onresize</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onscroll title=handler-window-onscroll>onscroll</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onstorage title=handler-window-onstorage>onstorage</a>;
+  [TreatNonCallableAsNull] attribute <a href=#function>Function</a>? <a href=#handler-window-onunload title=handler-window-onunload>onunload</a>;
 };</pre>
 
   <p>The <dfn id=dom-frameset-cols title=dom-frameset-cols><code>cols</code></dfn> and

Modified: source
===================================================================
--- source	2011-09-29 18:41:38 UTC (rev 6598)
+++ source	2011-09-29 20:59:02 UTC (rev 6599)
@@ -9263,62 +9263,62 @@
   readonly attribute <span>HTMLCollection</span> <span title="dom-document-commands">commands</span>;
 
   // <span>event handler IDL attributes</span>
-           attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
-           attribute <span>Function</span>? <span title="handler-onblur">onblur</span>;
-           attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
-           attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
-           attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
-           attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
-           attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
-           attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
-           attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
-           attribute <span>Function</span>? <span title="handler-ondrag">ondrag</span>;
-           attribute <span>Function</span>? <span title="handler-ondragend">ondragend</span>;
-           attribute <span>Function</span>? <span title="handler-ondragenter">ondragenter</span>;
-           attribute <span>Function</span>? <span title="handler-ondragleave">ondragleave</span>;
-           attribute <span>Function</span>? <span title="handler-ondragover">ondragover</span>;
-           attribute <span>Function</span>? <span title="handler-ondragstart">ondragstart</span>;
-           attribute <span>Function</span>? <span title="handler-ondrop">ondrop</span>;
-           attribute <span>Function</span>? <span title="handler-ondurationchange">ondurationchange</span>;
-           attribute <span>Function</span>? <span title="handler-onemptied">onemptied</span>;
-           attribute <span>Function</span>? <span title="handler-onended">onended</span>;
-           attribute <span>Function</span>? <span title="handler-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-onfocus">onfocus</span>;
-           attribute <span>Function</span>? <span title="handler-oninput">oninput</span>;
-           attribute <span>Function</span>? <span title="handler-oninvalid">oninvalid</span>;
-           attribute <span>Function</span>? <span title="handler-onkeydown">onkeydown</span>;
-           attribute <span>Function</span>? <span title="handler-onkeypress">onkeypress</span>;
-           attribute <span>Function</span>? <span title="handler-onkeyup">onkeyup</span>;
-           attribute <span>Function</span>? <span title="handler-onload">onload</span>;
-           attribute <span>Function</span>? <span title="handler-onloadeddata">onloadeddata</span>;
-           attribute <span>Function</span>? <span title="handler-onloadedmetadata">onloadedmetadata</span>;
-           attribute <span>Function</span>? <span title="handler-onloadstart">onloadstart</span>;
-           attribute <span>Function</span>? <span title="handler-onmousedown">onmousedown</span>;
-           attribute <span>Function</span>? <span title="handler-onmousemove">onmousemove</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseout">onmouseout</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseover">onmouseover</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseup">onmouseup</span>;
-           attribute <span>Function</span>? <span title="handler-onmousewheel">onmousewheel</span>;
-           attribute <span>Function</span>? <span title="handler-onpause">onpause</span>;
-           attribute <span>Function</span>? <span title="handler-onplay">onplay</span>;
-           attribute <span>Function</span>? <span title="handler-onplaying">onplaying</span>;
-           attribute <span>Function</span>? <span title="handler-onprogress">onprogress</span>;
-           attribute <span>Function</span>? <span title="handler-onratechange">onratechange</span>;
-           attribute <span>Function</span>? <span title="handler-onreset">onreset</span>;
-           attribute <span>Function</span>? <span title="handler-onscroll">onscroll</span>;
-           attribute <span>Function</span>? <span title="handler-onseeked">onseeked</span>;
-           attribute <span>Function</span>? <span title="handler-onseeking">onseeking</span>;
-           attribute <span>Function</span>? <span title="handler-onselect">onselect</span>;
-           attribute <span>Function</span>? <span title="handler-onshow">onshow</span>;
-           attribute <span>Function</span>? <span title="handler-onstalled">onstalled</span>;
-           attribute <span>Function</span>? <span title="handler-onsubmit">onsubmit</span>;
-           attribute <span>Function</span>? <span title="handler-onsuspend">onsuspend</span>;
-           attribute <span>Function</span>? <span title="handler-ontimeupdate">ontimeupdate</span>;
-           attribute <span>Function</span>? <span title="handler-onvolumechange">onvolumechange</span>;
-           attribute <span>Function</span>? <span title="handler-onwaiting">onwaiting</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-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-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>;
 
   // special <span>event handler IDL attributes</span> that only apply to Document objects
-           attribute <span>Function</span>? <span title="handler-onreadystatechange">onreadystatechange</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-onreadystatechange">onreadystatechange</span>;
 };
 <span>Document</span> implements <span>HTMLDocument</span>;</pre>
 
@@ -10470,59 +10470,59 @@
   readonly attribute <span>CSSStyleDeclaration</span> <span title="dom-style">style</span>;
 
   // <span>event handler IDL attributes</span>
-           attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
-           attribute <span>Function</span>? <span title="handler-onblur">onblur</span>;
-           attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
-           attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
-           attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
-           attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
-           attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
-           attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
-           attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
-           attribute <span>Function</span>? <span title="handler-ondrag">ondrag</span>;
-           attribute <span>Function</span>? <span title="handler-ondragend">ondragend</span>;
-           attribute <span>Function</span>? <span title="handler-ondragenter">ondragenter</span>;
-           attribute <span>Function</span>? <span title="handler-ondragleave">ondragleave</span>;
-           attribute <span>Function</span>? <span title="handler-ondragover">ondragover</span>;
-           attribute <span>Function</span>? <span title="handler-ondragstart">ondragstart</span>;
-           attribute <span>Function</span>? <span title="handler-ondrop">ondrop</span>;
-           attribute <span>Function</span>? <span title="handler-ondurationchange">ondurationchange</span>;
-           attribute <span>Function</span>? <span title="handler-onemptied">onemptied</span>;
-           attribute <span>Function</span>? <span title="handler-onended">onended</span>;
-           attribute <span>Function</span>? <span title="handler-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-onfocus">onfocus</span>;
-           attribute <span>Function</span>? <span title="handler-oninput">oninput</span>;
-           attribute <span>Function</span>? <span title="handler-oninvalid">oninvalid</span>;
-           attribute <span>Function</span>? <span title="handler-onkeydown">onkeydown</span>;
-           attribute <span>Function</span>? <span title="handler-onkeypress">onkeypress</span>;
-           attribute <span>Function</span>? <span title="handler-onkeyup">onkeyup</span>;
-           attribute <span>Function</span>? <span title="handler-onload">onload</span>;
-           attribute <span>Function</span>? <span title="handler-onloadeddata">onloadeddata</span>;
-           attribute <span>Function</span>? <span title="handler-onloadedmetadata">onloadedmetadata</span>;
-           attribute <span>Function</span>? <span title="handler-onloadstart">onloadstart</span>;
-           attribute <span>Function</span>? <span title="handler-onmousedown">onmousedown</span>;
-           attribute <span>Function</span>? <span title="handler-onmousemove">onmousemove</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseout">onmouseout</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseover">onmouseover</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseup">onmouseup</span>;
-           attribute <span>Function</span>? <span title="handler-onmousewheel">onmousewheel</span>;
-           attribute <span>Function</span>? <span title="handler-onpause">onpause</span>;
-           attribute <span>Function</span>? <span title="handler-onplay">onplay</span>;
-           attribute <span>Function</span>? <span title="handler-onplaying">onplaying</span>;
-           attribute <span>Function</span>? <span title="handler-onprogress">onprogress</span>;
-           attribute <span>Function</span>? <span title="handler-onratechange">onratechange</span>;
-           attribute <span>Function</span>? <span title="handler-onreset">onreset</span>;
-           attribute <span>Function</span>? <span title="handler-onscroll">onscroll</span>;
-           attribute <span>Function</span>? <span title="handler-onseeked">onseeked</span>;
-           attribute <span>Function</span>? <span title="handler-onseeking">onseeking</span>;
-           attribute <span>Function</span>? <span title="handler-onselect">onselect</span>;
-           attribute <span>Function</span>? <span title="handler-onshow">onshow</span>;
-           attribute <span>Function</span>? <span title="handler-onstalled">onstalled</span>;
-           attribute <span>Function</span>? <span title="handler-onsubmit">onsubmit</span>;
-           attribute <span>Function</span>? <span title="handler-onsuspend">onsuspend</span>;
-           attribute <span>Function</span>? <span title="handler-ontimeupdate">ontimeupdate</span>;
-           attribute <span>Function</span>? <span title="handler-onvolumechange">onvolumechange</span>;
-           attribute <span>Function</span>? <span title="handler-onwaiting">onwaiting</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-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-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>;
 };
 
 interface <dfn>HTMLUnknownElement</dfn> : <span>HTMLElement</span> { };</pre>
@@ -17608,24 +17608,24 @@
    <dt>DOM interface:</dt>
    <dd>
 <pre class="idl">interface <dfn>HTMLBodyElement</dfn> : <span>HTMLElement</span> {
-           attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
-           attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-           attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-           attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
-           attribute <span>Function</span>? <span title="handler-window-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-window-onfocus">onfocus</span>;
-           attribute <span>Function</span>? <span title="handler-window-onhashchange">onhashchange</span>;
-           attribute <span>Function</span>? <span title="handler-window-onload">onload</span>;
-           attribute <span>Function</span>? <span title="handler-window-onmessage">onmessage</span>;
-           attribute <span>Function</span>? <span title="handler-window-onoffline">onoffline</span>;
-           attribute <span>Function</span>? <span title="handler-window-ononline">ononline</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpopstate">onpopstate</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpagehide">onpagehide</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpageshow">onpageshow</span>;
-           attribute <span>Function</span>? <span title="handler-window-onresize">onresize</span>;
-           attribute <span>Function</span>? <span title="handler-window-onscroll">onscroll</span>;
-           attribute <span>Function</span>? <span title="handler-window-onstorage">onstorage</span>;
-           attribute <span>Function</span>? <span title="handler-window-onunload">onunload</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>;
 };</pre>
 </dd>
   </dl>
@@ -31867,7 +31867,7 @@
   readonly attribute unsigned long <span title="dom-AudioTrackList-length">length</span>;
   getter <span>AudioTrack</span> (unsigned long index);
   <span>AudioTrack</span>? <span title="dom-AudioTrackList-getTrackById">getTrackById</span>(DOMString id);
-           attribute <span>Function</span>? <span title="handler-TrackList-onchange">onchange</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onchange">onchange</span>;
 };
 
 interface <dfn>AudioTrack</dfn> {
@@ -31883,7 +31883,7 @@
   getter <span>VideoTrack</span> (unsigned long index);
   <span>VideoTrack</span>? <span title="dom-VideoTrackList-getTrackById">getTrackById</span>(DOMString id);
   readonly attribute long <span title="dom-VideoTrackList-selectedIndex">selectedIndex</span>;
-           attribute <span>Function</span>? <span title="handler-TrackList-onchange">onchange</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TrackList-onchange">onchange</span>;
 };
 
 interface <dfn>VideoTrack</dfn> {
@@ -32370,21 +32370,21 @@
            attribute double <span title="dom-MediaController-volume">volume</span>;
            attribute boolean <span title="dom-MediaController-muted">muted</span>;
 
-           attribute <span>Function</span>? <span title="handler-MediaController-onemptied">onemptied</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onloadedmetadata">onloadedmetadata</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onloadeddata">onloadeddata</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-oncanplay">oncanplay</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-oncanplaythrough">oncanplaythrough</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onplaying">onplaying</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onended">onended</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onwaiting">onwaiting</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>Function</span>? <span title="handler-MediaController-ondurationchange">ondurationchange</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-ontimeupdate">ontimeupdate</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onplay">onplay</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onpause">onpause</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onratechange">onratechange</span>;
-           attribute <span>Function</span>? <span title="handler-MediaController-onvolumechange">onvolumechange</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>;
 };</pre>
 
   <dl class="domintro">
@@ -34191,8 +34191,8 @@
   const unsigned short <span title="dom-TextTrack-LOADED">LOADED</span> = 2;
   const unsigned short <span title="dom-TextTrack-ERROR">ERROR</span> = 3;
   readonly attribute unsigned short <span title="dom-TextTrack-readyState">readyState</span>;
-           attribute <span>Function</span>? <span title="handler-TextTrack-onload">onload</span>;
-           attribute <span>Function</span>? <span title="handler-TextTrack-onerror">onerror</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrack-onload">onload</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrack-onerror">onerror</span>;
 
   const unsigned short <span title="dom-TextTrack-DISABLED">DISABLED</span> = 0;
   const unsigned short <span title="dom-TextTrack-HIDDEN">HIDDEN</span> = 1;
@@ -34202,7 +34202,7 @@
   readonly attribute <span>TextTrackCueList</span>? <span title="dom-TextTrack-cues">cues</span>;
   readonly attribute <span>TextTrackCueList</span>? <span title="dom-TextTrack-activeCues">activeCues</span>;
 
-           attribute <span>Function</span>? <span title="handler-TextTrack-oncuechange">oncuechange</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-TextTrack-oncuechange">oncuechange</span>;
 };</pre>
 
   <dl class="domintro">
@@ -34701,8 +34701,8 @@
   DOMString <span title="dom-TextTrackCue-getCueAsSource">getCueAsSource</span>();
   <span>DocumentFragment</span> <span title="dom-TextTrackCue-getCueAsHTML">getCueAsHTML</span>();
 
-           attribute <span>Function</span>? <span title="handler-TextTrackCue-onenter">onenter</span>;
-           attribute <span>Function</span>? <span title="handler-TextTrackCue-onexit">onexit</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>;
 };</pre>
 
   <dl class="domintro">
@@ -70424,72 +70424,72 @@
   void <span title="dom-window-postMessage">postMessage</span>(any message, DOMString targetOrigin, optional sequence<<span>Transferable</span>> transfer);
 <!--START w3c-html--><!--POSTMSG-->
   // <span>event handler IDL attributes</span>
-           attribute <span>Function</span>? <span title="handler-onabort">onabort</span>;
-           attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
-           attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-           attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-           attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
-           attribute <span>Function</span>? <span title="handler-oncanplay">oncanplay</span>;
-           attribute <span>Function</span>? <span title="handler-oncanplaythrough">oncanplaythrough</span>;
-           attribute <span>Function</span>? <span title="handler-onchange">onchange</span>;
-           attribute <span>Function</span>? <span title="handler-onclick">onclick</span>;
-           attribute <span>Function</span>? <span title="handler-oncontextmenu">oncontextmenu</span>;
-           attribute <span>Function</span>? <span title="handler-oncuechange">oncuechange</span>;
-           attribute <span>Function</span>? <span title="handler-ondblclick">ondblclick</span>;
-           attribute <span>Function</span>? <span title="handler-ondrag">ondrag</span>;
-           attribute <span>Function</span>? <span title="handler-ondragend">ondragend</span>;
-           attribute <span>Function</span>? <span title="handler-ondragenter">ondragenter</span>;
-           attribute <span>Function</span>? <span title="handler-ondragleave">ondragleave</span>;
-           attribute <span>Function</span>? <span title="handler-ondragover">ondragover</span>;
-           attribute <span>Function</span>? <span title="handler-ondragstart">ondragstart</span>;
-           attribute <span>Function</span>? <span title="handler-ondrop">ondrop</span>;
-           attribute <span>Function</span>? <span title="handler-ondurationchange">ondurationchange</span>;
-           attribute <span>Function</span>? <span title="handler-onemptied">onemptied</span>;
-           attribute <span>Function</span>? <span title="handler-onended">onended</span>;
-           attribute <span>Function</span>? <span title="handler-window-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-window-onfocus">onfocus</span>;
-           attribute <span>Function</span>? <span title="handler-window-onhashchange">onhashchange</span>;
-           attribute <span>Function</span>? <span title="handler-oninput">oninput</span>;
-           attribute <span>Function</span>? <span title="handler-oninvalid">oninvalid</span>;
-           attribute <span>Function</span>? <span title="handler-onkeydown">onkeydown</span>;
-           attribute <span>Function</span>? <span title="handler-onkeypress">onkeypress</span>;
-           attribute <span>Function</span>? <span title="handler-onkeyup">onkeyup</span>;
-           attribute <span>Function</span>? <span title="handler-window-onload">onload</span>;
-           attribute <span>Function</span>? <span title="handler-onloadeddata">onloadeddata</span>;
-           attribute <span>Function</span>? <span title="handler-onloadedmetadata">onloadedmetadata</span>;
-           attribute <span>Function</span>? <span title="handler-onloadstart">onloadstart</span>;
-           attribute <span>Function</span>? <span title="handler-window-onmessage">onmessage</span>;
-           attribute <span>Function</span>? <span title="handler-onmousedown">onmousedown</span>;
-           attribute <span>Function</span>? <span title="handler-onmousemove">onmousemove</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseout">onmouseout</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseover">onmouseover</span>;
-           attribute <span>Function</span>? <span title="handler-onmouseup">onmouseup</span>;
-           attribute <span>Function</span>? <span title="handler-onmousewheel">onmousewheel</span>;
-           attribute <span>Function</span>? <span title="handler-window-onoffline">onoffline</span>;
-           attribute <span>Function</span>? <span title="handler-window-ononline">ononline</span>;
-           attribute <span>Function</span>? <span title="handler-onpause">onpause</span>;
-           attribute <span>Function</span>? <span title="handler-onplay">onplay</span>;
-           attribute <span>Function</span>? <span title="handler-onplaying">onplaying</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpagehide">onpagehide</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpageshow">onpageshow</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpopstate">onpopstate</span>;
-           attribute <span>Function</span>? <span title="handler-onprogress">onprogress</span>;
-           attribute <span>Function</span>? <span title="handler-onratechange">onratechange</span>;
-           attribute <span>Function</span>? <span title="handler-onreset">onreset</span>;
-           attribute <span>Function</span>? <span title="handler-window-onresize">onresize</span>;
-           attribute <span>Function</span>? <span title="handler-onscroll">onscroll</span>;
-           attribute <span>Function</span>? <span title="handler-onseeked">onseeked</span>;
-           attribute <span>Function</span>? <span title="handler-onseeking">onseeking</span>;
-           attribute <span>Function</span>? <span title="handler-onselect">onselect</span>;
-           attribute <span>Function</span>? <span title="handler-onshow">onshow</span>;
-           attribute <span>Function</span>? <span title="handler-onstalled">onstalled</span>;
-           attribute <span>Function</span>? <span title="handler-window-onstorage">onstorage</span>;
-           attribute <span>Function</span>? <span title="handler-onsubmit">onsubmit</span>;
-           attribute <span>Function</span>? <span title="handler-onsuspend">onsuspend</span>;
-           attribute <span>Function</span>? <span title="handler-ontimeupdate">ontimeupdate</span>;
-           attribute <span>Function</span>? <span title="handler-window-onunload">onunload</span>;
-           attribute <span>Function</span>? <span title="handler-onvolumechange">onvolumechange</span>;
-           attribute <span>Function</span>? <span title="handler-onwaiting">onwaiting</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-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-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>;
 };</pre>
 
 <!-- for more features to add here, look here:
@@ -76788,14 +76788,14 @@
   void <span title="dom-appcache-swapCache">swapCache</span>();
 
   // events
-           attribute <span>Function</span>? <span title="handler-appcache-onchecking">onchecking</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-onnoupdate">onnoupdate</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-ondownloading">ondownloading</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-onprogress">onprogress</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-onupdateready">onupdateready</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-oncached">oncached</span>;
-           attribute <span>Function</span>? <span title="handler-appcache-onobsolete">onobsolete</span>;
+  [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>;
 };</pre>
 
   <dl class="domintro">
@@ -85894,7 +85894,7 @@
   const unsigned short <span title="dom-MediaStream-LIVE">LIVE</span> = 1;
   const unsigned short <span title="dom-MediaStream-ENDED">ENDED</span> = 2;
   readonly attribute unsigned short <span title="dom-MediaStream-readyState">readyState</span>;
-           attribute <span>Function</span>? <span title="handler-MediaStream-onended">onended</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MediaStream-onended">onended</span>;
 };
 
 interface <dfn>LocalMediaStream</dfn> : <span>MediaStream</span> {
@@ -86595,13 +86595,13 @@
   void <span title="dom-PeerConnection-close">close</span>();
 
   // <span class="XXX">connection quality information</span>
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onconnecting">onconnecting</span>;
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onopen">onopen</span>;<!--
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onclose">onclose</span>;-->
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onmessage">onmessage</span>;
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onaddstream">onaddstream</span>;
-           attribute <span>Function</span>? <span title="handler-PeerConnection-onremovestream">onremovestream</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onconnecting">onconnecting</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onopen">onopen</span>;<!--
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onerror">onerror</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onclose">onclose</span>;-->
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onmessage">onmessage</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onaddstream">onaddstream</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-PeerConnection-onremovestream">onremovestream</span>;
 };
 
 [Callback=FunctionOnly, NoInterfaceObject]
@@ -88415,10 +88415,10 @@
   readonly attribute <span>WorkerLocation</span> <span title="dom-WorkerGlobalScope-location">location</span>;
 
   void <span title="dom-WorkerGlobalScope-close">close</span>();
-<!-- v2-onclose           attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onclose">onclose</span>;
--->           attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-onoffline">onoffline</span>;
-           attribute <span>Function</span>? <span title="handler-WorkerGlobalScope-ononline">ononline</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>;
 };
 <span>WorkerGlobalScope</span> implements <span>WorkerUtils</span>;</pre>
 
@@ -88488,7 +88488,7 @@
 interface <dfn>DedicatedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   void <span title="dom-DedicatedWorkerGlobalScope-postMessage">postMessage</span>(any message, optional sequence<<span>Transferable</span>> transfer);<!--
   <span>MessagePort</span> <span title="dom-DedicatedWorkerGlobalScope-startConversation">startConversation</span>(any message);-->
-           attribute <span>Function</span>? <span title="handler-DedicatedWorkerGlobalScope-onmessage">onmessage</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-DedicatedWorkerGlobalScope-onmessage">onmessage</span>;
 };</pre>
 
   <p><code>DedicatedWorkerGlobalScope</code> objects act as if they
@@ -88535,7 +88535,7 @@
 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>;
-           attribute <span>Function</span>? <span title="handler-SharedWorkerGlobalScope-onconnect">onconnect</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-SharedWorkerGlobalScope-onconnect">onconnect</span>;
 };</pre>
 
   <p>Shared workers receive message ports through <code
@@ -89116,8 +89116,8 @@
 
   <pre class="idl">[Supplemental, NoInterfaceObject]
 interface <dfn>AbstractWorker</dfn> : <span>EventTarget</span> {
-           attribute <span>Function</span>? <span title="handler-AbstractWorker-onerror">onerror</span>;
-<!-- v2-onclose           attribute <span>Function</span>? <span title="handler-AbstractWorker-onclose">onclose</span>; -->
+  [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>; -->
 };</pre>
 
   <p>The following are the <span>event handlers</span> (and their
@@ -89143,7 +89143,7 @@
 
   void <span title="dom-Worker-postMessage">postMessage</span>(any message, optional sequence<<span>Transferable</span>> transfer);<!--
   <span>MessagePort</span> <span title="dom-Worker-startConversation">startConversation</span>(any message);-->
-           attribute <span>Function</span>? <span title="handler-Worker-onmessage">onmessage</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-Worker-onmessage">onmessage</span>;
 };</pre>
 
   <p>The <dfn
@@ -90024,9 +90024,9 @@
   readonly attribute unsigned short <span title="dom-EventSource-readyState">readyState</span>;
 
   // networking
-           attribute <span>Function</span>? <span title="handler-EventSource-onopen">onopen</span>;
-           attribute <span>Function</span>? <span title="handler-EventSource-onmessage">onmessage</span>;
-           attribute <span>Function</span>? <span title="handler-EventSource-onerror">onerror</span>;
+  [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>;
   void <span title="dom-EventSource-close">close</span>();
 };</pre>
 
@@ -90928,15 +90928,15 @@
   readonly attribute unsigned long <span title="dom-WebSocket-bufferedAmount">bufferedAmount</span>;
 
   // networking
-           attribute <span>Function</span>? <span title="handler-WebSocket-onopen">onopen</span>;
-           attribute <span>Function</span>? <span title="handler-WebSocket-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-WebSocket-onclose">onclose</span>;
+  [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>;
   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
-           attribute <span>Function</span>? <span title="handler-WebSocket-onmessage">onmessage</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</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>ArrayBuffer</span> data);
@@ -92177,7 +92177,7 @@
   void <span title="dom-MessagePort-close">close</span>();
 
   // event handlers
-           attribute <span>Function</span>? <span title="handler-MessagePort-onmessage">onmessage</span>;
+  [TreatNonCallableAsNull] attribute <span>Function</span>? <span title="handler-MessagePort-onmessage">onmessage</span>;
 };
 <span>MessagePort</span> implements <span>Transferable</span>;</pre>
 
@@ -108598,9 +108598,9 @@
            attribute unsigned long <span title="dom-marquee-vspace">vspace</span>;
            attribute DOMString <span title="dom-marquee-width">width</span>;
 
-           attribute <span>Function</span>? <span title="handler-marquee-onbounce">onbounce</span>;
-           attribute <span>Function</span>? <span title="handler-marquee-onfinish">onfinish</span>;
-           attribute <span>Function</span>? <span title="handler-marquee-onstart">onstart</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>;
 
   void <span title="dom-marquee-start">start</span>();
   void <span title="dom-marquee-stop">stop</span>();
@@ -108843,24 +108843,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>;
-           attribute <span>Function</span>? <span title="handler-window-onafterprint">onafterprint</span>;
-           attribute <span>Function</span>? <span title="handler-window-onbeforeprint">onbeforeprint</span>;
-           attribute <span>Function</span>? <span title="handler-window-onbeforeunload">onbeforeunload</span>;
-           attribute <span>Function</span>? <span title="handler-window-onblur">onblur</span>;
-           attribute <span>Function</span>? <span title="handler-window-onerror">onerror</span>;
-           attribute <span>Function</span>? <span title="handler-window-onfocus">onfocus</span>;
-           attribute <span>Function</span>? <span title="handler-window-onhashchange">onhashchange</span>;
-           attribute <span>Function</span>? <span title="handler-window-onload">onload</span>;
-           attribute <span>Function</span>? <span title="handler-window-onmessage">onmessage</span>;
-           attribute <span>Function</span>? <span title="handler-window-onoffline">onoffline</span>;
-           attribute <span>Function</span>? <span title="handler-window-ononline">ononline</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpagehide">onpagehide</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpageshow">onpageshow</span>;
-           attribute <span>Function</span>? <span title="handler-window-onpopstate">onpopstate</span>;
-           attribute <span>Function</span>? <span title="handler-window-onresize">onresize</span>;
-           attribute <span>Function</span>? <span title="handler-window-onscroll">onscroll</span>;
-           attribute <span>Function</span>? <span title="handler-window-onstorage">onstorage</span>;
-           attribute <span>Function</span>? <span title="handler-window-onunload">onunload</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>;
 };</pre>
 
   <p>The <dfn title="dom-frameset-cols"><code>cols</code></dfn> and




More information about the Commit-Watchers mailing list