Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / remoting / webapp / js_proto / dom_proto.js
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // This file contains various hacks needed to inform JSCompiler of various
6 // WebKit- and Chrome-specific properties and methods. It is used only with
7 // JSCompiler to verify the type-correctness of our code.
8
9 /** @type {HTMLElement} */
10 Document.prototype.activeElement;
11
12 /** @type {Array.<HTMLElement>} */
13 Document.prototype.all;
14
15 /** @type {boolean} */
16 Document.prototype.hidden;
17
18 /** @type {function(string): void} */
19 Document.prototype.execCommand = function(command) {};
20
21 /** @return {void} Nothing. */
22 Document.prototype.webkitCancelFullScreen = function() {};
23
24 /** @type {boolean} */
25 Document.prototype.webkitIsFullScreen;
26
27 /** @type {boolean} */
28 Document.prototype.webkitHidden;
29
30
31 /** @type {number} */
32 Element.ALLOW_KEYBOARD_INPUT;
33
34 /** @param {number} flags
35 /** @return {void} Nothing. */
36 Element.prototype.webkitRequestFullScreen = function(flags) {};
37
38 /** @type {boolean} */
39 Element.prototype.hidden;
40
41
42 /** @constructor
43     @extends {HTMLElement} */
44 var HTMLEmbedElement = function() { };
45
46 /** @type {number} */
47 HTMLEmbedElement.prototype.height;
48
49 /** @type {number} */
50 HTMLEmbedElement.prototype.width;
51
52 /** @type {Window} */
53 HTMLIFrameElement.prototype.contentWindow;
54
55
56 /** @type {Object} */
57 var JSON = {};
58
59 /**
60  * @param {string} jsonStr The string to parse.
61  * @param {(function(string, *) : *)=} opt_reviver
62  * @return {*} The JSON object.
63  */
64 JSON.parse = function(jsonStr, opt_reviver) {};
65
66 /**
67  * @param {*} jsonObj Input object.
68  * @param {(Array.<string>|(function(string, *) : *)|null)=} opt_replacer
69  * @param {(number|string)=} opt_space
70  * @return {string} json string which represents jsonObj.
71  */
72 JSON.stringify = function(jsonObj, opt_replacer, opt_space) {};
73
74
75 /**
76  * @param {string} name
77  * @return {string}
78  */
79 Node.prototype.getAttribute = function(name) { };
80
81 /** @type {string} */
82 Node.prototype.value;
83
84 /** @type {{top: string, left: string, bottom: string, right: string}} */
85 Node.prototype.style;
86
87
88 /**
89  * @constructor
90  * @param {function(Array.<MutationRecord>):void} callback
91  */
92 var MutationObserver = function(callback) {};
93
94 /**
95  * @param {Element} element
96  * @param {Object} options
97  */
98 MutationObserver.prototype.observe = function(element, options) {};
99
100
101 /** @constructor */
102 var MutationRecord = function() {};
103
104 /** @type {string} */
105 MutationRecord.prototype.attributeName;
106
107 /** @type {Element} */
108 MutationRecord.prototype.target;
109
110 /** @type {string} */
111 MutationRecord.prototype.type;
112
113
114 /** @type {{getRandomValues: function((Uint16Array|Uint8Array)):void}} */
115 Window.prototype.crypto;
116
117
118 /**
119  * @constructor
120  * @implements {EventTarget} */
121 var EventTargetStub = function() {};
122
123 /**
124  * @param {string} type
125  * @param {(EventListener|function(Event): (boolean|undefined|null))} listener
126  * @param {boolean=} opt_useCapture
127  */
128 EventTargetStub.prototype.addEventListener =
129     function(type, listener, opt_useCapture) {}
130
131 /**
132  * @param {string} type
133  * @param {(EventListener|function(Event): (boolean|undefined|null))} listener
134  * @param {boolean=} opt_useCapture
135  */
136 EventTargetStub.prototype.removeEventListener =
137     function(type, listener, opt_useCapture) {}
138
139 /**
140  * @param {Event} event
141  */
142 EventTargetStub.prototype.dispatchEvent =
143     function(event) {}
144
145 /**
146  * @constructor
147  * @extends {EventTargetStub}
148  */
149 var SourceBuffer = function() {}
150
151 /** @type {boolean} */
152 SourceBuffer.prototype.updating;
153
154 /** @type {TimeRanges} */
155 SourceBuffer.prototype.buffered;
156
157 /**
158  * @param {ArrayBuffer} buffer
159  */
160 SourceBuffer.prototype.appendBuffer = function(buffer) {}
161
162 /**
163  * @param {number} start
164  * @param {number} end
165  */
166 SourceBuffer.prototype.remove = function(start, end) {}
167
168 /**
169  * @constructor
170  * @extends {EventTargetStub}
171  */
172 var MediaSource = function() {}
173
174 /**
175  * @param {string} format
176  * @return {SourceBuffer}
177  */
178 MediaSource.prototype.addSourceBuffer = function(format) {}
179
180 /**
181  * @constructor
182  * @param {function(function(*), function(*)) : void} init
183  */
184 var Promise = function (init) {};
185
186 /**
187  * @param {function(?=) : (Promise|void)} onFulfill
188  * @param {function(?=) : (Promise|void)=} onReject
189  * @return {Promise}
190  */
191 Promise.prototype.then = function (onFulfill, onReject) {};
192
193 /**
194  * @param {function(*) : void} onReject
195  * @return {Promise}
196  */
197 Promise.prototype['catch'] = function (onReject) {};
198
199 /**
200  * @param {Array.<Promise>} promises
201  * @return {Promise}
202  */
203 Promise.prototype.race = function (promises) {}
204
205 /**
206  * @param {Array.<Promise>} promises
207  * @return {Promise}
208  */
209 Promise.prototype.all = function (promises) {};
210
211 /**
212  * @param {*=} reason
213  * @return {Promise}
214  */
215 Promise.reject = function (reason) {};
216
217 /**
218  * @param {*=} value
219  * @return {Promise}
220  */
221 Promise.resolve = function (value) {};
222
223 /**
224  * @param {string} type
225  * @param {boolean} canBubble
226  * @param {boolean} cancelable
227  * @param {Window} view
228  * @param {number} detail
229  * @param {number} screenX
230  * @param {number} screenY
231  * @param {number} clientX
232  * @param {number} clientY
233  * @param {boolean} ctrlKey
234  * @param {boolean} altKey
235  * @param {boolean} shiftKey
236  * @param {boolean} metaKey
237  * @param {number} button
238  * @param {EventTarget} relatedTarget
239  */
240 Event.prototype.initMouseEvent = function(
241     type, canBubble, cancelable, view, detail,
242     screenX, screenY, clientX, clientY,
243     ctrlKey, altKey, shiftKey, metaKey,
244     button, relatedTarget) {};