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,163 @@
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 Definitions for W3C's Pointer Events specification.
19
+ * Created from
20
+ * http://www.w3.org/TR/pointerevents/
21
+ *
22
+ * @externs
23
+ */
24
+
25
+
26
+ /**
27
+ * @type {string}
28
+ * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property
29
+ */
30
+ CSSProperties.prototype.touchAction;
31
+
32
+ /**
33
+ * @type {boolean}
34
+ * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabled
35
+ */
36
+ Navigator.prototype.pointerEnabled;
37
+
38
+ /**
39
+ * @type {number}
40
+ * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints
41
+ */
42
+ Navigator.prototype.maxTouchPoints;
43
+
44
+
45
+ /**
46
+ * @param {number} pointerId
47
+ * @see https://www.w3.org/TR/pointerevents/#widl-Element-setPointerCapture-void-long-pointerId
48
+ */
49
+ Element.prototype.setPointerCapture = function(pointerId) {};
50
+
51
+ /**
52
+ * @param {number} pointerId
53
+ * @see https://www.w3.org/TR/pointerevents/#widl-Element-releasePointerCapture-void-long-pointerId
54
+ */
55
+ Element.prototype.releasePointerCapture = function(pointerId) {};
56
+
57
+ /**
58
+ * @param {number} pointerId
59
+ * @see https://www.w3.org/TR/pointerevents/#dom-element-haspointercapture
60
+ * @return {boolean}
61
+ */
62
+ Element.prototype.hasPointerCapture = function(pointerId) {};
63
+
64
+
65
+ /**
66
+ * @record
67
+ * @extends {MouseEventInit}
68
+ * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit
69
+ */
70
+ function PointerEventInit() {}
71
+
72
+ /** @type {undefined|number} */
73
+ PointerEventInit.prototype.pointerId;
74
+
75
+ /** @type {undefined|number} */
76
+ PointerEventInit.prototype.width;
77
+
78
+ /** @type {undefined|number} */
79
+ PointerEventInit.prototype.height;
80
+
81
+ /** @type {undefined|number} */
82
+ PointerEventInit.prototype.pressure;
83
+
84
+ /** @type {undefined|number} */
85
+ PointerEventInit.prototype.tiltX;
86
+
87
+ /** @type {undefined|number} */
88
+ PointerEventInit.prototype.tiltY;
89
+
90
+ /** @type {undefined|string} */
91
+ PointerEventInit.prototype.pointerType;
92
+
93
+ /** @type {undefined|boolean} */
94
+ PointerEventInit.prototype.isPrimary;
95
+
96
+ /** @type {undefined|number} */
97
+ PointerEventInit.prototype.altitudeAngle;
98
+
99
+ /** @type {undefined|number} */
100
+ PointerEventInit.prototype.azimuthAngle;
101
+
102
+ /** @type {undefined|number} */
103
+ PointerEventInit.prototype.tangentialPressure;
104
+
105
+ /** @type {undefined|number} */
106
+ PointerEventInit.prototype.twist;
107
+
108
+ /** @type {undefined|!Array<!PointerEvent>} */
109
+ PointerEventInit.prototype.coalescedEvents;
110
+
111
+ /** @type {undefined|!Array<!PointerEvent>} */
112
+ PointerEventInit.prototype.predictedEvents;
113
+
114
+
115
+ /**
116
+ * @constructor
117
+ * @extends {MouseEvent}
118
+ * @param {string} type
119
+ * @param {PointerEventInit=} opt_eventInitDict
120
+ * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface
121
+ */
122
+ function PointerEvent(type, opt_eventInitDict) {}
123
+
124
+ /** @type {number} */
125
+ PointerEvent.prototype.pointerId;
126
+
127
+ /** @type {number} */
128
+ PointerEvent.prototype.width;
129
+
130
+ /** @type {number} */
131
+ PointerEvent.prototype.height;
132
+
133
+ /** @type {number} */
134
+ PointerEvent.prototype.pressure;
135
+
136
+ /** @type {number} */
137
+ PointerEvent.prototype.tiltX;
138
+
139
+ /** @type {number} */
140
+ PointerEvent.prototype.tiltY;
141
+
142
+ /** @type {string} */
143
+ PointerEvent.prototype.pointerType;
144
+
145
+ /** @type {boolean} */
146
+ PointerEvent.prototype.isPrimary;
147
+
148
+ // Microsoft pointerType values
149
+ /** @const {string} */
150
+ PointerEvent.prototype.MSPOINTER_TYPE_TOUCH;
151
+
152
+ /** @const {string} */
153
+ PointerEvent.prototype.MSPOINTER_TYPE_PEN;
154
+
155
+ /** @const {string} */
156
+ PointerEvent.prototype.MSPOINTER_TYPE_MOUSE;
157
+
158
+ /**
159
+ * @see https://w3c.github.io/pointerevents/extension.html
160
+ * @return {!Array<!PointerEvent>}
161
+ */
162
+ PointerEvent.prototype.getCoalescedEvents = function() {};
163
+
@@ -0,0 +1,63 @@
1
+ /*
2
+ * Copyright 2015 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 Pointer Lock API.
19
+ * @see https://w3c.github.io/pointerlock/
20
+ *
21
+ * @externs
22
+ */
23
+
24
+ /**
25
+ * TODO(bradfordcsmith): update the link when PR is merged
26
+ * @see https://github.com/w3c/pointerlock/pull/49/
27
+ * @record
28
+ */
29
+ function PointerLockOptions() {}
30
+
31
+ /** @type {undefined|boolean} */
32
+ PointerLockOptions.prototype.unadjustedMovement;
33
+
34
+ /**
35
+ * @see https://w3c.github.io/pointerlock/#widl-Element-requestPointerLock-void
36
+ * @param {!PointerLockOptions=} options
37
+ * @return {void|!Promise<void>}
38
+ */
39
+ Element.prototype.requestPointerLock = function(options) {};
40
+
41
+ /**
42
+ * @see https://w3c.github.io/pointerlock/#widl-Document-pointerLockElement
43
+ * @type {?Element}
44
+ */
45
+ Document.prototype.pointerLockElement;
46
+
47
+ /**
48
+ * @see https://w3c.github.io/pointerlock/#widl-Document-exitPointerLock-void
49
+ * @return {void}
50
+ */
51
+ Document.prototype.exitPointerLock = function() {};
52
+
53
+ /**
54
+ * @see https://w3c.github.io/pointerlock/#widl-MouseEvent-movementX
55
+ * @type {number}
56
+ */
57
+ MouseEvent.prototype.movementX;
58
+
59
+ /**
60
+ * @see https://w3c.github.io/pointerlock/#widl-MouseEvent-movementY
61
+ * @type {number}
62
+ */
63
+ MouseEvent.prototype.movementY;
@@ -0,0 +1,284 @@
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 range specification.
19
+ * This file depends on w3c_dom2.js.
20
+ * The whole file has been fully type annotated.
21
+ * Created from
22
+ * http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html
23
+ *
24
+ * @externs
25
+ * @author stevey@google.com (Steve Yegge)
26
+ */
27
+
28
+
29
+ /**
30
+ * @constructor
31
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface
32
+ */
33
+ function Range() {}
34
+
35
+ // constants on the constructor
36
+
37
+ /**
38
+ * @const {number}
39
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
40
+ */
41
+ Range.START_TO_START;
42
+
43
+ /**
44
+ * @const {number}
45
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
46
+ */
47
+ Range.START_TO_END;
48
+
49
+ /**
50
+ * @const {number}
51
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
52
+ */
53
+ Range.END_TO_END;
54
+
55
+ /**
56
+ * @const {number}
57
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
58
+ */
59
+ Range.END_TO_START;
60
+
61
+ // constants repeated on the prototype
62
+
63
+ /**
64
+ * @const {number}
65
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
66
+ */
67
+ Range.prototype.START_TO_START;
68
+
69
+ /**
70
+ * @const {number}
71
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
72
+ */
73
+ Range.prototype.START_TO_END;
74
+
75
+ /**
76
+ * @const {number}
77
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
78
+ */
79
+ Range.prototype.END_TO_END;
80
+
81
+ /**
82
+ * @const {number}
83
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow
84
+ */
85
+ Range.prototype.END_TO_START;
86
+
87
+ /**
88
+ * @type {Node}
89
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent
90
+ */
91
+ Range.prototype.startContainer;
92
+
93
+ /**
94
+ * @type {number}
95
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset
96
+ */
97
+ Range.prototype.startOffset;
98
+
99
+ /**
100
+ * @type {Node}
101
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent
102
+ */
103
+ Range.prototype.endContainer;
104
+
105
+ /**
106
+ * @type {number}
107
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset
108
+ */
109
+ Range.prototype.endOffset;
110
+
111
+ /**
112
+ * @type {boolean}
113
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed
114
+ */
115
+ Range.prototype.collapsed;
116
+
117
+ /**
118
+ * @type {Node}
119
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent
120
+ */
121
+ Range.prototype.commonAncestorContainer;
122
+
123
+ /**
124
+ * @param {Node} refNode
125
+ * @param {number} offset
126
+ * @return {undefined}
127
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart
128
+ */
129
+ Range.prototype.setStart = function(refNode, offset) {};
130
+
131
+ /**
132
+ * @param {Node} refNode
133
+ * @param {number} offset
134
+ * @return {undefined}
135
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd
136
+ */
137
+ Range.prototype.setEnd = function(refNode, offset) {};
138
+
139
+ /**
140
+ * @param {Node} refNode
141
+ * @return {undefined}
142
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore
143
+ */
144
+ Range.prototype.setStartBefore = function(refNode) {};
145
+
146
+ /**
147
+ * @param {Node} refNode
148
+ * @return {undefined}
149
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter
150
+ */
151
+ Range.prototype.setStartAfter = function(refNode) {};
152
+
153
+ /**
154
+ * @param {Node} refNode
155
+ * @return {undefined}
156
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore
157
+ */
158
+ Range.prototype.setEndBefore = function(refNode) {};
159
+
160
+ /**
161
+ * @param {Node} refNode
162
+ * @return {undefined}
163
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter
164
+ */
165
+ Range.prototype.setEndAfter = function(refNode) {};
166
+
167
+ /**
168
+ * @param {boolean} toStart
169
+ * @return {undefined}
170
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse
171
+ */
172
+ Range.prototype.collapse = function(toStart) {};
173
+
174
+ /**
175
+ * @param {Node} refNode
176
+ * @return {undefined}
177
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode
178
+ */
179
+ Range.prototype.selectNode = function(refNode) {};
180
+
181
+ /**
182
+ * @param {Node} refNode
183
+ * @return {undefined}
184
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents
185
+ */
186
+ Range.prototype.selectNodeContents = function(refNode) {};
187
+
188
+ /**
189
+ * @param {number} how
190
+ * @param {Range} sourceRange
191
+ * @return {number}
192
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints
193
+ */
194
+ Range.prototype.compareBoundaryPoints = function(how, sourceRange) {};
195
+
196
+ /**
197
+ * @return {number}
198
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents
199
+ */
200
+ Range.prototype.deleteContents = function() {};
201
+
202
+ /**
203
+ * @return {DocumentFragment}
204
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents
205
+ */
206
+ Range.prototype.extractContents = function() {};
207
+
208
+ /**
209
+ * @return {DocumentFragment}
210
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents
211
+ */
212
+ Range.prototype.cloneContents = function() {};
213
+
214
+ /**
215
+ * @param {Node} newNode
216
+ * @return {DocumentFragment}
217
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode
218
+ */
219
+ Range.prototype.insertNode = function(newNode) {};
220
+
221
+ /**
222
+ * @param {Node} newParent
223
+ * @return {undefined}
224
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents
225
+ */
226
+ Range.prototype.surroundContents = function(newParent) {};
227
+
228
+ /**
229
+ * @return {Range}
230
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone
231
+ */
232
+ Range.prototype.cloneRange = function() {};
233
+
234
+ /**
235
+ * @param {Node} parent
236
+ * @param {number} offset
237
+ * @return {number}
238
+ * @nosideeffects
239
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-range-comparepoint%E2%91%A0
240
+ */
241
+ Range.prototype.comparePoint;
242
+
243
+ /**
244
+ * @return {undefined}
245
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach
246
+ */
247
+ Range.prototype.detach = function() {};
248
+
249
+ /**
250
+ * @param {!TrustedHTML|string} tag
251
+ * @return {DocumentFragment}
252
+ * @see https://w3c.github.io/DOM-Parsing/#ref-for-dom-range-createcontextualfragment-2
253
+ */
254
+ Range.prototype.createContextualFragment;
255
+
256
+ /**
257
+ * @param {Node} n
258
+ * @return {boolean}
259
+ * @nosideeffects
260
+ * @see https://dom.spec.whatwg.org/#ref-for-dom-range-intersectsnode%E2%91%A0
261
+ */
262
+ Range.prototype.intersectsNode;
263
+
264
+ /**
265
+ * @param {Node} parent
266
+ * @param {number} offset
267
+ * @return {boolean}
268
+ * @nosideeffects
269
+ * @see https://dom.spec.whatwg.org/#dom-range-ispointinrange
270
+ */
271
+ Range.prototype.isPointInRange;
272
+
273
+ // Introduced in DOM Level 2:
274
+ /**
275
+ * @interface
276
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl
277
+ */
278
+ function DocumentRange() {}
279
+
280
+ /**
281
+ * @return {Range}
282
+ * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange
283
+ */
284
+ DocumentRange.prototype.createRange = function() {};
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright 2018 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 referrer policy specification.
19
+ * @see https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-delivery
20
+ * @externs
21
+ */
22
+
23
+ /** @type {string} */
24
+ HTMLAnchorElement.prototype.referrerPolicy;
25
+
26
+ /** @type {string} */
27
+ HTMLAreaElement.prototype.referrerPolicy;
28
+
29
+ /** @type {string} */
30
+ HTMLImageElement.prototype.referrerPolicy;
31
+
32
+ /** @type {string} */
33
+ HTMLIFrameElement.prototype.referrerPolicy;
34
+
35
+ /** @type {string} */
36
+ HTMLLinkElement.prototype.referrerPolicy;
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Copyright 2015 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 Definitions for cooperative scheduling of background tasks in
18
+ * the browser. This spec is still very likely to change.
19
+ *
20
+ * @see https://w3c.github.io/requestidlecallback/
21
+ * @see https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback?hl=en
22
+ * @externs
23
+ */
24
+
25
+
26
+ /**
27
+ * @typedef {{
28
+ * timeout: (number|undefined)
29
+ * }}
30
+ */
31
+ var IdleCallbackOptions;
32
+
33
+
34
+ /**
35
+ * Schedules a callback to run when the browser is idle.
36
+ * @param {function(!IdleDeadline): void} callback Called when the browser is idle.
37
+ * @param {number|IdleCallbackOptions=} opt_options If set, gives the browser a time in ms by which
38
+ * it must execute the callback. No timeout enforced otherwise.
39
+ * @return {number} A handle that can be used to cancel the scheduled callback.
40
+ */
41
+ function requestIdleCallback(callback, opt_options) {}
42
+
43
+
44
+ /**
45
+ * Cancels a callback scheduled to run when the browser is idle.
46
+ * @param {number} handle The handle returned by `requestIdleCallback` for
47
+ * the scheduled callback to cancel.
48
+ * @return {undefined}
49
+ */
50
+ function cancelIdleCallback(handle) {}
51
+
52
+
53
+
54
+ /**
55
+ * An interface for an object passed into the callback for
56
+ * `requestIdleCallback` that remains up-to-date on the amount of idle
57
+ * time left in the current time slice.
58
+ * @interface
59
+ */
60
+ function IdleDeadline() {}
61
+
62
+
63
+ /**
64
+ * @return {number} The amount of idle time (milliseconds) remaining in the
65
+ * current time slice. Will always be positive or 0.
66
+ */
67
+ IdleDeadline.prototype.timeRemaining = function() {};
68
+
69
+
70
+ /**
71
+ * Whether the callback was forced to run due to a timeout. Specifically,
72
+ * whether the callback was invoked by the idle callback timeout algorithm:
73
+ * https://w3c.github.io/requestidlecallback/#dfn-invoke-idle-callback-timeout-algorithm
74
+ * @type {boolean}
75
+ */
76
+ IdleDeadline.prototype.didTimeout;