2 * Copyright 2008 The Closure Compiler Authors
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * @fileoverview Definitions for W3C's DOM Level 1 specification.
19 * The whole file has been fully type annotated. Created from
20 * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html
23 * @author stevey@google.com (Steve Yegge)
28 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187
30 function DOMException() {}
34 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
36 DOMException.INDEX_SIZE_ERR = 1;
40 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
42 DOMException.DOMSTRING_SIZE_ERR = 2;
46 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
48 DOMException.HIERARCHY_REQUEST_ERR = 3;
52 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
54 DOMException.WRONG_DOCUMENT_ERR = 4;
58 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
60 DOMException.INVALID_CHARACTER_ERR = 5;
64 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
66 DOMException.NO_DATA_ALLOWED_ERR = 6;
70 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
72 DOMException.NO_MODIFICATION_ALLOWED_ERR = 7;
76 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
78 DOMException.NOT_FOUND_ERR = 8;
82 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
84 DOMException.NOT_SUPPORTED_ERR = 9;
88 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
90 DOMException.INUSE_ATTRIBUTE_ERR = 10;
94 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
96 function ExceptionCode() {}
100 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490
102 function DOMImplementation() {}
105 * @param {string} feature
106 * @param {string} version
108 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7
111 DOMImplementation.prototype.hasFeature = function(feature, version) {};
115 * @implements {EventTarget}
116 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
121 * @param {boolean=} opt_useCapture
124 Node.prototype.addEventListener = function(type, listener, opt_useCapture) {};
127 * @param {boolean=} opt_useCapture
130 Node.prototype.removeEventListener = function(type, listener, opt_useCapture) {};
133 Node.prototype.dispatchEvent = function(evt) {};
136 * @type {NamedNodeMap}
137 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes
139 Node.prototype.attributes;
143 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes
145 Node.prototype.childNodes;
149 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild
151 Node.prototype.firstChild;
155 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild
157 Node.prototype.lastChild;
161 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling
163 Node.prototype.nextSibling;
167 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName
169 Node.prototype.nodeName;
173 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue
175 Node.prototype.nodeValue;
179 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType
181 Node.prototype.nodeType;
185 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument
187 Node.prototype.ownerDocument;
191 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode
193 Node.prototype.parentNode;
197 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling
199 Node.prototype.previousSibling;
202 * @param {Node} newChild
204 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild
206 Node.prototype.appendChild = function(newChild) {};
209 * @param {boolean} deep
211 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode
214 Node.prototype.cloneNode = function(deep) {};
218 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes
221 Node.prototype.hasChildNodes = function() {};
224 * @param {Node} newChild
225 * @param {Node} refChild
227 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore
229 Node.prototype.insertBefore = function(newChild, refChild) {};
232 * @param {Node} oldChild
234 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild
236 Node.prototype.removeChild = function(oldChild) {};
239 * @param {Node} newChild
240 * @param {Node} oldChild
242 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild
244 Node.prototype.replaceChild = function(newChild, oldChild) {};
248 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
254 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
256 Node.CDATA_SECTION_NODE;
260 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
266 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
268 Node.DOCUMENT_FRAGMENT_NODE;
272 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
278 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
280 Node.DOCUMENT_TYPE_NODE;
284 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
290 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
296 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
298 Node.ENTITY_REFERENCE_NODE;
302 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
304 Node.PROCESSING_INSTRUCTION_NODE;
308 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
314 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
316 Node.XPATH_NAMESPACE_NODE;
320 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
327 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3
329 function DocumentFragment() {}
334 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document
336 function Document() {}
339 * @type {DocumentType}
340 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype
342 Document.prototype.doctype;
346 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement
348 Document.prototype.documentElement;
351 * @type {DOMImplementation}
352 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation
354 Document.prototype.implementation;
357 * @param {string} name
359 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute
362 Document.prototype.createAttribute = function(name) {};
365 * @param {string} data
367 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment
370 Document.prototype.createComment = function(data) {};
373 * @param {string} data
374 * @return {!CDATASection}
375 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection
378 Document.prototype.createCDATASection = function(data) {};
381 * @return {!DocumentFragment}
382 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment
385 Document.prototype.createDocumentFragment = function() {};
388 * Create a DOM element.
390 * Web components introduced the second parameter as a way of extending existing
391 * tags (e.g. document.createElement('button', 'fancy-button')).
393 * @param {string} tagName
394 * @param {string=} opt_typeExtension
397 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement
398 * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate
400 Document.prototype.createElement = function(tagName, opt_typeExtension) {};
403 * @param {string} name
404 * @return {!EntityReference}
405 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference
408 Document.prototype.createEntityReference = function(name) {};
411 * @param {string} target
412 * @param {string} data
413 * @return {!ProcessingInstruction}
414 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction
417 Document.prototype.createProcessingInstruction = function(target, data) {};
420 * @param {number|string} data
422 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode
425 Document.prototype.createTextNode = function(data) {};
428 * @param {string} tagname
429 * @return {!NodeList}
430 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094
433 Document.prototype.getElementsByTagName = function(tagname) {};
437 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177
439 function NodeList() {}
443 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337
445 NodeList.prototype.length;
448 * @param {number} index
450 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136
452 NodeList.prototype.item = function(index) {};
456 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922
458 function NamedNodeMap() {}
462 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E
464 NamedNodeMap.prototype.length;
467 * @param {string} name
469 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549
472 NamedNodeMap.prototype.getNamedItem = function(name) {};
475 * @param {number} index
477 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9
480 NamedNodeMap.prototype.item = function(index) {};
483 * @param {string} name
485 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193
487 NamedNodeMap.prototype.removeNamedItem = function(name) {};
492 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788
494 NamedNodeMap.prototype.setNamedItem = function(arg) {};
499 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306
501 function CharacterData() {}
505 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359
507 CharacterData.prototype.data;
511 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C
513 CharacterData.prototype.length;
516 * @param {string} arg
517 * @return {undefined}
518 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F
520 CharacterData.prototype.appendData = function(arg) {};
523 * @param {number} offset
524 * @param {number} count
525 * @return {undefined}
526 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781
528 CharacterData.prototype.deleteData = function(offset, count) {};
531 * @param {number} offset
532 * @param {string} arg
533 * @return {undefined}
534 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F
536 CharacterData.prototype.insertData = function(offset, arg) {};
539 * @param {number} offset
540 * @param {number} count
541 * @param {string} arg
542 * @return {undefined}
543 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB
545 CharacterData.prototype.replaceData = function(offset, count, arg) {};
548 * @param {number} offset
549 * @param {number} count
551 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF
554 CharacterData.prototype.substringData = function(offset, count) {};
559 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024
565 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403
571 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273
573 Attr.prototype.specified;
577 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474
579 Attr.prototype.value;
584 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614
586 function Element() {}
590 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName
592 Element.prototype.tagName;
595 * @param {string} name
596 * @param {number?=} opt_flags
598 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute
599 * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx
602 Element.prototype.getAttribute = function(name, opt_flags) {};
605 * @param {string} name
607 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode
610 Element.prototype.getAttributeNode = function(name) {};
613 * @param {string} tagname
614 * @return {!NodeList}
615 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D
618 Element.prototype.getElementsByTagName = function(tagname) {};
621 * @param {string} name
622 * @return {undefined}
623 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute
625 Element.prototype.removeAttribute = function(name) {};
628 * @param {Attr} oldAttr
630 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode
632 Element.prototype.removeAttributeNode = function(oldAttr) {};
635 * @param {string} name
636 * @param {string|number|boolean} value Values are converted to strings with
637 * ToString, so we accept number and boolean since both convert easily to
639 * @return {undefined}
640 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute
642 Element.prototype.setAttribute = function(name, value) {};
645 * @param {Attr} newAttr
647 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode
649 Element.prototype.setAttributeNode = function(newAttr) {};
652 // The DOM level 3 spec has a good index of these
653 // http://www.w3.org/TR/DOM-Level-3-Events/#event-types
655 /** @type {?function (Event)} */ Element.prototype.onabort;
656 /** @type {?function (Event)} */ Element.prototype.onbeforeinput;
657 /** @type {?function (Event)} */ Element.prototype.onbeforeunload;
658 /** @type {?function (Event)} */ Element.prototype.onblur;
659 /** @type {?function (Event)} */ Element.prototype.onchange;
660 /** @type {?function (Event)} */ Element.prototype.onclick;
661 /** @type {?function (Event)} */ Element.prototype.oncompositionstart;
662 /** @type {?function (Event)} */ Element.prototype.oncompositionupdate;
663 /** @type {?function (Event)} */ Element.prototype.oncompositionend;
664 /** @type {?function (Event)} */ Element.prototype.oncontextmenu;
665 /** @type {?function (Event)} */ Element.prototype.oncopy;
666 /** @type {?function (Event)} */ Element.prototype.oncut;
667 /** @type {?function (Event)} */ Element.prototype.ondblclick;
668 /** @type {?function (Event)} */ Element.prototype.onerror;
669 /** @type {?function (Event)} */ Element.prototype.onfocus;
670 /** @type {?function (Event)} */ Element.prototype.onfocusin;
671 /** @type {?function (Event)} */ Element.prototype.onfocusout;
672 /** @type {?function (Event)} */ Element.prototype.oninput;
673 /** @type {?function (Event)} */ Element.prototype.onkeydown;
674 /** @type {?function (Event)} */ Element.prototype.onkeypress;
675 /** @type {?function (Event)} */ Element.prototype.onkeyup;
676 /** @type {?function (Event)} */ Element.prototype.onload;
677 /** @type {?function (Event)} */ Element.prototype.onunload;
678 /** @type {?function (Event)} */ Element.prototype.onmousedown;
679 /** @type {?function (Event)} */ Element.prototype.onmousemove;
680 /** @type {?function (Event)} */ Element.prototype.onmouseout;
681 /** @type {?function (Event)} */ Element.prototype.onmouseover;
682 /** @type {?function (Event)} */ Element.prototype.onmouseup;
683 /** @type {?function (Event)} */ Element.prototype.onmousewheel;
684 /** @type {?function (Event)} */ Element.prototype.onpaste;
685 /** @type {?function (Event)} */ Element.prototype.onreset;
686 /** @type {?function (Event)} */ Element.prototype.onresize;
687 /** @type {?function (Event)} */ Element.prototype.onscroll;
688 /** @type {?function (Event)} */ Element.prototype.onselect;
689 /** @type {?function (Event=)} */ Element.prototype.onsubmit;
690 /** @type {?function (Event)} */ Element.prototype.ontextinput;
691 /** @type {?function (Event)} */ Element.prototype.onwheel;
695 * @extends {CharacterData}
696 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772
701 * @param {number} offset
703 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D
705 Text.prototype.splitText = function(offset) {};
709 * @extends {CharacterData}
710 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322
712 function Comment() {}
717 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212
719 function CDATASection() {}
724 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927
726 function DocumentType() {}
729 * @type {NamedNodeMap}
730 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630
732 DocumentType.prototype.entities;
736 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134
738 DocumentType.prototype.name;
741 * @type {NamedNodeMap}
742 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF
744 DocumentType.prototype.notations;
749 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9
751 function Notation() {}
755 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0
757 Notation.prototype.publicId;
761 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0
763 Notation.prototype.systemId;
768 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2
774 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025
776 Entity.prototype.publicId;
780 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E
782 Entity.prototype.systemId;
786 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38
788 Entity.prototype.notationName;
793 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490
795 function EntityReference() {}
800 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813
802 function ProcessingInstruction() {}
806 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393
808 ProcessingInstruction.prototype.data;
812 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192
814 ProcessingInstruction.prototype.target;
819 * @implements {EventTarget}
822 Window.prototype.Window;
825 * @param {boolean=} opt_useCapture
828 Window.prototype.addEventListener = function(type, listener, opt_useCapture) {};
831 * @param {boolean=} opt_useCapture
834 Window.prototype.removeEventListener = function(type, listener, opt_useCapture)
838 Window.prototype.dispatchEvent = function(evt) {};
840 /** @type {?function (Event)} */ Window.prototype.onabort;
841 /** @type {?function (Event)} */ Window.prototype.onbeforeunload;
842 /** @type {?function (Event)} */ Window.prototype.onblur;
843 /** @type {?function (Event)} */ Window.prototype.onchange;
844 /** @type {?function (Event)} */ Window.prototype.onclick;
845 /** @type {?function (Event)} */ Window.prototype.onclose;
846 /** @type {?function (Event)} */ Window.prototype.oncontextmenu;
847 /** @type {?function (Event)} */ Window.prototype.ondblclick;
848 /** @type {?function (Event)} */ Window.prototype.ondragdrop;
849 // onerror has a special signature.
850 // See https://developer.mozilla.org/en/DOM/window.onerror
851 // and http://msdn.microsoft.com/en-us/library/cc197053(VS.85).aspx
852 /** @type {?function (string, string, number)} */
853 Window.prototype.onerror;
854 /** @type {?function (Event)} */ Window.prototype.onfocus;
855 /** @type {?function (Event)} */ Window.prototype.onhashchange;
856 /** @type {?function (Event)} */ Window.prototype.onkeydown;
857 /** @type {?function (Event)} */ Window.prototype.onkeypress;
858 /** @type {?function (Event)} */ Window.prototype.onkeyup;
859 /** @type {?function (Event)} */ Window.prototype.onload;
860 /** @type {?function (Event)} */ Window.prototype.onmousedown;
861 /** @type {?function (Event)} */ Window.prototype.onmousemove;
862 /** @type {?function (Event)} */ Window.prototype.onmouseout;
863 /** @type {?function (Event)} */ Window.prototype.onmouseover;
864 /** @type {?function (Event)} */ Window.prototype.onmouseup;
865 /** @type {?function (Event)} */ Window.prototype.onmousewheel;
866 /** @type {?function (Event)} */ Window.prototype.onpaint;
867 /** @type {?function (Event)} */ Window.prototype.onpopstate;
868 /** @type {?function (Event)} */ Window.prototype.onreset;
869 /** @type {?function (Event)} */ Window.prototype.onresize;
870 /** @type {?function (Event)} */ Window.prototype.onscroll;
871 /** @type {?function (Event)} */ Window.prototype.onselect;
872 /** @type {?function (Event=)} */ Window.prototype.onsubmit;
873 /** @type {?function (Event)} */ Window.prototype.onunload;
874 /** @type {?function (Event)} */ Window.prototype.onwheel;