google-closure-compiler 20250412.0.0-nightly → 20250413.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.
Files changed (131) hide show
  1. package/README.md +5 -30
  2. package/cli.js +3 -4
  3. package/externs/browser/decorators.js +276 -0
  4. package/externs/browser/deprecated.js +58 -0
  5. package/externs/browser/es6_proxy.js +143 -0
  6. package/externs/browser/fetchapi.js +449 -0
  7. package/externs/browser/fido.js +94 -0
  8. package/externs/browser/flash.js +226 -0
  9. package/externs/browser/gecko_css.js +126 -0
  10. package/externs/browser/gecko_dom.js +479 -0
  11. package/externs/browser/gecko_event.js +86 -0
  12. package/externs/browser/gecko_xml.js +73 -0
  13. package/externs/browser/google_legacy.js +31 -0
  14. package/externs/browser/html5.js +6647 -0
  15. package/externs/browser/ie_css.js +270 -0
  16. package/externs/browser/ie_dom.js +1232 -0
  17. package/externs/browser/ie_event.js +310 -0
  18. package/externs/browser/ie_vml.js +77 -0
  19. package/externs/browser/intersection_observer.js +178 -0
  20. package/externs/browser/intl.js +602 -0
  21. package/externs/browser/iphone.js +204 -0
  22. package/externs/browser/mediakeys.js +305 -0
  23. package/externs/browser/mediasource.js +155 -0
  24. package/externs/browser/nonstandard_anim_timing.js +97 -0
  25. package/externs/browser/nonstandard_audio.js +82 -0
  26. package/externs/browser/nonstandard_console.js +75 -0
  27. package/externs/browser/nonstandard_fileapi.js +1066 -0
  28. package/externs/browser/nonstandard_indexeddb.js +78 -0
  29. package/externs/browser/nonstandard_navigation_timing.js +38 -0
  30. package/externs/browser/nonstandard_selection.js +80 -0
  31. package/externs/browser/page_visibility.js +28 -0
  32. package/externs/browser/streamsapi.js +593 -0
  33. package/externs/browser/svg.js +10016 -0
  34. package/externs/browser/url.js +202 -0
  35. package/externs/browser/v8.js +134 -0
  36. package/externs/browser/w3c_abort.js +89 -0
  37. package/externs/browser/w3c_anim_timing.js +49 -0
  38. package/externs/browser/w3c_aria_mixin.js +286 -0
  39. package/externs/browser/w3c_audio.js +1660 -0
  40. package/externs/browser/w3c_batterystatus.js +85 -0
  41. package/externs/browser/w3c_clipboard.js +74 -0
  42. package/externs/browser/w3c_clipboardevent.js +47 -0
  43. package/externs/browser/w3c_composition_event.js +93 -0
  44. package/externs/browser/w3c_css.js +3790 -0
  45. package/externs/browser/w3c_css3d.js +199 -0
  46. package/externs/browser/w3c_device_sensor_event.js +122 -0
  47. package/externs/browser/w3c_dom1.js +1160 -0
  48. package/externs/browser/w3c_dom2.js +3151 -0
  49. package/externs/browser/w3c_dom3.js +555 -0
  50. package/externs/browser/w3c_dom4.js +289 -0
  51. package/externs/browser/w3c_elementtraversal.js +116 -0
  52. package/externs/browser/w3c_event.js +607 -0
  53. package/externs/browser/w3c_event3.js +77 -0
  54. package/externs/browser/w3c_eventsource.js +110 -0
  55. package/externs/browser/w3c_fileapi.js +302 -0
  56. package/externs/browser/w3c_gamepad.js +113 -0
  57. package/externs/browser/w3c_geolocation.js +130 -0
  58. package/externs/browser/w3c_geometry1.js +899 -0
  59. package/externs/browser/w3c_indexeddb.js +771 -0
  60. package/externs/browser/w3c_keyboardlock.js +47 -0
  61. package/externs/browser/w3c_mediacapabilities.js +206 -0
  62. package/externs/browser/w3c_midi.js +301 -0
  63. package/externs/browser/w3c_navigation.js +72 -0
  64. package/externs/browser/w3c_navigation_timing.js +437 -0
  65. package/externs/browser/w3c_netinfo.js +85 -0
  66. package/externs/browser/w3c_payment_request.js +401 -0
  67. package/externs/browser/w3c_permissions.js +112 -0
  68. package/externs/browser/w3c_permissions_policy.js +78 -0
  69. package/externs/browser/w3c_pointer_events.js +163 -0
  70. package/externs/browser/w3c_pointerlock.js +63 -0
  71. package/externs/browser/w3c_range.js +284 -0
  72. package/externs/browser/w3c_referrer_policy.js +36 -0
  73. package/externs/browser/w3c_requestidlecallback.js +76 -0
  74. package/externs/browser/w3c_rtc.js +3882 -0
  75. package/externs/browser/w3c_screen_orientation.js +53 -0
  76. package/externs/browser/w3c_screen_wake_lock.js +58 -0
  77. package/externs/browser/w3c_selection.js +209 -0
  78. package/externs/browser/w3c_selectors.js +113 -0
  79. package/externs/browser/w3c_serviceworker.js +739 -0
  80. package/externs/browser/w3c_speech.js +426 -0
  81. package/externs/browser/w3c_touch_event.js +296 -0
  82. package/externs/browser/w3c_trusted_types.js +142 -0
  83. package/externs/browser/w3c_vibration.js +38 -0
  84. package/externs/browser/w3c_webcodecs.js +1473 -0
  85. package/externs/browser/w3c_webcrypto.js +839 -0
  86. package/externs/browser/w3c_worklets.js +54 -0
  87. package/externs/browser/w3c_xml.js +533 -0
  88. package/externs/browser/web_animations.js +452 -0
  89. package/externs/browser/web_app_manifest.js +50 -0
  90. package/externs/browser/webassembly.js +223 -0
  91. package/externs/browser/webgl.js +3409 -0
  92. package/externs/browser/webgl2.js +2727 -0
  93. package/externs/browser/webgl2_compute.js +1609 -0
  94. package/externs/browser/webkit_css.js +456 -0
  95. package/externs/browser/webkit_dom.js +118 -0
  96. package/externs/browser/webkit_event.js +46 -0
  97. package/externs/browser/webkit_notifications.js +258 -0
  98. package/externs/browser/webkit_usercontent.js +55 -0
  99. package/externs/browser/weblocksapi.js +125 -0
  100. package/externs/browser/webstorage.js +171 -0
  101. package/externs/browser/whatwg_bitmap_context.js +37 -0
  102. package/externs/browser/whatwg_console.js +152 -0
  103. package/externs/browser/whatwg_encoding.js +99 -0
  104. package/externs/browser/whatwg_file_system.js +296 -0
  105. package/externs/browser/wicg_attribution_reporting.js +42 -0
  106. package/externs/browser/wicg_compression_stream.js +60 -0
  107. package/externs/browser/wicg_constructable_stylesheets.js +60 -0
  108. package/externs/browser/wicg_entries.js +169 -0
  109. package/externs/browser/wicg_file_handling.js +41 -0
  110. package/externs/browser/wicg_file_system_access.js +191 -0
  111. package/externs/browser/wicg_floc.js +41 -0
  112. package/externs/browser/wicg_ink.js +89 -0
  113. package/externs/browser/wicg_resizeobserver.js +100 -0
  114. package/externs/browser/wicg_scheduler.js +62 -0
  115. package/externs/browser/wicg_trust_token.js +89 -0
  116. package/externs/browser/wicg_uach.js +100 -0
  117. package/externs/browser/window.js +190 -0
  118. package/externs/es3.js +2716 -0
  119. package/externs/es5.js +284 -0
  120. package/externs/es6.js +2554 -0
  121. package/externs/es6_collections.js +323 -0
  122. package/index.js +13 -16
  123. package/lib/grunt/index.js +71 -92
  124. package/lib/grunt/vinyl-stream.js +12 -18
  125. package/lib/gulp/concat-to-json.js +30 -18
  126. package/lib/gulp/index.js +174 -181
  127. package/lib/gulp/json-to-vinyl.js +8 -8
  128. package/lib/node/{closure-compiler.js → index.js} +27 -51
  129. package/lib/utils.js +16 -14
  130. package/package.json +19 -16
  131. package/lib/logger.js +0 -89
@@ -0,0 +1,1066 @@
1
+ /*
2
+ * Copyright 2019 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 file api implemented in
19
+ * various browsers but not part of https://www.w3.org/TR/FileAPI.
20
+ * @externs
21
+ */
22
+
23
+ /**
24
+ * This replaces Blob.slice in Chrome since WebKit revision 84005.
25
+ * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html
26
+ * @param {number=} start
27
+ * @param {number=} end
28
+ * @param {string=} contentType
29
+ * @return {!Blob}
30
+ * @nosideeffects
31
+ */
32
+ Blob.prototype.webkitSlice = function(start, end, contentType) {};
33
+
34
+ /**
35
+ * This replaces Blob.slice in Firefox.
36
+ * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html
37
+ * @param {number=} start
38
+ * @param {number=} end
39
+ * @param {string=} contentType
40
+ * @return {!Blob}
41
+ * @nosideeffects
42
+ */
43
+ Blob.prototype.mozSlice = function(start, end, contentType) {};
44
+
45
+ /**
46
+ * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder-interface
47
+ * @constructor
48
+ */
49
+ function BlobBuilder() {}
50
+
51
+ /**
52
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0
53
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1
54
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2
55
+ * @param {string|Blob|ArrayBuffer} data
56
+ * @param {string=} endings
57
+ * @return {undefined}
58
+ */
59
+ BlobBuilder.prototype.append = function(data, endings) {};
60
+
61
+ /**
62
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob
63
+ * @param {string=} contentType
64
+ * @return {!Blob}
65
+ */
66
+ BlobBuilder.prototype.getBlob = function(contentType) {};
67
+
68
+ /**
69
+ * This has replaced BlobBuilder in Chrome since WebKit revision 84008.
70
+ * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html
71
+ * @constructor
72
+ */
73
+ function WebKitBlobBuilder() {}
74
+
75
+ /**
76
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0
77
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1
78
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2
79
+ * @param {string|Blob|ArrayBuffer} data
80
+ * @param {string=} endings
81
+ * @return {undefined}
82
+ */
83
+ WebKitBlobBuilder.prototype.append = function(data, endings) {};
84
+
85
+ /**
86
+ * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob
87
+ * @param {string=} contentType
88
+ * @return {!Blob}
89
+ */
90
+ WebKitBlobBuilder.prototype.getBlob = function(contentType) {};
91
+
92
+ /**
93
+ * @see http://www.w3.org/TR/file-system-api/#the-entry-interface
94
+ * @typedef {!FileSystemEntry}
95
+ */
96
+ var Entry;
97
+
98
+ /**
99
+ * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface
100
+ * @typedef {!FileSystemDirectoryEntry}
101
+ */
102
+ var DirectoryEntry;
103
+
104
+ /**
105
+ * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively
106
+ * @param {function()} successCallback
107
+ * @param {function(!DOMException)=} errorCallback
108
+ * @return {undefined}
109
+ */
110
+ FileSystemDirectoryEntry.prototype.removeRecursively = function(
111
+ successCallback, errorCallback) {};
112
+
113
+ /**
114
+ * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface
115
+ * @typedef {!FileSystemDirectoryReader}
116
+ */
117
+ var DirectoryReader;
118
+
119
+ /**
120
+ * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo
121
+ * @param {!DirectoryEntry} parent
122
+ * @param {string=} newName
123
+ * @param {function(!Entry)=} successCallback
124
+ * @param {function(!DOMException)=} errorCallback
125
+ * @return {undefined}
126
+ */
127
+ FileSystemEntry.prototype.moveTo = function(
128
+ parent, newName, successCallback, errorCallback) {};
129
+
130
+ /**
131
+ * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo
132
+ * @param {!DirectoryEntry} parent
133
+ * @param {string=} newName
134
+ * @param {function(!Entry)=} successCallback
135
+ * @param {function(!DOMException)=} errorCallback
136
+ * @return {undefined}
137
+ */
138
+ FileSystemEntry.prototype.copyTo = function(
139
+ parent, newName, successCallback, errorCallback) {};
140
+
141
+ /**
142
+ * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL
143
+ * @param {string=} mimeType
144
+ * @return {string}
145
+ */
146
+ FileSystemEntry.prototype.toURL = function(mimeType) {};
147
+
148
+ /**
149
+ * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove
150
+ * @param {function()} successCallback
151
+ * @param {function(!DOMException)=} errorCallback
152
+ * @return {undefined}
153
+ */
154
+ FileSystemEntry.prototype.remove = function(successCallback, errorCallback) {};
155
+
156
+ /**
157
+ * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata
158
+ * @param {function(!Metadata)} successCallback
159
+ * @param {function(!DOMException)=} errorCallback
160
+ * @return {undefined}
161
+ */
162
+ FileSystemEntry.prototype.getMetadata = function(successCallback, errorCallback) {};
163
+
164
+ /**
165
+ * @return {?Entry} The Entry corresponding to this item, or null. Note that
166
+ * despite its name,this method only works in Chrome, and will eventually
167
+ * be renamed to {@code getAsEntry}.
168
+ * @nosideeffects
169
+ */
170
+ DataTransferItem.prototype.webkitGetAsEntry = function() {};
171
+
172
+ /**
173
+ * @see https://wicg.github.io/entries-api/#dom-file-webkitrelativepath
174
+ * @type {string}
175
+ */
176
+ File.prototype.webkitRelativePath;
177
+
178
+ /**
179
+ * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface
180
+ * @typedef {!FileSystemFileEntry}
181
+ */
182
+ var FileEntry;
183
+
184
+ /**
185
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter
186
+ * @param {function(!FileWriter)} successCallback
187
+ * @param {function(!FileError)=} errorCallback
188
+ * @return {undefined}
189
+ */
190
+ FileSystemFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};
191
+
192
+ /**
193
+ * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface
194
+ * @constructor
195
+ * @extends {DOMError}
196
+ */
197
+ function FileError() {}
198
+
199
+ /**
200
+ * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR
201
+ * @const {number}
202
+ */
203
+ FileError.prototype.NOT_FOUND_ERR;
204
+
205
+ /** @const {number} */
206
+ FileError.NOT_FOUND_ERR;
207
+
208
+ /**
209
+ * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR
210
+ * @const {number}
211
+ */
212
+ FileError.prototype.SECURITY_ERR;
213
+
214
+ /** @const {number} */
215
+ FileError.SECURITY_ERR;
216
+
217
+ /**
218
+ * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR
219
+ * @const {number}
220
+ */
221
+ FileError.prototype.ABORT_ERR;
222
+
223
+ /** @const {number} */
224
+ FileError.ABORT_ERR;
225
+
226
+ /**
227
+ * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR
228
+ * @const {number}
229
+ */
230
+ FileError.prototype.NOT_READABLE_ERR;
231
+
232
+ /** @const {number} */
233
+ FileError.NOT_READABLE_ERR;
234
+
235
+ /**
236
+ * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR
237
+ * @const {number}
238
+ */
239
+ FileError.prototype.ENCODING_ERR;
240
+
241
+ /** @const {number} */
242
+ FileError.ENCODING_ERR;
243
+
244
+ /**
245
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR
246
+ * @const {number}
247
+ */
248
+ FileError.prototype.NO_MODIFICATION_ALLOWED_ERR;
249
+
250
+ /** @const {number} */
251
+ FileError.NO_MODIFICATION_ALLOWED_ERR;
252
+
253
+ /**
254
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR
255
+ * @const {number}
256
+ */
257
+ FileError.prototype.INVALID_STATE_ERR;
258
+
259
+ /** @const {number} */
260
+ FileError.INVALID_STATE_ERR;
261
+
262
+ /**
263
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR
264
+ * @const {number}
265
+ */
266
+ FileError.prototype.SYNTAX_ERR;
267
+
268
+ /** @const {number} */
269
+ FileError.SYNTAX_ERR;
270
+
271
+ /**
272
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR
273
+ * @const {number}
274
+ */
275
+ FileError.prototype.INVALID_MODIFICATION_ERR;
276
+
277
+ /** @const {number} */
278
+ FileError.INVALID_MODIFICATION_ERR;
279
+
280
+ /**
281
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR
282
+ * @const {number}
283
+ */
284
+ FileError.prototype.QUOTA_EXCEEDED_ERR;
285
+
286
+ /** @const {number} */
287
+ FileError.QUOTA_EXCEEDED_ERR;
288
+
289
+ /**
290
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR
291
+ * @const {number}
292
+ */
293
+ FileError.prototype.TYPE_MISMATCH_ERR;
294
+
295
+ /** @const {number} */
296
+ FileError.TYPE_MISMATCH_ERR;
297
+
298
+ /**
299
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR
300
+ * @const {number}
301
+ */
302
+ FileError.prototype.PATH_EXISTS_ERR;
303
+
304
+ /** @const {number} */
305
+ FileError.PATH_EXISTS_ERR;
306
+
307
+ /**
308
+ * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception
309
+ * @type {number}
310
+ * @deprecated Use the 'name' or 'message' attributes of DOMError rather than
311
+ * 'code'
312
+ */
313
+ FileError.prototype.code;
314
+
315
+ /**
316
+ * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver
317
+ * @constructor
318
+ */
319
+ function FileSaver() {};
320
+
321
+ /**
322
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort
323
+ * @return {undefined}
324
+ */
325
+ FileSaver.prototype.abort = function() {};
326
+
327
+ /**
328
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT
329
+ * @const {number}
330
+ */
331
+ FileSaver.prototype.INIT;
332
+
333
+ /**
334
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING
335
+ * @const {number}
336
+ */
337
+ FileSaver.prototype.WRITING;
338
+
339
+ /**
340
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE
341
+ * @const {number}
342
+ */
343
+ FileSaver.prototype.DONE;
344
+
345
+ /**
346
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState
347
+ * @type {number}
348
+ */
349
+ FileSaver.prototype.readyState;
350
+
351
+ /**
352
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error
353
+ * @type {FileError}
354
+ */
355
+ FileSaver.prototype.error;
356
+
357
+ /**
358
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart
359
+ * @type {?function(!ProgressEvent<!FileSaver>)}
360
+ */
361
+ FileSaver.prototype.onwritestart;
362
+
363
+ /**
364
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress
365
+ * @type {?function(!ProgressEvent<!FileSaver>)}
366
+ */
367
+ FileSaver.prototype.onprogress;
368
+
369
+ /**
370
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite
371
+ * @type {?function(!ProgressEvent<!FileSaver>)}
372
+ */
373
+ FileSaver.prototype.onwrite;
374
+
375
+ /**
376
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort
377
+ * @type {?function(!ProgressEvent<!FileSaver>)}
378
+ */
379
+ FileSaver.prototype.onabort;
380
+
381
+ /**
382
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror
383
+ * @type {?function(!ProgressEvent<!FileSaver>)}
384
+ */
385
+ FileSaver.prototype.onerror;
386
+
387
+ /**
388
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend
389
+ * @type {?function(!ProgressEvent<!FileSaver>)}
390
+ */
391
+ FileSaver.prototype.onwriteend;
392
+
393
+ /**
394
+ * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter
395
+ * @constructor
396
+ * @extends {FileSaver}
397
+ */
398
+ function FileWriter() {}
399
+
400
+ /**
401
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position
402
+ * @type {number}
403
+ */
404
+ FileWriter.prototype.position;
405
+
406
+ /**
407
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length
408
+ * @type {number}
409
+ */
410
+ FileWriter.prototype.length;
411
+
412
+ /**
413
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write
414
+ * @param {!Blob} blob
415
+ * @return {undefined}
416
+ */
417
+ FileWriter.prototype.write = function(blob) {};
418
+
419
+ /**
420
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek
421
+ * @param {number} offset
422
+ * @return {undefined}
423
+ */
424
+ FileWriter.prototype.seek = function(offset) {};
425
+
426
+ /**
427
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate
428
+ * @param {number} size
429
+ * @return {undefined}
430
+ */
431
+ FileWriter.prototype.truncate = function(size) {};
432
+
433
+ /**
434
+ * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.
435
+ * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
436
+ * @constructor
437
+ */
438
+ function LocalFileSystem() {}
439
+
440
+ /**
441
+ * Metadata interface.
442
+ * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata
443
+ * @constructor
444
+ */
445
+ function Metadata() {}
446
+
447
+ /**
448
+ * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime
449
+ * @type {!Date}
450
+ */
451
+ Metadata.prototype.modificationTime;
452
+
453
+ /**
454
+ * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size
455
+ * @type {number}
456
+ */
457
+ Metadata.prototype.size;
458
+
459
+ /**
460
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY
461
+ * @const {number}
462
+ */
463
+ Window.prototype.TEMPORARY;
464
+
465
+ /**
466
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT
467
+ * @const {number}
468
+ */
469
+ Window.prototype.PERSISTENT;
470
+
471
+ /**
472
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem
473
+ * @param {number} type
474
+ * @param {number} size
475
+ * @param {function(!FileSystem)} successCallback
476
+ * @param {function(!FileError)=} errorCallback
477
+ * @return {undefined}
478
+ */
479
+ function requestFileSystem(type, size, successCallback, errorCallback) {}
480
+
481
+ /**
482
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem
483
+ * @param {number} type
484
+ * @param {number} size
485
+ * @param {function(!FileSystem)} successCallback
486
+ * @param {function(!FileError)=} errorCallback
487
+ * @return {undefined}
488
+ */
489
+ Window.prototype.requestFileSystem = function(
490
+ type, size, successCallback, errorCallback) {};
491
+
492
+ /**
493
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI
494
+ * @param {string} uri
495
+ * @param {function(!Entry)} successCallback
496
+ * @param {function(!FileError)=} errorCallback
497
+ * @return {undefined}
498
+ */
499
+ function resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}
500
+
501
+ /**
502
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI
503
+ * @param {string} uri
504
+ * @param {function(!Entry)} successCallback
505
+ * @param {function(!FileError)=} errorCallback
506
+ * @return {undefined}
507
+ */
508
+ Window.prototype.resolveLocalFileSystemURI =
509
+ function(uri, successCallback, errorCallback) {}
510
+
511
+ /**
512
+ * This has replaced requestFileSystem in Chrome since WebKit revision 84224.
513
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem
514
+ * @param {number} type
515
+ * @param {number} size
516
+ * @param {function(!FileSystem)} successCallback
517
+ * @param {function(!FileError)=} errorCallback
518
+ * @return {undefined}
519
+ */
520
+ function webkitRequestFileSystem(type, size, successCallback, errorCallback) {}
521
+
522
+ /**
523
+ * This has replaced requestFileSystem in Chrome since WebKit revision 84224.
524
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem
525
+ * @param {number} type
526
+ * @param {number} size
527
+ * @param {function(!FileSystem)} successCallback
528
+ * @param {function(!FileError)=} errorCallback
529
+ * @return {undefined}
530
+ */
531
+ Window.prototype.webkitRequestFileSystem = function(type, size, successCallback,
532
+ errorCallback) {};
533
+
534
+ /**
535
+ * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision
536
+ * 84224.
537
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI
538
+ * @param {string} uri
539
+ * @param {function(!Entry)} successCallback
540
+ * @param {function(!FileError)=} errorCallback
541
+ * @return {undefined}
542
+ */
543
+ function webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}
544
+
545
+ /**
546
+ * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision
547
+ * 84224.
548
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI
549
+ * @param {string} uri
550
+ * @param {function(!Entry)} successCallback
551
+ * @param {function(!FileError)=} errorCallback
552
+ * @return {undefined}
553
+ */
554
+ Window.prototype.webkitResolveLocalFileSystemURI = function(
555
+ uri, successCallback, errorCallback) {}
556
+
557
+ // WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.
558
+ // There are three APIs for this: the old specced API, the new specced API, and
559
+ // the webkit-prefixed API.
560
+ // @see http://www.w3.org/TR/FileAPI/#creating-revoking
561
+
562
+ /**
563
+ * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL
564
+ * @param {!Object} obj
565
+ * @return {string}
566
+ */
567
+ function createObjectURL(obj) {};
568
+
569
+ /**
570
+ * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL
571
+ * @param {!Object} obj
572
+ * @return {string}
573
+ */
574
+ Window.prototype.createObjectURL = function(obj) {};
575
+
576
+ /**
577
+ * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL
578
+ * @param {string} url
579
+ * @return {undefined}
580
+ */
581
+ function revokeObjectURL(url) {};
582
+
583
+ /**
584
+ * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL
585
+ * @param {string} url
586
+ * @return {undefined}
587
+ */
588
+ Window.prototype.revokeObjectURL = function(url) {};
589
+
590
+ /**
591
+ * This has been replaced by URL in Chrome since WebKit revision 75739.
592
+ * @constructor
593
+ * @param {string} urlString
594
+ * @param {string=} base
595
+ */
596
+ function webkitURL(urlString, base) {}
597
+
598
+ /**
599
+ * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL
600
+ * @param {!Object} obj
601
+ * @return {string}
602
+ */
603
+ webkitURL.createObjectURL = function(obj) {};
604
+
605
+ /**
606
+ * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL
607
+ * @param {string} url
608
+ * @return {undefined}
609
+ */
610
+ webkitURL.revokeObjectURL = function(url) {};
611
+
612
+ /**
613
+ * @see https://developers.google.com/chrome/whitepapers/storage
614
+ * @constructor
615
+ */
616
+ function StorageInfo() {}
617
+
618
+ /**
619
+ * @see https://developers.google.com/chrome/whitepapers/storage
620
+ * @const {number}
621
+ * */
622
+ StorageInfo.prototype.TEMPORARY;
623
+
624
+ /**
625
+ * @see https://developers.google.com/chrome/whitepapers/storage
626
+ * @const {number}
627
+ */
628
+ StorageInfo.prototype.PERSISTENT;
629
+
630
+ /**
631
+ * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota
632
+ * @param {number} type
633
+ * @param {number} size
634
+ * @param {function(number)} successCallback
635
+ * @param {function(!DOMException)=} errorCallback
636
+ * @return {undefined}
637
+ */
638
+ StorageInfo.prototype.requestQuota = function(
639
+ type, size, successCallback, errorCallback) {};
640
+
641
+ /**
642
+ * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota
643
+ * @param {number} type
644
+ * @param {function(number, number)} successCallback
645
+ * @param {function(!DOMException)=} errorCallback
646
+ * @return {undefined}
647
+ */
648
+ StorageInfo.prototype.queryUsageAndQuota = function(
649
+ type, successCallback, errorCallback) {};
650
+
651
+ /**
652
+ * @see https://developers.google.com/chrome/whitepapers/storage
653
+ * @type {!StorageInfo}
654
+ */
655
+ Window.prototype.webkitStorageInfo;
656
+
657
+ /**
658
+ * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.
659
+ * @constructor
660
+ */
661
+ function StorageQuota() {}
662
+
663
+ /**
664
+ * @param {number} size
665
+ * @param {function(number)=} successCallback
666
+ * @param {function(!DOMException)=} errorCallback
667
+ * @return {undefined}
668
+ */
669
+ StorageQuota.prototype.requestQuota = function(
670
+ size, successCallback, errorCallback) {};
671
+
672
+ /**
673
+ * @param {function(number, number)} successCallback
674
+ * @param {function(!DOMException)=} errorCallback
675
+ * @return {undefined}
676
+ */
677
+ StorageQuota.prototype.queryUsageAndQuota = function(
678
+ successCallback, errorCallback) {};
679
+
680
+ /**
681
+ * @type {!StorageQuota}
682
+ * @see https://developer.chrome.com/apps/offline_storage
683
+ */
684
+ Navigator.prototype.webkitPersistentStorage;
685
+
686
+ /**
687
+ * @type {!StorageQuota}
688
+ * @see https://developer.chrome.com/apps/offline_storage
689
+ */
690
+ Navigator.prototype.webkitTemporaryStorage;
691
+
692
+
693
+ /**
694
+ * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriterSync
695
+ * @constructor
696
+ */
697
+ function FileWriterSync() {}
698
+
699
+ /**
700
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-position
701
+ * @type {number}
702
+ * @const
703
+ */
704
+ FileWriterSync.prototype.position;
705
+
706
+ /**
707
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-length
708
+ * @type {number}
709
+ * @const
710
+ */
711
+ FileWriterSync.prototype.length;
712
+
713
+ /**
714
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write
715
+ * @param {!Blob} blob
716
+ * @return {undefined}
717
+ */
718
+ FileWriterSync.prototype.write = function(blob) {};
719
+
720
+ /**
721
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-seek
722
+ * @param {number} offset
723
+ * @return {undefined}
724
+ */
725
+ FileWriterSync.prototype.seek = function(offset) {};
726
+
727
+ /**
728
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriterSync-truncate
729
+ * @param {number} size
730
+ * @return {undefined}
731
+ */
732
+ FileWriterSync.prototype.truncate = function(size) {};
733
+
734
+ /**
735
+ * LocalFileSystemSync interface, implemented by WorkerGlobalScope.
736
+ * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystemSync
737
+ * @constructor
738
+ */
739
+ function LocalFileSystemSync() {}
740
+
741
+ /**
742
+ * @see http://www.w3.org/TR/file-system-api/
743
+ * #the-synchronous-filesystem-interface
744
+ * @constructor
745
+ */
746
+ function FileSystemSync() {}
747
+
748
+ /**
749
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileSystemSync-name
750
+ * @type {string}
751
+ * @const
752
+ */
753
+ FileSystemSync.prototype.name;
754
+
755
+ /**
756
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileSystemSync-root
757
+ * @type {!DirectoryEntrySync}
758
+ * @const
759
+ */
760
+ FileSystemSync.prototype.root;
761
+
762
+ /**
763
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystemSync-requestFileSystemSync-FileSystemSync-unsigned-short-type-unsigned-long-long-size
764
+ * @param {number} type
765
+ * @param {number} size
766
+ * @return {!FileSystemSync}
767
+ */
768
+ function requestFileSystemSync(type, size) {}
769
+
770
+ /**
771
+ * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystemSync-requestFileSystemSync-FileSystemSync-unsigned-short-type-unsigned-long-long-size
772
+ * @param {number} type
773
+ * @param {number} size
774
+ * @return {!FileSystemSync}
775
+ */
776
+ function webkitRequestFileSystemSync(type, size) {}
777
+
778
+ /**
779
+ * @see http://www.w3.org/TR/file-system-api/#the-entrysync-interface
780
+ * @constructor
781
+ */
782
+ function EntrySync() {};
783
+
784
+ /**
785
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-isFile
786
+ * @type {boolean}
787
+ * @const
788
+ */
789
+ EntrySync.prototype.isFile;
790
+
791
+ /**
792
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-isDirectory
793
+ * @type {boolean}
794
+ * @const
795
+ */
796
+ EntrySync.prototype.isDirectory;
797
+
798
+ /**
799
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-name
800
+ * @type {string}
801
+ * @const
802
+ */
803
+ EntrySync.prototype.name;
804
+
805
+ /**
806
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-fullPath
807
+ * @type {string}
808
+ * @const
809
+ */
810
+ EntrySync.prototype.fullPath;
811
+
812
+ /**
813
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-filesystem
814
+ * @type {!FileSystemSync}
815
+ * @const
816
+ */
817
+ EntrySync.prototype.filesystem;
818
+
819
+ /**
820
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-moveTo
821
+ * @param {!DirectoryEntrySync} parent
822
+ * @param {string=} newName
823
+ * @return {!EntrySync}
824
+ */
825
+ EntrySync.prototype.moveTo = function(parent, newName) {};
826
+
827
+ /**
828
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-copyTo
829
+ * @param {!DirectoryEntrySync} parent
830
+ * @param {string=} newName
831
+ * @return {!EntrySync}
832
+ */
833
+ EntrySync.prototype.copyTo = function(parent, newName) {};
834
+
835
+ /**
836
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-toURL
837
+ * @param {string=} mimeType
838
+ * @return {string}
839
+ */
840
+ EntrySync.prototype.toURL = function(mimeType) {};
841
+
842
+ /**
843
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-remove
844
+ * @return {undefined}
845
+ */
846
+ EntrySync.prototype.remove = function() {};
847
+
848
+ /**
849
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-getMetadata
850
+ * @return {!Metadata}
851
+ */
852
+ EntrySync.prototype.getMetadata = function() {};
853
+
854
+ /**
855
+ * @see http://www.w3.org/TR/file-system-api/#widl-EntrySync-getParent
856
+ * @return {!DirectoryEntrySync}
857
+ */
858
+ EntrySync.prototype.getParent = function() {};
859
+
860
+ /**
861
+ * @see http://www.w3.org/TR/file-system-api/#the-directoryentrysync-interface
862
+ * @constructor
863
+ * @extends {EntrySync}
864
+ */
865
+ function DirectoryEntrySync() {};
866
+
867
+ /**
868
+ * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-createReader
869
+ * @return {!DirectoryReaderSync}
870
+ */
871
+ DirectoryEntrySync.prototype.createReader = function() {};
872
+
873
+ /**
874
+ * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-getFile
875
+ * @param {string} path
876
+ * @param {Object=} options
877
+ * @return {!FileEntrySync}
878
+ */
879
+ DirectoryEntrySync.prototype.getFile = function(path, options) {};
880
+
881
+ /**
882
+ * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-getDirectory
883
+ * @param {string} path
884
+ * @param {Object=} options
885
+ * @return {!DirectoryEntrySync}
886
+ */
887
+ DirectoryEntrySync.prototype.getDirectory = function(path, options) {};
888
+
889
+ /**
890
+ * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntrySync-removeRecursively
891
+ * @return {undefined}
892
+ */
893
+ DirectoryEntrySync.prototype.removeRecursively = function() {};
894
+
895
+ /**
896
+ * @see http://www.w3.org/TR/file-system-api/#the-directoryreadersync-interface
897
+ * @constructor
898
+ */
899
+ function DirectoryReaderSync() {};
900
+
901
+ /**
902
+ * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReaderSync-readEntries
903
+ * @return {!Array<!EntrySync>}
904
+ */
905
+ DirectoryReaderSync.prototype.readEntries = function() {};
906
+
907
+ /**
908
+ * @see http://www.w3.org/TR/file-system-api/#the-fileentrysync-interface
909
+ * @constructor
910
+ * @extends {EntrySync}
911
+ */
912
+ function FileEntrySync() {};
913
+
914
+ /**
915
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileEntrySync-createWriter
916
+ * @return {!FileWriterSync}
917
+ */
918
+ FileEntrySync.prototype.createWriter = function() {};
919
+
920
+ /**
921
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileEntrySync-file
922
+ * @return {!File}
923
+ */
924
+ FileEntrySync.prototype.file = function() {};
925
+
926
+ /**
927
+ * @see http://www.w3.org/TR/file-system-api/#the-fileexception-exception
928
+ * @constructor
929
+ */
930
+ function FileException() {}
931
+
932
+ /**
933
+ * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR
934
+ * @type {number}
935
+ */
936
+ FileException.prototype.NOT_FOUND_ERR;
937
+
938
+ /** @type {number} */
939
+ FileException.NOT_FOUND_ERR;
940
+
941
+ /**
942
+ * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR
943
+ * @type {number}
944
+ */
945
+ FileException.prototype.SECURITY_ERR;
946
+
947
+ /** @type {number} */
948
+ FileException.SECURITY_ERR;
949
+
950
+ /**
951
+ * @see http://www.w3.org/TR/FileAPI/#widl-FileException-ABORT_ERR
952
+ * @type {number}
953
+ */
954
+ FileException.prototype.ABORT_ERR;
955
+
956
+ /** @type {number} */
957
+ FileException.ABORT_ERR;
958
+
959
+ /**
960
+ * @see http://www.w3.org/TR/FileAPI/#widl-FileException-NOT_READABLE_ERR
961
+ * @type {number}
962
+ */
963
+ FileException.prototype.NOT_READABLE_ERR;
964
+
965
+ /** @type {number} */
966
+ FileException.NOT_READABLE_ERR;
967
+
968
+ /**
969
+ * @see http://www.w3.org/TR/FileAPI/#widl-FileException-ENCODING_ERR
970
+ * @type {number}
971
+ */
972
+ FileException.prototype.ENCODING_ERR;
973
+
974
+ /** @type {number} */
975
+ FileException.ENCODING_ERR;
976
+
977
+ /**
978
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-NO_MODIFICATION_ALLOWED_ERR
979
+ * @type {number}
980
+ */
981
+ FileException.prototype.NO_MODIFICATION_ALLOWED_ERR;
982
+
983
+ /** @type {number} */
984
+ FileException.NO_MODIFICATION_ALLOWED_ERR;
985
+
986
+ /**
987
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR
988
+ * @type {number}
989
+ */
990
+ FileException.prototype.INVALID_STATE_ERR;
991
+
992
+ /** @type {number} */
993
+ FileException.INVALID_STATE_ERR;
994
+
995
+ /**
996
+ * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR
997
+ * @type {number}
998
+ */
999
+ FileException.prototype.SYNTAX_ERR;
1000
+
1001
+ /** @type {number} */
1002
+ FileException.SYNTAX_ERR;
1003
+
1004
+ /**
1005
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileException-INVALID_MODIFICATION_ERR
1006
+ * @type {number}
1007
+ */
1008
+ FileException.prototype.INVALID_MODIFICATION_ERR;
1009
+
1010
+ /** @type {number} */
1011
+ FileException.INVALID_MODIFICATION_ERR;
1012
+
1013
+ /**
1014
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileException-QUOTA_EXCEEDED_ERR
1015
+ * @type {number}
1016
+ */
1017
+ FileException.prototype.QUOTA_EXCEEDED_ERR;
1018
+
1019
+ /** @type {number} */
1020
+ FileException.QUOTA_EXCEEDED_ERR;
1021
+
1022
+ /**
1023
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR
1024
+ * @type {number}
1025
+ */
1026
+ FileException.prototype.TYPE_MISMATCH_ERR;
1027
+
1028
+ /** @type {number} */
1029
+ FileException.TYPE_MISMATCH_ERR;
1030
+
1031
+ /**
1032
+ * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR
1033
+ * @type {number}
1034
+ */
1035
+ FileException.prototype.PATH_EXISTS_ERR;
1036
+
1037
+ /** @type {number} */
1038
+ FileException.PATH_EXISTS_ERR;
1039
+
1040
+ /**
1041
+ * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception
1042
+ * @type {number}
1043
+ */
1044
+ FileException.prototype.code;
1045
+
1046
+ // The externs generated from typings/filesystem have incorrect callback types,
1047
+ // which clash with the callback param definitions here. We can fix them by
1048
+ // overriding them:
1049
+ /** @typedef {function(!FileSystem)} */
1050
+ var FileSystemCallback;
1051
+ /** @typedef {function(!Entry)} */
1052
+ var EntryCallback;
1053
+ /** @typedef {function(!FileEntry)} */
1054
+ var FileEntryCallback;
1055
+ /** @typedef {function(!DirectoryEntry)} */
1056
+ var DirectoryEntryCallback;
1057
+ /** @typedef {function(!Array<!Entry>)} */
1058
+ var EntriesCallback;
1059
+ /** @typedef {function(!Metadata)} */
1060
+ var MetadataCallback;
1061
+ /** @typedef {function(!FileWriter)} */
1062
+ var FileWriterCallback;
1063
+ /** @typedef {function()} */
1064
+ var VoidCallback;
1065
+ /** @typedef {function(!DOMException)} */
1066
+ var ErrorCallback;