15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file.
45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// This file contains various hacks needed to inform JSCompiler of various
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// WebKit- and Chrome-specific properties and methods. It is used only with
75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// JSCompiler to verify the type-correctness of our code.
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {HTMLElement} */
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.activeElement;
115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {Array.<HTMLElement>} */
135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.all;
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {boolean} */
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.hidden;
175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {function(string): void} */
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.execCommand = function(command) {};
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @return {void} Nothing. */
225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.webkitCancelFullScreen = function() {};
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {boolean} */
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.webkitIsFullScreen;
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {boolean} */
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Document.prototype.webkitHidden;
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** @type {Element} */
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciDocument.prototype.firstElementChild;
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {number} */
345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Element.ALLOW_KEYBOARD_INPUT;
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @param {number} flags
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @return {void} Nothing. */
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Element.prototype.webkitRequestFullScreen = function(flags) {};
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {boolean} */
415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Element.prototype.hidden;
425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** @type {string} */
441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciElement.prototype.localName;
451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** @type {string} */
471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciElement.prototype.textContent;
481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @constructor
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    @extends {HTMLElement} */
525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var HTMLEmbedElement = function() { };
535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {number} */
555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)HTMLEmbedElement.prototype.height;
565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {number} */
585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)HTMLEmbedElement.prototype.width;
595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {Window} */
615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)HTMLIFrameElement.prototype.contentWindow;
625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {Object} */
655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var JSON = {};
665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {string} jsonStr The string to parse.
695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {(function(string, *) : *)=} opt_reviver
705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @return {*} The JSON object.
715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)JSON.parse = function(jsonStr, opt_reviver) {};
735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {*} jsonObj Input object.
765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {(Array.<string>|(function(string, *) : *)|null)=} opt_replacer
775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {(number|string)=} opt_space
785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @return {string} json string which represents jsonObj.
795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)JSON.stringify = function(jsonObj, opt_replacer, opt_space) {};
815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {string} name
855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @return {string}
865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Node.prototype.getAttribute = function(name) { };
885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {string} */
905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Node.prototype.value;
915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {{top: string, left: string, bottom: string, right: string}} */
935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Node.prototype.style;
945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @constructor
985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {function(Array.<MutationRecord>):void} callback
995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var MutationObserver = function(callback) {};
1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {Element} element
1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {Object} options
1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)MutationObserver.prototype.observe = function(element, options) {};
1075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @constructor */
1105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var MutationRecord = function() {};
1115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {string} */
1135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)MutationRecord.prototype.attributeName;
1145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {Element} */
1165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)MutationRecord.prototype.target;
1175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {string} */
1195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)MutationRecord.prototype.type;
1205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {{getRandomValues: function((Uint16Array|Uint8Array)):void}} */
1235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)Window.prototype.crypto;
1245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @constructor
1285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @implements {EventTarget} */
1295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var EventTargetStub = function() {};
1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {string} type
1335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {(EventListener|function(Event): (boolean|undefined|null))} listener
1345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {boolean=} opt_useCapture
1355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)EventTargetStub.prototype.addEventListener =
1375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    function(type, listener, opt_useCapture) {}
1385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {string} type
1415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {(EventListener|function(Event): (boolean|undefined|null))} listener
1425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {boolean=} opt_useCapture
1435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)EventTargetStub.prototype.removeEventListener =
1455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    function(type, listener, opt_useCapture) {}
1465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {Event} event
1495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)EventTargetStub.prototype.dispatchEvent =
1515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    function(event) {}
1525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @constructor
1555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @extends {EventTargetStub}
1565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var SourceBuffer = function() {}
1585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/** @type {boolean} */
1605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)SourceBuffer.prototype.updating;
1615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
162f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)/** @type {TimeRanges} */
163f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)SourceBuffer.prototype.buffered;
164f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
1655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {ArrayBuffer} buffer
1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)SourceBuffer.prototype.appendBuffer = function(buffer) {}
1695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
171f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) * @param {number} start
172f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) * @param {number} end
173f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) */
174f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)SourceBuffer.prototype.remove = function(start, end) {}
175f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
176f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)/**
1775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @constructor
1785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @extends {EventTargetStub}
1795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)var MediaSource = function() {}
1815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/**
1835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @param {string} format
1845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * @return {SourceBuffer}
1855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) */
1865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)MediaSource.prototype.addSourceBuffer = function(format) {}
187cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
188cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
189cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @constructor
190cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {function(function(*), function(*)) : void} init
191cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
192cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)var Promise = function (init) {};
193cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
194cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
1956e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {function(?=) : (Promise|void)} onFulfill
1966e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {function(?=) : (Promise|void)=} onReject
197cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Promise}
198cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
199cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)Promise.prototype.then = function (onFulfill, onReject) {};
200cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
201cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
202cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {function(*) : void} onReject
203cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Promise}
204cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
205cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)Promise.prototype['catch'] = function (onReject) {};
206cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
207cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
208cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {Array.<Promise>} promises
209cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Promise}
210cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
211cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)Promise.prototype.race = function (promises) {}
212cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
213cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
214cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {Array.<Promise>} promises
215cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Promise}
216cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
217cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)Promise.prototype.all = function (promises) {};
218cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
219cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
2205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * @param {*=} reason
221cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Promise}
222cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
223cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)Promise.reject = function (reason) {};
224cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
225cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/**
2265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) * @param {*=} value
227cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @return {Promise}
228cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */
229cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)Promise.resolve = function (value) {};
2306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)
2316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)/**
2326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {string} type
2336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {boolean} canBubble
2346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {boolean} cancelable
2356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {Window} view
2366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {number} detail
2376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {number} screenX
2386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {number} screenY
2396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {number} clientX
2406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {number} clientY
2416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {boolean} ctrlKey
2426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {boolean} altKey
2436e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {boolean} shiftKey
2446e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {boolean} metaKey
2456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {number} button
2466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) * @param {EventTarget} relatedTarget
2476e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) */
2486e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)Event.prototype.initMouseEvent = function(
2496e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    type, canBubble, cancelable, view, detail,
2506e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    screenX, screenY, clientX, clientY,
2516e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    ctrlKey, altKey, shiftKey, metaKey,
2526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)    button, relatedTarget) {};
2531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
2541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/**
2551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @param {number} begin
2561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @param {number=} end
2571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @return {ArrayBuffer}
2581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */
2591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciArrayBuffer.prototype.slice = function(begin, end) {};
260