google-closure-compiler 20170806.0.0 → 20170910.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler.jar +0 -0
- package/contrib/externs/angular-1.6.js +1 -1
- package/contrib/externs/chai-3.5.js +3 -2
- package/contrib/externs/chrome.js +669 -0
- package/contrib/externs/chrome_extensions.js +38 -9
- package/contrib/externs/google_youtube_iframe.js +65 -20
- package/contrib/externs/maps/google_maps_api_v3.js +4 -4
- package/contrib/externs/maps/google_maps_api_v3_28.js +3 -3
- package/contrib/externs/maps/google_maps_api_v3_29.js +1 -1
- package/contrib/externs/maps/google_maps_api_v3_exp.js +1 -1
- package/contrib/externs/polymer-1.0.js +22 -0
- package/contrib/externs/sinon-1.17.js +9 -4
- package/package.json +1 -1
package/compiler.jar
CHANGED
|
Binary file
|
|
@@ -2299,7 +2299,7 @@ angular.$routeProvider.Params.prototype.controller;
|
|
|
2299
2299
|
/** @type {string|undefined} */
|
|
2300
2300
|
angular.$routeProvider.Params.prototype.controllerAs;
|
|
2301
2301
|
|
|
2302
|
-
/** @type {string|undefined} */
|
|
2302
|
+
/** @type {string|function(!Object<string, string>): string|undefined} */
|
|
2303
2303
|
angular.$routeProvider.Params.prototype.template;
|
|
2304
2304
|
|
|
2305
2305
|
/** @type {string|!Object|function(!Object<string,string>=)} */
|
|
@@ -130,10 +130,11 @@ ExpectChain.prototype.below = function(value, opt_message) {};
|
|
|
130
130
|
ExpectChain.prototype.most = function(value, opt_message) {};
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
|
-
* @param {number}
|
|
133
|
+
* @param {number} start
|
|
134
|
+
* @param {number} finish
|
|
134
135
|
* @param {string=} opt_message
|
|
135
136
|
*/
|
|
136
|
-
ExpectChain.prototype.within = function(
|
|
137
|
+
ExpectChain.prototype.within = function(start, finish, opt_message) {};
|
|
137
138
|
|
|
138
139
|
/**
|
|
139
140
|
* @param {function(new: Object)} constructor
|
|
@@ -0,0 +1,669 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2013 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 globals in Chrome. This file describes the
|
|
19
|
+
* externs API for the chrome.* object when running in a normal browser
|
|
20
|
+
* context. For APIs available in Chrome Extensions, see chrome_extensions.js
|
|
21
|
+
* in this directory.
|
|
22
|
+
* @externs
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* namespace
|
|
28
|
+
* @const
|
|
29
|
+
*/
|
|
30
|
+
var chrome = {};
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @see http://developer.chrome.com/apps/runtime.html#type-Port
|
|
35
|
+
* @constructor
|
|
36
|
+
*/
|
|
37
|
+
function Port() {}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/** @type {string} */
|
|
41
|
+
Port.prototype.name;
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
/** @type {!ChromeEvent} */
|
|
45
|
+
Port.prototype.onDisconnect;
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/** @type {!ChromeEvent} */
|
|
49
|
+
Port.prototype.onMessage;
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/** @type {!MessageSender|undefined} */
|
|
53
|
+
Port.prototype.sender;
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* @param {*} obj Message object.
|
|
58
|
+
* @return {undefined}
|
|
59
|
+
*/
|
|
60
|
+
Port.prototype.postMessage = function(obj) {};
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
/** @return {undefined} */
|
|
64
|
+
Port.prototype.disconnect = function() {};
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @see https://developer.chrome.com/extensions/events.html
|
|
69
|
+
* @constructor
|
|
70
|
+
* TODO(tbreisacher): Update *Listener methods to take {function()}
|
|
71
|
+
* instead of {!Function}. See discussion at go/ChromeEvent-TODO
|
|
72
|
+
*/
|
|
73
|
+
function ChromeEvent() {}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @param {!Function} callback
|
|
78
|
+
* @return {undefined}
|
|
79
|
+
*/
|
|
80
|
+
ChromeEvent.prototype.addListener = function(callback) {};
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @param {!Function} callback
|
|
85
|
+
* @return {undefined}
|
|
86
|
+
*/
|
|
87
|
+
ChromeEvent.prototype.removeListener = function(callback) {};
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @param {!Function} callback
|
|
92
|
+
* @return {boolean}
|
|
93
|
+
*/
|
|
94
|
+
ChromeEvent.prototype.hasListener = function(callback) {};
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
/** @return {boolean} */
|
|
98
|
+
ChromeEvent.prototype.hasListeners = function() {};
|
|
99
|
+
|
|
100
|
+
// TODO(tbreisacher): Add the addRules, getRules, and removeRules methods?
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Event whose listeners take a string parameter.
|
|
106
|
+
* @constructor
|
|
107
|
+
*/
|
|
108
|
+
function ChromeStringEvent() {}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @param {function(string): void} callback
|
|
113
|
+
* @return {undefined}
|
|
114
|
+
*/
|
|
115
|
+
ChromeStringEvent.prototype.addListener = function(callback) {};
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @param {function(string): void} callback
|
|
120
|
+
* @return {undefined}
|
|
121
|
+
*/
|
|
122
|
+
ChromeStringEvent.prototype.removeListener = function(callback) {};
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* @param {function(string): void} callback
|
|
127
|
+
* @return {boolean}
|
|
128
|
+
*/
|
|
129
|
+
ChromeStringEvent.prototype.hasListener = function(callback) {};
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
/** @return {boolean} */
|
|
133
|
+
ChromeStringEvent.prototype.hasListeners = function() {};
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Event whose listeners take a boolean parameter.
|
|
139
|
+
* @constructor
|
|
140
|
+
*/
|
|
141
|
+
|
|
142
|
+
function ChromeBooleanEvent() {}
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @param {function(boolean): void} callback
|
|
147
|
+
* @return {undefined}
|
|
148
|
+
*/
|
|
149
|
+
ChromeBooleanEvent.prototype.addListener = function(callback) {};
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* @param {function(boolean): void} callback
|
|
154
|
+
* @return {undefined}
|
|
155
|
+
*/
|
|
156
|
+
ChromeBooleanEvent.prototype.removeListener = function(callback) {};
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* @param {function(boolean): void} callback
|
|
161
|
+
* @return {boolean}
|
|
162
|
+
*/
|
|
163
|
+
ChromeBooleanEvent.prototype.hasListener = function(callback) {};
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @return {boolean}
|
|
168
|
+
*/
|
|
169
|
+
ChromeBooleanEvent.prototype.hasListeners = function() {};
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Event whose listeners take a number parameter.
|
|
175
|
+
* @constructor
|
|
176
|
+
*/
|
|
177
|
+
|
|
178
|
+
function ChromeNumberEvent() {}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* @param {function(number): void} callback
|
|
183
|
+
* @return {undefined}
|
|
184
|
+
*/
|
|
185
|
+
ChromeNumberEvent.prototype.addListener = function(callback) {};
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* @param {function(number): void} callback
|
|
190
|
+
* @return {undefined}
|
|
191
|
+
*/
|
|
192
|
+
ChromeNumberEvent.prototype.removeListener = function(callback) {};
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* @param {function(number): void} callback
|
|
197
|
+
* @return {boolean}
|
|
198
|
+
*/
|
|
199
|
+
ChromeNumberEvent.prototype.hasListener = function(callback) {};
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* @return {boolean}
|
|
204
|
+
*/
|
|
205
|
+
ChromeNumberEvent.prototype.hasListeners = function() {};
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Event whose listeners take an Object parameter.
|
|
211
|
+
* @constructor
|
|
212
|
+
*/
|
|
213
|
+
function ChromeObjectEvent() {}
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* @param {function(!Object): void} callback Callback.
|
|
218
|
+
* @return {undefined}
|
|
219
|
+
*/
|
|
220
|
+
ChromeObjectEvent.prototype.addListener = function(callback) {};
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* @param {function(!Object): void} callback Callback.
|
|
225
|
+
* @return {undefined}
|
|
226
|
+
*/
|
|
227
|
+
ChromeObjectEvent.prototype.removeListener = function(callback) {};
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* @param {function(!Object): void} callback Callback.
|
|
232
|
+
* @return {boolean}
|
|
233
|
+
*/
|
|
234
|
+
ChromeObjectEvent.prototype.hasListener = function(callback) {};
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* @return {boolean}
|
|
239
|
+
*/
|
|
240
|
+
ChromeObjectEvent.prototype.hasListeners = function() {};
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Event whose listeners take a string array parameter.
|
|
246
|
+
* @constructor
|
|
247
|
+
*/
|
|
248
|
+
function ChromeStringArrayEvent() {}
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* @param {function(!Array<string>): void} callback
|
|
253
|
+
* @return {undefined}
|
|
254
|
+
*/
|
|
255
|
+
ChromeStringArrayEvent.prototype.addListener = function(callback) {};
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* @param {function(!Array<string>): void} callback
|
|
260
|
+
* @return {undefined}
|
|
261
|
+
*/
|
|
262
|
+
ChromeStringArrayEvent.prototype.removeListener = function(callback) {};
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* @param {function(!Array<string>): void} callback
|
|
267
|
+
* @return {boolean}
|
|
268
|
+
*/
|
|
269
|
+
ChromeStringArrayEvent.prototype.hasListener = function(callback) {};
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
/** @return {boolean} */
|
|
273
|
+
ChromeStringArrayEvent.prototype.hasListeners = function() {};
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Event whose listeners take two strings as parameters.
|
|
279
|
+
* @constructor
|
|
280
|
+
*/
|
|
281
|
+
function ChromeStringStringEvent() {}
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* @param {function(string, string): void} callback
|
|
286
|
+
* @return {undefined}
|
|
287
|
+
*/
|
|
288
|
+
ChromeStringStringEvent.prototype.addListener = function(callback) {};
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* @param {function(string, string): void} callback
|
|
293
|
+
* @return {undefined}
|
|
294
|
+
*/
|
|
295
|
+
ChromeStringStringEvent.prototype.removeListener = function(callback) {};
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* @param {function(string, string): void} callback
|
|
300
|
+
* @return {boolean}
|
|
301
|
+
*/
|
|
302
|
+
ChromeStringStringEvent.prototype.hasListener = function(callback) {};
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
/** @return {boolean} */
|
|
306
|
+
ChromeStringStringEvent.prototype.hasListeners = function() {};
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* @see http://developer.chrome.com/extensions/runtime.html#type-MessageSender
|
|
312
|
+
* @constructor
|
|
313
|
+
*/
|
|
314
|
+
function MessageSender() {}
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
/** @type {!Tab|undefined} */
|
|
318
|
+
MessageSender.prototype.tab;
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
/** @type {number|undefined} */
|
|
322
|
+
MessageSender.prototype.frameId;
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
/** @type {string|undefined} */
|
|
326
|
+
MessageSender.prototype.id;
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
/** @type {string|undefined} */
|
|
330
|
+
MessageSender.prototype.url;
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
/** @type {string|undefined} */
|
|
334
|
+
MessageSender.prototype.tlsChannelId;
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* @enum {string}
|
|
339
|
+
* @see https://developer.chrome.com/extensions/tabs#type-MutedInfoReason
|
|
340
|
+
*/
|
|
341
|
+
var MutedInfoReason = {
|
|
342
|
+
USER: '',
|
|
343
|
+
CAPTURE: '',
|
|
344
|
+
EXTENSION: '',
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* @see https://developer.chrome.com/extensions/tabs#type-MutedInfo
|
|
350
|
+
* @constructor
|
|
351
|
+
*/
|
|
352
|
+
var MutedInfo = function() {};
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
/** @type {boolean} */
|
|
356
|
+
MutedInfo.prototype.muted;
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
/** @type {!MutedInfoReason|string|undefined} */
|
|
360
|
+
MutedInfo.prototype.reason;
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
/** @type {string|undefined} */
|
|
364
|
+
MutedInfo.prototype.extensionId;
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* @see https://developer.chrome.com/extensions/tabs#type-Tab
|
|
371
|
+
* @constructor
|
|
372
|
+
*/
|
|
373
|
+
function Tab() {}
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
// TODO: Make this field optional once dependent projects have been updated.
|
|
377
|
+
/** @type {number} */
|
|
378
|
+
Tab.prototype.id;
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
/** @type {number} */
|
|
382
|
+
Tab.prototype.index;
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
/** @type {number} */
|
|
386
|
+
Tab.prototype.windowId;
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
// TODO: Make this field optional once dependent projects have been updated.
|
|
390
|
+
/** @type {number} */
|
|
391
|
+
Tab.prototype.openerTabId;
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
/** @type {boolean} */
|
|
395
|
+
Tab.prototype.highlighted;
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
/** @type {boolean} */
|
|
399
|
+
Tab.prototype.active;
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
/** @type {boolean} */
|
|
403
|
+
Tab.prototype.pinned;
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
/** @type {boolean|undefined} */
|
|
407
|
+
Tab.prototype.audible;
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
/** @type {boolean} */
|
|
411
|
+
Tab.prototype.discarded;
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
/** @type {boolean} */
|
|
415
|
+
Tab.prototype.autoDiscardable;
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
/** @type {!MutedInfo|undefined} */
|
|
419
|
+
Tab.prototype.mutedInfo;
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
// TODO: Make this field optional once dependent projects have been updated.
|
|
423
|
+
/** @type {string} */
|
|
424
|
+
Tab.prototype.url;
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
// TODO: Make this field optional once dependent projects have been updated.
|
|
428
|
+
/** @type {string} */
|
|
429
|
+
Tab.prototype.title;
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
// TODO: Make this field optional once dependent projects have been updated.
|
|
433
|
+
/** @type {string} */
|
|
434
|
+
Tab.prototype.favIconUrl;
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
// TODO: Make this field optional once dependent projects have been updated.
|
|
438
|
+
/** @type {string} */
|
|
439
|
+
Tab.prototype.status;
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
/** @type {boolean} */
|
|
443
|
+
Tab.prototype.incognito;
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
/** @type {number|undefined} */
|
|
447
|
+
Tab.prototype.width;
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
/** @type {number|undefined} */
|
|
451
|
+
Tab.prototype.height;
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
/** @type {string|undefined} */
|
|
455
|
+
Tab.prototype.sessionId;
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
/** @const */
|
|
459
|
+
chrome.app = {};
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* @see https://developer.chrome.com/webstore/inline_installation#already-installed
|
|
463
|
+
* @type {boolean}
|
|
464
|
+
*/
|
|
465
|
+
chrome.app.isInstalled;
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* @const
|
|
469
|
+
* @see https://developer.chrome.com/apps/webstore
|
|
470
|
+
*/
|
|
471
|
+
chrome.webstore = {};
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* @param {string|function()|function(string, string=)=}
|
|
476
|
+
* opt_urlOrSuccessCallbackOrFailureCallback Either the URL to install or
|
|
477
|
+
* the succcess callback taking no arg or the failure callback taking an
|
|
478
|
+
* error string arg.
|
|
479
|
+
* @param {function()|function(string, string=)=}
|
|
480
|
+
* opt_successCallbackOrFailureCallback Either the succcess callback taking
|
|
481
|
+
* no arg or the failure callback taking an error string arg.
|
|
482
|
+
* @param {function(string, string=)=} opt_failureCallback The failure callback.
|
|
483
|
+
* @return {undefined}
|
|
484
|
+
*/
|
|
485
|
+
chrome.webstore.install = function(
|
|
486
|
+
opt_urlOrSuccessCallbackOrFailureCallback,
|
|
487
|
+
opt_successCallbackOrFailureCallback,
|
|
488
|
+
opt_failureCallback) {};
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
/** @type {!ChromeStringEvent} */
|
|
492
|
+
chrome.webstore.onInstallStageChanged;
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
/** @type {!ChromeNumberEvent} */
|
|
496
|
+
chrome.webstore.onDownloadProgress;
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* @see https://developer.chrome.com/extensions/runtime.html
|
|
501
|
+
* @const
|
|
502
|
+
*/
|
|
503
|
+
chrome.runtime = {};
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
/** @type {!Object|undefined} */
|
|
507
|
+
chrome.runtime.lastError = {};
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
/** @type {string|undefined} */
|
|
511
|
+
chrome.runtime.lastError.message;
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* @param {string|!Object=} opt_extensionIdOrConnectInfo Either the
|
|
516
|
+
* extensionId to connect to, in which case connectInfo params can be
|
|
517
|
+
* passed in the next optional argument, or the connectInfo params.
|
|
518
|
+
* @param {!Object=} opt_connectInfo The connectInfo object,
|
|
519
|
+
* if arg1 was the extensionId to connect to.
|
|
520
|
+
* @return {!Port} New port.
|
|
521
|
+
*/
|
|
522
|
+
chrome.runtime.connect = function(
|
|
523
|
+
opt_extensionIdOrConnectInfo, opt_connectInfo) {};
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* @param {string|*} extensionIdOrMessage Either the extensionId to send the
|
|
528
|
+
* message to, in which case the message is passed as the next arg, or the
|
|
529
|
+
* message itself.
|
|
530
|
+
* @param {(*|!Object|function(*): void)=} opt_messageOrOptsOrCallback
|
|
531
|
+
* One of:
|
|
532
|
+
* The message, if arg1 was the extensionId.
|
|
533
|
+
* The options for message sending, if arg1 was the message and this
|
|
534
|
+
* argument is not a function.
|
|
535
|
+
* The callback, if arg1 was the message and this argument is a function.
|
|
536
|
+
* @param {(!Object|function(*): void)=} opt_optsOrCallback
|
|
537
|
+
* Either the options for message sending, if arg2 was the message,
|
|
538
|
+
* or the callback.
|
|
539
|
+
* @param {function(*): void=} opt_callback The callback function which
|
|
540
|
+
* takes a JSON response object sent by the handler of the request.
|
|
541
|
+
* @return {undefined}
|
|
542
|
+
*/
|
|
543
|
+
chrome.runtime.sendMessage = function(
|
|
544
|
+
extensionIdOrMessage, opt_messageOrOptsOrCallback, opt_optsOrCallback,
|
|
545
|
+
opt_callback) {};
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Returns an object representing current load times. Note that the properties
|
|
550
|
+
* on the object do not change and the function must be called again to get
|
|
551
|
+
* up-to-date data.
|
|
552
|
+
*
|
|
553
|
+
* @return {!ChromeLoadTimes}
|
|
554
|
+
*/
|
|
555
|
+
chrome.loadTimes = function() {};
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* The data object given by chrome.loadTimes().
|
|
561
|
+
* @constructor
|
|
562
|
+
*/
|
|
563
|
+
function ChromeLoadTimes() {}
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
/** @type {number} */
|
|
567
|
+
ChromeLoadTimes.prototype.requestTime;
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
/** @type {number} */
|
|
571
|
+
ChromeLoadTimes.prototype.startLoadTime;
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
/** @type {number} */
|
|
575
|
+
ChromeLoadTimes.prototype.commitLoadTime;
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
/** @type {number} */
|
|
579
|
+
ChromeLoadTimes.prototype.finishDocumentLoadTime;
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
/** @type {number} */
|
|
583
|
+
ChromeLoadTimes.prototype.finishLoadTime;
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
/** @type {number} */
|
|
587
|
+
ChromeLoadTimes.prototype.firstPaintTime;
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
/** @type {number} */
|
|
591
|
+
ChromeLoadTimes.prototype.firstPaintAfterLoadTime;
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
/** @type {number} */
|
|
595
|
+
ChromeLoadTimes.prototype.navigationType;
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* True iff the resource was fetched over SPDY.
|
|
600
|
+
* @type {boolean}
|
|
601
|
+
*/
|
|
602
|
+
ChromeLoadTimes.prototype.wasFetchedViaSpdy;
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
/** @type {boolean} */
|
|
606
|
+
ChromeLoadTimes.prototype.wasNpnNegotiated;
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
/** @type {string} */
|
|
610
|
+
ChromeLoadTimes.prototype.npnNegotiatedProtocol;
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
/** @type {boolean} */
|
|
614
|
+
ChromeLoadTimes.prototype.wasAlternateProtocolAvailable;
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
/** @type {string} */
|
|
618
|
+
ChromeLoadTimes.prototype.connectionInfo;
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
/**
|
|
622
|
+
* Returns an object containing timing information.
|
|
623
|
+
* @return {!ChromeCsiInfo}
|
|
624
|
+
*/
|
|
625
|
+
chrome.csi = function() {};
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* The data object given by chrome.csi().
|
|
631
|
+
* @constructor
|
|
632
|
+
*/
|
|
633
|
+
function ChromeCsiInfo() {}
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* Same as chrome.loadTimes().requestTime, if defined.
|
|
638
|
+
* Otherwise, gives the same value as chrome.loadTimes().startLoadTime.
|
|
639
|
+
* In milliseconds, truncated.
|
|
640
|
+
* @type {number}
|
|
641
|
+
*/
|
|
642
|
+
ChromeCsiInfo.prototype.startE;
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Same as chrome.loadTimes().finishDocumentLoadTime but in milliseconds and
|
|
647
|
+
* truncated.
|
|
648
|
+
* @type {number}
|
|
649
|
+
*/
|
|
650
|
+
ChromeCsiInfo.prototype.onloadT;
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
/**
|
|
654
|
+
* The time since startE in milliseconds.
|
|
655
|
+
* @type {number}
|
|
656
|
+
*/
|
|
657
|
+
ChromeCsiInfo.prototype.pageT;
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
/** @type {number} */
|
|
661
|
+
ChromeCsiInfo.prototype.tran;
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
/**
|
|
665
|
+
* @param {string|!ArrayBuffer|!Object} message
|
|
666
|
+
* @see https://developers.google.com/native-client/devguide/tutorial
|
|
667
|
+
* @return {undefined}
|
|
668
|
+
*/
|
|
669
|
+
HTMLEmbedElement.prototype.postMessage = function(message) {};
|
|
@@ -2184,6 +2184,22 @@ chrome.copresence.onStatusUpdated;
|
|
|
2184
2184
|
chrome.enterprise = {};
|
|
2185
2185
|
|
|
2186
2186
|
|
|
2187
|
+
/**
|
|
2188
|
+
* @constructor
|
|
2189
|
+
* deviceAttributes allows for reading device attributes.
|
|
2190
|
+
* @see https://developer.chrome.com/extensions/enterprise_deviceAttributes.
|
|
2191
|
+
*/
|
|
2192
|
+
chrome.enterprise.deviceAttributes = function() {};
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
/**
|
|
2196
|
+
* @param {function(string): void} callback Called with the device identifier
|
|
2197
|
+
* of the directory API when received.
|
|
2198
|
+
* @return {undefined}
|
|
2199
|
+
*/
|
|
2200
|
+
chrome.enterprise.deviceAttributes.getDirectoryDeviceId = function(callback) {};
|
|
2201
|
+
|
|
2202
|
+
|
|
2187
2203
|
/**
|
|
2188
2204
|
* @constructor
|
|
2189
2205
|
* platformKeys allows for generating hardware-backed keys and the installation
|
|
@@ -2449,9 +2465,16 @@ chrome.runtime.openOptionsPage = function(opt_callback) {};
|
|
|
2449
2465
|
|
|
2450
2466
|
/**
|
|
2451
2467
|
* Manifest information returned from chrome.runtime.getManifest. See
|
|
2452
|
-
*
|
|
2453
|
-
*
|
|
2454
|
-
*
|
|
2468
|
+
* https://developer.chrome.com/extensions/manifest.html and
|
|
2469
|
+
* https://developer.chrome.com/apps/manifest.html
|
|
2470
|
+
*
|
|
2471
|
+
* Note that:
|
|
2472
|
+
* 1) There are several other fields not included here. They should be
|
|
2473
|
+
* added to these externs as needed.
|
|
2474
|
+
* 2) There are some distinct fields for app vs extension manifests. The
|
|
2475
|
+
* below manifest definition contains the union of all fields; unique
|
|
2476
|
+
* fields should be annotated as such (see e.g. kiosk_only property
|
|
2477
|
+
* below).
|
|
2455
2478
|
* @constructor
|
|
2456
2479
|
*/
|
|
2457
2480
|
chrome.runtime.Manifest = function() {};
|
|
@@ -2481,6 +2504,14 @@ chrome.runtime.Manifest.prototype.oauth2;
|
|
|
2481
2504
|
chrome.runtime.Manifest.prototype.permissions;
|
|
2482
2505
|
|
|
2483
2506
|
|
|
2507
|
+
/**
|
|
2508
|
+
* App-only manifest field.
|
|
2509
|
+
* @see https://developer.chrome.com/apps/manifest
|
|
2510
|
+
* @type {boolean|undefined}
|
|
2511
|
+
*/
|
|
2512
|
+
chrome.runtime.Manifest.prototype.kiosk_only;
|
|
2513
|
+
|
|
2514
|
+
|
|
2484
2515
|
|
|
2485
2516
|
/**
|
|
2486
2517
|
* Oauth2 info in the manifest.
|
|
@@ -2499,7 +2530,8 @@ chrome.runtime.Manifest.Oauth2.prototype.scopes;
|
|
|
2499
2530
|
|
|
2500
2531
|
|
|
2501
2532
|
/**
|
|
2502
|
-
*
|
|
2533
|
+
* https://developer.chrome.com/extensions/runtime.html#method-getManifest
|
|
2534
|
+
* https://developer.chrome.com/apps/runtime#method-getManifest
|
|
2503
2535
|
* @return {!chrome.runtime.Manifest} The full manifest file of the app or
|
|
2504
2536
|
* extension.
|
|
2505
2537
|
*/
|
|
@@ -6574,12 +6606,9 @@ WebRequestOptionallySynchronousEvent.prototype.hasListener = function(
|
|
|
6574
6606
|
|
|
6575
6607
|
|
|
6576
6608
|
/**
|
|
6577
|
-
* @
|
|
6578
|
-
* function.
|
|
6579
|
-
* @return {undefined}
|
|
6609
|
+
* @return {boolean}
|
|
6580
6610
|
*/
|
|
6581
|
-
WebRequestOptionallySynchronousEvent.prototype.hasListeners = function(
|
|
6582
|
-
listener) {};
|
|
6611
|
+
WebRequestOptionallySynchronousEvent.prototype.hasListeners = function() {};
|
|
6583
6612
|
|
|
6584
6613
|
|
|
6585
6614
|
/**
|
|
@@ -42,40 +42,78 @@ var YT = {};
|
|
|
42
42
|
YT.Player = function(container, opts) {};
|
|
43
43
|
|
|
44
44
|
|
|
45
|
+
/** @typedef {!{
|
|
46
|
+
* videoId: string,
|
|
47
|
+
* startSeconds: (number|undefined),
|
|
48
|
+
* endSeconds: (number|undefined),
|
|
49
|
+
* suggestedQuality: (string|undefined),
|
|
50
|
+
* }} */
|
|
51
|
+
YT.Player.VideoIdParams;
|
|
52
|
+
|
|
53
|
+
|
|
45
54
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @param {string
|
|
55
|
+
* Loads the specified video's thumbnail and prepares the player to play the
|
|
56
|
+
* video.
|
|
57
|
+
* @param {!YT.Player.VideoIdParams|string} videoIdOrObject YouTube Video ID or
|
|
58
|
+
* parameters object.
|
|
59
|
+
* @param {number=} opt_startSeconds Float/integer that specifies the time
|
|
60
|
+
* from which the video should start playing.
|
|
61
|
+
* @param {string=} opt_suggestedQuality The suggested playback quality for
|
|
62
|
+
* the video.
|
|
49
63
|
*/
|
|
50
|
-
YT.Player.prototype.cueVideoById =
|
|
51
|
-
|
|
64
|
+
YT.Player.prototype.cueVideoById = function(
|
|
65
|
+
videoIdOrObject, opt_startSeconds, opt_suggestedQuality) {};
|
|
52
66
|
|
|
53
67
|
|
|
54
68
|
/**
|
|
55
|
-
*
|
|
56
|
-
* @param {
|
|
57
|
-
*
|
|
69
|
+
* Loads and plays the specified video.
|
|
70
|
+
* @param {!YT.Player.VideoIdParams|string} videoIdOrObject YouTube Video ID or
|
|
71
|
+
* parameters object.
|
|
72
|
+
* @param {number=} opt_startSeconds Float/integer that specifies the time
|
|
73
|
+
* from which the video should start playing.
|
|
74
|
+
* @param {string=} opt_suggestedQuality The suggested playback quality for
|
|
75
|
+
* the video.
|
|
58
76
|
*/
|
|
59
|
-
YT.Player.prototype.loadVideoById =
|
|
60
|
-
|
|
77
|
+
YT.Player.prototype.loadVideoById = function(
|
|
78
|
+
videoIdOrObject, opt_startSeconds, opt_suggestedQuality) {};
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
/** @typedef {!{
|
|
82
|
+
* mediaContentUrl: string,
|
|
83
|
+
* startSeconds: (number|undefined),
|
|
84
|
+
* endSeconds: (number|undefined),
|
|
85
|
+
* suggestedQuality: (string|undefined),
|
|
86
|
+
* }} */
|
|
87
|
+
YT.Player.MediaContentUrlParams;
|
|
61
88
|
|
|
62
89
|
|
|
63
90
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* @param {string
|
|
91
|
+
* Loads the specified video's thumbnail and prepares the player to play the
|
|
92
|
+
* video.
|
|
93
|
+
* @param {!YT.Player.MediaContentUrlParams|string} mediaContentUrlOrObject
|
|
94
|
+
* YouTube player URL in the format http://www.youtube.com/v/VIDEO_ID or
|
|
95
|
+
* parameters object.
|
|
96
|
+
* @param {number=} opt_startSeconds Float/integer that specifies the time
|
|
97
|
+
* from which the video should start playing.
|
|
98
|
+
* @param {string=} opt_suggestedQuality The suggested playback quality for
|
|
99
|
+
* the video.
|
|
67
100
|
*/
|
|
68
|
-
YT.Player.prototype.cueVideoByUrl =
|
|
69
|
-
|
|
101
|
+
YT.Player.prototype.cueVideoByUrl = function(
|
|
102
|
+
mediaContentUrlOrObject, opt_startSeconds, opt_suggestedQuality) {};
|
|
70
103
|
|
|
71
104
|
|
|
72
105
|
/**
|
|
73
|
-
*
|
|
74
|
-
* @param {
|
|
75
|
-
*
|
|
106
|
+
* Loads and plays the specified video.
|
|
107
|
+
* @param {!YT.Player.MediaContentUrlParams|string} mediaContentUrlOrObject
|
|
108
|
+
* YouTube player URL in the format http://www.youtube.com/v/VIDEO_ID or
|
|
109
|
+
* parameters object.
|
|
110
|
+
* @param {number=} opt_startSeconds Float/integer that specifies the time
|
|
111
|
+
* from which the video should start playing.
|
|
112
|
+
* @param {string=} opt_suggestedQuality The suggested playback quality for
|
|
113
|
+
* the video.
|
|
76
114
|
*/
|
|
77
|
-
YT.Player.prototype.loadVideoByUrl =
|
|
78
|
-
|
|
115
|
+
YT.Player.prototype.loadVideoByUrl = function(
|
|
116
|
+
mediaContentUrlOrObject, opt_startSeconds, opt_suggestedQuality) {};
|
|
79
117
|
|
|
80
118
|
|
|
81
119
|
/**
|
|
@@ -282,6 +320,13 @@ YT.Player.prototype.addEventListener = function(eventName, listenerName) {};
|
|
|
282
320
|
YT.Player.prototype.destroy = function() {};
|
|
283
321
|
|
|
284
322
|
|
|
323
|
+
/**
|
|
324
|
+
* @return {HTMLIFrameElement} The DOM node for the embedded iframe.
|
|
325
|
+
* @nosideeffects
|
|
326
|
+
*/
|
|
327
|
+
YT.Player.prototype.getIframe = function() {};
|
|
328
|
+
|
|
329
|
+
|
|
285
330
|
/**
|
|
286
331
|
* @return {number}
|
|
287
332
|
* @nosideeffects
|
|
@@ -636,7 +636,7 @@ google.maps.Data.LinearRing.prototype.getType = function() {};
|
|
|
636
636
|
|
|
637
637
|
/**
|
|
638
638
|
* @extends {google.maps.MouseEvent}
|
|
639
|
-
* @
|
|
639
|
+
* @record
|
|
640
640
|
*/
|
|
641
641
|
google.maps.Data.MouseEvent = function() {};
|
|
642
642
|
|
|
@@ -2206,7 +2206,7 @@ google.maps.Icon.prototype.url;
|
|
|
2206
2206
|
|
|
2207
2207
|
/**
|
|
2208
2208
|
* @extends {google.maps.MouseEvent}
|
|
2209
|
-
* @
|
|
2209
|
+
* @record
|
|
2210
2210
|
*/
|
|
2211
2211
|
google.maps.IconMouseEvent = function() {};
|
|
2212
2212
|
|
|
@@ -2957,7 +2957,7 @@ google.maps.MVCObject.prototype.notify = function(key) {};
|
|
|
2957
2957
|
|
|
2958
2958
|
/**
|
|
2959
2959
|
* @param {string} key
|
|
2960
|
-
* @param {
|
|
2960
|
+
* @param {?} value
|
|
2961
2961
|
* @return {undefined}
|
|
2962
2962
|
*/
|
|
2963
2963
|
google.maps.MVCObject.prototype.set = function(key, value) {};
|
|
@@ -3522,7 +3522,7 @@ google.maps.MapsEventListener = function() {};
|
|
|
3522
3522
|
google.maps.MapsEventListener.prototype.remove = function() {};
|
|
3523
3523
|
|
|
3524
3524
|
/**
|
|
3525
|
-
* @param {(google.maps.MarkerOptions|Object
|
|
3525
|
+
* @param {(google.maps.MarkerOptions|Object<string, ?>)=} opt_opts
|
|
3526
3526
|
* @extends {google.maps.MVCObject}
|
|
3527
3527
|
* @constructor
|
|
3528
3528
|
*/
|
|
@@ -636,7 +636,7 @@ google.maps.Data.LinearRing.prototype.getType = function() {};
|
|
|
636
636
|
|
|
637
637
|
/**
|
|
638
638
|
* @extends {google.maps.MouseEvent}
|
|
639
|
-
* @
|
|
639
|
+
* @record
|
|
640
640
|
*/
|
|
641
641
|
google.maps.Data.MouseEvent = function() {};
|
|
642
642
|
|
|
@@ -2206,7 +2206,7 @@ google.maps.Icon.prototype.url;
|
|
|
2206
2206
|
|
|
2207
2207
|
/**
|
|
2208
2208
|
* @extends {google.maps.MouseEvent}
|
|
2209
|
-
* @
|
|
2209
|
+
* @record
|
|
2210
2210
|
*/
|
|
2211
2211
|
google.maps.IconMouseEvent = function() {};
|
|
2212
2212
|
|
|
@@ -2957,7 +2957,7 @@ google.maps.MVCObject.prototype.notify = function(key) {};
|
|
|
2957
2957
|
|
|
2958
2958
|
/**
|
|
2959
2959
|
* @param {string} key
|
|
2960
|
-
* @param {
|
|
2960
|
+
* @param {?} value
|
|
2961
2961
|
* @return {undefined}
|
|
2962
2962
|
*/
|
|
2963
2963
|
google.maps.MVCObject.prototype.set = function(key, value) {};
|
|
@@ -2957,7 +2957,7 @@ google.maps.MVCObject.prototype.notify = function(key) {};
|
|
|
2957
2957
|
|
|
2958
2958
|
/**
|
|
2959
2959
|
* @param {string} key
|
|
2960
|
-
* @param {
|
|
2960
|
+
* @param {?} value
|
|
2961
2961
|
* @return {undefined}
|
|
2962
2962
|
*/
|
|
2963
2963
|
google.maps.MVCObject.prototype.set = function(key, value) {};
|
|
@@ -2957,7 +2957,7 @@ google.maps.MVCObject.prototype.notify = function(key) {};
|
|
|
2957
2957
|
|
|
2958
2958
|
/**
|
|
2959
2959
|
* @param {string} key
|
|
2960
|
-
* @param {
|
|
2960
|
+
* @param {?} value
|
|
2961
2961
|
* @return {undefined}
|
|
2962
2962
|
*/
|
|
2963
2963
|
google.maps.MVCObject.prototype.set = function(key, value) {};
|
|
@@ -159,6 +159,21 @@ PolymerElement.prototype.hostAttributes;
|
|
|
159
159
|
*/
|
|
160
160
|
PolymerElement.prototype.listeners;
|
|
161
161
|
|
|
162
|
+
/**
|
|
163
|
+
* Force this element to distribute its children to its local dom.
|
|
164
|
+
* A user should call `distributeContent` if distribution has been
|
|
165
|
+
* invalidated due to changes to selectors on child elements that
|
|
166
|
+
* effect distribution that were not made via `Polymer.dom`.
|
|
167
|
+
* For example, if an element contains an insertion point with
|
|
168
|
+
* `<content select=".foo">` and a `foo` class is added to a child,
|
|
169
|
+
* then `distributeContent` must be called to update
|
|
170
|
+
* local dom distribution.
|
|
171
|
+
* @param {boolean} updateInsertionPoints Shady DOM does not detect
|
|
172
|
+
* <content> insertion that is nested in a sub-tree being appended.
|
|
173
|
+
* Set to true to distribute to newly added nested <content>'s.
|
|
174
|
+
*/
|
|
175
|
+
PolymerElement.prototype.distributeContent = function(updateInsertionPoints) {};
|
|
176
|
+
|
|
162
177
|
/**
|
|
163
178
|
* Return the element whose local dom within which this element is contained.
|
|
164
179
|
* @type {?Element}
|
|
@@ -564,6 +579,13 @@ Polymer.Base.get = function(path, root) {};
|
|
|
564
579
|
*/
|
|
565
580
|
Polymer.Base.fire = function(type, detail, options) {};
|
|
566
581
|
|
|
582
|
+
/**
|
|
583
|
+
* For Polymer internal use only, except for
|
|
584
|
+
* github.com/Polymer/polymer/issues/4138
|
|
585
|
+
* @type {!function (!Node, ?string, *, ?Object)}
|
|
586
|
+
*/
|
|
587
|
+
Polymer.Base._computeFinalAnnotationValue;
|
|
588
|
+
|
|
567
589
|
/**
|
|
568
590
|
* @param {...*} var_args
|
|
569
591
|
* For Polymer-internal use only.
|
|
@@ -719,12 +719,17 @@ sinon.match.has = function(property, expect) {};
|
|
|
719
719
|
*/
|
|
720
720
|
sinon.match.hasOwn = function(property, expect) {};
|
|
721
721
|
|
|
722
|
-
|
|
722
|
+
/**
|
|
723
|
+
* @interface
|
|
724
|
+
*/
|
|
725
|
+
var SinonClock = function() {};
|
|
723
726
|
|
|
724
727
|
/**
|
|
725
728
|
* @param {!number} ticks
|
|
726
729
|
*/
|
|
727
|
-
|
|
730
|
+
SinonClock.prototype.tick = function(ticks) {};
|
|
731
|
+
|
|
732
|
+
SinonClock.prototype.restore = function() {};
|
|
728
733
|
|
|
729
734
|
sinon.sandbox = {};
|
|
730
735
|
|
|
@@ -765,7 +770,7 @@ SinonSandbox.prototype.stub = function(obj, method, func) {};
|
|
|
765
770
|
|
|
766
771
|
/**
|
|
767
772
|
* @param {...?} params
|
|
768
|
-
* @return {
|
|
773
|
+
* @return {SinonClock}
|
|
769
774
|
*/
|
|
770
775
|
SinonSandbox.prototype.useFakeTimers = function(params) {};
|
|
771
776
|
|
|
@@ -841,6 +846,6 @@ SinonFakeXmlHttpRequest.prototype.respond = function(status, headers, body) {};
|
|
|
841
846
|
|
|
842
847
|
/**
|
|
843
848
|
* @param {...?} params
|
|
844
|
-
* @return {
|
|
849
|
+
* @return {SinonClock}
|
|
845
850
|
*/
|
|
846
851
|
sinon.useFakeTimers = function(params) {};
|