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,1160 @@
1
+ /*
2
+ * Copyright 2008 The Closure Compiler Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /**
18
+ * @fileoverview Definitions for W3C's DOM Level 1 specification.
19
+ * The whole file has been fully type annotated. Created from
20
+ * http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html
21
+ *
22
+ * @externs
23
+ */
24
+
25
+ /**
26
+ * @constructor
27
+ * @param {string=} message
28
+ * @param {string=} name
29
+ * @see https://heycam.github.io/webidl/#idl-DOMException
30
+ * @extends {Error}
31
+ */
32
+ function DOMException(message, name) {}
33
+
34
+ /**
35
+ * @const {number}
36
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
37
+ */
38
+ DOMException.INDEX_SIZE_ERR;
39
+
40
+ /**
41
+ * @const {number}
42
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
43
+ */
44
+ DOMException.DOMSTRING_SIZE_ERR;
45
+
46
+ /**
47
+ * @const {number}
48
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
49
+ */
50
+ DOMException.HIERARCHY_REQUEST_ERR;
51
+
52
+ /**
53
+ * @const {number}
54
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
55
+ */
56
+ DOMException.WRONG_DOCUMENT_ERR;
57
+
58
+ /**
59
+ * @const {number}
60
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
61
+ */
62
+ DOMException.INVALID_CHARACTER_ERR;
63
+
64
+ /**
65
+ * @const {number}
66
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
67
+ */
68
+ DOMException.NO_DATA_ALLOWED_ERR;
69
+
70
+ /**
71
+ * @const {number}
72
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
73
+ */
74
+ DOMException.NO_MODIFICATION_ALLOWED_ERR;
75
+
76
+ /**
77
+ * @const {number}
78
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
79
+ */
80
+ DOMException.NOT_FOUND_ERR;
81
+
82
+ /**
83
+ * @const {number}
84
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
85
+ */
86
+ DOMException.NOT_SUPPORTED_ERR;
87
+
88
+ /**
89
+ * @const {number}
90
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
91
+ */
92
+ DOMException.INUSE_ATTRIBUTE_ERR;
93
+
94
+ /**
95
+ * @constructor
96
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF
97
+ */
98
+ function ExceptionCode() {}
99
+
100
+ /**
101
+ * @constructor
102
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490
103
+ */
104
+ function DOMImplementation() {}
105
+
106
+ /**
107
+ * @param {string} feature
108
+ * @param {string} version
109
+ * @return {boolean}
110
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7
111
+ * @nosideeffects
112
+ */
113
+ DOMImplementation.prototype.hasFeature = function(feature, version) {};
114
+
115
+ /**
116
+ * @constructor
117
+ * @implements {EventTarget}
118
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
119
+ */
120
+ function Node() {}
121
+
122
+ /** @override */
123
+ Node.prototype.addEventListener = function(type, listener, opt_options) {};
124
+
125
+ /** @override */
126
+ Node.prototype.removeEventListener = function(type, listener, opt_options) {};
127
+
128
+ /** @override */
129
+ Node.prototype.dispatchEvent = function(evt) {};
130
+
131
+ /**
132
+ * @type {NamedNodeMap<!Attr>}
133
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes
134
+ */
135
+ Node.prototype.attributes;
136
+
137
+ /**
138
+ * @type {!NodeList<!Node>}
139
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes
140
+ */
141
+ Node.prototype.childNodes;
142
+
143
+ /**
144
+ * @type {Node}
145
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild
146
+ */
147
+ Node.prototype.firstChild;
148
+
149
+ /**
150
+ * @type {Node}
151
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild
152
+ */
153
+ Node.prototype.lastChild;
154
+
155
+ /**
156
+ * @type {Node}
157
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling
158
+ */
159
+ Node.prototype.nextSibling;
160
+
161
+ /**
162
+ * @type {string}
163
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName
164
+ */
165
+ Node.prototype.nodeName;
166
+
167
+ /**
168
+ * @type {string}
169
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue
170
+ */
171
+ Node.prototype.nodeValue;
172
+
173
+ /**
174
+ * @type {number}
175
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType
176
+ */
177
+ Node.prototype.nodeType;
178
+
179
+ /**
180
+ * @type {Document}
181
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument
182
+ */
183
+ Node.prototype.ownerDocument;
184
+
185
+ /**
186
+ * @type {Node}
187
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode
188
+ */
189
+ Node.prototype.parentNode;
190
+
191
+ /**
192
+ * @type {Node}
193
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling
194
+ */
195
+ Node.prototype.previousSibling;
196
+
197
+ /**
198
+ * @param {Node} newChild
199
+ * @return {!Node}
200
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild
201
+ */
202
+ Node.prototype.appendChild = function(newChild) {};
203
+
204
+ /**
205
+ * @param {boolean} deep
206
+ * @return {THIS}
207
+ * @this {THIS}
208
+ * @template THIS
209
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode
210
+ * @nosideeffects
211
+ */
212
+ Node.prototype.cloneNode = function(deep) {};
213
+
214
+ /**
215
+ * @return {boolean}
216
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes
217
+ * @nosideeffects
218
+ */
219
+ Node.prototype.hasChildNodes = function() {};
220
+
221
+ /**
222
+ * @param {Node} newChild
223
+ * @param {Node} refChild
224
+ * @return {!Node}
225
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore
226
+ */
227
+ Node.prototype.insertBefore = function(newChild, refChild) {};
228
+
229
+ /**
230
+ * @param {Node} oldChild
231
+ * @return {!Node}
232
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild
233
+ */
234
+ Node.prototype.removeChild = function(oldChild) {};
235
+
236
+ /**
237
+ * @param {Node} newChild
238
+ * @param {Node} oldChild
239
+ * @return {!Node}
240
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild
241
+ */
242
+ Node.prototype.replaceChild = function(newChild, oldChild) {};
243
+
244
+ /**
245
+ * @const {number}
246
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
247
+ */
248
+ Node.ATTRIBUTE_NODE;
249
+
250
+ /**
251
+ * @const {number}
252
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
253
+ */
254
+ Node.CDATA_SECTION_NODE;
255
+
256
+ /**
257
+ * @const {number}
258
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
259
+ */
260
+ Node.COMMENT_NODE;
261
+
262
+ /**
263
+ * @const {number}
264
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
265
+ */
266
+ Node.DOCUMENT_FRAGMENT_NODE;
267
+
268
+ /**
269
+ * @const {number}
270
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
271
+ */
272
+ Node.DOCUMENT_NODE;
273
+
274
+ /**
275
+ * @const {number}
276
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
277
+ */
278
+ Node.DOCUMENT_TYPE_NODE;
279
+
280
+ /**
281
+ * @const {number}
282
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
283
+ */
284
+ Node.ELEMENT_NODE;
285
+
286
+ /**
287
+ * @const {number}
288
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
289
+ */
290
+ Node.ENTITY_NODE;
291
+
292
+ /**
293
+ * @const {number}
294
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
295
+ */
296
+ Node.ENTITY_REFERENCE_NODE;
297
+
298
+ /**
299
+ * @const {number}
300
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
301
+ */
302
+ Node.PROCESSING_INSTRUCTION_NODE;
303
+
304
+ /**
305
+ * @const {number}
306
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
307
+ */
308
+ Node.TEXT_NODE;
309
+
310
+ /**
311
+ * @const {number}
312
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
313
+ */
314
+ Node.NOTATION_NODE;
315
+
316
+ /**
317
+ * @constructor
318
+ * @extends {Node}
319
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3
320
+ */
321
+ function DocumentFragment() {}
322
+
323
+ /**
324
+ * @constructor
325
+ * @extends {Node}
326
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document
327
+ */
328
+ function Document() {}
329
+
330
+ /**
331
+ * @param {string} html
332
+ * @return {!Document}
333
+ * @see https://developer.mozilla.org/docs/Web/API/Document/parseHTMLUnsafe_static
334
+ */
335
+ Document.parseHTMLUnsafe = function(html) {};
336
+
337
+ /**
338
+ * @type {!HTMLCollection}
339
+ * @see https://dom.spec.whatwg.org/#parentnode
340
+ */
341
+ Document.prototype.children;
342
+
343
+ /**
344
+ * @type {DocumentType}
345
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype
346
+ */
347
+ Document.prototype.doctype;
348
+
349
+ /**
350
+ * @type {!HTMLHtmlElement}
351
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement
352
+ */
353
+ Document.prototype.documentElement;
354
+
355
+ /**
356
+ * @type {DOMImplementation}
357
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation
358
+ */
359
+ Document.prototype.implementation;
360
+
361
+ /**
362
+ * @param {string} name
363
+ * @return {!Attr}
364
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute
365
+ * @nosideeffects
366
+ */
367
+ Document.prototype.createAttribute = function(name) {};
368
+
369
+ /**
370
+ * @param {string} data
371
+ * @return {!Comment}
372
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment
373
+ * @nosideeffects
374
+ */
375
+ Document.prototype.createComment = function(data) {};
376
+
377
+ /**
378
+ * @param {string} data
379
+ * @return {!CDATASection}
380
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection
381
+ * @nosideeffects
382
+ */
383
+ Document.prototype.createCDATASection = function(data) {};
384
+
385
+ /**
386
+ * @return {!DocumentFragment}
387
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment
388
+ * @nosideeffects
389
+ */
390
+ Document.prototype.createDocumentFragment = function() {};
391
+
392
+ /**
393
+ * Create a DOM element.
394
+ *
395
+ * Web components introduced the second parameter as a way of extending existing
396
+ * tags (e.g. document.createElement('button', {is: 'fancy-button'})).
397
+ *
398
+ * @param {string} tagName
399
+ * @param {({is: string}|string)=} opt_typeExtension
400
+ * @return {!Element}
401
+ * @nosideeffects
402
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement
403
+ * @see https://dom.spec.whatwg.org/#dom-document-createelement
404
+ */
405
+ Document.prototype.createElement = function(tagName, opt_typeExtension) {};
406
+
407
+ /**
408
+ * @param {string} target
409
+ * @param {string} data
410
+ * @return {!ProcessingInstruction}
411
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction
412
+ * @nosideeffects
413
+ */
414
+ Document.prototype.createProcessingInstruction = function(target, data) {};
415
+
416
+ /**
417
+ * @param {number|string} data
418
+ * @return {!Text}
419
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode
420
+ * @nosideeffects
421
+ */
422
+ Document.prototype.createTextNode = function(data) {};
423
+
424
+ /**
425
+ * @param {string} tagname
426
+ * @return {!NodeList<!Element>}
427
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094
428
+ * @nosideeffects
429
+ */
430
+ Document.prototype.getElementsByTagName = function(tagname) {};
431
+
432
+ /**
433
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/open
434
+ * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-open
435
+ */
436
+ Document.prototype.open;
437
+
438
+ /**
439
+ * @return {undefined}
440
+ * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-close
441
+ */
442
+ Document.prototype.close = function() {};
443
+
444
+ /**
445
+ * @param {!TrustedHTML|string} text
446
+ * @return {undefined}
447
+ * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-write
448
+ */
449
+ Document.prototype.write = function(text) {};
450
+
451
+ /**
452
+ * @param {!TrustedHTML|string} text
453
+ * @return {undefined}
454
+ * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-document-writeln
455
+ */
456
+ Document.prototype.writeln = function(text) {};
457
+
458
+ /**
459
+ * @constructor
460
+ * @implements {IArrayLike<T>}
461
+ * @implements {Iterable<T>}
462
+ * @template T
463
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177
464
+ */
465
+ function NodeList() {}
466
+
467
+ /**
468
+ * @type {number}
469
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337
470
+ */
471
+ NodeList.prototype.length;
472
+
473
+ /**
474
+ * @param {number} index
475
+ * @return {T|null}
476
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136
477
+ */
478
+ NodeList.prototype.item = function(index) {};
479
+
480
+ /**
481
+ * @param {?function(this:S, T, number, !NodeList<T>): ?} callback
482
+ * @param {S=} opt_thisobj
483
+ * @template S
484
+ * @return {undefined}
485
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach
486
+ */
487
+ NodeList.prototype.forEach = function(callback, opt_thisobj) {};
488
+
489
+ /**
490
+ * @return {!IteratorIterable<!Array<number|T>>}
491
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/entries
492
+ */
493
+ NodeList.prototype.entries = function() {};
494
+
495
+ /**
496
+ * @return {!IteratorIterable<number>}
497
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/keys
498
+ */
499
+ NodeList.prototype.keys = function() {};
500
+
501
+ /**
502
+ * @return {!IteratorIterable<T>}
503
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/values
504
+ */
505
+ NodeList.prototype.values = function() {};
506
+
507
+ /**
508
+ * @constructor
509
+ * @implements {IObject<(string|number), T>}
510
+ * @implements {IArrayLike<T>}
511
+ * @implements {Iterable<T>}
512
+ * @template T
513
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922
514
+ */
515
+ function NamedNodeMap() {}
516
+
517
+ /**
518
+ * @type {number}
519
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E
520
+ */
521
+ NamedNodeMap.prototype.length;
522
+
523
+ /**
524
+ * @param {string} name
525
+ * @return {Node}
526
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549
527
+ * @nosideeffects
528
+ */
529
+ NamedNodeMap.prototype.getNamedItem = function(name) {};
530
+
531
+ /**
532
+ * @param {string} namespace
533
+ * @param {string} localName
534
+ * @return {?Node}
535
+ * @see https://developer.mozilla.org/docs/Web/API/NamedNodeMap/getNamedItemNS
536
+ */
537
+ NamedNodeMap.prototype.getNamedItemNS = function(namespace, localName) {};
538
+
539
+ /**
540
+ * @param {number} index
541
+ * @return {Node}
542
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9
543
+ * @nosideeffects
544
+ */
545
+ NamedNodeMap.prototype.item = function(index) {};
546
+
547
+ /**
548
+ * @param {string} name
549
+ * @return {Node}
550
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193
551
+ */
552
+ NamedNodeMap.prototype.removeNamedItem = function(name) {};
553
+
554
+ /**
555
+ * @param {string} namespace
556
+ * @param {string} localName
557
+ * @return {Node}
558
+ * @see https://developer.mozilla.org/docs/Web/API/NamedNodeMap/removeNamedItemNS
559
+ */
560
+ NamedNodeMap.prototype.removeNamedItemNS = function(namespace, localName) {};
561
+
562
+ /**
563
+ * @param {Node} arg
564
+ * @return {Node}
565
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788
566
+ */
567
+ NamedNodeMap.prototype.setNamedItem = function(arg) {};
568
+
569
+ /**
570
+ * @param {Node} arg
571
+ * @return {?Node}
572
+ * @see https://developer.mozilla.org/docs/Web/API/NamedNodeMap/setNamedItemNS
573
+ */
574
+ NamedNodeMap.prototype.setNamedItemNS = function(arg) {};
575
+
576
+ /**
577
+ * @constructor
578
+ * @extends {Node}
579
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306
580
+ */
581
+ function CharacterData() {}
582
+
583
+ /**
584
+ * @type {string}
585
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359
586
+ */
587
+ CharacterData.prototype.data;
588
+
589
+ /**
590
+ * @type {number}
591
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C
592
+ */
593
+ CharacterData.prototype.length;
594
+
595
+ /**
596
+ * @param {string} arg
597
+ * @return {undefined}
598
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F
599
+ */
600
+ CharacterData.prototype.appendData = function(arg) {};
601
+
602
+ /**
603
+ * @param {number} offset
604
+ * @param {number} count
605
+ * @return {undefined}
606
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781
607
+ */
608
+ CharacterData.prototype.deleteData = function(offset, count) {};
609
+
610
+ /**
611
+ * @param {number} offset
612
+ * @param {string} arg
613
+ * @return {undefined}
614
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F
615
+ */
616
+ CharacterData.prototype.insertData = function(offset, arg) {};
617
+
618
+ /**
619
+ * @param {number} offset
620
+ * @param {number} count
621
+ * @param {string} arg
622
+ * @return {undefined}
623
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB
624
+ */
625
+ CharacterData.prototype.replaceData = function(offset, count, arg) {};
626
+
627
+ /**
628
+ * @param {number} offset
629
+ * @param {number} count
630
+ * @return {string}
631
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF
632
+ * @nosideeffects
633
+ */
634
+ CharacterData.prototype.substringData = function(offset, count) {};
635
+
636
+ /**
637
+ * @constructor
638
+ * @extends {Node}
639
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024
640
+ */
641
+ function Attr() {}
642
+
643
+ /**
644
+ * @type {string}
645
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403
646
+ */
647
+ Attr.prototype.name;
648
+
649
+ /**
650
+ * @type {boolean}
651
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273
652
+ */
653
+ Attr.prototype.specified;
654
+
655
+ /**
656
+ * @type {string}
657
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474
658
+ */
659
+ Attr.prototype.value;
660
+
661
+ /**
662
+ * @constructor
663
+ * @see https://developer.mozilla.org/docs/Web/API/CSSStyleValue
664
+ */
665
+ function CSSStyleValue() {}
666
+
667
+ /**
668
+ * @param {string} property
669
+ * @param {string} cssText
670
+ * @return {!CSSStyleValue}
671
+ * @see https://developer.mozilla.org/docs/Web/API/CSSStyleValue/parse_static
672
+ */
673
+ CSSStyleValue.parse = function(property, cssText) {}
674
+
675
+ /**
676
+ * @param {string} property
677
+ * @param {string} cssText
678
+ * @return {!Array<!CSSStyleValue>}
679
+ * @see https://developer.mozilla.org/docs/Web/API/CSSStyleValue/parseAll_static
680
+ */
681
+ CSSStyleValue.parseAll = function(property, cssText) {}
682
+
683
+ /**
684
+ * @override
685
+ * @return {string}
686
+ */
687
+ CSSStyleValue.prototype.toString = function() {};
688
+
689
+
690
+ /**
691
+ * @constructor
692
+ * @extends {CSSStyleValue}
693
+ * @see https://www.w3.org/TR/css-typed-om-1/#cssnumericvalue
694
+ */
695
+ function CSSNumericValue() {}
696
+
697
+ /**
698
+ * @param {string} cssText
699
+ * @return {!CSSNumericValue}
700
+ */
701
+ CSSNumericValue.parse = function(cssText) {}
702
+
703
+ /**
704
+ * @param {...number|!CSSNumericValue} values
705
+ * @return {!CSSNumericValue}
706
+ */
707
+ CSSNumericValue.prototype.add = function(values) {}
708
+
709
+ /**
710
+ * @param {...number|!CSSNumericValue} values
711
+ * @return {!CSSNumericValue}
712
+ */
713
+ CSSNumericValue.prototype.div = function(values) {}
714
+
715
+ /**
716
+ * @param {...number|!CSSNumericValue} values
717
+ * @return {boolean}
718
+ * TODO(b/409606341): Adding equals to externs caused a minor size increase in
719
+ * some targets. Investigate why this is the case and uncomment this extern
720
+ * once the issue is understood.
721
+ */
722
+ /* CSSNumericValue.prototype.equals = function(values) {}; */
723
+
724
+ /**
725
+ * @param {...number|!CSSNumericValue} values
726
+ * @return {!CSSNumericValue}
727
+ */
728
+ CSSNumericValue.prototype.max = function(values) {};
729
+
730
+ /**
731
+ * @param {...number|!CSSNumericValue} values
732
+ * @return {!CSSNumericValue}
733
+ */
734
+ CSSNumericValue.prototype.min = function(values) {};
735
+
736
+ /**
737
+ * @param {...number|!CSSNumericValue} values
738
+ * @return {!CSSNumericValue}
739
+ */
740
+ CSSNumericValue.prototype.mul = function(values) {};
741
+
742
+ /**
743
+ * @param {...number|!CSSNumericValue} values
744
+ * @return {!CSSNumericValue}
745
+ */
746
+ CSSNumericValue.prototype.sub = function(values) {};
747
+
748
+ /**
749
+ * @param {string} unit
750
+ * @return {!CSSUnitValue}
751
+ */
752
+ CSSNumericValue.prototype.to = function(unit) {};
753
+
754
+ /**
755
+ * @param {...string} units
756
+ * @return {!CSSNumericValue}
757
+ * TODO(b/408277839): This should really return a CSSMathSum.
758
+ * Change the return type when it is added.
759
+ */
760
+ CSSNumericValue.prototype.toSum = function(units) {};
761
+
762
+ /**
763
+ * @return {!CSSNumericType}
764
+ */
765
+ CSSNumericValue.prototype.type = function() {};
766
+
767
+ /**
768
+ * @constructor
769
+ * @extends {CSSNumericValue}
770
+ * @param {number} value
771
+ * @param {string} unit
772
+ * @see https://developer.mozilla.org/docs/Web/API/CSSUnitValue
773
+ */
774
+ function CSSUnitValue(value, unit) {}
775
+
776
+ /**
777
+ * @type {number}
778
+ * @see https://developer.mozilla.org/docs/Web/API/CSSUnitValue/value
779
+ */
780
+ CSSUnitValue.prototype.value;
781
+
782
+ /**
783
+ * @const {string}
784
+ * @see https://developer.mozilla.org/docs/Web/API/CSSUnitValue/unit
785
+ */
786
+ CSSUnitValue.prototype.unit;
787
+
788
+ /**
789
+ * @typedef {{
790
+ * angle: (number|undefined),
791
+ * flex: (number|undefined),
792
+ * frequency: (number|undefined),
793
+ * length: (number|undefined),
794
+ * percent: (number|undefined),
795
+ * percentHint: (string|undefined),
796
+ * resolution: (number|undefined),
797
+ * time: (number|undefined)
798
+ * }}
799
+ */
800
+ var CSSNumericType;
801
+
802
+ /**
803
+ * @constructor
804
+ * @see https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly
805
+ */
806
+ function StylePropertyMapReadOnly() {}
807
+
808
+ /**
809
+ * @const {number}
810
+ * @see https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/size
811
+ */
812
+ StylePropertyMapReadOnly.prototype.size;
813
+
814
+ /**
815
+ * @param {string} property
816
+ * @return {(CSSStyleValue|undefined)}
817
+ * @see https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/get
818
+ */
819
+ StylePropertyMapReadOnly.prototype.get = function(property) {}
820
+
821
+ /**
822
+ * @param {string} property
823
+ * @return {!Array<!CSSStyleValue>}
824
+ * @see https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/getAll
825
+ */
826
+ StylePropertyMapReadOnly.prototype.getAll = function(property) {}
827
+
828
+ /**
829
+ * @param {string} property
830
+ * @return {boolean}
831
+ * @see https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/has
832
+ */
833
+ StylePropertyMapReadOnly.prototype.has = function(property) {}
834
+
835
+ /**
836
+ * @param {function(!Array<!CSSStyleValue>, string, !StylePropertyMapReadOnly): void} callbackfn
837
+ * @param {*=} opt_thisArg
838
+ * @see https://developer.mozilla.org/docs/Web/API/StylePropertyMapReadOnly/forEach
839
+ */
840
+ StylePropertyMapReadOnly.prototype.forEach = function(callbackfn, opt_thisArg) {}
841
+
842
+ /**
843
+ * @typedef {{
844
+ * serializableShadowRoots: (boolean|undefined),
845
+ * shadowRoots: (!Array<!ShadowRoot>|undefined)
846
+ * }}
847
+ */
848
+ var GetHTMLOptions;
849
+
850
+ /**
851
+ * @constructor
852
+ * @extends {Node}
853
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614
854
+ */
855
+ function Element() {}
856
+
857
+ /**
858
+ * @type {!DOMTokenList}
859
+ * @implicitCast
860
+ * @see https://developer.mozilla.org/docs/Web/API/Element/part
861
+ */
862
+ Element.prototype.part;
863
+
864
+ /**
865
+ * @type {string}
866
+ * @implicitCast
867
+ * @see https://dom.spec.whatwg.org/index.html#dom-element-id
868
+ */
869
+ Element.prototype.id;
870
+
871
+ /**
872
+ * An Element always contains a non-null NamedNodeMap containing the attributes
873
+ * of this node.
874
+ * @type {!NamedNodeMap<!Attr>}
875
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes
876
+ */
877
+ Element.prototype.attributes;
878
+
879
+ /**
880
+ * @type {string}
881
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName
882
+ */
883
+ Element.prototype.tagName;
884
+
885
+ /**
886
+ * @implicitCast
887
+ * @type {?}
888
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className
889
+ * We type it as ? even though it is a string, because some SVG elements have
890
+ * className that is an object, which isn't a subtype of string.
891
+ * Alternative: TypeScript types this as string and types className on
892
+ * SVGElement as ?.
893
+ */
894
+ Element.prototype.className;
895
+
896
+ /**
897
+ * @return {!StylePropertyMapReadOnly}
898
+ * @see https://developer.mozilla.org/docs/Web/API/Element/computedStyleMap
899
+ */
900
+ Element.prototype.computedStyleMap = function() {};
901
+
902
+ /**
903
+ * @param {!GetHTMLOptions=} options
904
+ * @return {string}
905
+ * @see https://developer.mozilla.org/docs/Web/API/Element/getHTML
906
+ */
907
+ Element.prototype.getHTML = function (options) {}
908
+
909
+ /**
910
+ * @param {string} name
911
+ * @param {?number=} flags
912
+ * @return {string}
913
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute
914
+ * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx
915
+ * @nosideeffects
916
+ */
917
+ Element.prototype.getAttribute = function(name, flags) {};
918
+
919
+ /**
920
+ * @param {string} name
921
+ * @return {Attr}
922
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode
923
+ * @nosideeffects
924
+ */
925
+ Element.prototype.getAttributeNode = function(name) {};
926
+
927
+ /**
928
+ * @param {string} tagname
929
+ * @return {!NodeList<!Element>}
930
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D
931
+ * @nosideeffects
932
+ */
933
+ Element.prototype.getElementsByTagName = function(tagname) {};
934
+
935
+ /**
936
+ * @param {string} name
937
+ * @return {undefined}
938
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute
939
+ */
940
+ Element.prototype.removeAttribute = function(name) {};
941
+
942
+ /**
943
+ * @param {Attr} oldAttr
944
+ * @return {?Attr}
945
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode
946
+ */
947
+ Element.prototype.removeAttributeNode = function(oldAttr) {};
948
+
949
+ /**
950
+ * @param {string} name
951
+ * @param {string|number|boolean|!TrustedHTML|!TrustedScriptURL|!TrustedScript}
952
+ * value Values are converted to strings with ToString, so we accept number
953
+ * and boolean since both convert easily to strings.
954
+ * @return {undefined}
955
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute
956
+ */
957
+ Element.prototype.setAttribute = function(name, value) {};
958
+
959
+ /**
960
+ * @param {Attr} newAttr
961
+ * @return {?Attr}
962
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode
963
+ */
964
+ Element.prototype.setAttributeNode = function(newAttr) {};
965
+
966
+ // Event handlers
967
+ // The DOM level 3 spec has a good index of these
968
+ // http://www.w3.org/TR/DOM-Level-3-Events/#event-types
969
+
970
+ /** @type {?function (Event)} */ Element.prototype.onabort;
971
+ /** @type {?function (Event)} */ Element.prototype.onbeforeinput;
972
+ /** @type {?function (Event)} */ Element.prototype.onbeforeunload;
973
+ /** @type {?function (Event)} */ Element.prototype.onblur;
974
+ /** @type {?function (Event)} */ Element.prototype.onchange;
975
+ /** @type {?function (Event)} */ Element.prototype.onclick;
976
+ /** @type {?function (Event)} */ Element.prototype.oncompositionstart;
977
+ /** @type {?function (Event)} */ Element.prototype.oncompositionupdate;
978
+ /** @type {?function (Event)} */ Element.prototype.oncompositionend;
979
+ /** @type {?function (Event)} */ Element.prototype.oncontextmenu;
980
+ /** @type {?function (!Event)} */ Element.prototype.oncontextlost;
981
+ /** @type {?function (!Event)} */ Element.prototype.oncontextrestored;
982
+ /** @type {?function (Event)} */ Element.prototype.oncopy;
983
+ /** @type {?function (Event)} */ Element.prototype.oncut;
984
+ /** @type {?function (Event)} */ Element.prototype.ondblclick;
985
+ /** @type {?function (Event)} */ Element.prototype.onerror;
986
+ /** @type {?function (Event)} */ Element.prototype.onfocus;
987
+ /** @type {?function (Event)} */ Element.prototype.onfocusin;
988
+ /** @type {?function (Event)} */ Element.prototype.onfocusout;
989
+ /** @type {?function (Event)} */ Element.prototype.oninput;
990
+ /** @type {?function (Event)} */ Element.prototype.onkeydown;
991
+ /** @type {?function (Event)} */ Element.prototype.onkeypress;
992
+ /** @type {?function (Event)} */ Element.prototype.onkeyup;
993
+ /** @type {?function (Event): void} */ Element.prototype.onload;
994
+ /** @type {?function (Event): void} */ Element.prototype.onunload;
995
+ /** @type {?function (Event)} */ Element.prototype.onmousedown;
996
+ /** @type {?function (Event)} */ Element.prototype.onmousemove;
997
+ /** @type {?function (Event)} */ Element.prototype.onmouseout;
998
+ /** @type {?function (Event)} */ Element.prototype.onmouseover;
999
+ /** @type {?function (Event)} */ Element.prototype.onmouseup;
1000
+ /** @type {?function (Event)} */ Element.prototype.onmousewheel;
1001
+ /** @type {?function (Event)} */ Element.prototype.onpaste;
1002
+ /** @type {?function (Event)} */ Element.prototype.onreset;
1003
+ /** @type {?function (Event)} */ Element.prototype.onresize;
1004
+ /** @type {?function (Event)} */ Element.prototype.onscroll;
1005
+ /** @type {?function (Event)} */ Element.prototype.onselect;
1006
+ /** @type {?function (Event=)} */ Element.prototype.onsubmit;
1007
+ /** @type {?function (Event)} */ Element.prototype.ontextinput;
1008
+ /** @type {?function (Event)} */ Element.prototype.onwheel;
1009
+
1010
+ /**
1011
+ * @constructor
1012
+ * @extends {CharacterData}
1013
+ * @param {string=} contents Optional textual content.
1014
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772
1015
+ */
1016
+ function Text(contents) {}
1017
+
1018
+ /**
1019
+ * @param {number} offset
1020
+ * @return {Text}
1021
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D
1022
+ */
1023
+ Text.prototype.splitText = function(offset) {};
1024
+
1025
+ /**
1026
+ * @constructor
1027
+ * @extends {CharacterData}
1028
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322
1029
+ */
1030
+ function Comment() {}
1031
+
1032
+ /**
1033
+ * @constructor
1034
+ * @extends {Text}
1035
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212
1036
+ */
1037
+ function CDATASection() {}
1038
+
1039
+ /**
1040
+ * @constructor
1041
+ * @extends {Node}
1042
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927
1043
+ */
1044
+ function DocumentType() {}
1045
+
1046
+ /**
1047
+ * @type {string}
1048
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134
1049
+ */
1050
+ DocumentType.prototype.name;
1051
+
1052
+ /**
1053
+ * @constructor
1054
+ * @extends {Node}
1055
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1004215813
1056
+ */
1057
+ function ProcessingInstruction() {}
1058
+
1059
+ /**
1060
+ * @type {string}
1061
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393
1062
+ */
1063
+ ProcessingInstruction.prototype.data;
1064
+
1065
+ /**
1066
+ * @type {string}
1067
+ * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192
1068
+ */
1069
+ ProcessingInstruction.prototype.target;
1070
+
1071
+
1072
+ /**
1073
+ * @constructor
1074
+ * @implements {EventTarget}
1075
+ */
1076
+ function Window() {}
1077
+ Window.prototype.Window;
1078
+
1079
+ /** @override */
1080
+ Window.prototype.addEventListener = function(type, listener, opt_options) {};
1081
+
1082
+ /** @override */
1083
+ Window.prototype.removeEventListener = function(type, listener, opt_options) {};
1084
+
1085
+ /** @override */
1086
+ Window.prototype.dispatchEvent = function(evt) {};
1087
+
1088
+ /** @type {?function (Event)} */ Window.prototype.onabort;
1089
+ /** @type {?function (Event)} */ Window.prototype.onbeforeunload;
1090
+ /** @type {?function (Event)} */ Window.prototype.onblur;
1091
+ /** @type {?function (Event)} */ Window.prototype.onchange;
1092
+ /** @type {?function (Event)} */ Window.prototype.onclick;
1093
+ /** @type {?function (Event)} */ Window.prototype.onclose;
1094
+ /** @type {?function (Event)} */ Window.prototype.oncontextmenu;
1095
+ /** @type {?function (Event)} */ Window.prototype.ondblclick;
1096
+ /** @type {?function (Event)} */ Window.prototype.ondragdrop;
1097
+ // onerror has a special signature.
1098
+ // See
1099
+ // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
1100
+ /**
1101
+ * @type {?function (string, string, number, number, !Error):?}
1102
+ */
1103
+ Window.prototype.onerror;
1104
+ /** @type {?function (MessageEvent<*>)} */ Window.prototype.onmessageerror
1105
+ /** @type {?function (PageTransitionEvent)} */ Window.prototype.onpagehide;
1106
+ /** @type {?function (PageTransitionEvent)} */ Window.prototype.onpageshow;
1107
+ /** @type {?function (Event)} */ Window.prototype.onfocus;
1108
+ /** @type {?function (Event)} */ Window.prototype.onhashchange;
1109
+ /** @type {?function (Event)} */ Window.prototype.onkeydown;
1110
+ /** @type {?function (Event)} */ Window.prototype.onkeypress;
1111
+ /** @type {?function (Event)} */ Window.prototype.onkeyup;
1112
+ /** @type {?function (Event)} */ Window.prototype.onload;
1113
+ /** @type {?function (Event)} */ Window.prototype.onmousedown;
1114
+ /** @type {?function (Event)} */ Window.prototype.onmousemove;
1115
+ /** @type {?function (Event)} */ Window.prototype.onmouseout;
1116
+ /** @type {?function (Event)} */ Window.prototype.onmouseover;
1117
+ /** @type {?function (Event)} */ Window.prototype.onmouseup;
1118
+ /** @type {?function (Event)} */ Window.prototype.onmousewheel;
1119
+ /** @type {?function (!Event)} */ Window.prototype.onauxclick;
1120
+ /** @type {?function (Event)} */ Window.prototype.onpaint;
1121
+ /** @type {?function (Event)} */ Window.prototype.onpopstate;
1122
+ /** @type {?function (Event)} */ Window.prototype.onreset;
1123
+ /** @type {?function (Event)} */ Window.prototype.onresize;
1124
+ /** @type {?function (Event)} */ Window.prototype.onscroll;
1125
+ /** @type {?function (!Event)} */ Window.prototype.onscrollend;
1126
+ /** @type {?function (Event)} */ Window.prototype.onselect;
1127
+ /** @type {?function (Event=)} */ Window.prototype.onsubmit;
1128
+ /** @type {?function (TransitionEvent)} */ Window.prototype.ontransitioncancel;
1129
+ /** @type {?function (TransitionEvent)} */ Window.prototype.ontransitionend;
1130
+ /** @type {?function (TransitionEvent)} */ Window.prototype.ontransitionrun;
1131
+ /** @type {?function (TransitionEvent)} */ Window.prototype.ontransitionstart;
1132
+ /** @type {?function (Event)} */ Window.prototype.onunhandledrejection;
1133
+ /** @type {?function (Event)} */ Window.prototype.onunload;
1134
+ /** @type {?function (Event)} */ Window.prototype.onwheel;
1135
+ /** @type {?function (Event)} */ Window.prototype.onstorage;
1136
+ /** @type {?function (!AnimationEvent)} */ Window.prototype.onanimationcancel;
1137
+ /** @type {?function (!AnimationEvent)} */ Window.prototype.onanimationend;
1138
+ /** @type {?function (!AnimationEvent)} */ Window.prototype.onanimationiteration;
1139
+ /** @type {?function (!AnimationEvent)} */ Window.prototype.onanimationstart;
1140
+ /** @type {?function (!SecurityPolicyViolationEvent)} */ Window.prototype.onsecuritypolicyviolation;
1141
+ /** @type {?function (!Event)} */ Window.prototype.oninvalid;
1142
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onlostpointercapture;
1143
+ /** @type {?function (!PointerEvent)} */ Window.prototype.ongotpointercapture;
1144
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointercancel;
1145
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointerdown;
1146
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointerenter;
1147
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointerleave;
1148
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointermove;
1149
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointerout;
1150
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointerover;
1151
+ /** @type {?function (!PointerEvent)} */ Window.prototype.onpointerup;
1152
+ /** @type {?function (!Event)} */ Window.prototype.onslotchange;
1153
+ /** @type {?function (!Event)} */ Window.prototype.ontoggle;
1154
+ /** @type {?function (!Event)} */ Window.prototype.onbeforetoggle;
1155
+ /** @type {?function (!Event)} */ Window.prototype.onlanguagechange;
1156
+ /** @type {?function (!Event)} */ Window.prototype.onafterprint;
1157
+ /** @type {?function (!Event)} */ Window.prototype.onbeforeprint;
1158
+ /** @type {?function (!GamepadEvent)} */ Window.prototype.ongamepadconnected;
1159
+ /** @type {?function (!GamepadEvent)} */ Window.prototype.ongamepaddisconnected;
1160
+ /** @type {?function (!PromiseRejectionEvent)} */ Window.prototype.onrejectionhandled;