tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

gecko_dom.js (25671B)


      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 */
     16 
     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 */
     27 
     28 // TODO: Almost all of it has not been annotated with types.
     29 
     30 // Gecko DOM;
     31 
     32 /**
     33 * Mozilla only???
     34 * @constructor
     35 * @extends {HTMLElement}
     36 */
     37 function HTMLSpanElement() {}
     38 
     39 /**
     40 * @see https://developer.mozilla.org/en/Components_object
     41 */
     42 Window.prototype.Components;
     43 
     44 /**
     45 * @type Window
     46 * @see https://developer.mozilla.org/en/DOM/window.content
     47 */
     48 Window.prototype.content;
     49 
     50 /**
     51 * @type {boolean}
     52 * @see https://developer.mozilla.org/en/DOM/window.closed
     53 */
     54 Window.prototype.closed;
     55 
     56 /** @see https://developer.mozilla.org/en/DOM/window.controllers */
     57 Window.prototype.controllers;
     58 
     59 /** @see https://developer.mozilla.org/en/DOM/window.crypto */
     60 Window.prototype.crypto;
     61 
     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;
     68 
     69 /** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */
     70 Window.prototype.dialogArguments;
     71 
     72 /** @see https://developer.mozilla.org/en/DOM/window.directories */
     73 Window.prototype.directories;
     74 
     75 /**
     76 * @type {HTMLObjectElement|HTMLIFrameElement|null}
     77 * @see https://developer.mozilla.org/en/DOM/window.frameElement
     78 */
     79 Window.prototype.frameElement;
     80 
     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;
     87 
     88 /**
     89 * @type {boolean}
     90 * @see https://developer.mozilla.org/en/DOM/window.fullScreen
     91 */
     92 Window.prototype.fullScreen;
     93 
     94 /**
     95 * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage
     96 */
     97 Window.prototype.globalStorage;
     98 
     99 /**
    100 * @type {!History}
    101 * @see https://developer.mozilla.org/en/DOM/window.history
    102 */
    103 Window.prototype.history;
    104 
    105 /**
    106 * Returns the number of frames (either frame or iframe elements) in the
    107 * window.
    108 *
    109 * @type {number}
    110 * @see https://developer.mozilla.org/en/DOM/window.length
    111 */
    112 Window.prototype.length;
    113 
    114 /**
    115 * @type {!Location}
    116 * @implicitCast
    117 * @see https://developer.mozilla.org/en/DOM/window.location
    118 */
    119 Window.prototype.location;
    120 
    121 /**
    122 * @see https://developer.mozilla.org/en/DOM/window.locationbar
    123 */
    124 Window.prototype.locationbar;
    125 
    126 /**
    127 * @see https://developer.mozilla.org/en/DOM/window.menubar
    128 */
    129 Window.prototype.menubar;
    130 
    131 /**
    132 * @type {string}
    133 * @see https://developer.mozilla.org/en/DOM/window.name
    134 */
    135 Window.prototype.name;
    136 
    137 /**
    138 * @type {Navigator}
    139 * @see https://developer.mozilla.org/en/DOM/window.navigator
    140 */
    141 Window.prototype.navigator;
    142 
    143 /**
    144 * @type {?Window}
    145 * @see https://developer.mozilla.org/en/DOM/window.opener
    146 */
    147 Window.prototype.opener;
    148 
    149 /**
    150 * @type {!Window}
    151 * @see https://developer.mozilla.org/en/DOM/window.parent
    152 */
    153 Window.prototype.parent;
    154 
    155 /** @see https://developer.mozilla.org/en/DOM/window.personalbar */
    156 Window.prototype.personalbar;
    157 
    158 /** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */
    159 Window.prototype.pkcs11;
    160 
    161 /** @see https://developer.mozilla.org/en/DOM/window */
    162 Window.prototype.returnValue;
    163 
    164 /** @see https://developer.mozilla.org/en/DOM/window.scrollbars */
    165 Window.prototype.scrollbars;
    166 
    167 /**
    168 * @type {number}
    169 * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX
    170 */
    171 Window.prototype.scrollMaxX;
    172 
    173 /**
    174 * @type {number}
    175 * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY
    176 */
    177 Window.prototype.scrollMaxY;
    178 
    179 /**
    180 * @type {!Window}
    181 * @see https://developer.mozilla.org/en/DOM/window.self
    182 */
    183 Window.prototype.self;
    184 
    185 /** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */
    186 Window.prototype.sessionStorage;
    187 
    188 /** @see https://developer.mozilla.org/en/DOM/window.sidebar */
    189 Window.prototype.sidebar;
    190 
    191 /**
    192 * @type {?string}
    193 * @see https://developer.mozilla.org/en/DOM/window.status
    194 */
    195 Window.prototype.status;
    196 
    197 /** @see https://developer.mozilla.org/en/DOM/window.statusbar */
    198 Window.prototype.statusbar;
    199 
    200 /** @see https://developer.mozilla.org/en/DOM/window.toolbar */
    201 Window.prototype.toolbar;
    202 
    203 /**
    204 * @type {!Window}
    205 * @see https://developer.mozilla.org/en/DOM/window.self
    206 */
    207 Window.prototype.top;
    208 
    209 /**
    210 * @type {!Window}
    211 * @see https://developer.mozilla.org/en/DOM/window.self
    212 */
    213 Window.prototype.window;
    214 
    215 /**
    216 * @param {*} message
    217 * @see https://developer.mozilla.org/en/DOM/window.alert
    218 */
    219 Window.prototype.alert = function(message) {};
    220 
    221 /**
    222 * Decodes a string of data which has been encoded using base-64 encoding.
    223 *
    224 * @param {string} encodedData
    225 * @return {string}
    226 * @see https://developer.mozilla.org/en/DOM/window.atob
    227 * @nosideeffects
    228 */
    229 function atob(encodedData) {}
    230 
    231 /** @see https://developer.mozilla.org/en/DOM/window.back */
    232 Window.prototype.back = function() {};
    233 
    234 /** @see https://developer.mozilla.org/en/DOM/window.blur */
    235 Window.prototype.blur = function() {};
    236 
    237 /**
    238 * @param {string} stringToEncode
    239 * @return {string}
    240 * @see https://developer.mozilla.org/en/DOM/window.btoa
    241 * @nosideeffects
    242 */
    243 function btoa(stringToEncode) {}
    244 
    245 /** @deprecated */
    246 Window.prototype.captureEvents;
    247 
    248 /** @see https://developer.mozilla.org/en/DOM/window.close */
    249 Window.prototype.close = function() {};
    250 
    251 /** @see https://developer.mozilla.org/en/DOM/window.find */
    252 Window.prototype.find;
    253 
    254 /** @see https://developer.mozilla.org/en/DOM/window.focus */
    255 Window.prototype.focus = function() {};
    256 
    257 /** @see https://developer.mozilla.org/en/DOM/window.forward */
    258 Window.prototype.forward = function() {};
    259 
    260 /** @see https://developer.mozilla.org/en/DOM/window.getAttention */
    261 Window.prototype.getAttention = function() {};
    262 
    263 /**
    264 * @return {Selection}
    265 * @see https://developer.mozilla.org/en/DOM/window.getSelection
    266 * @nosideeffects
    267 */
    268 Window.prototype.getSelection = function() {};
    269 
    270 /** @see https://developer.mozilla.org/en/DOM/window.home */
    271 Window.prototype.home = function() {};
    272 
    273 Window.prototype.openDialog;
    274 Window.prototype.releaseEvents;
    275 Window.prototype.scrollByLines;
    276 Window.prototype.scrollByPages;
    277 
    278 /**
    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;
    285 
    286 Window.prototype.sizeToContent;
    287 
    288 /**
    289 * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx
    290 */
    291 Window.prototype.stop = function() {};
    292 
    293 Window.prototype.updateCommands;
    294 
    295 // properties of Document
    296 
    297 /**
    298 * @see https://developer.mozilla.org/en/DOM/document.alinkColor
    299 * @type {string}
    300 */
    301 Document.prototype.alinkColor;
    302 
    303 /**
    304 * @see https://developer.mozilla.org/en/DOM/document.anchors
    305 * @type {HTMLCollection}
    306 */
    307 Document.prototype.anchors;
    308 
    309 /**
    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;
    317 
    318 /**
    319 * @see https://developer.mozilla.org/en/DOM/document.bgColor
    320 * @type {string}
    321 */
    322 Document.prototype.bgColor;
    323 
    324 /** @type {HTMLBodyElement} */ Document.prototype.body;
    325 Document.prototype.characterSet;
    326 
    327 /**
    328 * @see https://developer.mozilla.org/en/DOM/document.compatMode
    329 * @type {string}
    330 */
    331 Document.prototype.compatMode;
    332 
    333 Document.prototype.contentType;
    334 /** @type {string} */ Document.prototype.cookie;
    335 Document.prototype.defaultView;
    336 
    337 /**
    338 * @see https://developer.mozilla.org/en/DOM/document.designMode
    339 * @type {string}
    340 */
    341 Document.prototype.designMode;
    342 
    343 Document.prototype.documentURIObject;
    344 
    345 /**
    346 * @see https://developer.mozilla.org/en/DOM/document.domain
    347 * @type {string}
    348 */
    349 Document.prototype.domain;
    350 
    351 /**
    352 * @see https://developer.mozilla.org/en/DOM/document.embeds
    353 * @type {HTMLCollection}
    354 */
    355 Document.prototype.embeds;
    356 
    357 /**
    358 * @see https://developer.mozilla.org/en/DOM/document.fgColor
    359 * @type {string}
    360 */
    361 Document.prototype.fgColor;
    362 
    363 /** @type {Element} */ Document.prototype.firstChild;
    364 
    365 /**
    366 * @see https://developer.mozilla.org/en/DOM/document.forms
    367 * @type {HTMLCollection}
    368 */
    369 Document.prototype.forms;
    370 
    371 /** @type {number} */ Document.prototype.height;
    372 /** @type {HTMLCollection} */ Document.prototype.images;
    373 
    374 /**
    375 * @type {string}
    376 * @see https://developer.mozilla.org/en/DOM/document.lastModified
    377 */
    378 Document.prototype.lastModified;
    379 
    380 /**
    381 * @type {string}
    382 * @see https://developer.mozilla.org/en/DOM/document.linkColor
    383 */
    384 Document.prototype.linkColor;
    385 
    386 /**
    387 * @see https://developer.mozilla.org/en/DOM/document.links
    388 * @type {HTMLCollection}
    389 */
    390 Document.prototype.links;
    391 
    392 /**
    393 * @type {!Location}
    394 * @implicitCast
    395 */
    396 Document.prototype.location;
    397 
    398 Document.prototype.namespaceURI;
    399 Document.prototype.nodePrincipal;
    400 Document.prototype.plugins;
    401 Document.prototype.popupNode;
    402 
    403 /**
    404 * @type {string}
    405 * @see https://developer.mozilla.org/en/DOM/document.referrer
    406 */
    407 Document.prototype.referrer;
    408 
    409 /**
    410 * @type {StyleSheetList}
    411 * @see https://developer.mozilla.org/en/DOM/document.styleSheets
    412 */
    413 Document.prototype.styleSheets;
    414 
    415 /** @type {?string} */ Document.prototype.title;
    416 Document.prototype.tooltipNode;
    417 /** @type {string} */ Document.prototype.URL;
    418 
    419 /**
    420 * @type {string}
    421 * @see https://developer.mozilla.org/en/DOM/document.vlinkColor
    422 */
    423 Document.prototype.vlinkColor;
    424 
    425 /** @type {number} */ Document.prototype.width;
    426 
    427 // Methods of Document
    428 /**
    429 * @see https://developer.mozilla.org/en/DOM/document.clear
    430 */
    431 Document.prototype.clear = function() {};
    432 
    433 /**
    434 * @see https://developer.mozilla.org/en/DOM/document.close
    435 */
    436 Document.prototype.close;
    437 
    438 /**
    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) {};
    448 
    449 /**
    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;
    457 
    458 Document.prototype.evaluate;
    459 
    460 /**
    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;
    467 
    468 /**
    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) {};
    475 
    476 /**
    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) {};
    483 
    484 /**
    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) {};
    491 
    492 /**
    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) {};
    500 
    501 /**
    502 * @param {Node} externalNode
    503 * @param {boolean} deep
    504 * @return {Node}
    505 */
    506 Document.prototype.importNode = function(externalNode, deep) {};
    507 
    508 /** @param {string} uri */
    509 Document.prototype.load = function(uri) {};
    510 Document.prototype.loadOverlay;
    511 
    512 /**
    513 * @see https://developer.mozilla.org/en/DOM/document.open
    514 */
    515 Document.prototype.open;
    516 
    517 /**
    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;
    522 
    523 /**
    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;
    528 
    529 /**
    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;
    534 
    535 /**
    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;
    542 
    543 /**
    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;
    548 
    549 /**
    550 * @see https://developer.mozilla.org/en/DOM/document.write
    551 * @param {string} text
    552 */
    553 Document.prototype.write = function(text) {};
    554 
    555 /**
    556 * @see https://developer.mozilla.org/en/DOM/document.writeln
    557 * @param {string} text
    558 */
    559 Document.prototype.writeln = function(text) {};
    560 
    561 Document.prototype.ononline;
    562 Document.prototype.onoffline;
    563 
    564 // XUL
    565 /**
    566 * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor
    567 * @return {BoxObject}
    568 * @nosideeffects
    569 */
    570 Document.prototype.getBoxObjectFor = function(element) {};
    571 
    572 // From:
    573 // http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl
    574 
    575 /**
    576 * @param {string} tag
    577 * @return {DocumentFragment}
    578 */
    579 Range.prototype.createContextualFragment;
    580 
    581 /**
    582 * @param {Node} parent
    583 * @param {number} offset
    584 * @return {boolean}
    585 * @nosideeffects
    586 */
    587 Range.prototype.isPointInRange;
    588 
    589 /**
    590 * @param {Node} parent
    591 * @param {number} offset
    592 * @return {number}
    593 * @nosideeffects
    594 */
    595 Range.prototype.comparePoint;
    596 
    597 /**
    598 * @param {Node} n
    599 * @return {boolean}
    600 * @nosideeffects
    601 */
    602 Range.prototype.intersectsNode;
    603 
    604 /**
    605 * @param {Node} n
    606 * @return {number}
    607 * @nosideeffects
    608 */
    609 Range.prototype.compareNode;
    610 
    611 
    612 /** @constructor */
    613 function Selection() {}
    614 
    615 /**
    616 * @type {Node}
    617 * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode
    618 */
    619 Selection.prototype.anchorNode;
    620 
    621 /**
    622 * @type {number}
    623 * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset
    624 */
    625 Selection.prototype.anchorOffset;
    626 
    627 /**
    628 * @type {Node}
    629 * @see https://developer.mozilla.org/en/DOM/Selection/focusNode
    630 */
    631 Selection.prototype.focusNode;
    632 
    633 /**
    634 * @type {number}
    635 * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset
    636 */
    637 Selection.prototype.focusOffset;
    638 
    639 /**
    640 * @type {boolean}
    641 * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed
    642 */
    643 Selection.prototype.isCollapsed;
    644 
    645 /**
    646 * @type {number}
    647 * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount
    648 */
    649 Selection.prototype.rangeCount;
    650 
    651 /**
    652 * @param {Range} range
    653 * @return {undefined}
    654 * @see https://developer.mozilla.org/en/DOM/Selection/addRange
    655 */
    656 Selection.prototype.addRange = function(range) {};
    657 
    658 /**
    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) {};
    665 
    666 /**
    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) {};
    673 
    674 /**
    675 * @return {undefined}
    676 * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd
    677 */
    678 Selection.prototype.collapseToEnd = function() {};
    679 
    680 /**
    681 * @return {undefined}
    682 * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart
    683 */
    684 Selection.prototype.collapseToStart = function() {};
    685 
    686 /**
    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) {};
    694 
    695 /**
    696 * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument
    697 */
    698 Selection.prototype.deleteFromDocument = function() {};
    699 
    700 /**
    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) {};
    706 
    707 /**
    708 * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges
    709 */
    710 Selection.prototype.removeAllRanges = function() {};
    711 
    712 /**
    713 * @param {Range} range
    714 * @see https://developer.mozilla.org/en/DOM/Selection/removeRange
    715 */
    716 Selection.prototype.removeRange = function(range) {};
    717 
    718 /**
    719 * @param {Node} parentNode
    720 * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren
    721 */
    722 Selection.prototype.selectAllChildren;
    723 
    724 /**
    725 * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange
    726 */
    727 Selection.prototype.selectionLanguageChange;
    728 
    729 /** @type {NamedNodeMap} */ Element.prototype.attributes;
    730 Element.prototype.baseURIObject;
    731 /** @type {!NodeList} */ Element.prototype.childNodes;
    732 
    733 /**
    734 * @type {!NodeList}
    735 * @see https://developer.mozilla.org/en/DOM/element.children
    736 */
    737 Element.prototype.children;
    738 
    739 /**
    740 * @type {string}
    741 * @implicitCast
    742 */
    743 Element.prototype.className;
    744 /** @type {string} */ Element.prototype.dir;
    745 
    746 /**
    747 * Firebug sets this property on elements it is inserting into the DOM.
    748 * @type {boolean}
    749 */
    750 Element.prototype.firebugIgnore;
    751 
    752 /** @type {Node} */ Element.prototype.firstChild;
    753 /**
    754 * @type {string}
    755 * @implicitCast
    756 */
    757 Element.prototype.id;
    758 /**
    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;
    778 /**
    779 * @type {number}
    780 * @implicitCast
    781 */
    782 Element.prototype.tabIndex;
    783 
    784 /**
    785 * @type {string}
    786 * @implicitCast
    787 */
    788 Element.prototype.textContent;
    789 /** @type {string} */ Element.prototype.title;
    790 
    791 /**
    792 * @param {Node} child
    793 * @return {Node} appendedElement.
    794 * @override
    795 */
    796 Element.prototype.appendChild = function(child) {};
    797 
    798 /**
    799 * @override
    800 * @return {!Element}
    801 */
    802 Element.prototype.cloneNode = function(deep) {};
    803 
    804 /** @override */
    805 Element.prototype.dispatchEvent = function(event) {};
    806 
    807 /** @return {undefined} */
    808 Element.prototype.blur = function() {};
    809 
    810 /** @return {undefined} */
    811 Element.prototype.click = function() {};
    812 
    813 /** @return {undefined} */
    814 Element.prototype.focus = function() {};
    815 
    816 /**
    817 * @return {boolean}
    818 * @override
    819 * @nosideeffects
    820 */
    821 Element.prototype.hasAttributes = function() {};
    822 
    823 /**
    824 * @return {boolean}
    825 * @override
    826 * @nosideeffects
    827 */
    828 Element.prototype.hasChildNodes = function() {};
    829 
    830 /** @override */
    831 Element.prototype.insertBefore = function(insertedNode, adjacentNode) {};
    832 
    833 /**
    834 * @return {undefined}
    835 * @override
    836 */
    837 Element.prototype.normalize = function() {};
    838 
    839 /**
    840 * @param {Node} removedNode
    841 * @return {!Node}
    842 * @override
    843 */
    844 Element.prototype.removeChild = function(removedNode) {};
    845 
    846 /**
    847 * @param {boolean=} opt_useCapture
    848 * @override
    849 */
    850 Element.prototype.removeEventListener = function(type, handler, opt_useCapture)
    851    {};
    852 
    853 /** @override */
    854 Element.prototype.replaceChild = function(insertedNode, replacedNode) {};
    855 
    856 /** @type {number} */
    857 HTMLInputElement.prototype.selectionStart;
    858 
    859 /** @type {number} */
    860 HTMLInputElement.prototype.selectionEnd;
    861 
    862 /**
    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) {};
    869 
    870 /** @type {number} */
    871 HTMLTextAreaElement.prototype.selectionStart;
    872 
    873 /** @type {number} */
    874 HTMLTextAreaElement.prototype.selectionEnd;
    875 
    876 /**
    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) {};
    883 
    884 /** @constructor */
    885 function Navigator() {}
    886 
    887 /**
    888 * @type {string}
    889 * @see https://developer.mozilla.org/en/Navigator.appCodeName
    890 */
    891 Navigator.prototype.appCodeName;
    892 
    893 /**
    894 * @type {string}
    895 * @see https://developer.mozilla.org/en/Navigator.appVersion
    896 */
    897 Navigator.prototype.appName;
    898 
    899 /**
    900 * @type {string}
    901 * @see https://developer.mozilla.org/en/Navigator.appVersion
    902 */
    903 Navigator.prototype.appVersion;
    904 
    905 /**
    906 * @type {string}
    907 * @see https://developer.mozilla.org/en/Navigator.buildID
    908 */
    909 Navigator.prototype.buildID;
    910 
    911 /**
    912 * @type {boolean}
    913 * @see https://developer.mozilla.org/en/Navigator.cookieEnabled
    914 */
    915 Navigator.prototype.cookieEnabled;
    916 
    917 /**
    918 * @type {string}
    919 * @see https://developer.mozilla.org/en/Navigator.language
    920 */
    921 Navigator.prototype.language;
    922 
    923 /**
    924 * @type {MimeTypeArray}
    925 * @see https://developer.mozilla.org/en/Navigator.mimeTypes
    926 */
    927 Navigator.prototype.mimeTypes;
    928 
    929 /**
    930 * @type {boolean}
    931 * @see https://developer.mozilla.org/en/Navigator.onLine
    932 */
    933 Navigator.prototype.onLine;
    934 
    935 /**
    936 * @type {string}
    937 * @see https://developer.mozilla.org/en/Navigator.oscpu
    938 */
    939 Navigator.prototype.oscpu;
    940 
    941 /**
    942 * @type {string}
    943 * @see https://developer.mozilla.org/en/Navigator.platform
    944 */
    945 Navigator.prototype.platform;
    946 
    947 /**
    948 * @type {PluginArray}
    949 * @see https://developer.mozilla.org/en/Navigator.plugins
    950 */
    951 Navigator.prototype.plugins;
    952 
    953 /**
    954 * @type {string}
    955 * @see https://developer.mozilla.org/en/Navigator.product
    956 */
    957 Navigator.prototype.product;
    958 
    959 /**
    960 * @type {string}
    961 * @see https://developer.mozilla.org/en/Navigator.productSub
    962 */
    963 Navigator.prototype.productSub;
    964 
    965 /**
    966 * @type {string}
    967 * @see https://developer.mozilla.org/en/Navigator.securityPolicy
    968 */
    969 Navigator.prototype.securityPolicy;
    970 
    971 /**
    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) {};
    978 
    979 /**
    980 * @type {string}
    981 * @see https://developer.mozilla.org/en/Navigator.userAgent
    982 */
    983 Navigator.prototype.userAgent;
    984 
    985 /**
    986 * @type {string}
    987 * @see https://developer.mozilla.org/en/Navigator.vendor
    988 */
    989 Navigator.prototype.vendor;
    990 
    991 /**
    992 * @type {string}
    993 * @see https://developer.mozilla.org/en/Navigator.vendorSub
    994 */
    995 Navigator.prototype.vendorSub;
    996 
    997 /**
    998 * @type {function(): boolean}
    999 * @see https://developer.mozilla.org/en/Navigator.javaEnabled
   1000 * @nosideeffects
   1001 */
   1002 Navigator.prototype.javaEnabled = function() {};
   1003 
   1004 /**
   1005 * @constructor
   1006 * @see https://developer.mozilla.org/en/DOM/PluginArray
   1007 */
   1008 function PluginArray() {}
   1009 
   1010 /** @type {number} */
   1011 PluginArray.prototype.length;
   1012 
   1013 /**
   1014 * @param {number} index
   1015 * @return {Plugin}
   1016 */
   1017 PluginArray.prototype.item = function(index) {};
   1018 
   1019 /**
   1020 * @param {string} name
   1021 * @return {Plugin}
   1022 */
   1023 PluginArray.prototype.namedItem = function(name) {};
   1024 
   1025 /** @param {boolean=} reloadDocuments */
   1026 PluginArray.prototype.refresh = function(reloadDocuments) {};
   1027 
   1028 /** @constructor */
   1029 function MimeTypeArray() {}
   1030 
   1031 /**
   1032 * @param {number} index
   1033 * @return {MimeType}
   1034 */
   1035 MimeTypeArray.prototype.item = function(index) {};
   1036 
   1037 /**
   1038 * @type {number}
   1039 * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes
   1040 */
   1041 MimeTypeArray.prototype.length;
   1042 
   1043 /**
   1044 * @param {string} name
   1045 * @return {MimeType}
   1046 */
   1047 MimeTypeArray.prototype.namedItem = function(name) {};
   1048 
   1049 /** @constructor */
   1050 function MimeType() {}
   1051 
   1052 /** @type {string} */
   1053 MimeType.prototype.description;
   1054 
   1055 /** @type {Plugin} */
   1056 MimeType.prototype.enabledPlugin;
   1057 
   1058 /** @type {string} */
   1059 MimeType.prototype.suffixes;
   1060 
   1061 /** @type {string} */
   1062 MimeType.prototype.type;
   1063 
   1064 /** @constructor */
   1065 function Plugin() {}
   1066 
   1067 /** @type {string} */
   1068 Plugin.prototype.description;
   1069 
   1070 /** @type {string} */
   1071 Plugin.prototype.filename;
   1072 
   1073 /** @type {number} */
   1074 Plugin.prototype.length;
   1075 
   1076 /** @type {string} */
   1077 Plugin.prototype.name;
   1078 
   1079 /** @constructor */
   1080 function BoxObject() {}
   1081 
   1082 /** @type {Element} */
   1083 BoxObject.prototype.element;
   1084 
   1085 /** @type {number} */
   1086 BoxObject.prototype.screenX;
   1087 
   1088 /** @type {number} */
   1089 BoxObject.prototype.screenY;
   1090 
   1091 /** @type {number} */
   1092 BoxObject.prototype.x;
   1093 
   1094 /** @type {number} */
   1095 BoxObject.prototype.y;
   1096 
   1097 /** @type {number} */
   1098 BoxObject.prototype.width;
   1099 
   1100 
   1101 /**
   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;
   1106 
   1107 /**
   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;
   1112 
   1113 
   1114 /**
   1115 * @param {Element} element
   1116 * @param {?string=} pseudoElt
   1117 * @return {CSSStyleDeclaration}
   1118 * @nosideeffects
   1119 */
   1120 function getComputedStyle(element, pseudoElt) {}