Backed out changeset 7272b7396c78 (bug 1932758) for causing fenix debug failures...
[gecko.git] / dom / canvas / test / webgl-conf / checkout / deqp / temp_externs / gecko_dom.js
bloba3314d81234242ac407fe827983959780180767f
1 /*
2  * Copyright 2008 The Closure Compiler Authors
3  *
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
17 /**
18  * @fileoverview Definitions for all the extensions over
19  *  W3C's DOM specification by Gecko. This file depends on
20  *  w3c_dom2.js.
21  *
22  * When a non-standard extension appears in both Gecko and IE, we put
23  * it in gecko_dom.js
24  *
25  * @externs
26  */
28 // TODO: Almost all of it has not been annotated with types.
30 // Gecko DOM;
32 /**
33  * Mozilla only???
34  * @constructor
35  * @extends {HTMLElement}
36  */
37 function HTMLSpanElement() {}
39 /**
40  * @see https://developer.mozilla.org/en/Components_object
41  */
42 Window.prototype.Components;
44 /**
45  * @type Window
46  * @see https://developer.mozilla.org/en/DOM/window.content
47  */
48 Window.prototype.content;
50 /**
51  * @type {boolean}
52  * @see https://developer.mozilla.org/en/DOM/window.closed
53  */
54 Window.prototype.closed;
56 /** @see https://developer.mozilla.org/en/DOM/window.controllers */
57 Window.prototype.controllers;
59 /** @see https://developer.mozilla.org/en/DOM/window.crypto */
60 Window.prototype.crypto;
62 /**
63  * Gets/sets the status bar text for the given window.
64  * @type {string}
65  * @see https://developer.mozilla.org/en/DOM/window.defaultStatus
66  */
67 Window.prototype.defaultStatus;
69 /** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */
70 Window.prototype.dialogArguments;
72 /** @see https://developer.mozilla.org/en/DOM/window.directories */
73 Window.prototype.directories;
75 /**
76  * @type {HTMLObjectElement|HTMLIFrameElement|null}
77  * @see https://developer.mozilla.org/en/DOM/window.frameElement
78  */
79 Window.prototype.frameElement;
81 /**
82  * Allows lookup of frames by index or by name.
83  * @type {?Object}
84  * @see https://developer.mozilla.org/en/DOM/window.frames
85  */
86 Window.prototype.frames;
88 /**
89  * @type {boolean}
90  * @see https://developer.mozilla.org/en/DOM/window.fullScreen
91  */
92 Window.prototype.fullScreen;
94 /**
95  * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage
96  */
97 Window.prototype.globalStorage;
99 /**
100  * @type {!History}
101  * @see https://developer.mozilla.org/en/DOM/window.history
102  */
103 Window.prototype.history;
106  * Returns the number of frames (either frame or iframe elements) in the
107  * window.
109  * @type {number}
110  * @see https://developer.mozilla.org/en/DOM/window.length
111  */
112 Window.prototype.length;
115  * @type {!Location}
116  * @implicitCast
117  * @see https://developer.mozilla.org/en/DOM/window.location
118  */
119 Window.prototype.location;
122  * @see https://developer.mozilla.org/en/DOM/window.locationbar
123  */
124 Window.prototype.locationbar;
127  * @see https://developer.mozilla.org/en/DOM/window.menubar
128  */
129 Window.prototype.menubar;
132  * @type {string}
133  * @see https://developer.mozilla.org/en/DOM/window.name
134  */
135 Window.prototype.name;
138  * @type {Navigator}
139  * @see https://developer.mozilla.org/en/DOM/window.navigator
140  */
141 Window.prototype.navigator;
144  * @type {?Window}
145  * @see https://developer.mozilla.org/en/DOM/window.opener
146  */
147 Window.prototype.opener;
150  * @type {!Window}
151  * @see https://developer.mozilla.org/en/DOM/window.parent
152  */
153 Window.prototype.parent;
155 /** @see https://developer.mozilla.org/en/DOM/window.personalbar */
156 Window.prototype.personalbar;
158 /** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */
159 Window.prototype.pkcs11;
161 /** @see https://developer.mozilla.org/en/DOM/window */
162 Window.prototype.returnValue;
164 /** @see https://developer.mozilla.org/en/DOM/window.scrollbars */
165 Window.prototype.scrollbars;
168  * @type {number}
169  * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX
170  */
171 Window.prototype.scrollMaxX;
174  * @type {number}
175  * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY
176  */
177 Window.prototype.scrollMaxY;
180  * @type {!Window}
181  * @see https://developer.mozilla.org/en/DOM/window.self
182  */
183 Window.prototype.self;
185 /** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */
186 Window.prototype.sessionStorage;
188 /** @see https://developer.mozilla.org/en/DOM/window.sidebar */
189 Window.prototype.sidebar;
192  * @type {?string}
193  * @see https://developer.mozilla.org/en/DOM/window.status
194  */
195 Window.prototype.status;
197 /** @see https://developer.mozilla.org/en/DOM/window.statusbar */
198 Window.prototype.statusbar;
200 /** @see https://developer.mozilla.org/en/DOM/window.toolbar */
201 Window.prototype.toolbar;
204  * @type {!Window}
205  * @see https://developer.mozilla.org/en/DOM/window.self
206  */
207 Window.prototype.top;
210  * @type {!Window}
211  * @see https://developer.mozilla.org/en/DOM/window.self
212  */
213 Window.prototype.window;
216  * @param {*} message
217  * @see https://developer.mozilla.org/en/DOM/window.alert
218  */
219 Window.prototype.alert = function(message) {};
222  * Decodes a string of data which has been encoded using base-64 encoding.
224  * @param {string} encodedData
225  * @return {string}
226  * @see https://developer.mozilla.org/en/DOM/window.atob
227  * @nosideeffects
228  */
229 function atob(encodedData) {}
231 /** @see https://developer.mozilla.org/en/DOM/window.back */
232 Window.prototype.back = function() {};
234 /** @see https://developer.mozilla.org/en/DOM/window.blur */
235 Window.prototype.blur = function() {};
238  * @param {string} stringToEncode
239  * @return {string}
240  * @see https://developer.mozilla.org/en/DOM/window.btoa
241  * @nosideeffects
242  */
243 function btoa(stringToEncode) {}
245 /** @deprecated */
246 Window.prototype.captureEvents;
248 /** @see https://developer.mozilla.org/en/DOM/window.close */
249 Window.prototype.close = function() {};
251 /** @see https://developer.mozilla.org/en/DOM/window.find */
252 Window.prototype.find;
254 /** @see https://developer.mozilla.org/en/DOM/window.focus */
255 Window.prototype.focus = function() {};
257 /** @see https://developer.mozilla.org/en/DOM/window.forward */
258 Window.prototype.forward = function() {};
260 /** @see https://developer.mozilla.org/en/DOM/window.getAttention */
261 Window.prototype.getAttention = function() {};
264  * @return {Selection}
265  * @see https://developer.mozilla.org/en/DOM/window.getSelection
266  * @nosideeffects
267  */
268 Window.prototype.getSelection = function() {};
270 /** @see https://developer.mozilla.org/en/DOM/window.home */
271 Window.prototype.home = function() {};
273 Window.prototype.openDialog;
274 Window.prototype.releaseEvents;
275 Window.prototype.scrollByLines;
276 Window.prototype.scrollByPages;
279  * @param {string} uri
280  * @param {?=} opt_arguments
281  * @param {string=} opt_options
282  * @see https://developer.mozilla.org/en/DOM/window.showModalDialog
283  */
284 Window.prototype.showModalDialog;
286 Window.prototype.sizeToContent;
289  * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx
290  */
291 Window.prototype.stop = function() {};
293 Window.prototype.updateCommands;
295 // properties of Document
298  * @see https://developer.mozilla.org/en/DOM/document.alinkColor
299  * @type {string}
300  */
301 Document.prototype.alinkColor;
304  * @see https://developer.mozilla.org/en/DOM/document.anchors
305  * @type {HTMLCollection}
306  */
307 Document.prototype.anchors;
310  * @see https://developer.mozilla.org/en/DOM/document.applets
311  * @type {HTMLCollection}
312  */
313 Document.prototype.applets;
314 /** @type {boolean} */ Document.prototype.async;
315 /** @type {string?} */ Document.prototype.baseURI;
316 Document.prototype.baseURIObject;
319  * @see https://developer.mozilla.org/en/DOM/document.bgColor
320  * @type {string}
321  */
322 Document.prototype.bgColor;
324 /** @type {HTMLBodyElement} */ Document.prototype.body;
325 Document.prototype.characterSet;
328  * @see https://developer.mozilla.org/en/DOM/document.compatMode
329  * @type {string}
330  */
331 Document.prototype.compatMode;
333 Document.prototype.contentType;
334 /** @type {string} */ Document.prototype.cookie;
335 Document.prototype.defaultView;
338  * @see https://developer.mozilla.org/en/DOM/document.designMode
339  * @type {string}
340  */
341 Document.prototype.designMode;
343 Document.prototype.documentURIObject;
346  * @see https://developer.mozilla.org/en/DOM/document.domain
347  * @type {string}
348  */
349 Document.prototype.domain;
352  * @see https://developer.mozilla.org/en/DOM/document.embeds
353  * @type {HTMLCollection}
354  */
355 Document.prototype.embeds;
358  * @see https://developer.mozilla.org/en/DOM/document.fgColor
359  * @type {string}
360  */
361 Document.prototype.fgColor;
363 /** @type {Element} */ Document.prototype.firstChild;
366  * @see https://developer.mozilla.org/en/DOM/document.forms
367  * @type {HTMLCollection}
368  */
369 Document.prototype.forms;
371 /** @type {number} */ Document.prototype.height;
372 /** @type {HTMLCollection} */ Document.prototype.images;
375  * @type {string}
376  * @see https://developer.mozilla.org/en/DOM/document.lastModified
377  */
378 Document.prototype.lastModified;
381  * @type {string}
382  * @see https://developer.mozilla.org/en/DOM/document.linkColor
383  */
384 Document.prototype.linkColor;
387  * @see https://developer.mozilla.org/en/DOM/document.links
388  * @type {HTMLCollection}
389  */
390 Document.prototype.links;
393  * @type {!Location}
394  * @implicitCast
395  */
396 Document.prototype.location;
398 Document.prototype.namespaceURI;
399 Document.prototype.nodePrincipal;
400 Document.prototype.plugins;
401 Document.prototype.popupNode;
404  * @type {string}
405  * @see https://developer.mozilla.org/en/DOM/document.referrer
406  */
407 Document.prototype.referrer;
410  * @type {StyleSheetList}
411  * @see https://developer.mozilla.org/en/DOM/document.styleSheets
412  */
413 Document.prototype.styleSheets;
415 /** @type {?string} */ Document.prototype.title;
416 Document.prototype.tooltipNode;
417 /** @type {string} */ Document.prototype.URL;
420  * @type {string}
421  * @see https://developer.mozilla.org/en/DOM/document.vlinkColor
422  */
423 Document.prototype.vlinkColor;
425 /** @type {number} */ Document.prototype.width;
427 // Methods of Document
429  * @see https://developer.mozilla.org/en/DOM/document.clear
430  */
431 Document.prototype.clear = function() {};
434  * @see https://developer.mozilla.org/en/DOM/document.close
435  */
436 Document.prototype.close;
439  * @see https://developer.mozilla.org/en-US/docs/Web/API/document.createElementNS
440  * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate
441  * @param {?string} namespaceURI
442  * @param {string} qualifiedName
443  * @param {string=} opt_typeExtension
444  * @return {!Element}
445  */
446 Document.prototype.createElementNS =
447     function(namespaceURI, qualifiedName, opt_typeExtension) {};
450  * @param {string} type
451  * @return {Event}
452  */
453 Document.prototype.createEvent = function(type) {};
454 Document.prototype.createNSResolver;
455 /** @return {Range} */ Document.prototype.createRange = function() {};
456 Document.prototype.createTreeWalker;
458 Document.prototype.evaluate;
461  * @param {string} commandName
462  * @param {?boolean=} opt_showUi
463  * @param {*=} opt_value
464  * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands
465  */
466 Document.prototype.execCommand;
469  * @param {string} s id.
470  * @return {HTMLElement}
471  * @nosideeffects
472  * @see https://developer.mozilla.org/en/DOM/document.getElementById
473  */
474 Document.prototype.getElementById = function(s) {};
477  * @param {string} name
478  * @return {!NodeList}
479  * @nosideeffects
480  * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName
481  */
482 Document.prototype.getElementsByClassName = function(name) {};
485  * @param {string} name
486  * @return {!NodeList}
487  * @nosideeffects
488  * @see https://developer.mozilla.org/en/DOM/document.getElementsByName
489  */
490 Document.prototype.getElementsByName = function(name) {};
493  * @param {string} namespace
494  * @param {string} name
495  * @return {!NodeList}
496  * @nosideeffects
497  * @see https://developer.mozilla.org/en/DOM/document.getElementsByTagNameNS
498  */
499 Document.prototype.getElementsByTagNameNS = function(namespace, name) {};
502  * @param {Node} externalNode
503  * @param {boolean} deep
504  * @return {Node}
505  */
506 Document.prototype.importNode = function(externalNode, deep) {};
508 /** @param {string} uri */
509 Document.prototype.load = function(uri) {};
510 Document.prototype.loadOverlay;
513  * @see https://developer.mozilla.org/en/DOM/document.open
514  */
515 Document.prototype.open;
518  * @see https://developer.mozilla.org/en/Midas
519  * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx
520  */
521 Document.prototype.queryCommandEnabled;
524  * @see https://developer.mozilla.org/en/Midas
525  * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx
526  */
527 Document.prototype.queryCommandIndeterm;
530  * @see https://developer.mozilla.org/en/Midas
531  * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx
532  */
533 Document.prototype.queryCommandState;
536  * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported
537  * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx
538  * @param {string} command
539  * @return {?} Implementation-specific.
540  */
541 Document.prototype.queryCommandSupported;
544  * @see https://developer.mozilla.org/en/Midas
545  * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx
546  */
547 Document.prototype.queryCommandValue;
550  * @see https://developer.mozilla.org/en/DOM/document.write
551  * @param {string} text
552  */
553 Document.prototype.write = function(text) {};
556  * @see https://developer.mozilla.org/en/DOM/document.writeln
557  * @param {string} text
558  */
559 Document.prototype.writeln = function(text) {};
561 Document.prototype.ononline;
562 Document.prototype.onoffline;
564 // XUL
566  * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor
567  * @return {BoxObject}
568  * @nosideeffects
569  */
570 Document.prototype.getBoxObjectFor = function(element) {};
572 // From:
573 // http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl
576  * @param {string} tag
577  * @return {DocumentFragment}
578  */
579 Range.prototype.createContextualFragment;
582  * @param {Node} parent
583  * @param {number} offset
584  * @return {boolean}
585  * @nosideeffects
586  */
587 Range.prototype.isPointInRange;
590  * @param {Node} parent
591  * @param {number} offset
592  * @return {number}
593  * @nosideeffects
594  */
595 Range.prototype.comparePoint;
598  * @param {Node} n
599  * @return {boolean}
600  * @nosideeffects
601  */
602 Range.prototype.intersectsNode;
605  * @param {Node} n
606  * @return {number}
607  * @nosideeffects
608  */
609 Range.prototype.compareNode;
612 /** @constructor */
613 function Selection() {}
616  * @type {Node}
617  * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode
618  */
619 Selection.prototype.anchorNode;
622  * @type {number}
623  * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset
624  */
625 Selection.prototype.anchorOffset;
628  * @type {Node}
629  * @see https://developer.mozilla.org/en/DOM/Selection/focusNode
630  */
631 Selection.prototype.focusNode;
634  * @type {number}
635  * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset
636  */
637 Selection.prototype.focusOffset;
640  * @type {boolean}
641  * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed
642  */
643 Selection.prototype.isCollapsed;
646  * @type {number}
647  * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount
648  */
649 Selection.prototype.rangeCount;
652  * @param {Range} range
653  * @return {undefined}
654  * @see https://developer.mozilla.org/en/DOM/Selection/addRange
655  */
656 Selection.prototype.addRange = function(range) {};
659  * @param {number} index
660  * @return {Range}
661  * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt
662  * @nosideeffects
663  */
664 Selection.prototype.getRangeAt = function(index) {};
667  * @param {Node} node
668  * @param {number} index
669  * @return {undefined}
670  * @see https://developer.mozilla.org/en/DOM/Selection/collapse
671  */
672 Selection.prototype.collapse = function(node, index) {};
675  * @return {undefined}
676  * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd
677  */
678 Selection.prototype.collapseToEnd = function() {};
681  * @return {undefined}
682  * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart
683  */
684 Selection.prototype.collapseToStart = function() {};
687  * @param {Node} node
688  * @param {boolean} partlyContained
689  * @return {boolean}
690  * @see https://developer.mozilla.org/en/DOM/Selection/containsNode
691  * @nosideeffects
692  */
693 Selection.prototype.containsNode = function(node, partlyContained) {};
696  * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument
697  */
698 Selection.prototype.deleteFromDocument = function() {};
701  * @param {Node} parentNode
702  * @param {number} offset
703  * @see https://developer.mozilla.org/en/DOM/Selection/extend
704  */
705 Selection.prototype.extend = function(parentNode, offset) {};
708  * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges
709  */
710 Selection.prototype.removeAllRanges = function() {};
713  * @param {Range} range
714  * @see https://developer.mozilla.org/en/DOM/Selection/removeRange
715  */
716 Selection.prototype.removeRange = function(range) {};
719  * @param {Node} parentNode
720  * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren
721  */
722 Selection.prototype.selectAllChildren;
725  * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange
726  */
727 Selection.prototype.selectionLanguageChange;
729 /** @type {NamedNodeMap} */ Element.prototype.attributes;
730 Element.prototype.baseURIObject;
731 /** @type {!NodeList} */ Element.prototype.childNodes;
734  * @type {!NodeList}
735  * @see https://developer.mozilla.org/en/DOM/element.children
736  */
737 Element.prototype.children;
740  * @type {string}
741  * @implicitCast
742  */
743 Element.prototype.className;
744 /** @type {string} */ Element.prototype.dir;
747  * Firebug sets this property on elements it is inserting into the DOM.
748  * @type {boolean}
749  */
750 Element.prototype.firebugIgnore;
752 /** @type {Node} */ Element.prototype.firstChild;
754  * @type {string}
755  * @implicitCast
756  */
757 Element.prototype.id;
759  * @type {string}
760  * @implicitCast
761  */
762 Element.prototype.innerHTML;
763 /** @type {string} */ Element.prototype.lang;
764 /** @type {Node} */ Element.prototype.lastChild;
765 Element.prototype.localName;
766 Element.prototype.name;
767 Element.prototype.namespaceURI;
768 /** @type {Node} */ Element.prototype.nextSibling;
769 Element.prototype.nodeName;
770 Element.prototype.nodePrincipal;
771 /** @type {number} */ Element.prototype.nodeType;
772 Element.prototype.nodeValue;
773 /** @type {Document} */ Element.prototype.ownerDocument;
774 /** @type {Node} */ Element.prototype.parentNode;
775 Element.prototype.prefix;
776 /** @type {Node} */ Element.prototype.previousSibling;
777 /** @type {!CSSStyleDeclaration} */ Element.prototype.style;
779  * @type {number}
780  * @implicitCast
781  */
782 Element.prototype.tabIndex;
785  * @type {string}
786  * @implicitCast
787  */
788 Element.prototype.textContent;
789 /** @type {string} */ Element.prototype.title;
792  * @param {Node} child
793  * @return {Node} appendedElement.
794  * @override
795  */
796 Element.prototype.appendChild = function(child) {};
799  * @override
800  * @return {!Element}
801  */
802 Element.prototype.cloneNode = function(deep) {};
804 /** @override */
805 Element.prototype.dispatchEvent = function(event) {};
807 /** @return {undefined} */
808 Element.prototype.blur = function() {};
810 /** @return {undefined} */
811 Element.prototype.click = function() {};
813 /** @return {undefined} */
814 Element.prototype.focus = function() {};
817  * @return {boolean}
818  * @override
819  * @nosideeffects
820  */
821 Element.prototype.hasAttributes = function() {};
824  * @return {boolean}
825  * @override
826  * @nosideeffects
827  */
828 Element.prototype.hasChildNodes = function() {};
830 /** @override */
831 Element.prototype.insertBefore = function(insertedNode, adjacentNode) {};
834  * @return {undefined}
835  * @override
836  */
837 Element.prototype.normalize = function() {};
840  * @param {Node} removedNode
841  * @return {!Node}
842  * @override
843  */
844 Element.prototype.removeChild = function(removedNode) {};
847  * @param {boolean=} opt_useCapture
848  * @override
849  */
850 Element.prototype.removeEventListener = function(type, handler, opt_useCapture)
851     {};
853 /** @override */
854 Element.prototype.replaceChild = function(insertedNode, replacedNode) {};
856 /** @type {number} */
857 HTMLInputElement.prototype.selectionStart;
859 /** @type {number} */
860 HTMLInputElement.prototype.selectionEnd;
863  * @param {number} selectionStart
864  * @param {number} selectionEnd
865  * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange
866  */
867 HTMLInputElement.prototype.setSelectionRange =
868     function(selectionStart, selectionEnd) {};
870 /** @type {number} */
871 HTMLTextAreaElement.prototype.selectionStart;
873 /** @type {number} */
874 HTMLTextAreaElement.prototype.selectionEnd;
877  * @param {number} selectionStart
878  * @param {number} selectionEnd
879  * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange
880  */
881 HTMLTextAreaElement.prototype.setSelectionRange =
882     function(selectionStart, selectionEnd) {};
884 /** @constructor */
885 function Navigator() {}
888  * @type {string}
889  * @see https://developer.mozilla.org/en/Navigator.appCodeName
890  */
891 Navigator.prototype.appCodeName;
894  * @type {string}
895  * @see https://developer.mozilla.org/en/Navigator.appVersion
896  */
897 Navigator.prototype.appName;
900  * @type {string}
901  * @see https://developer.mozilla.org/en/Navigator.appVersion
902  */
903 Navigator.prototype.appVersion;
906  * @type {string}
907  * @see https://developer.mozilla.org/en/Navigator.buildID
908  */
909 Navigator.prototype.buildID;
912  * @type {boolean}
913  * @see https://developer.mozilla.org/en/Navigator.cookieEnabled
914  */
915 Navigator.prototype.cookieEnabled;
918  * @type {string}
919  * @see https://developer.mozilla.org/en/Navigator.language
920  */
921 Navigator.prototype.language;
924  * @type {MimeTypeArray}
925  * @see https://developer.mozilla.org/en/Navigator.mimeTypes
926  */
927 Navigator.prototype.mimeTypes;
930  * @type {boolean}
931  * @see https://developer.mozilla.org/en/Navigator.onLine
932  */
933 Navigator.prototype.onLine;
936  * @type {string}
937  * @see https://developer.mozilla.org/en/Navigator.oscpu
938  */
939 Navigator.prototype.oscpu;
942  * @type {string}
943  * @see https://developer.mozilla.org/en/Navigator.platform
944  */
945 Navigator.prototype.platform;
948  * @type {PluginArray}
949  * @see https://developer.mozilla.org/en/Navigator.plugins
950  */
951 Navigator.prototype.plugins;
954  * @type {string}
955  * @see https://developer.mozilla.org/en/Navigator.product
956  */
957 Navigator.prototype.product;
960  * @type {string}
961  * @see https://developer.mozilla.org/en/Navigator.productSub
962  */
963 Navigator.prototype.productSub;
966  * @type {string}
967  * @see https://developer.mozilla.org/en/Navigator.securityPolicy
968  */
969 Navigator.prototype.securityPolicy;
972  * @param {string} url
973  * @param {ArrayBufferView|Blob|string|FormData=} opt_data
974  * @return {boolean}
975  * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon
976  */
977 Navigator.prototype.sendBeacon = function(url, opt_data) {};
980  * @type {string}
981  * @see https://developer.mozilla.org/en/Navigator.userAgent
982  */
983 Navigator.prototype.userAgent;
986  * @type {string}
987  * @see https://developer.mozilla.org/en/Navigator.vendor
988  */
989 Navigator.prototype.vendor;
992  * @type {string}
993  * @see https://developer.mozilla.org/en/Navigator.vendorSub
994  */
995 Navigator.prototype.vendorSub;
998  * @type {function(): boolean}
999  * @see https://developer.mozilla.org/en/Navigator.javaEnabled
1000  * @nosideeffects
1001  */
1002 Navigator.prototype.javaEnabled = function() {};
1005  * @constructor
1006  * @see https://developer.mozilla.org/en/DOM/PluginArray
1007  */
1008 function PluginArray() {}
1010 /** @type {number} */
1011 PluginArray.prototype.length;
1014  * @param {number} index
1015  * @return {Plugin}
1016  */
1017 PluginArray.prototype.item = function(index) {};
1020  * @param {string} name
1021  * @return {Plugin}
1022  */
1023 PluginArray.prototype.namedItem = function(name) {};
1025 /** @param {boolean=} reloadDocuments */
1026 PluginArray.prototype.refresh = function(reloadDocuments) {};
1028 /** @constructor */
1029 function MimeTypeArray() {}
1032  * @param {number} index
1033  * @return {MimeType}
1034  */
1035 MimeTypeArray.prototype.item = function(index) {};
1038  * @type {number}
1039  * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes
1040  */
1041 MimeTypeArray.prototype.length;
1044  * @param {string} name
1045  * @return {MimeType}
1046  */
1047 MimeTypeArray.prototype.namedItem = function(name) {};
1049 /** @constructor */
1050 function MimeType() {}
1052 /** @type {string} */
1053 MimeType.prototype.description;
1055 /** @type {Plugin} */
1056 MimeType.prototype.enabledPlugin;
1058 /** @type {string} */
1059 MimeType.prototype.suffixes;
1061 /** @type {string} */
1062 MimeType.prototype.type;
1064 /** @constructor */
1065 function Plugin() {}
1067 /** @type {string} */
1068 Plugin.prototype.description;
1070 /** @type {string} */
1071 Plugin.prototype.filename;
1073 /** @type {number} */
1074 Plugin.prototype.length;
1076 /** @type {string} */
1077 Plugin.prototype.name;
1079 /** @constructor */
1080 function BoxObject() {}
1082 /** @type {Element} */
1083 BoxObject.prototype.element;
1085 /** @type {number} */
1086 BoxObject.prototype.screenX;
1088 /** @type {number} */
1089 BoxObject.prototype.screenY;
1091 /** @type {number} */
1092 BoxObject.prototype.x;
1094 /** @type {number} */
1095 BoxObject.prototype.y;
1097 /** @type {number} */
1098 BoxObject.prototype.width;
1102  * @type {number}
1103  * @see http://www.google.com/codesearch/p?hl=en#eksvcKKj5Ng/mozilla/dom/public/idl/html/nsIDOMNSHTMLImageElement.idl&q=naturalWidth
1104  */
1105 HTMLImageElement.prototype.naturalWidth;
1108  * @type {number}
1109  * @see http://www.google.com/codesearch/p?hl=en#eksvcKKj5Ng/mozilla/dom/public/idl/html/nsIDOMNSHTMLImageElement.idl&q=naturalHeight
1110  */
1111 HTMLImageElement.prototype.naturalHeight;
1115  * @param {Element} element
1116  * @param {?string=} pseudoElt
1117  * @return {CSSStyleDeclaration}
1118  * @nosideeffects
1119  */
1120 function getComputedStyle(element, pseudoElt) {}