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,47 @@
1
+ /*
2
+ * Copyright 2020 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 the W3C Keyboard Lock API.
19
+ * @see https://wicg.github.io/keyboard-lock/
20
+ * @externs
21
+ */
22
+
23
+ /**
24
+ * Keyboard API object.
25
+ * @constructor
26
+ * @see https://w3c.github.io/keyboard-lock/#keyboard-interface
27
+ */
28
+ function Keyboard() {}
29
+
30
+ /**
31
+ * Lock the specified keys for this page, or all keys if keyCodes is omitted.
32
+ * @param {?Array<string>=} keyCodes
33
+ * @return {!Promise<undefined>}
34
+ */
35
+ Keyboard.prototype.lock = function(keyCodes) {};
36
+
37
+ /**
38
+ * Unlock any locked keys.
39
+ */
40
+ Keyboard.prototype.unlock = function() {};
41
+
42
+
43
+ /**
44
+ * @type {!Keyboard}
45
+ * @see https://w3c.github.io/keyboard-lock/#API
46
+ */
47
+ Navigator.prototype.keyboard;
@@ -0,0 +1,206 @@
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
+ * @fileoverview MediaCapabilities externs.
18
+ * Based on {@link https://w3c.github.io/media-capabilities/ MC draft 6 November
19
+ * 2019}.
20
+ * @externs
21
+ */
22
+
23
+ /**
24
+ * @typedef {string}
25
+ * @see https://w3c.github.io/media-capabilities/#enumdef-hdrmetadatatype
26
+ */
27
+ var HdrMetadataType;
28
+
29
+ /**
30
+ * @typedef {string}
31
+ * @see https://w3c.github.io/media-capabilities/#enumdef-colorgamut
32
+ */
33
+ var ColorGamut;
34
+
35
+ /**
36
+ * @typedef {string}
37
+ * @see https://w3c.github.io/media-capabilities/#enumdef-transferfunction
38
+ */
39
+ var TransferFunction;
40
+
41
+ /**
42
+ * @typedef {string}
43
+ * @see https://w3c.github.io/media-capabilities/#enumdef-mediadecodingtype
44
+ */
45
+ var MediaDecodingType;
46
+
47
+ /**
48
+ * @typedef {string}
49
+ * @see https://w3c.github.io/media-capabilities/#enumdef-mediaencodingtype
50
+ */
51
+ var MediaEncodingType;
52
+
53
+ /**
54
+ * @typedef {{
55
+ * contentType: string,
56
+ * width: number,
57
+ * height: number,
58
+ * bitrate: number,
59
+ * framerate: number,
60
+ * hasAlphaChannel: (boolean|undefined),
61
+ * hdrMetadataType: (!HdrMetadataType|undefined),
62
+ * colorGamut: (!ColorGamut|undefined),
63
+ * transferFunction: (!TransferFunction|undefined)
64
+ * }}
65
+ * @see https://w3c.github.io/media-capabilities/#dictdef-videoconfiguration
66
+ */
67
+ var VideoConfiguration;
68
+
69
+ // NOTE: channels definition below is not yet stable in the spec as of Dec 2019.
70
+ // "The channels needs to be defined as a double (2.1, 4.1, 5.1, ...), an
71
+ // unsigned short (number of channels) or as an enum value. The current
72
+ // definition is a placeholder."
73
+ /**
74
+ * @typedef {{
75
+ * contentType: string,
76
+ * channels: (*|undefined),
77
+ * bitrate: (number|undefined),
78
+ * samplerate: (number|undefined),
79
+ * spatialRendering: (boolean|undefined)
80
+ * }}
81
+ * @see https://w3c.github.io/media-capabilities/#dictdef-audioconfiguration
82
+ */
83
+ var AudioConfiguration;
84
+
85
+ // NOTE: encryptionScheme is not yet in the MC spec as of Dec 2019, but has
86
+ // already landed in EME and should be in MC soon.
87
+ // https://github.com/w3c/media-capabilities/issues/100
88
+ /**
89
+ * @typedef {{
90
+ * robustness: (string|undefined),
91
+ * encryptionScheme: (string|undefined)
92
+ * }}
93
+ * @see https://w3c.github.io/media-capabilities/#dictdef-keysystemtrackconfiguration
94
+ */
95
+ var KeySystemTrackConfiguration;
96
+
97
+ /**
98
+ * @typedef {{
99
+ * keySystem: string,
100
+ * initDataType: (string|undefined),
101
+ * distinctiveIdentifier: (string|undefined),
102
+ * persistentState: (string|undefined),
103
+ * sessionTypes: (!Array<string>|undefined),
104
+ * audio: (!KeySystemTrackConfiguration|undefined),
105
+ * video: (!KeySystemTrackConfiguration|undefined)
106
+ * }}
107
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitieskeysystemconfiguration
108
+ */
109
+ var MediaCapabilitiesKeySystemConfiguration;
110
+
111
+ /**
112
+ * @record
113
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediaconfiguration
114
+ */
115
+ function MediaConfiguration() {}
116
+
117
+ /** @type {!VideoConfiguration|undefined} */
118
+ MediaConfiguration.prototype.video;
119
+
120
+ /** @type {!AudioConfiguration|undefined} */
121
+ MediaConfiguration.prototype.audio;
122
+
123
+ /**
124
+ * @record
125
+ * @extends {MediaConfiguration}
126
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediadecodingconfiguration
127
+ */
128
+ function MediaDecodingConfiguration() {}
129
+
130
+ /** @type {!MediaDecodingType} */
131
+ MediaDecodingConfiguration.prototype.type;
132
+
133
+ /** @type {!MediaCapabilitiesKeySystemConfiguration|undefined} */
134
+ MediaDecodingConfiguration.prototype.keySystemConfiguration;
135
+
136
+ /**
137
+ * @record
138
+ * @extends {MediaConfiguration}
139
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediaencodingconfiguration
140
+ */
141
+ function MediaEncodingConfiguration() {}
142
+
143
+ /** @type {!MediaEncodingType} */
144
+ MediaEncodingConfiguration.prototype.type;
145
+
146
+ /**
147
+ * @record
148
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitiesinfo
149
+ */
150
+ function MediaCapabilitiesInfo() {}
151
+
152
+ /** @type {boolean} */
153
+ MediaCapabilitiesInfo.prototype.supported;
154
+
155
+ /** @type {boolean} */
156
+ MediaCapabilitiesInfo.prototype.smooth;
157
+
158
+ /** @type {boolean} */
159
+ MediaCapabilitiesInfo.prototype.powerEfficient;
160
+
161
+ /**
162
+ * @record
163
+ * @extends {MediaCapabilitiesInfo}
164
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitiesdecodinginfo
165
+ */
166
+ function MediaCapabilitiesDecodingInfo() {}
167
+
168
+ /** @type {?MediaKeySystemAccess} */
169
+ MediaCapabilitiesDecodingInfo.prototype.keySystemAccess;
170
+
171
+ /** @type {!MediaDecodingConfiguration} */
172
+ MediaCapabilitiesDecodingInfo.prototype.configuration;
173
+
174
+ /**
175
+ * @record
176
+ * @extends {MediaCapabilitiesInfo}
177
+ * @see https://w3c.github.io/media-capabilities/#dictdef-mediacapabilitiesencodinginfo
178
+ */
179
+ function MediaCapabilitiesEncodingInfo() {}
180
+
181
+ /** @type {!MediaEncodingConfiguration} */
182
+ MediaCapabilitiesEncodingInfo.prototype.configuration;
183
+
184
+ /**
185
+ * @interface
186
+ * @see https://w3c.github.io/media-capabilities/#mediacapabilities
187
+ */
188
+ function MediaCapabilities() {}
189
+
190
+ /**
191
+ * @param {!MediaDecodingConfiguration} configuration
192
+ * @return {!Promise<!MediaCapabilitiesDecodingInfo>}
193
+ */
194
+ MediaCapabilities.prototype.decodingInfo = function(configuration) {};
195
+
196
+ /**
197
+ * @param {!MediaEncodingConfiguration} configuration
198
+ * @return {!Promise<!MediaCapabilitiesEncodingInfo>}
199
+ */
200
+ MediaCapabilities.prototype.encodingInfo = function(configuration) {};
201
+
202
+ /** @const {?MediaCapabilities} */
203
+ Navigator.prototype.mediaCapabilities;
204
+
205
+ /** @const {?MediaCapabilities} */
206
+ WorkerNavigator.prototype.mediaCapabilities;
@@ -0,0 +1,301 @@
1
+ /*
2
+ * Copyright 2014 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 W3C Web MIDI specification.
19
+ * @see http://www.w3.org/TR/webmidi/
20
+ *
21
+ * @externs
22
+ */
23
+
24
+
25
+ /**
26
+ * @param {!MIDIOptions=} opt_options
27
+ * @return {!Promise.<!MIDIAccess>}
28
+ */
29
+ navigator.requestMIDIAccess = function(opt_options) {};
30
+
31
+
32
+ /**
33
+ * @typedef {{
34
+ * sysex: boolean
35
+ * }}
36
+ */
37
+ var MIDIOptions;
38
+
39
+
40
+
41
+ /**
42
+ * @interface
43
+ */
44
+ var MIDIInputMap = function() {};
45
+
46
+
47
+ /**
48
+ * @const {number}
49
+ */
50
+ MIDIInputMap.prototype.size;
51
+
52
+
53
+ /**
54
+ * @param {function(string)} iterator
55
+ */
56
+ MIDIInputMap.prototype.keys = function(iterator) {};
57
+
58
+
59
+ /**
60
+ * @param {function(!Array.<*>)} iterator
61
+ */
62
+ MIDIInputMap.prototype.entries = function(iterator) {};
63
+
64
+
65
+ /**
66
+ * @param {function(!MIDIInput)} iterator
67
+ */
68
+ MIDIInputMap.prototype.values = function(iterator) {};
69
+
70
+
71
+ /**
72
+ * @param {string} key
73
+ * @return {!MIDIInput}
74
+ */
75
+ MIDIInputMap.prototype.get = function(key) {};
76
+
77
+
78
+ /**
79
+ * @param {string} key
80
+ * @return {boolean}
81
+ */
82
+ MIDIInputMap.prototype.has = function(key) {};
83
+
84
+
85
+
86
+ /**
87
+ * @interface
88
+ */
89
+ var MIDIOutputMap = function() {};
90
+
91
+
92
+ /**
93
+ * @const {number}
94
+ */
95
+ MIDIOutputMap.prototype.size;
96
+
97
+
98
+ /**
99
+ * @param {function(string)} iterator
100
+ */
101
+ MIDIOutputMap.prototype.keys = function(iterator) {};
102
+
103
+
104
+ /**
105
+ * @param {function(!Array.<*>)} iterator
106
+ */
107
+ MIDIOutputMap.prototype.entries = function(iterator) {};
108
+
109
+
110
+ /**
111
+ * @param {function(!MIDIOutput)} iterator
112
+ */
113
+ MIDIOutputMap.prototype.values = function(iterator) {};
114
+
115
+
116
+ /**
117
+ * @param {string} key
118
+ * @return {!MIDIOutput}
119
+ */
120
+ MIDIOutputMap.prototype.get = function(key) {};
121
+
122
+
123
+ /**
124
+ * @param {string} key
125
+ * @return {boolean}
126
+ */
127
+ MIDIOutputMap.prototype.has = function(key) {};
128
+
129
+
130
+
131
+ /**
132
+ * @interface
133
+ * @extends {EventTarget}
134
+ */
135
+ var MIDIAccess = function() {};
136
+
137
+
138
+ /**
139
+ * @const {!MIDIInputMap}
140
+ */
141
+ MIDIAccess.prototype.inputs;
142
+
143
+
144
+ /**
145
+ * @const {!MIDIOutputMap}
146
+ */
147
+ MIDIAccess.prototype.outputs;
148
+
149
+
150
+ /**
151
+ * @const {function(!MIDIConnectionEvent)}
152
+ */
153
+ MIDIAccess.prototype.onconnect;
154
+
155
+
156
+ /**
157
+ * @type {function(!MIDIConnectionEvent)}
158
+ */
159
+ MIDIAccess.prototype.ondisconnect;
160
+
161
+
162
+ /**
163
+ * @const {boolean}
164
+ */
165
+ MIDIAccess.prototype.sysexEnabled;
166
+
167
+
168
+
169
+ /**
170
+ * @interface
171
+ * @extends {EventTarget}
172
+ */
173
+ var MIDIPort = function() {};
174
+
175
+
176
+ /**
177
+ * @const {string}
178
+ */
179
+ MIDIPort.prototype.id;
180
+
181
+
182
+ /**
183
+ * @const {string}
184
+ */
185
+ MIDIPort.prototype.manufacturer;
186
+
187
+
188
+ /**
189
+ * @const {string}
190
+ */
191
+ MIDIPort.prototype.name;
192
+
193
+
194
+ /**
195
+ * @const {string}
196
+ */
197
+ MIDIPort.prototype.type;
198
+
199
+
200
+ /**
201
+ * @const {string}
202
+ */
203
+ MIDIPort.prototype.version;
204
+
205
+
206
+ /**
207
+ * @type {function(!MIDIConnectionEvent)}
208
+ */
209
+ MIDIPort.prototype.ondisconnect;
210
+
211
+
212
+
213
+ /**
214
+ * @interface
215
+ * @extends {MIDIPort}
216
+ */
217
+ var MIDIInput = function() {};
218
+
219
+
220
+ /**
221
+ * @type {function(!MIDIMessageEvent)}
222
+ */
223
+ MIDIInput.prototype.onmidimessage;
224
+
225
+
226
+
227
+ /**
228
+ * @interface
229
+ * @extends {MIDIPort}
230
+ */
231
+ var MIDIOutput = function() {};
232
+
233
+
234
+ /**
235
+ * @param {!Uint8Array} data
236
+ * @param {number=} opt_timestamp
237
+ */
238
+ MIDIOutput.prototype.send = function(data, opt_timestamp) {};
239
+
240
+
241
+
242
+ /**
243
+ * @constructor
244
+ * @extends {Event}
245
+ * @param {string} type
246
+ * @param {!MIDIMessageEventInit=} opt_init
247
+ */
248
+ var MIDIMessageEvent = function(type, opt_init) {};
249
+
250
+
251
+ /**
252
+ * @const {number}
253
+ */
254
+ MIDIMessageEvent.prototype.receivedTime;
255
+
256
+
257
+ /**
258
+ * @const {!Uint8Array}
259
+ */
260
+ MIDIMessageEvent.prototype.data;
261
+
262
+
263
+ /**
264
+ * @record
265
+ * @extends {EventInit}
266
+ * @see https://www.w3.org/TR/webmidi/#midimessageeventinit-interface
267
+ */
268
+ function MIDIMessageEventInit() {}
269
+
270
+ /** @type {undefined|number} */
271
+ MIDIMessageEventInit.prototype.receivedTime;
272
+
273
+ /** @type {undefined|!Uint8Array} */
274
+ MIDIMessageEventInit.prototype.data;
275
+
276
+
277
+
278
+ /**
279
+ * @constructor
280
+ * @extends {Event}
281
+ * @param {string} type
282
+ * @param {!MIDIConnectionEventInit=} opt_init
283
+ */
284
+ var MIDIConnectionEvent = function(type, opt_init) {};
285
+
286
+
287
+ /**
288
+ * @const {MIDIPort}
289
+ */
290
+ MIDIConnectionEvent.prototype.port;
291
+
292
+
293
+ /**
294
+ * @record
295
+ * @extends {EventInit}
296
+ * @see https://www.w3.org/TR/webmidi/#idl-def-MIDIConnectionEventInit
297
+ */
298
+ function MIDIConnectionEventInit() {}
299
+
300
+ /** @type {undefined|!MIDIPort} */
301
+ MIDIConnectionEventInit.prototype.port;
@@ -0,0 +1,72 @@
1
+ /*
2
+ * Copyright 2025 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 HTML Navigation History APIs.
19
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API
20
+ * @externs
21
+ */
22
+
23
+ // NavigationHistoryEntry
24
+
25
+ /**
26
+ * @constructor
27
+ * @implements {EventTarget}
28
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigationhistoryentry
29
+ */
30
+ function NavigationHistoryEntry() {}
31
+
32
+ /**
33
+ * @type {string}
34
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-id
35
+ */
36
+ NavigationHistoryEntry.prototype.id;
37
+
38
+ /**
39
+ * @type {number}
40
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-index
41
+ */
42
+ NavigationHistoryEntry.prototype.index;
43
+
44
+ /**
45
+ * @type {string}
46
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-key
47
+ */
48
+ NavigationHistoryEntry.prototype.key;
49
+
50
+ /**
51
+ * @type {string|null}
52
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-url
53
+ */
54
+ NavigationHistoryEntry.prototype.url;
55
+
56
+ /**
57
+ * @type {boolean}
58
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-samedocument
59
+ */
60
+ NavigationHistoryEntry.prototype.sameDocument;
61
+
62
+ /**
63
+ * @return {?}
64
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-getstate
65
+ */
66
+ NavigationHistoryEntry.prototype.getState = function() {};
67
+
68
+ /**
69
+ * @type {function(!Event)|undefined|null}
70
+ * @see https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-navigationhistoryentry-ondispose
71
+ */
72
+ NavigationHistoryEntry.prototype.ondispose;