@webref/idl 3.29.0 → 3.31.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 (292) hide show
  1. package/ANGLE_instanced_arrays.idl +12 -0
  2. package/CSP.idl +56 -0
  3. package/DOM-Parsing.idl +26 -0
  4. package/EXT_blend_minmax.idl +10 -0
  5. package/EXT_color_buffer_float.idl +8 -0
  6. package/EXT_color_buffer_half_float.idl +12 -0
  7. package/EXT_disjoint_timer_query.idl +30 -0
  8. package/EXT_disjoint_timer_query_webgl2.idl +14 -0
  9. package/EXT_float_blend.idl +8 -0
  10. package/EXT_frag_depth.idl +8 -0
  11. package/EXT_sRGB.idl +12 -0
  12. package/EXT_shader_texture_lod.idl +8 -0
  13. package/EXT_texture_compression_bptc.idl +12 -0
  14. package/EXT_texture_compression_rgtc.idl +12 -0
  15. package/EXT_texture_filter_anisotropic.idl +10 -0
  16. package/EXT_texture_norm16.idl +16 -0
  17. package/FedCM.idl +67 -0
  18. package/FileAPI.idl +100 -0
  19. package/IndexedDB.idl +226 -0
  20. package/KHR_parallel_shader_compile.idl +9 -0
  21. package/OES_draw_buffers_indexed.idl +26 -0
  22. package/OES_element_index_uint.idl +8 -0
  23. package/OES_fbo_render_mipmap.idl +8 -0
  24. package/OES_standard_derivatives.idl +9 -0
  25. package/OES_texture_float.idl +7 -0
  26. package/OES_texture_float_linear.idl +7 -0
  27. package/OES_texture_half_float.idl +9 -0
  28. package/OES_texture_half_float_linear.idl +7 -0
  29. package/OES_vertex_array_object.idl +18 -0
  30. package/OVR_multiview2.idl +14 -0
  31. package/SVG.idl +693 -0
  32. package/WEBGL_blend_equation_advanced_coherent.idl +23 -0
  33. package/WEBGL_clip_cull_distance.idl +20 -0
  34. package/WEBGL_color_buffer_float.idl +11 -0
  35. package/WEBGL_compressed_texture_astc.idl +41 -0
  36. package/WEBGL_compressed_texture_etc.idl +19 -0
  37. package/WEBGL_compressed_texture_etc1.idl +10 -0
  38. package/WEBGL_compressed_texture_pvrtc.idl +13 -0
  39. package/WEBGL_compressed_texture_s3tc.idl +13 -0
  40. package/WEBGL_compressed_texture_s3tc_srgb.idl +13 -0
  41. package/WEBGL_debug_renderer_info.idl +12 -0
  42. package/WEBGL_debug_shaders.idl +11 -0
  43. package/WEBGL_depth_texture.idl +9 -0
  44. package/WEBGL_draw_buffers.idl +46 -0
  45. package/WEBGL_draw_instanced_base_vertex_base_instance.idl +14 -0
  46. package/WEBGL_lose_context.idl +10 -0
  47. package/WEBGL_multi_draw.idl +32 -0
  48. package/WEBGL_multi_draw_instanced_base_vertex_base_instance.idl +26 -0
  49. package/WEBGL_provoking_vertex.idl +13 -0
  50. package/WebCryptoAPI.idl +237 -0
  51. package/accelerometer.idl +40 -0
  52. package/ambient-light.idl +14 -0
  53. package/anchors.idl +37 -0
  54. package/attribution-reporting-api.idl +12 -0
  55. package/audio-output.idl +17 -0
  56. package/autoplay-detection.idl +19 -0
  57. package/background-fetch.idl +89 -0
  58. package/background-sync.idl +30 -0
  59. package/badging.idl +15 -0
  60. package/battery-status.idl +21 -0
  61. package/beacon.idl +8 -0
  62. package/capture-handle-identity.idl +27 -0
  63. package/clipboard-apis.idl +51 -0
  64. package/close-watcher.idl +19 -0
  65. package/compat.idl +13 -0
  66. package/compression.idl +22 -0
  67. package/compute-pressure.idl +37 -0
  68. package/console.idl +34 -0
  69. package/contact-picker.idl +44 -0
  70. package/content-index.idl +46 -0
  71. package/cookie-store.idl +110 -0
  72. package/crash-reporting.idl +10 -0
  73. package/credential-management.idl +105 -0
  74. package/csp-embedded-enforcement.idl +8 -0
  75. package/csp-next.idl +21 -0
  76. package/css-animation-worklet.idl +37 -0
  77. package/css-animations-2.idl +9 -0
  78. package/css-animations.idl +47 -0
  79. package/css-cascade-6.idl +10 -0
  80. package/css-cascade.idl +18 -0
  81. package/css-color-5.idl +12 -0
  82. package/css-conditional.idl +27 -0
  83. package/css-contain-3.idl +10 -0
  84. package/css-contain.idl +13 -0
  85. package/css-counter-styles.idl +23 -0
  86. package/css-font-loading.idl +134 -0
  87. package/css-fonts.idl +36 -0
  88. package/css-highlight-api.idl +27 -0
  89. package/css-images-4.idl +8 -0
  90. package/css-layout-api.idl +144 -0
  91. package/css-masking.idl +20 -0
  92. package/css-nav.idl +48 -0
  93. package/css-nesting.idl +10 -0
  94. package/css-paint-api.idl +39 -0
  95. package/css-parser-api.idl +76 -0
  96. package/css-properties-values-api.idl +23 -0
  97. package/css-pseudo.idl +16 -0
  98. package/css-regions.idl +29 -0
  99. package/css-shadow-parts.idl +8 -0
  100. package/css-transitions-2.idl +9 -0
  101. package/css-transitions.idl +25 -0
  102. package/css-typed-om.idl +423 -0
  103. package/css-view-transitions.idl +18 -0
  104. package/cssom-view.idl +200 -0
  105. package/cssom.idl +159 -0
  106. package/custom-state-pseudo-class.idl +14 -0
  107. package/datacue.idl +12 -0
  108. package/deprecation-reporting.idl +15 -0
  109. package/device-memory.idl +14 -0
  110. package/device-posture.idl +21 -0
  111. package/digital-goods.idl +44 -0
  112. package/dom.idl +609 -0
  113. package/edit-context.idl +111 -0
  114. package/element-timing.idl +22 -0
  115. package/encoding.idl +59 -0
  116. package/encrypted-media.idl +125 -0
  117. package/entries-api.idl +71 -0
  118. package/event-timing.idl +29 -0
  119. package/eyedropper-api.idl +18 -0
  120. package/fenced-frame.idl +49 -0
  121. package/fetch.idl +117 -0
  122. package/fido.idl +47 -0
  123. package/file-system-access.idl +72 -0
  124. package/filter-effects.idl +341 -0
  125. package/font-metrics-api.idl +42 -0
  126. package/fs.idl +93 -0
  127. package/fullscreen.idl +35 -0
  128. package/gamepad-extensions.idl +71 -0
  129. package/gamepad.idl +49 -0
  130. package/generic-sensor.idl +60 -0
  131. package/geolocation-sensor.idl +47 -0
  132. package/geolocation.idl +65 -0
  133. package/geometry.idl +290 -0
  134. package/get-installed-related-apps.idl +16 -0
  135. package/gpc-spec.idl +10 -0
  136. package/gyroscope.idl +24 -0
  137. package/hr-time.idl +19 -0
  138. package/html-media-capture.idl +8 -0
  139. package/html.idl +2717 -0
  140. package/idle-detection.idl +31 -0
  141. package/image-capture.idl +160 -0
  142. package/image-resource.idl +11 -0
  143. package/ink-enhancement.idl +32 -0
  144. package/input-device-capabilities.idl +24 -0
  145. package/input-events.idl +14 -0
  146. package/intersection-observer.idl +46 -0
  147. package/intervention-reporting.idl +14 -0
  148. package/is-input-pending.idl +16 -0
  149. package/js-self-profiling.idl +44 -0
  150. package/keyboard-lock.idl +14 -0
  151. package/keyboard-map.idl +15 -0
  152. package/largest-contentful-paint.idl +15 -0
  153. package/layout-instability.idl +20 -0
  154. package/local-font-access.idl +24 -0
  155. package/longtasks.idl +19 -0
  156. package/magnetometer.idl +46 -0
  157. package/manifest-incubations.idl +24 -0
  158. package/mathml-core.idl +9 -0
  159. package/media-capabilities.idl +115 -0
  160. package/media-playback-quality.idl +18 -0
  161. package/media-source.idl +91 -0
  162. package/mediacapture-automation.idl +36 -0
  163. package/mediacapture-fromelement.idl +17 -0
  164. package/mediacapture-handle-actions.idl +31 -0
  165. package/mediacapture-region.idl +15 -0
  166. package/mediacapture-streams.idl +248 -0
  167. package/mediacapture-transform.idl +23 -0
  168. package/mediacapture-viewport.idl +14 -0
  169. package/mediasession.idl +84 -0
  170. package/mediastream-recording.idl +60 -0
  171. package/model-element.idl +9 -0
  172. package/mst-content-hint.idl +18 -0
  173. package/navigation-timing.idl +71 -0
  174. package/netinfo.idl +43 -0
  175. package/notifications.idl +100 -0
  176. package/orientation-event.idl +76 -0
  177. package/orientation-sensor.idl +35 -0
  178. package/package.json +1 -1
  179. package/page-lifecycle.idl +19 -0
  180. package/paint-timing.idl +7 -0
  181. package/payment-handler.idl +131 -0
  182. package/payment-request.idl +112 -0
  183. package/performance-measure-memory.idl +30 -0
  184. package/performance-timeline.idl +49 -0
  185. package/periodic-background-sync.idl +34 -0
  186. package/permissions-policy.idl +28 -0
  187. package/permissions-request.idl +8 -0
  188. package/permissions-revoke.idl +8 -0
  189. package/permissions.idl +41 -0
  190. package/picture-in-picture.idl +41 -0
  191. package/pointerevents.idl +64 -0
  192. package/pointerlock.idl +28 -0
  193. package/portals.idl +50 -0
  194. package/prefer-current-tab.idl +8 -0
  195. package/prerendering-revamped.idl +15 -0
  196. package/presentation-api.idl +95 -0
  197. package/private-click-measurement.idl +8 -0
  198. package/proximity.idl +18 -0
  199. package/push-api.idl +93 -0
  200. package/raw-camera-access.idl +18 -0
  201. package/referrer-policy.idl +16 -0
  202. package/remote-playback.idl +32 -0
  203. package/reporting.idl +39 -0
  204. package/requestStorageAccessFor.idl +12 -0
  205. package/requestidlecallback.idl +20 -0
  206. package/resize-observer.idl +37 -0
  207. package/resource-timing.idl +40 -0
  208. package/sanitizer-api.idl +38 -0
  209. package/savedata.idl +10 -0
  210. package/scheduling-apis.idl +11 -0
  211. package/screen-capture.idl +85 -0
  212. package/screen-orientation.idl +35 -0
  213. package/screen-wake-lock.idl +24 -0
  214. package/scroll-animations.idl +41 -0
  215. package/scroll-to-text-fragment.idl +12 -0
  216. package/secure-payment-confirmation.idl +48 -0
  217. package/selection-api.idl +46 -0
  218. package/serial.idl +85 -0
  219. package/server-timing.idl +17 -0
  220. package/service-workers.idl +220 -0
  221. package/shape-detection-api.idl +69 -0
  222. package/speech-api.idl +202 -0
  223. package/storage-access.idl +9 -0
  224. package/storage.idl +25 -0
  225. package/streams.idl +222 -0
  226. package/svg-animations.idl +68 -0
  227. package/testutils.idl +9 -0
  228. package/text-detection-api.idl +18 -0
  229. package/touch-events.idl +79 -0
  230. package/trust-token-api.idl +29 -0
  231. package/trusted-types.idl +71 -0
  232. package/turtledove.idl +58 -0
  233. package/ua-client-hints.idl +44 -0
  234. package/uievents.idl +248 -0
  235. package/url.idl +46 -0
  236. package/urlpattern.idl +59 -0
  237. package/user-timing.idl +34 -0
  238. package/vibration.idl +10 -0
  239. package/video-rvfc.idl +27 -0
  240. package/virtual-keyboard.idl +21 -0
  241. package/wai-aria.idl +59 -0
  242. package/wasm-js-api.idl +104 -0
  243. package/wasm-web-api.idl +11 -0
  244. package/web-animations-2.idl +102 -0
  245. package/web-animations.idl +149 -0
  246. package/web-app-launch.idl +19 -0
  247. package/web-bluetooth.idl +252 -0
  248. package/web-locks.idl +50 -0
  249. package/web-nfc.idl +81 -0
  250. package/web-otp.idl +21 -0
  251. package/web-share.idl +16 -0
  252. package/webaudio.idl +674 -0
  253. package/webauthn.idl +313 -0
  254. package/webcodecs-aac-codec-registration.idl +17 -0
  255. package/webcodecs-avc-codec-registration.idl +17 -0
  256. package/webcodecs-flac-codec-registration.idl +13 -0
  257. package/webcodecs-hevc-codec-registration.idl +17 -0
  258. package/webcodecs-opus-codec-registration.idl +22 -0
  259. package/webcodecs-vp9-codec-registration.idl +12 -0
  260. package/webcodecs.idl +500 -0
  261. package/webcrypto-secure-curves.idl +8 -0
  262. package/webdriver.idl +9 -0
  263. package/webgl1.idl +745 -0
  264. package/webgl2.idl +582 -0
  265. package/webgpu.idl +1245 -0
  266. package/webhid.idl +127 -0
  267. package/webidl.idl +48 -0
  268. package/webmidi.idl +91 -0
  269. package/webnn.idl +549 -0
  270. package/webrtc-encoded-transform.idl +127 -0
  271. package/webrtc-ice.idl +24 -0
  272. package/webrtc-identity.idl +97 -0
  273. package/webrtc-priority.idl +24 -0
  274. package/webrtc-stats.idl +288 -0
  275. package/webrtc-svc.idl +8 -0
  276. package/webrtc.idl +627 -0
  277. package/websockets.idl +48 -0
  278. package/webtransport.idl +143 -0
  279. package/webusb.idl +249 -0
  280. package/webvtt.idl +40 -0
  281. package/webxr-ar-module.idl +29 -0
  282. package/webxr-depth-sensing.idl +57 -0
  283. package/webxr-dom-overlays.idl +31 -0
  284. package/webxr-gamepads-module.idl +8 -0
  285. package/webxr-hand-input.idl +66 -0
  286. package/webxr-hit-test.idl +69 -0
  287. package/webxr-lighting-estimation.idl +39 -0
  288. package/webxr.idl +295 -0
  289. package/webxrlayers.idl +212 -0
  290. package/window-controls-overlay.idl +28 -0
  291. package/window-placement.idl +42 -0
  292. package/xhr.idl +99 -0
package/html.idl ADDED
@@ -0,0 +1,2717 @@
1
+ // GENERATED CONTENT - DO NOT EDIT
2
+ // Content was automatically extracted by Reffy into webref
3
+ // (https://github.com/w3c/webref)
4
+ // Source: HTML Standard (https://html.spec.whatwg.org/multipage/)
5
+
6
+ [Exposed=Window,
7
+ LegacyUnenumerableNamedProperties]
8
+ interface HTMLAllCollection {
9
+ readonly attribute unsigned long length;
10
+ getter Element (unsigned long index);
11
+ getter (HTMLCollection or Element)? namedItem(DOMString name);
12
+ (HTMLCollection or Element)? item(optional DOMString nameOrIndex);
13
+
14
+ // Note: HTMLAllCollection objects have a custom [[Call]] internal method and an [[IsHTMLDDA]] internal slot.
15
+ };
16
+
17
+ [Exposed=Window]
18
+ interface HTMLFormControlsCollection : HTMLCollection {
19
+ // inherits length and item()
20
+ getter (RadioNodeList or Element)? namedItem(DOMString name); // shadows inherited namedItem()
21
+ };
22
+
23
+ [Exposed=Window]
24
+ interface RadioNodeList : NodeList {
25
+ attribute DOMString value;
26
+ };
27
+
28
+ [Exposed=Window]
29
+ interface HTMLOptionsCollection : HTMLCollection {
30
+ // inherits item(), namedItem()
31
+ [CEReactions] attribute unsigned long length; // shadows inherited length
32
+ [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
33
+ [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
34
+ [CEReactions] undefined remove(long index);
35
+ attribute long selectedIndex;
36
+ };
37
+
38
+ [Exposed=(Window,Worker)]
39
+ interface DOMStringList {
40
+ readonly attribute unsigned long length;
41
+ getter DOMString? item(unsigned long index);
42
+ boolean contains(DOMString string);
43
+ };
44
+
45
+ enum DocumentReadyState { "loading", "interactive", "complete" };
46
+ enum DocumentVisibilityState { "visible", "hidden" };
47
+ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
48
+
49
+ [LegacyOverrideBuiltIns]
50
+ partial interface Document {
51
+ // resource metadata management
52
+ [PutForwards=href, LegacyUnforgeable] readonly attribute Location? location;
53
+ attribute USVString domain;
54
+ readonly attribute USVString referrer;
55
+ attribute USVString cookie;
56
+ readonly attribute DOMString lastModified;
57
+ readonly attribute DocumentReadyState readyState;
58
+
59
+ // DOM tree accessors
60
+ getter object (DOMString name);
61
+ [CEReactions] attribute DOMString title;
62
+ [CEReactions] attribute DOMString dir;
63
+ [CEReactions] attribute HTMLElement? body;
64
+ readonly attribute HTMLHeadElement? head;
65
+ [SameObject] readonly attribute HTMLCollection images;
66
+ [SameObject] readonly attribute HTMLCollection embeds;
67
+ [SameObject] readonly attribute HTMLCollection plugins;
68
+ [SameObject] readonly attribute HTMLCollection links;
69
+ [SameObject] readonly attribute HTMLCollection forms;
70
+ [SameObject] readonly attribute HTMLCollection scripts;
71
+ NodeList getElementsByName(DOMString elementName);
72
+ readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document tree only
73
+
74
+ // dynamic markup insertion
75
+ [CEReactions] Document open(optional DOMString unused1, optional DOMString unused2); // both arguments are ignored
76
+ WindowProxy? open(USVString url, DOMString name, DOMString features);
77
+ [CEReactions] undefined close();
78
+ [CEReactions] undefined write(DOMString... text);
79
+ [CEReactions] undefined writeln(DOMString... text);
80
+
81
+ // user interaction
82
+ readonly attribute WindowProxy? defaultView;
83
+ boolean hasFocus();
84
+ [CEReactions] attribute DOMString designMode;
85
+ [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = "");
86
+ boolean queryCommandEnabled(DOMString commandId);
87
+ boolean queryCommandIndeterm(DOMString commandId);
88
+ boolean queryCommandState(DOMString commandId);
89
+ boolean queryCommandSupported(DOMString commandId);
90
+ DOMString queryCommandValue(DOMString commandId);
91
+ readonly attribute boolean hidden;
92
+ readonly attribute DocumentVisibilityState visibilityState;
93
+
94
+ // special event handler IDL attributes that only apply to Document objects
95
+ [LegacyLenientThis] attribute EventHandler onreadystatechange;
96
+ attribute EventHandler onvisibilitychange;
97
+
98
+ // also has obsolete members
99
+ };
100
+ Document includes GlobalEventHandlers;
101
+
102
+ partial interface mixin DocumentOrShadowRoot {
103
+ readonly attribute Element? activeElement;
104
+ };
105
+
106
+ [Exposed=Window]
107
+ interface HTMLElement : Element {
108
+ [HTMLConstructor] constructor();
109
+
110
+ // metadata attributes
111
+ [CEReactions] attribute DOMString title;
112
+ [CEReactions] attribute DOMString lang;
113
+ [CEReactions] attribute boolean translate;
114
+ [CEReactions] attribute DOMString dir;
115
+
116
+ // user interaction
117
+ [CEReactions] attribute (boolean or unrestricted double or DOMString)? hidden;
118
+ [CEReactions] attribute boolean inert;
119
+ undefined click();
120
+ [CEReactions] attribute DOMString accessKey;
121
+ readonly attribute DOMString accessKeyLabel;
122
+ [CEReactions] attribute boolean draggable;
123
+ [CEReactions] attribute boolean spellcheck;
124
+ [CEReactions] attribute DOMString autocapitalize;
125
+
126
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerText;
127
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerText;
128
+
129
+ ElementInternals attachInternals();
130
+
131
+ // The popover API
132
+ undefined showPopover();
133
+ undefined hidePopover();
134
+ undefined togglePopover(optional boolean force);
135
+ [CEReactions] attribute DOMString? popover;
136
+ };
137
+
138
+ HTMLElement includes GlobalEventHandlers;
139
+ HTMLElement includes ElementContentEditable;
140
+ HTMLElement includes HTMLOrSVGElement;
141
+
142
+ [Exposed=Window]
143
+ interface HTMLUnknownElement : HTMLElement {
144
+ // Note: intentionally no [HTMLConstructor]
145
+ };
146
+
147
+ interface mixin HTMLOrSVGElement {
148
+ [SameObject] readonly attribute DOMStringMap dataset;
149
+ attribute DOMString nonce; // intentionally no [CEReactions]
150
+
151
+ [CEReactions] attribute boolean autofocus;
152
+ [CEReactions] attribute long tabIndex;
153
+ undefined focus(optional FocusOptions options = {});
154
+ undefined blur();
155
+ };
156
+
157
+ [Exposed=Window,
158
+ LegacyOverrideBuiltIns]
159
+ interface DOMStringMap {
160
+ getter DOMString (DOMString name);
161
+ [CEReactions] setter undefined (DOMString name, DOMString value);
162
+ [CEReactions] deleter undefined (DOMString name);
163
+ };
164
+
165
+ [Exposed=Window]
166
+ interface HTMLHtmlElement : HTMLElement {
167
+ [HTMLConstructor] constructor();
168
+
169
+ // also has obsolete members
170
+ };
171
+
172
+ [Exposed=Window]
173
+ interface HTMLHeadElement : HTMLElement {
174
+ [HTMLConstructor] constructor();
175
+ };
176
+
177
+ [Exposed=Window]
178
+ interface HTMLTitleElement : HTMLElement {
179
+ [HTMLConstructor] constructor();
180
+
181
+ [CEReactions] attribute DOMString text;
182
+ };
183
+
184
+ [Exposed=Window]
185
+ interface HTMLBaseElement : HTMLElement {
186
+ [HTMLConstructor] constructor();
187
+
188
+ [CEReactions] attribute USVString href;
189
+ [CEReactions] attribute DOMString target;
190
+ };
191
+
192
+ [Exposed=Window]
193
+ interface HTMLLinkElement : HTMLElement {
194
+ [HTMLConstructor] constructor();
195
+
196
+ [CEReactions] attribute USVString href;
197
+ [CEReactions] attribute DOMString? crossOrigin;
198
+ [CEReactions] attribute DOMString rel;
199
+ [CEReactions] attribute DOMString as;
200
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
201
+ [CEReactions] attribute DOMString media;
202
+ [CEReactions] attribute DOMString integrity;
203
+ [CEReactions] attribute DOMString hreflang;
204
+ [CEReactions] attribute DOMString type;
205
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes;
206
+ [CEReactions] attribute USVString imageSrcset;
207
+ [CEReactions] attribute DOMString imageSizes;
208
+ [CEReactions] attribute DOMString referrerPolicy;
209
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
210
+ [CEReactions] attribute boolean disabled;
211
+ [CEReactions] attribute DOMString fetchPriority;
212
+
213
+ // also has obsolete members
214
+ };
215
+ HTMLLinkElement includes LinkStyle;
216
+
217
+ [Exposed=Window]
218
+ interface HTMLMetaElement : HTMLElement {
219
+ [HTMLConstructor] constructor();
220
+
221
+ [CEReactions] attribute DOMString name;
222
+ [CEReactions] attribute DOMString httpEquiv;
223
+ [CEReactions] attribute DOMString content;
224
+ [CEReactions] attribute DOMString media;
225
+
226
+ // also has obsolete members
227
+ };
228
+
229
+ [Exposed=Window]
230
+ interface HTMLStyleElement : HTMLElement {
231
+ [HTMLConstructor] constructor();
232
+
233
+ attribute boolean disabled;
234
+ [CEReactions] attribute DOMString media;
235
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
236
+
237
+ // also has obsolete members
238
+ };
239
+ HTMLStyleElement includes LinkStyle;
240
+
241
+ [Exposed=Window]
242
+ interface HTMLBodyElement : HTMLElement {
243
+ [HTMLConstructor] constructor();
244
+
245
+ // also has obsolete members
246
+ };
247
+
248
+ HTMLBodyElement includes WindowEventHandlers;
249
+
250
+ [Exposed=Window]
251
+ interface HTMLHeadingElement : HTMLElement {
252
+ [HTMLConstructor] constructor();
253
+
254
+ // also has obsolete members
255
+ };
256
+
257
+ [Exposed=Window]
258
+ interface HTMLParagraphElement : HTMLElement {
259
+ [HTMLConstructor] constructor();
260
+
261
+ // also has obsolete members
262
+ };
263
+
264
+ [Exposed=Window]
265
+ interface HTMLHRElement : HTMLElement {
266
+ [HTMLConstructor] constructor();
267
+
268
+ // also has obsolete members
269
+ };
270
+
271
+ [Exposed=Window]
272
+ interface HTMLPreElement : HTMLElement {
273
+ [HTMLConstructor] constructor();
274
+
275
+ // also has obsolete members
276
+ };
277
+
278
+ [Exposed=Window]
279
+ interface HTMLQuoteElement : HTMLElement {
280
+ [HTMLConstructor] constructor();
281
+
282
+ [CEReactions] attribute USVString cite;
283
+ };
284
+
285
+ [Exposed=Window]
286
+ interface HTMLOListElement : HTMLElement {
287
+ [HTMLConstructor] constructor();
288
+
289
+ [CEReactions] attribute boolean reversed;
290
+ [CEReactions] attribute long start;
291
+ [CEReactions] attribute DOMString type;
292
+
293
+ // also has obsolete members
294
+ };
295
+
296
+ [Exposed=Window]
297
+ interface HTMLUListElement : HTMLElement {
298
+ [HTMLConstructor] constructor();
299
+
300
+ // also has obsolete members
301
+ };
302
+
303
+ [Exposed=Window]
304
+ interface HTMLMenuElement : HTMLElement {
305
+ [HTMLConstructor] constructor();
306
+
307
+ // also has obsolete members
308
+ };
309
+
310
+ [Exposed=Window]
311
+ interface HTMLLIElement : HTMLElement {
312
+ [HTMLConstructor] constructor();
313
+
314
+ [CEReactions] attribute long value;
315
+
316
+ // also has obsolete members
317
+ };
318
+
319
+ [Exposed=Window]
320
+ interface HTMLDListElement : HTMLElement {
321
+ [HTMLConstructor] constructor();
322
+
323
+ // also has obsolete members
324
+ };
325
+
326
+ [Exposed=Window]
327
+ interface HTMLDivElement : HTMLElement {
328
+ [HTMLConstructor] constructor();
329
+
330
+ // also has obsolete members
331
+ };
332
+
333
+ [Exposed=Window]
334
+ interface HTMLAnchorElement : HTMLElement {
335
+ [HTMLConstructor] constructor();
336
+
337
+ [CEReactions] attribute DOMString target;
338
+ [CEReactions] attribute DOMString download;
339
+ [CEReactions] attribute USVString ping;
340
+ [CEReactions] attribute DOMString rel;
341
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
342
+ [CEReactions] attribute DOMString hreflang;
343
+ [CEReactions] attribute DOMString type;
344
+
345
+ [CEReactions] attribute DOMString text;
346
+
347
+ [CEReactions] attribute DOMString referrerPolicy;
348
+
349
+ // also has obsolete members
350
+ };
351
+ HTMLAnchorElement includes HTMLHyperlinkElementUtils;
352
+
353
+ [Exposed=Window]
354
+ interface HTMLDataElement : HTMLElement {
355
+ [HTMLConstructor] constructor();
356
+
357
+ [CEReactions] attribute DOMString value;
358
+ };
359
+
360
+ [Exposed=Window]
361
+ interface HTMLTimeElement : HTMLElement {
362
+ [HTMLConstructor] constructor();
363
+
364
+ [CEReactions] attribute DOMString dateTime;
365
+ };
366
+
367
+ [Exposed=Window]
368
+ interface HTMLSpanElement : HTMLElement {
369
+ [HTMLConstructor] constructor();
370
+ };
371
+
372
+ [Exposed=Window]
373
+ interface HTMLBRElement : HTMLElement {
374
+ [HTMLConstructor] constructor();
375
+
376
+ // also has obsolete members
377
+ };
378
+
379
+ interface mixin HTMLHyperlinkElementUtils {
380
+ [CEReactions] stringifier attribute USVString href;
381
+ readonly attribute USVString origin;
382
+ [CEReactions] attribute USVString protocol;
383
+ [CEReactions] attribute USVString username;
384
+ [CEReactions] attribute USVString password;
385
+ [CEReactions] attribute USVString host;
386
+ [CEReactions] attribute USVString hostname;
387
+ [CEReactions] attribute USVString port;
388
+ [CEReactions] attribute USVString pathname;
389
+ [CEReactions] attribute USVString search;
390
+ [CEReactions] attribute USVString hash;
391
+ };
392
+
393
+ [Exposed=Window]
394
+ interface HTMLModElement : HTMLElement {
395
+ [HTMLConstructor] constructor();
396
+
397
+ [CEReactions] attribute USVString cite;
398
+ [CEReactions] attribute DOMString dateTime;
399
+ };
400
+
401
+ [Exposed=Window]
402
+ interface HTMLPictureElement : HTMLElement {
403
+ [HTMLConstructor] constructor();
404
+ };
405
+
406
+ [Exposed=Window]
407
+ interface HTMLSourceElement : HTMLElement {
408
+ [HTMLConstructor] constructor();
409
+
410
+ [CEReactions] attribute USVString src;
411
+ [CEReactions] attribute DOMString type;
412
+ [CEReactions] attribute USVString srcset;
413
+ [CEReactions] attribute DOMString sizes;
414
+ [CEReactions] attribute DOMString media;
415
+ [CEReactions] attribute unsigned long width;
416
+ [CEReactions] attribute unsigned long height;
417
+ };
418
+
419
+ [Exposed=Window,
420
+ LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned long height)]
421
+ interface HTMLImageElement : HTMLElement {
422
+ [HTMLConstructor] constructor();
423
+
424
+ [CEReactions] attribute DOMString alt;
425
+ [CEReactions] attribute USVString src;
426
+ [CEReactions] attribute USVString srcset;
427
+ [CEReactions] attribute DOMString sizes;
428
+ [CEReactions] attribute DOMString? crossOrigin;
429
+ [CEReactions] attribute DOMString useMap;
430
+ [CEReactions] attribute boolean isMap;
431
+ [CEReactions] attribute unsigned long width;
432
+ [CEReactions] attribute unsigned long height;
433
+ readonly attribute unsigned long naturalWidth;
434
+ readonly attribute unsigned long naturalHeight;
435
+ readonly attribute boolean complete;
436
+ readonly attribute USVString currentSrc;
437
+ [CEReactions] attribute DOMString referrerPolicy;
438
+ [CEReactions] attribute DOMString decoding;
439
+ [CEReactions] attribute DOMString loading;
440
+ [CEReactions] attribute DOMString fetchPriority;
441
+
442
+ Promise<undefined> decode();
443
+
444
+ // also has obsolete members
445
+ };
446
+
447
+ [Exposed=Window]
448
+ interface HTMLIFrameElement : HTMLElement {
449
+ [HTMLConstructor] constructor();
450
+
451
+ [CEReactions] attribute USVString src;
452
+ [CEReactions] attribute DOMString srcdoc;
453
+ [CEReactions] attribute DOMString name;
454
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox;
455
+ [CEReactions] attribute DOMString allow;
456
+ [CEReactions] attribute boolean allowFullscreen;
457
+ [CEReactions] attribute DOMString width;
458
+ [CEReactions] attribute DOMString height;
459
+ [CEReactions] attribute DOMString referrerPolicy;
460
+ [CEReactions] attribute DOMString loading;
461
+ readonly attribute Document? contentDocument;
462
+ readonly attribute WindowProxy? contentWindow;
463
+ Document? getSVGDocument();
464
+
465
+ // also has obsolete members
466
+ };
467
+
468
+ [Exposed=Window]
469
+ interface HTMLEmbedElement : HTMLElement {
470
+ [HTMLConstructor] constructor();
471
+
472
+ [CEReactions] attribute USVString src;
473
+ [CEReactions] attribute DOMString type;
474
+ [CEReactions] attribute DOMString width;
475
+ [CEReactions] attribute DOMString height;
476
+ Document? getSVGDocument();
477
+
478
+ // also has obsolete members
479
+ };
480
+
481
+ [Exposed=Window]
482
+ interface HTMLObjectElement : HTMLElement {
483
+ [HTMLConstructor] constructor();
484
+
485
+ [CEReactions] attribute USVString data;
486
+ [CEReactions] attribute DOMString type;
487
+ [CEReactions] attribute DOMString name;
488
+ readonly attribute HTMLFormElement? form;
489
+ [CEReactions] attribute DOMString width;
490
+ [CEReactions] attribute DOMString height;
491
+ readonly attribute Document? contentDocument;
492
+ readonly attribute WindowProxy? contentWindow;
493
+ Document? getSVGDocument();
494
+
495
+ readonly attribute boolean willValidate;
496
+ readonly attribute ValidityState validity;
497
+ readonly attribute DOMString validationMessage;
498
+ boolean checkValidity();
499
+ boolean reportValidity();
500
+ undefined setCustomValidity(DOMString error);
501
+
502
+ // also has obsolete members
503
+ };
504
+
505
+ [Exposed=Window]
506
+ interface HTMLVideoElement : HTMLMediaElement {
507
+ [HTMLConstructor] constructor();
508
+
509
+ [CEReactions] attribute unsigned long width;
510
+ [CEReactions] attribute unsigned long height;
511
+ readonly attribute unsigned long videoWidth;
512
+ readonly attribute unsigned long videoHeight;
513
+ [CEReactions] attribute USVString poster;
514
+ [CEReactions] attribute boolean playsInline;
515
+ };
516
+
517
+ [Exposed=Window,
518
+ LegacyFactoryFunction=Audio(optional DOMString src)]
519
+ interface HTMLAudioElement : HTMLMediaElement {
520
+ [HTMLConstructor] constructor();
521
+ };
522
+
523
+ [Exposed=Window]
524
+ interface HTMLTrackElement : HTMLElement {
525
+ [HTMLConstructor] constructor();
526
+
527
+ [CEReactions] attribute DOMString kind;
528
+ [CEReactions] attribute USVString src;
529
+ [CEReactions] attribute DOMString srclang;
530
+ [CEReactions] attribute DOMString label;
531
+ [CEReactions] attribute boolean default;
532
+
533
+ const unsigned short NONE = 0;
534
+ const unsigned short LOADING = 1;
535
+ const unsigned short LOADED = 2;
536
+ const unsigned short ERROR = 3;
537
+ readonly attribute unsigned short readyState;
538
+
539
+ readonly attribute TextTrack track;
540
+ };
541
+
542
+ enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
543
+ typedef (MediaStream or MediaSource or Blob) MediaProvider;
544
+
545
+ [Exposed=Window]
546
+ interface HTMLMediaElement : HTMLElement {
547
+
548
+ // error state
549
+ readonly attribute MediaError? error;
550
+
551
+ // network state
552
+ [CEReactions] attribute USVString src;
553
+ attribute MediaProvider? srcObject;
554
+ readonly attribute USVString currentSrc;
555
+ [CEReactions] attribute DOMString? crossOrigin;
556
+ const unsigned short NETWORK_EMPTY = 0;
557
+ const unsigned short NETWORK_IDLE = 1;
558
+ const unsigned short NETWORK_LOADING = 2;
559
+ const unsigned short NETWORK_NO_SOURCE = 3;
560
+ readonly attribute unsigned short networkState;
561
+ [CEReactions] attribute DOMString preload;
562
+ readonly attribute TimeRanges buffered;
563
+ undefined load();
564
+ CanPlayTypeResult canPlayType(DOMString type);
565
+
566
+ // ready state
567
+ const unsigned short HAVE_NOTHING = 0;
568
+ const unsigned short HAVE_METADATA = 1;
569
+ const unsigned short HAVE_CURRENT_DATA = 2;
570
+ const unsigned short HAVE_FUTURE_DATA = 3;
571
+ const unsigned short HAVE_ENOUGH_DATA = 4;
572
+ readonly attribute unsigned short readyState;
573
+ readonly attribute boolean seeking;
574
+
575
+ // playback state
576
+ attribute double currentTime;
577
+ undefined fastSeek(double time);
578
+ readonly attribute unrestricted double duration;
579
+ object getStartDate();
580
+ readonly attribute boolean paused;
581
+ attribute double defaultPlaybackRate;
582
+ attribute double playbackRate;
583
+ attribute boolean preservesPitch;
584
+ readonly attribute TimeRanges played;
585
+ readonly attribute TimeRanges seekable;
586
+ readonly attribute boolean ended;
587
+ [CEReactions] attribute boolean autoplay;
588
+ [CEReactions] attribute boolean loop;
589
+ Promise<undefined> play();
590
+ undefined pause();
591
+
592
+ // controls
593
+ [CEReactions] attribute boolean controls;
594
+ attribute double volume;
595
+ attribute boolean muted;
596
+ [CEReactions] attribute boolean defaultMuted;
597
+
598
+ // tracks
599
+ [SameObject] readonly attribute AudioTrackList audioTracks;
600
+ [SameObject] readonly attribute VideoTrackList videoTracks;
601
+ [SameObject] readonly attribute TextTrackList textTracks;
602
+ TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = "");
603
+ };
604
+
605
+ [Exposed=Window]
606
+ interface MediaError {
607
+ const unsigned short MEDIA_ERR_ABORTED = 1;
608
+ const unsigned short MEDIA_ERR_NETWORK = 2;
609
+ const unsigned short MEDIA_ERR_DECODE = 3;
610
+ const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
611
+
612
+ readonly attribute unsigned short code;
613
+ readonly attribute DOMString message;
614
+ };
615
+
616
+ [Exposed=Window]
617
+ interface AudioTrackList : EventTarget {
618
+ readonly attribute unsigned long length;
619
+ getter AudioTrack (unsigned long index);
620
+ AudioTrack? getTrackById(DOMString id);
621
+
622
+ attribute EventHandler onchange;
623
+ attribute EventHandler onaddtrack;
624
+ attribute EventHandler onremovetrack;
625
+ };
626
+
627
+ [Exposed=Window]
628
+ interface AudioTrack {
629
+ readonly attribute DOMString id;
630
+ readonly attribute DOMString kind;
631
+ readonly attribute DOMString label;
632
+ readonly attribute DOMString language;
633
+ attribute boolean enabled;
634
+ };
635
+
636
+ [Exposed=Window]
637
+ interface VideoTrackList : EventTarget {
638
+ readonly attribute unsigned long length;
639
+ getter VideoTrack (unsigned long index);
640
+ VideoTrack? getTrackById(DOMString id);
641
+ readonly attribute long selectedIndex;
642
+
643
+ attribute EventHandler onchange;
644
+ attribute EventHandler onaddtrack;
645
+ attribute EventHandler onremovetrack;
646
+ };
647
+
648
+ [Exposed=Window]
649
+ interface VideoTrack {
650
+ readonly attribute DOMString id;
651
+ readonly attribute DOMString kind;
652
+ readonly attribute DOMString label;
653
+ readonly attribute DOMString language;
654
+ attribute boolean selected;
655
+ };
656
+
657
+ [Exposed=Window]
658
+ interface TextTrackList : EventTarget {
659
+ readonly attribute unsigned long length;
660
+ getter TextTrack (unsigned long index);
661
+ TextTrack? getTrackById(DOMString id);
662
+
663
+ attribute EventHandler onchange;
664
+ attribute EventHandler onaddtrack;
665
+ attribute EventHandler onremovetrack;
666
+ };
667
+
668
+ enum TextTrackMode { "disabled", "hidden", "showing" };
669
+ enum TextTrackKind { "subtitles", "captions", "descriptions", "chapters", "metadata" };
670
+
671
+ [Exposed=Window]
672
+ interface TextTrack : EventTarget {
673
+ readonly attribute TextTrackKind kind;
674
+ readonly attribute DOMString label;
675
+ readonly attribute DOMString language;
676
+
677
+ readonly attribute DOMString id;
678
+ readonly attribute DOMString inBandMetadataTrackDispatchType;
679
+
680
+ attribute TextTrackMode mode;
681
+
682
+ readonly attribute TextTrackCueList? cues;
683
+ readonly attribute TextTrackCueList? activeCues;
684
+
685
+ undefined addCue(TextTrackCue cue);
686
+ undefined removeCue(TextTrackCue cue);
687
+
688
+ attribute EventHandler oncuechange;
689
+ };
690
+
691
+ [Exposed=Window]
692
+ interface TextTrackCueList {
693
+ readonly attribute unsigned long length;
694
+ getter TextTrackCue (unsigned long index);
695
+ TextTrackCue? getCueById(DOMString id);
696
+ };
697
+
698
+ [Exposed=Window]
699
+ interface TextTrackCue : EventTarget {
700
+ readonly attribute TextTrack? track;
701
+
702
+ attribute DOMString id;
703
+ attribute double startTime;
704
+ attribute unrestricted double endTime;
705
+ attribute boolean pauseOnExit;
706
+
707
+ attribute EventHandler onenter;
708
+ attribute EventHandler onexit;
709
+ };
710
+
711
+ [Exposed=Window]
712
+ interface TimeRanges {
713
+ readonly attribute unsigned long length;
714
+ double start(unsigned long index);
715
+ double end(unsigned long index);
716
+ };
717
+
718
+ [Exposed=Window]
719
+ interface TrackEvent : Event {
720
+ constructor(DOMString type, optional TrackEventInit eventInitDict = {});
721
+
722
+ readonly attribute (VideoTrack or AudioTrack or TextTrack)? track;
723
+ };
724
+
725
+ dictionary TrackEventInit : EventInit {
726
+ (VideoTrack or AudioTrack or TextTrack)? track = null;
727
+ };
728
+
729
+ [Exposed=Window]
730
+ interface HTMLMapElement : HTMLElement {
731
+ [HTMLConstructor] constructor();
732
+
733
+ [CEReactions] attribute DOMString name;
734
+ [SameObject] readonly attribute HTMLCollection areas;
735
+ };
736
+
737
+ [Exposed=Window]
738
+ interface HTMLAreaElement : HTMLElement {
739
+ [HTMLConstructor] constructor();
740
+
741
+ [CEReactions] attribute DOMString alt;
742
+ [CEReactions] attribute DOMString coords;
743
+ [CEReactions] attribute DOMString shape;
744
+ [CEReactions] attribute DOMString target;
745
+ [CEReactions] attribute DOMString download;
746
+ [CEReactions] attribute USVString ping;
747
+ [CEReactions] attribute DOMString rel;
748
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
749
+ [CEReactions] attribute DOMString referrerPolicy;
750
+
751
+ // also has obsolete members
752
+ };
753
+ HTMLAreaElement includes HTMLHyperlinkElementUtils;
754
+
755
+ [Exposed=Window]
756
+ interface HTMLTableElement : HTMLElement {
757
+ [HTMLConstructor] constructor();
758
+
759
+ [CEReactions] attribute HTMLTableCaptionElement? caption;
760
+ HTMLTableCaptionElement createCaption();
761
+ [CEReactions] undefined deleteCaption();
762
+
763
+ [CEReactions] attribute HTMLTableSectionElement? tHead;
764
+ HTMLTableSectionElement createTHead();
765
+ [CEReactions] undefined deleteTHead();
766
+
767
+ [CEReactions] attribute HTMLTableSectionElement? tFoot;
768
+ HTMLTableSectionElement createTFoot();
769
+ [CEReactions] undefined deleteTFoot();
770
+
771
+ [SameObject] readonly attribute HTMLCollection tBodies;
772
+ HTMLTableSectionElement createTBody();
773
+
774
+ [SameObject] readonly attribute HTMLCollection rows;
775
+ HTMLTableRowElement insertRow(optional long index = -1);
776
+ [CEReactions] undefined deleteRow(long index);
777
+
778
+ // also has obsolete members
779
+ };
780
+
781
+ [Exposed=Window]
782
+ interface HTMLTableCaptionElement : HTMLElement {
783
+ [HTMLConstructor] constructor();
784
+
785
+ // also has obsolete members
786
+ };
787
+
788
+ [Exposed=Window]
789
+ interface HTMLTableColElement : HTMLElement {
790
+ [HTMLConstructor] constructor();
791
+
792
+ [CEReactions] attribute unsigned long span;
793
+
794
+ // also has obsolete members
795
+ };
796
+
797
+ [Exposed=Window]
798
+ interface HTMLTableSectionElement : HTMLElement {
799
+ [HTMLConstructor] constructor();
800
+
801
+ [SameObject] readonly attribute HTMLCollection rows;
802
+ HTMLTableRowElement insertRow(optional long index = -1);
803
+ [CEReactions] undefined deleteRow(long index);
804
+
805
+ // also has obsolete members
806
+ };
807
+
808
+ [Exposed=Window]
809
+ interface HTMLTableRowElement : HTMLElement {
810
+ [HTMLConstructor] constructor();
811
+
812
+ readonly attribute long rowIndex;
813
+ readonly attribute long sectionRowIndex;
814
+ [SameObject] readonly attribute HTMLCollection cells;
815
+ HTMLTableCellElement insertCell(optional long index = -1);
816
+ [CEReactions] undefined deleteCell(long index);
817
+
818
+ // also has obsolete members
819
+ };
820
+
821
+ [Exposed=Window]
822
+ interface HTMLTableCellElement : HTMLElement {
823
+ [HTMLConstructor] constructor();
824
+
825
+ [CEReactions] attribute unsigned long colSpan;
826
+ [CEReactions] attribute unsigned long rowSpan;
827
+ [CEReactions] attribute DOMString headers;
828
+ readonly attribute long cellIndex;
829
+
830
+ [CEReactions] attribute DOMString scope; // only conforming for th elements
831
+ [CEReactions] attribute DOMString abbr; // only conforming for th elements
832
+
833
+ // also has obsolete members
834
+ };
835
+
836
+ [Exposed=Window,
837
+ LegacyOverrideBuiltIns,
838
+ LegacyUnenumerableNamedProperties]
839
+ interface HTMLFormElement : HTMLElement {
840
+ [HTMLConstructor] constructor();
841
+
842
+ [CEReactions] attribute DOMString acceptCharset;
843
+ [CEReactions] attribute USVString action;
844
+ [CEReactions] attribute DOMString autocomplete;
845
+ [CEReactions] attribute DOMString enctype;
846
+ [CEReactions] attribute DOMString encoding;
847
+ [CEReactions] attribute DOMString method;
848
+ [CEReactions] attribute DOMString name;
849
+ [CEReactions] attribute boolean noValidate;
850
+ [CEReactions] attribute DOMString target;
851
+ [CEReactions] attribute DOMString rel;
852
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
853
+
854
+ [SameObject] readonly attribute HTMLFormControlsCollection elements;
855
+ readonly attribute unsigned long length;
856
+ getter Element (unsigned long index);
857
+ getter (RadioNodeList or Element) (DOMString name);
858
+
859
+ undefined submit();
860
+ undefined requestSubmit(optional HTMLElement? submitter = null);
861
+ [CEReactions] undefined reset();
862
+ boolean checkValidity();
863
+ boolean reportValidity();
864
+ };
865
+
866
+ [Exposed=Window]
867
+ interface HTMLLabelElement : HTMLElement {
868
+ [HTMLConstructor] constructor();
869
+
870
+ readonly attribute HTMLFormElement? form;
871
+ [CEReactions] attribute DOMString htmlFor;
872
+ readonly attribute HTMLElement? control;
873
+ };
874
+
875
+ [Exposed=Window]
876
+ interface HTMLInputElement : HTMLElement {
877
+ [HTMLConstructor] constructor();
878
+
879
+ [CEReactions] attribute DOMString accept;
880
+ [CEReactions] attribute DOMString alt;
881
+ [CEReactions] attribute DOMString autocomplete;
882
+ [CEReactions] attribute boolean defaultChecked;
883
+ attribute boolean checked;
884
+ [CEReactions] attribute DOMString dirName;
885
+ [CEReactions] attribute boolean disabled;
886
+ readonly attribute HTMLFormElement? form;
887
+ attribute FileList? files;
888
+ [CEReactions] attribute USVString formAction;
889
+ [CEReactions] attribute DOMString formEnctype;
890
+ [CEReactions] attribute DOMString formMethod;
891
+ [CEReactions] attribute boolean formNoValidate;
892
+ [CEReactions] attribute DOMString formTarget;
893
+ [CEReactions] attribute unsigned long height;
894
+ attribute boolean indeterminate;
895
+ readonly attribute HTMLDataListElement? list;
896
+ [CEReactions] attribute DOMString max;
897
+ [CEReactions] attribute long maxLength;
898
+ [CEReactions] attribute DOMString min;
899
+ [CEReactions] attribute long minLength;
900
+ [CEReactions] attribute boolean multiple;
901
+ [CEReactions] attribute DOMString name;
902
+ [CEReactions] attribute DOMString pattern;
903
+ [CEReactions] attribute DOMString placeholder;
904
+ [CEReactions] attribute boolean readOnly;
905
+ [CEReactions] attribute boolean required;
906
+ [CEReactions] attribute unsigned long size;
907
+ [CEReactions] attribute USVString src;
908
+ [CEReactions] attribute DOMString step;
909
+ [CEReactions] attribute DOMString type;
910
+ [CEReactions] attribute DOMString defaultValue;
911
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString value;
912
+ attribute object? valueAsDate;
913
+ attribute unrestricted double valueAsNumber;
914
+ [CEReactions] attribute unsigned long width;
915
+
916
+ undefined stepUp(optional long n = 1);
917
+ undefined stepDown(optional long n = 1);
918
+
919
+ readonly attribute boolean willValidate;
920
+ readonly attribute ValidityState validity;
921
+ readonly attribute DOMString validationMessage;
922
+ boolean checkValidity();
923
+ boolean reportValidity();
924
+ undefined setCustomValidity(DOMString error);
925
+
926
+ readonly attribute NodeList? labels;
927
+
928
+ undefined select();
929
+ attribute unsigned long? selectionStart;
930
+ attribute unsigned long? selectionEnd;
931
+ attribute DOMString? selectionDirection;
932
+ undefined setRangeText(DOMString replacement);
933
+ undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
934
+ undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
935
+
936
+ undefined showPicker();
937
+
938
+ // also has obsolete members
939
+ };
940
+ HTMLInputElement includes PopoverInvokerElement;
941
+
942
+ [Exposed=Window]
943
+ interface HTMLButtonElement : HTMLElement {
944
+ [HTMLConstructor] constructor();
945
+
946
+ [CEReactions] attribute boolean disabled;
947
+ readonly attribute HTMLFormElement? form;
948
+ [CEReactions] attribute USVString formAction;
949
+ [CEReactions] attribute DOMString formEnctype;
950
+ [CEReactions] attribute DOMString formMethod;
951
+ [CEReactions] attribute boolean formNoValidate;
952
+ [CEReactions] attribute DOMString formTarget;
953
+ [CEReactions] attribute DOMString name;
954
+ [CEReactions] attribute DOMString type;
955
+ [CEReactions] attribute DOMString value;
956
+
957
+ readonly attribute boolean willValidate;
958
+ readonly attribute ValidityState validity;
959
+ readonly attribute DOMString validationMessage;
960
+ boolean checkValidity();
961
+ boolean reportValidity();
962
+ undefined setCustomValidity(DOMString error);
963
+
964
+ readonly attribute NodeList labels;
965
+ };
966
+ HTMLButtonElement includes PopoverInvokerElement;
967
+
968
+ [Exposed=Window]
969
+ interface HTMLSelectElement : HTMLElement {
970
+ [HTMLConstructor] constructor();
971
+
972
+ [CEReactions] attribute DOMString autocomplete;
973
+ [CEReactions] attribute boolean disabled;
974
+ readonly attribute HTMLFormElement? form;
975
+ [CEReactions] attribute boolean multiple;
976
+ [CEReactions] attribute DOMString name;
977
+ [CEReactions] attribute boolean required;
978
+ [CEReactions] attribute unsigned long size;
979
+
980
+ readonly attribute DOMString type;
981
+
982
+ [SameObject] readonly attribute HTMLOptionsCollection options;
983
+ [CEReactions] attribute unsigned long length;
984
+ getter HTMLOptionElement? item(unsigned long index);
985
+ HTMLOptionElement? namedItem(DOMString name);
986
+ [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);
987
+ [CEReactions] undefined remove(); // ChildNode overload
988
+ [CEReactions] undefined remove(long index);
989
+ [CEReactions] setter undefined (unsigned long index, HTMLOptionElement? option);
990
+
991
+ [SameObject] readonly attribute HTMLCollection selectedOptions;
992
+ attribute long selectedIndex;
993
+ attribute DOMString value;
994
+
995
+ readonly attribute boolean willValidate;
996
+ readonly attribute ValidityState validity;
997
+ readonly attribute DOMString validationMessage;
998
+ boolean checkValidity();
999
+ boolean reportValidity();
1000
+ undefined setCustomValidity(DOMString error);
1001
+
1002
+ readonly attribute NodeList labels;
1003
+ };
1004
+
1005
+ [Exposed=Window]
1006
+ interface HTMLDataListElement : HTMLElement {
1007
+ [HTMLConstructor] constructor();
1008
+
1009
+ [SameObject] readonly attribute HTMLCollection options;
1010
+ };
1011
+
1012
+ [Exposed=Window]
1013
+ interface HTMLOptGroupElement : HTMLElement {
1014
+ [HTMLConstructor] constructor();
1015
+
1016
+ [CEReactions] attribute boolean disabled;
1017
+ [CEReactions] attribute DOMString label;
1018
+ };
1019
+
1020
+ [Exposed=Window,
1021
+ LegacyFactoryFunction=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)]
1022
+ interface HTMLOptionElement : HTMLElement {
1023
+ [HTMLConstructor] constructor();
1024
+
1025
+ [CEReactions] attribute boolean disabled;
1026
+ readonly attribute HTMLFormElement? form;
1027
+ [CEReactions] attribute DOMString label;
1028
+ [CEReactions] attribute boolean defaultSelected;
1029
+ attribute boolean selected;
1030
+ [CEReactions] attribute DOMString value;
1031
+
1032
+ [CEReactions] attribute DOMString text;
1033
+ readonly attribute long index;
1034
+ };
1035
+
1036
+ [Exposed=Window]
1037
+ interface HTMLTextAreaElement : HTMLElement {
1038
+ [HTMLConstructor] constructor();
1039
+
1040
+ [CEReactions] attribute DOMString autocomplete;
1041
+ [CEReactions] attribute unsigned long cols;
1042
+ [CEReactions] attribute DOMString dirName;
1043
+ [CEReactions] attribute boolean disabled;
1044
+ readonly attribute HTMLFormElement? form;
1045
+ [CEReactions] attribute long maxLength;
1046
+ [CEReactions] attribute long minLength;
1047
+ [CEReactions] attribute DOMString name;
1048
+ [CEReactions] attribute DOMString placeholder;
1049
+ [CEReactions] attribute boolean readOnly;
1050
+ [CEReactions] attribute boolean required;
1051
+ [CEReactions] attribute unsigned long rows;
1052
+ [CEReactions] attribute DOMString wrap;
1053
+
1054
+ readonly attribute DOMString type;
1055
+ [CEReactions] attribute DOMString defaultValue;
1056
+ attribute [LegacyNullToEmptyString] DOMString value;
1057
+ readonly attribute unsigned long textLength;
1058
+
1059
+ readonly attribute boolean willValidate;
1060
+ readonly attribute ValidityState validity;
1061
+ readonly attribute DOMString validationMessage;
1062
+ boolean checkValidity();
1063
+ boolean reportValidity();
1064
+ undefined setCustomValidity(DOMString error);
1065
+
1066
+ readonly attribute NodeList labels;
1067
+
1068
+ undefined select();
1069
+ attribute unsigned long selectionStart;
1070
+ attribute unsigned long selectionEnd;
1071
+ attribute DOMString selectionDirection;
1072
+ undefined setRangeText(DOMString replacement);
1073
+ undefined setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve");
1074
+ undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
1075
+ };
1076
+
1077
+ [Exposed=Window]
1078
+ interface HTMLOutputElement : HTMLElement {
1079
+ [HTMLConstructor] constructor();
1080
+
1081
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor;
1082
+ readonly attribute HTMLFormElement? form;
1083
+ [CEReactions] attribute DOMString name;
1084
+
1085
+ readonly attribute DOMString type;
1086
+ [CEReactions] attribute DOMString defaultValue;
1087
+ [CEReactions] attribute DOMString value;
1088
+
1089
+ readonly attribute boolean willValidate;
1090
+ readonly attribute ValidityState validity;
1091
+ readonly attribute DOMString validationMessage;
1092
+ boolean checkValidity();
1093
+ boolean reportValidity();
1094
+ undefined setCustomValidity(DOMString error);
1095
+
1096
+ readonly attribute NodeList labels;
1097
+ };
1098
+
1099
+ [Exposed=Window]
1100
+ interface HTMLProgressElement : HTMLElement {
1101
+ [HTMLConstructor] constructor();
1102
+
1103
+ [CEReactions] attribute double value;
1104
+ [CEReactions] attribute double max;
1105
+ readonly attribute double position;
1106
+ readonly attribute NodeList labels;
1107
+ };
1108
+
1109
+ [Exposed=Window]
1110
+ interface HTMLMeterElement : HTMLElement {
1111
+ [HTMLConstructor] constructor();
1112
+
1113
+ [CEReactions] attribute double value;
1114
+ [CEReactions] attribute double min;
1115
+ [CEReactions] attribute double max;
1116
+ [CEReactions] attribute double low;
1117
+ [CEReactions] attribute double high;
1118
+ [CEReactions] attribute double optimum;
1119
+ readonly attribute NodeList labels;
1120
+ };
1121
+
1122
+ [Exposed=Window]
1123
+ interface HTMLFieldSetElement : HTMLElement {
1124
+ [HTMLConstructor] constructor();
1125
+
1126
+ [CEReactions] attribute boolean disabled;
1127
+ readonly attribute HTMLFormElement? form;
1128
+ [CEReactions] attribute DOMString name;
1129
+
1130
+ readonly attribute DOMString type;
1131
+
1132
+ [SameObject] readonly attribute HTMLCollection elements;
1133
+
1134
+ readonly attribute boolean willValidate;
1135
+ [SameObject] readonly attribute ValidityState validity;
1136
+ readonly attribute DOMString validationMessage;
1137
+ boolean checkValidity();
1138
+ boolean reportValidity();
1139
+ undefined setCustomValidity(DOMString error);
1140
+ };
1141
+
1142
+ [Exposed=Window]
1143
+ interface HTMLLegendElement : HTMLElement {
1144
+ [HTMLConstructor] constructor();
1145
+
1146
+ readonly attribute HTMLFormElement? form;
1147
+
1148
+ // also has obsolete members
1149
+ };
1150
+
1151
+ enum SelectionMode {
1152
+ "select",
1153
+ "start",
1154
+ "end",
1155
+ "preserve" // default
1156
+ };
1157
+
1158
+ [Exposed=Window]
1159
+ interface ValidityState {
1160
+ readonly attribute boolean valueMissing;
1161
+ readonly attribute boolean typeMismatch;
1162
+ readonly attribute boolean patternMismatch;
1163
+ readonly attribute boolean tooLong;
1164
+ readonly attribute boolean tooShort;
1165
+ readonly attribute boolean rangeUnderflow;
1166
+ readonly attribute boolean rangeOverflow;
1167
+ readonly attribute boolean stepMismatch;
1168
+ readonly attribute boolean badInput;
1169
+ readonly attribute boolean customError;
1170
+ readonly attribute boolean valid;
1171
+ };
1172
+
1173
+ [Exposed=Window]
1174
+ interface SubmitEvent : Event {
1175
+ constructor(DOMString type, optional SubmitEventInit eventInitDict = {});
1176
+
1177
+ readonly attribute HTMLElement? submitter;
1178
+ };
1179
+
1180
+ dictionary SubmitEventInit : EventInit {
1181
+ HTMLElement? submitter = null;
1182
+ };
1183
+
1184
+ [Exposed=Window]
1185
+ interface FormDataEvent : Event {
1186
+ constructor(DOMString type, FormDataEventInit eventInitDict);
1187
+
1188
+ readonly attribute FormData formData;
1189
+ };
1190
+
1191
+ dictionary FormDataEventInit : EventInit {
1192
+ required FormData formData;
1193
+ };
1194
+
1195
+ [Exposed=Window]
1196
+ interface HTMLDetailsElement : HTMLElement {
1197
+ [HTMLConstructor] constructor();
1198
+
1199
+ [CEReactions] attribute boolean open;
1200
+ };
1201
+
1202
+ [Exposed=Window]
1203
+ interface HTMLDialogElement : HTMLElement {
1204
+ [HTMLConstructor] constructor();
1205
+
1206
+ [CEReactions] attribute boolean open;
1207
+ attribute DOMString returnValue;
1208
+ [CEReactions] undefined show();
1209
+ [CEReactions] undefined showModal();
1210
+ [CEReactions] undefined close(optional DOMString returnValue);
1211
+ };
1212
+
1213
+ [Exposed=Window]
1214
+ interface HTMLScriptElement : HTMLElement {
1215
+ [HTMLConstructor] constructor();
1216
+
1217
+ [CEReactions] attribute USVString src;
1218
+ [CEReactions] attribute DOMString type;
1219
+ [CEReactions] attribute boolean noModule;
1220
+ [CEReactions] attribute boolean async;
1221
+ [CEReactions] attribute boolean defer;
1222
+ [CEReactions] attribute DOMString? crossOrigin;
1223
+ [CEReactions] attribute DOMString text;
1224
+ [CEReactions] attribute DOMString integrity;
1225
+ [CEReactions] attribute DOMString referrerPolicy;
1226
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList blocking;
1227
+ [CEReactions] attribute DOMString fetchPriority;
1228
+
1229
+ static boolean supports(DOMString type);
1230
+
1231
+ // also has obsolete members
1232
+ };
1233
+
1234
+ [Exposed=Window]
1235
+ interface HTMLTemplateElement : HTMLElement {
1236
+ [HTMLConstructor] constructor();
1237
+
1238
+ readonly attribute DocumentFragment content;
1239
+ };
1240
+
1241
+ [Exposed=Window]
1242
+ interface HTMLSlotElement : HTMLElement {
1243
+ [HTMLConstructor] constructor();
1244
+
1245
+ [CEReactions] attribute DOMString name;
1246
+ sequence<Node> assignedNodes(optional AssignedNodesOptions options = {});
1247
+ sequence<Element> assignedElements(optional AssignedNodesOptions options = {});
1248
+ undefined assign((Element or Text)... nodes);
1249
+ };
1250
+
1251
+ dictionary AssignedNodesOptions {
1252
+ boolean flatten = false;
1253
+ };
1254
+
1255
+ typedef (CanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext or GPUCanvasContext) RenderingContext;
1256
+
1257
+ [Exposed=Window]
1258
+ interface HTMLCanvasElement : HTMLElement {
1259
+ [HTMLConstructor] constructor();
1260
+
1261
+ [CEReactions] attribute unsigned long width;
1262
+ [CEReactions] attribute unsigned long height;
1263
+
1264
+ RenderingContext? getContext(DOMString contextId, optional any options = null);
1265
+
1266
+ USVString toDataURL(optional DOMString type = "image/png", optional any quality);
1267
+ undefined toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality);
1268
+ OffscreenCanvas transferControlToOffscreen();
1269
+ };
1270
+
1271
+ callback BlobCallback = undefined (Blob? blob);
1272
+
1273
+ typedef (HTMLImageElement or
1274
+ SVGImageElement) HTMLOrSVGImageElement;
1275
+
1276
+ typedef (HTMLOrSVGImageElement or
1277
+ HTMLVideoElement or
1278
+ HTMLCanvasElement or
1279
+ ImageBitmap or
1280
+ OffscreenCanvas or
1281
+ VideoFrame) CanvasImageSource;
1282
+
1283
+ enum PredefinedColorSpace { "srgb", "display-p3" };
1284
+
1285
+ enum CanvasFillRule { "nonzero", "evenodd" };
1286
+
1287
+ dictionary CanvasRenderingContext2DSettings {
1288
+ boolean alpha = true;
1289
+ boolean desynchronized = false;
1290
+ PredefinedColorSpace colorSpace = "srgb";
1291
+ boolean willReadFrequently = false;
1292
+ };
1293
+
1294
+ enum ImageSmoothingQuality { "low", "medium", "high" };
1295
+
1296
+ [Exposed=Window]
1297
+ interface CanvasRenderingContext2D {
1298
+ // back-reference to the canvas
1299
+ readonly attribute HTMLCanvasElement canvas;
1300
+
1301
+ CanvasRenderingContext2DSettings getContextAttributes();
1302
+ };
1303
+ CanvasRenderingContext2D includes CanvasState;
1304
+ CanvasRenderingContext2D includes CanvasTransform;
1305
+ CanvasRenderingContext2D includes CanvasCompositing;
1306
+ CanvasRenderingContext2D includes CanvasImageSmoothing;
1307
+ CanvasRenderingContext2D includes CanvasFillStrokeStyles;
1308
+ CanvasRenderingContext2D includes CanvasShadowStyles;
1309
+ CanvasRenderingContext2D includes CanvasFilters;
1310
+ CanvasRenderingContext2D includes CanvasRect;
1311
+ CanvasRenderingContext2D includes CanvasDrawPath;
1312
+ CanvasRenderingContext2D includes CanvasUserInterface;
1313
+ CanvasRenderingContext2D includes CanvasText;
1314
+ CanvasRenderingContext2D includes CanvasDrawImage;
1315
+ CanvasRenderingContext2D includes CanvasImageData;
1316
+ CanvasRenderingContext2D includes CanvasPathDrawingStyles;
1317
+ CanvasRenderingContext2D includes CanvasTextDrawingStyles;
1318
+ CanvasRenderingContext2D includes CanvasPath;
1319
+
1320
+ interface mixin CanvasState {
1321
+ // state
1322
+ undefined save(); // push state on state stack
1323
+ undefined restore(); // pop state stack and restore state
1324
+ undefined reset(); // reset the rendering context to its default state
1325
+ boolean isContextLost(); // return whether context is lost
1326
+ };
1327
+
1328
+ interface mixin CanvasTransform {
1329
+ // transformations (default transform is the identity matrix)
1330
+ undefined scale(unrestricted double x, unrestricted double y);
1331
+ undefined rotate(unrestricted double angle);
1332
+ undefined translate(unrestricted double x, unrestricted double y);
1333
+ undefined transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
1334
+
1335
+ [NewObject] DOMMatrix getTransform();
1336
+ undefined setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
1337
+ undefined setTransform(optional DOMMatrix2DInit transform = {});
1338
+ undefined resetTransform();
1339
+
1340
+ };
1341
+
1342
+ interface mixin CanvasCompositing {
1343
+ // compositing
1344
+ attribute unrestricted double globalAlpha; // (default 1.0)
1345
+ attribute DOMString globalCompositeOperation; // (default "source-over")
1346
+ };
1347
+
1348
+ interface mixin CanvasImageSmoothing {
1349
+ // image smoothing
1350
+ attribute boolean imageSmoothingEnabled; // (default true)
1351
+ attribute ImageSmoothingQuality imageSmoothingQuality; // (default low)
1352
+
1353
+ };
1354
+
1355
+ interface mixin CanvasFillStrokeStyles {
1356
+ // colors and styles (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces)
1357
+ attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black)
1358
+ attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black)
1359
+ CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1);
1360
+ CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1);
1361
+ CanvasGradient createConicGradient(double startAngle, double x, double y);
1362
+ CanvasPattern? createPattern(CanvasImageSource image, [LegacyNullToEmptyString] DOMString repetition);
1363
+
1364
+ };
1365
+
1366
+ interface mixin CanvasShadowStyles {
1367
+ // shadows
1368
+ attribute unrestricted double shadowOffsetX; // (default 0)
1369
+ attribute unrestricted double shadowOffsetY; // (default 0)
1370
+ attribute unrestricted double shadowBlur; // (default 0)
1371
+ attribute DOMString shadowColor; // (default transparent black)
1372
+ };
1373
+
1374
+ interface mixin CanvasFilters {
1375
+ // filters
1376
+ attribute DOMString filter; // (default "none")
1377
+ };
1378
+
1379
+ interface mixin CanvasRect {
1380
+ // rects
1381
+ undefined clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
1382
+ undefined fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
1383
+ undefined strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
1384
+ };
1385
+
1386
+ interface mixin CanvasDrawPath {
1387
+ // path API (see also CanvasPath)
1388
+ undefined beginPath();
1389
+ undefined fill(optional CanvasFillRule fillRule = "nonzero");
1390
+ undefined fill(Path2D path, optional CanvasFillRule fillRule = "nonzero");
1391
+ undefined stroke();
1392
+ undefined stroke(Path2D path);
1393
+ undefined clip(optional CanvasFillRule fillRule = "nonzero");
1394
+ undefined clip(Path2D path, optional CanvasFillRule fillRule = "nonzero");
1395
+ boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
1396
+ boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
1397
+ boolean isPointInStroke(unrestricted double x, unrestricted double y);
1398
+ boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
1399
+ };
1400
+
1401
+ interface mixin CanvasUserInterface {
1402
+ undefined drawFocusIfNeeded(Element element);
1403
+ undefined drawFocusIfNeeded(Path2D path, Element element);
1404
+ undefined scrollPathIntoView();
1405
+ undefined scrollPathIntoView(Path2D path);
1406
+ };
1407
+
1408
+ interface mixin CanvasText {
1409
+ // text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces)
1410
+ undefined fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
1411
+ undefined strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
1412
+ TextMetrics measureText(DOMString text);
1413
+ };
1414
+
1415
+ interface mixin CanvasDrawImage {
1416
+ // drawing images
1417
+ undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy);
1418
+ undefined drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
1419
+ undefined drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh);
1420
+ };
1421
+
1422
+ interface mixin CanvasImageData {
1423
+ // pixel manipulation
1424
+ ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {});
1425
+ ImageData createImageData(ImageData imagedata);
1426
+ ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, optional ImageDataSettings settings = {});
1427
+ undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy);
1428
+ undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight);
1429
+ };
1430
+
1431
+ enum CanvasLineCap { "butt", "round", "square" };
1432
+ enum CanvasLineJoin { "round", "bevel", "miter" };
1433
+ enum CanvasTextAlign { "start", "end", "left", "right", "center" };
1434
+ enum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" };
1435
+ enum CanvasDirection { "ltr", "rtl", "inherit" };
1436
+ enum CanvasFontKerning { "auto", "normal", "none" };
1437
+ enum CanvasFontStretch { "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" };
1438
+ enum CanvasFontVariantCaps { "normal", "small-caps", "all-small-caps", "petite-caps", "all-petite-caps", "unicase", "titling-caps" };
1439
+ enum CanvasTextRendering { "auto", "optimizeSpeed", "optimizeLegibility", "geometricPrecision" };
1440
+
1441
+ interface mixin CanvasPathDrawingStyles {
1442
+ // line caps/joins
1443
+ attribute unrestricted double lineWidth; // (default 1)
1444
+ attribute CanvasLineCap lineCap; // (default "butt")
1445
+ attribute CanvasLineJoin lineJoin; // (default "miter")
1446
+ attribute unrestricted double miterLimit; // (default 10)
1447
+
1448
+ // dashed lines
1449
+ undefined setLineDash(sequence<unrestricted double> segments); // default empty
1450
+ sequence<unrestricted double> getLineDash();
1451
+ attribute unrestricted double lineDashOffset;
1452
+ };
1453
+
1454
+ interface mixin CanvasTextDrawingStyles {
1455
+ // text
1456
+ attribute DOMString font; // (default 10px sans-serif)
1457
+ attribute CanvasTextAlign textAlign; // (default: "start")
1458
+ attribute CanvasTextBaseline textBaseline; // (default: "alphabetic")
1459
+ attribute CanvasDirection direction; // (default: "inherit")
1460
+ attribute DOMString letterSpacing; // (default: "0px")
1461
+ attribute CanvasFontKerning fontKerning; // (default: "auto")
1462
+ attribute CanvasFontStretch fontStretch; // (default: "normal")
1463
+ attribute CanvasFontVariantCaps fontVariantCaps; // (default: "normal")
1464
+ attribute CanvasTextRendering textRendering; // (default: "auto")
1465
+ attribute DOMString wordSpacing; // (default: "0px")
1466
+ };
1467
+
1468
+ interface mixin CanvasPath {
1469
+ // shared path API methods
1470
+ undefined closePath();
1471
+ undefined moveTo(unrestricted double x, unrestricted double y);
1472
+ undefined lineTo(unrestricted double x, unrestricted double y);
1473
+ undefined quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
1474
+ undefined bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
1475
+ undefined arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius);
1476
+ undefined rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
1477
+ undefined roundRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h, optional (unrestricted double or DOMPointInit or sequence<(unrestricted double or DOMPointInit)>) radii = 0);
1478
+ undefined arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean counterclockwise = false);
1479
+ undefined ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean counterclockwise = false);
1480
+ };
1481
+
1482
+ [Exposed=(Window,Worker)]
1483
+ interface CanvasGradient {
1484
+ // opaque object
1485
+ undefined addColorStop(double offset, DOMString color);
1486
+ };
1487
+
1488
+ [Exposed=(Window,Worker)]
1489
+ interface CanvasPattern {
1490
+ // opaque object
1491
+ undefined setTransform(optional DOMMatrix2DInit transform = {});
1492
+ };
1493
+
1494
+ [Exposed=(Window,Worker)]
1495
+ interface TextMetrics {
1496
+ // x-direction
1497
+ readonly attribute double width; // advance width
1498
+ readonly attribute double actualBoundingBoxLeft;
1499
+ readonly attribute double actualBoundingBoxRight;
1500
+
1501
+ // y-direction
1502
+ readonly attribute double fontBoundingBoxAscent;
1503
+ readonly attribute double fontBoundingBoxDescent;
1504
+ readonly attribute double actualBoundingBoxAscent;
1505
+ readonly attribute double actualBoundingBoxDescent;
1506
+ readonly attribute double emHeightAscent;
1507
+ readonly attribute double emHeightDescent;
1508
+ readonly attribute double hangingBaseline;
1509
+ readonly attribute double alphabeticBaseline;
1510
+ readonly attribute double ideographicBaseline;
1511
+ };
1512
+
1513
+ dictionary ImageDataSettings {
1514
+ PredefinedColorSpace colorSpace;
1515
+ };
1516
+
1517
+ [Exposed=(Window,Worker),
1518
+ Serializable]
1519
+ interface ImageData {
1520
+ constructor(unsigned long sw, unsigned long sh, optional ImageDataSettings settings = {});
1521
+ constructor(Uint8ClampedArray data, unsigned long sw, optional unsigned long sh, optional ImageDataSettings settings = {});
1522
+
1523
+ readonly attribute unsigned long width;
1524
+ readonly attribute unsigned long height;
1525
+ readonly attribute Uint8ClampedArray data;
1526
+ readonly attribute PredefinedColorSpace colorSpace;
1527
+ };
1528
+
1529
+ [Exposed=(Window,Worker)]
1530
+ interface Path2D {
1531
+ constructor(optional (Path2D or DOMString) path);
1532
+
1533
+ undefined addPath(Path2D path, optional DOMMatrix2DInit transform = {});
1534
+ };
1535
+ Path2D includes CanvasPath;
1536
+
1537
+ [Exposed=(Window,Worker)]
1538
+ interface ImageBitmapRenderingContext {
1539
+ readonly attribute (HTMLCanvasElement or OffscreenCanvas) canvas;
1540
+ undefined transferFromImageBitmap(ImageBitmap? bitmap);
1541
+ };
1542
+
1543
+ dictionary ImageBitmapRenderingContextSettings {
1544
+ boolean alpha = true;
1545
+ };
1546
+
1547
+ typedef (OffscreenCanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext or GPUCanvasContext) OffscreenRenderingContext;
1548
+
1549
+ dictionary ImageEncodeOptions {
1550
+ DOMString type = "image/png";
1551
+ unrestricted double quality;
1552
+ };
1553
+
1554
+ enum OffscreenRenderingContextId { "2d", "bitmaprenderer", "webgl", "webgl2", "webgpu" };
1555
+
1556
+ [Exposed=(Window,Worker), Transferable]
1557
+ interface OffscreenCanvas : EventTarget {
1558
+ constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height);
1559
+
1560
+ attribute [EnforceRange] unsigned long long width;
1561
+ attribute [EnforceRange] unsigned long long height;
1562
+
1563
+ OffscreenRenderingContext? getContext(OffscreenRenderingContextId contextId, optional any options = null);
1564
+ ImageBitmap transferToImageBitmap();
1565
+ Promise<Blob> convertToBlob(optional ImageEncodeOptions options = {});
1566
+
1567
+ attribute EventHandler oncontextlost;
1568
+ attribute EventHandler oncontextrestored;
1569
+ };
1570
+
1571
+ [Exposed=(Window,Worker)]
1572
+ interface OffscreenCanvasRenderingContext2D {
1573
+ undefined commit();
1574
+ readonly attribute OffscreenCanvas canvas;
1575
+ };
1576
+
1577
+ OffscreenCanvasRenderingContext2D includes CanvasState;
1578
+ OffscreenCanvasRenderingContext2D includes CanvasTransform;
1579
+ OffscreenCanvasRenderingContext2D includes CanvasCompositing;
1580
+ OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing;
1581
+ OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles;
1582
+ OffscreenCanvasRenderingContext2D includes CanvasShadowStyles;
1583
+ OffscreenCanvasRenderingContext2D includes CanvasFilters;
1584
+ OffscreenCanvasRenderingContext2D includes CanvasRect;
1585
+ OffscreenCanvasRenderingContext2D includes CanvasDrawPath;
1586
+ OffscreenCanvasRenderingContext2D includes CanvasText;
1587
+ OffscreenCanvasRenderingContext2D includes CanvasDrawImage;
1588
+ OffscreenCanvasRenderingContext2D includes CanvasImageData;
1589
+ OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles;
1590
+ OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles;
1591
+ OffscreenCanvasRenderingContext2D includes CanvasPath;
1592
+
1593
+ [Exposed=Window]
1594
+ interface CustomElementRegistry {
1595
+ [CEReactions] undefined define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {});
1596
+ (CustomElementConstructor or undefined) get(DOMString name);
1597
+ Promise<CustomElementConstructor> whenDefined(DOMString name);
1598
+ [CEReactions] undefined upgrade(Node root);
1599
+ };
1600
+
1601
+ callback CustomElementConstructor = HTMLElement ();
1602
+
1603
+ dictionary ElementDefinitionOptions {
1604
+ DOMString extends;
1605
+ };
1606
+
1607
+ [Exposed=Window]
1608
+ interface ElementInternals {
1609
+ // Shadow root access
1610
+ readonly attribute ShadowRoot? shadowRoot;
1611
+
1612
+ // Form-associated custom elements
1613
+ undefined setFormValue((File or USVString or FormData)? value,
1614
+ optional (File or USVString or FormData)? state);
1615
+
1616
+ readonly attribute HTMLFormElement? form;
1617
+
1618
+ undefined setValidity(optional ValidityStateFlags flags = {},
1619
+ optional DOMString message,
1620
+ optional HTMLElement anchor);
1621
+ readonly attribute boolean willValidate;
1622
+ readonly attribute ValidityState validity;
1623
+ readonly attribute DOMString validationMessage;
1624
+ boolean checkValidity();
1625
+ boolean reportValidity();
1626
+
1627
+ readonly attribute NodeList labels;
1628
+ };
1629
+
1630
+ // Accessibility semantics
1631
+ ElementInternals includes ARIAMixin;
1632
+
1633
+ dictionary ValidityStateFlags {
1634
+ boolean valueMissing = false;
1635
+ boolean typeMismatch = false;
1636
+ boolean patternMismatch = false;
1637
+ boolean tooLong = false;
1638
+ boolean tooShort = false;
1639
+ boolean rangeUnderflow = false;
1640
+ boolean rangeOverflow = false;
1641
+ boolean stepMismatch = false;
1642
+ boolean badInput = false;
1643
+ boolean customError = false;
1644
+ };
1645
+
1646
+ [Exposed=Window]
1647
+ interface UserActivation {
1648
+ readonly attribute boolean hasBeenActive;
1649
+ readonly attribute boolean isActive;
1650
+ };
1651
+
1652
+ partial interface Navigator {
1653
+ [SameObject] readonly attribute UserActivation userActivation;
1654
+ };
1655
+
1656
+ dictionary FocusOptions {
1657
+ boolean preventScroll = false;
1658
+ boolean focusVisible;
1659
+ };
1660
+
1661
+ interface mixin ElementContentEditable {
1662
+ [CEReactions] attribute DOMString contentEditable;
1663
+ [CEReactions] attribute DOMString enterKeyHint;
1664
+ readonly attribute boolean isContentEditable;
1665
+ [CEReactions] attribute DOMString inputMode;
1666
+ };
1667
+
1668
+ [Exposed=Window]
1669
+ interface DataTransfer {
1670
+ constructor();
1671
+
1672
+ attribute DOMString dropEffect;
1673
+ attribute DOMString effectAllowed;
1674
+
1675
+ [SameObject] readonly attribute DataTransferItemList items;
1676
+
1677
+ undefined setDragImage(Element image, long x, long y);
1678
+
1679
+ /* old interface */
1680
+ readonly attribute FrozenArray<DOMString> types;
1681
+ DOMString getData(DOMString format);
1682
+ undefined setData(DOMString format, DOMString data);
1683
+ undefined clearData(optional DOMString format);
1684
+ [SameObject] readonly attribute FileList files;
1685
+ };
1686
+
1687
+ [Exposed=Window]
1688
+ interface DataTransferItemList {
1689
+ readonly attribute unsigned long length;
1690
+ getter DataTransferItem (unsigned long index);
1691
+ DataTransferItem? add(DOMString data, DOMString type);
1692
+ DataTransferItem? add(File data);
1693
+ undefined remove(unsigned long index);
1694
+ undefined clear();
1695
+ };
1696
+
1697
+ [Exposed=Window]
1698
+ interface DataTransferItem {
1699
+ readonly attribute DOMString kind;
1700
+ readonly attribute DOMString type;
1701
+ undefined getAsString(FunctionStringCallback? _callback);
1702
+ File? getAsFile();
1703
+ };
1704
+
1705
+ callback FunctionStringCallback = undefined (DOMString data);
1706
+
1707
+ [Exposed=Window]
1708
+ interface DragEvent : MouseEvent {
1709
+ constructor(DOMString type, optional DragEventInit eventInitDict = {});
1710
+
1711
+ readonly attribute DataTransfer? dataTransfer;
1712
+ };
1713
+
1714
+ dictionary DragEventInit : MouseEventInit {
1715
+ DataTransfer? dataTransfer = null;
1716
+ };
1717
+
1718
+ interface mixin PopoverInvokerElement {
1719
+ [CEReactions] attribute Element? popoverTargetElement;
1720
+ [CEReactions] attribute DOMString popoverTargetAction;
1721
+ };
1722
+
1723
+ [Exposed=Window]
1724
+ interface ToggleEvent : Event {
1725
+ constructor(DOMString type, optional ToggleEventInit eventInitDict = {});
1726
+ readonly attribute DOMString oldState;
1727
+ readonly attribute DOMString newState;
1728
+ };
1729
+
1730
+ dictionary ToggleEventInit : EventInit {
1731
+ DOMString oldState = "";
1732
+ DOMString newState = "";
1733
+ };
1734
+
1735
+ [Global=Window,
1736
+ Exposed=Window,
1737
+ LegacyUnenumerableNamedProperties]
1738
+ interface Window : EventTarget {
1739
+ // the current browsing context
1740
+ [LegacyUnforgeable] readonly attribute WindowProxy window;
1741
+ [Replaceable] readonly attribute WindowProxy self;
1742
+ [LegacyUnforgeable] readonly attribute Document document;
1743
+ attribute DOMString name;
1744
+ [PutForwards=href, LegacyUnforgeable] readonly attribute Location location;
1745
+ readonly attribute History history;
1746
+ readonly attribute CustomElementRegistry customElements;
1747
+ [Replaceable] readonly attribute BarProp locationbar;
1748
+ [Replaceable] readonly attribute BarProp menubar;
1749
+ [Replaceable] readonly attribute BarProp personalbar;
1750
+ [Replaceable] readonly attribute BarProp scrollbars;
1751
+ [Replaceable] readonly attribute BarProp statusbar;
1752
+ [Replaceable] readonly attribute BarProp toolbar;
1753
+ attribute DOMString status;
1754
+ undefined close();
1755
+ readonly attribute boolean closed;
1756
+ undefined stop();
1757
+ undefined focus();
1758
+ undefined blur();
1759
+
1760
+ // other browsing contexts
1761
+ [Replaceable] readonly attribute WindowProxy frames;
1762
+ [Replaceable] readonly attribute unsigned long length;
1763
+ [LegacyUnforgeable] readonly attribute WindowProxy? top;
1764
+ attribute any opener;
1765
+ [Replaceable] readonly attribute WindowProxy? parent;
1766
+ readonly attribute Element? frameElement;
1767
+ WindowProxy? open(optional USVString url = "", optional DOMString target = "_blank", optional [LegacyNullToEmptyString] DOMString features = "");
1768
+
1769
+ // Since this is the global object, the IDL named getter adds a NamedPropertiesObject exotic
1770
+ // object on the prototype chain. Indeed, this does not make the global object an exotic object.
1771
+ // Indexed access is taken care of by the WindowProxy exotic object.
1772
+ getter object (DOMString name);
1773
+
1774
+ // the user agent
1775
+ readonly attribute Navigator navigator;
1776
+ readonly attribute Navigator clientInformation; // legacy alias of .navigator
1777
+ readonly attribute boolean originAgentCluster;
1778
+
1779
+ // user prompts
1780
+ undefined alert();
1781
+ undefined alert(DOMString message);
1782
+ boolean confirm(optional DOMString message = "");
1783
+ DOMString? prompt(optional DOMString message = "", optional DOMString default = "");
1784
+ undefined print();
1785
+
1786
+ undefined postMessage(any message, USVString targetOrigin, optional sequence<object> transfer = []);
1787
+ undefined postMessage(any message, optional WindowPostMessageOptions options = {});
1788
+
1789
+ // also has obsolete members
1790
+ };
1791
+ Window includes GlobalEventHandlers;
1792
+ Window includes WindowEventHandlers;
1793
+
1794
+ dictionary WindowPostMessageOptions : StructuredSerializeOptions {
1795
+ USVString targetOrigin = "/";
1796
+ };
1797
+
1798
+ [Exposed=Window]
1799
+ interface BarProp {
1800
+ readonly attribute boolean visible;
1801
+ };
1802
+
1803
+ [Exposed=Window]
1804
+ interface Location { // but see also additional creation steps and overridden internal methods
1805
+ [LegacyUnforgeable] stringifier attribute USVString href;
1806
+ [LegacyUnforgeable] readonly attribute USVString origin;
1807
+ [LegacyUnforgeable] attribute USVString protocol;
1808
+ [LegacyUnforgeable] attribute USVString host;
1809
+ [LegacyUnforgeable] attribute USVString hostname;
1810
+ [LegacyUnforgeable] attribute USVString port;
1811
+ [LegacyUnforgeable] attribute USVString pathname;
1812
+ [LegacyUnforgeable] attribute USVString search;
1813
+ [LegacyUnforgeable] attribute USVString hash;
1814
+
1815
+ [LegacyUnforgeable] undefined assign(USVString url);
1816
+ [LegacyUnforgeable] undefined replace(USVString url);
1817
+ [LegacyUnforgeable] undefined reload();
1818
+
1819
+ [LegacyUnforgeable, SameObject] readonly attribute DOMStringList ancestorOrigins;
1820
+ };
1821
+
1822
+ enum ScrollRestoration { "auto", "manual" };
1823
+
1824
+ [Exposed=Window]
1825
+ interface History {
1826
+ readonly attribute unsigned long length;
1827
+ attribute ScrollRestoration scrollRestoration;
1828
+ readonly attribute any state;
1829
+ undefined go(optional long delta = 0);
1830
+ undefined back();
1831
+ undefined forward();
1832
+ undefined pushState(any data, DOMString unused, optional USVString? url = null);
1833
+ undefined replaceState(any data, DOMString unused, optional USVString? url = null);
1834
+ };
1835
+
1836
+ [Exposed=Window]
1837
+ interface PopStateEvent : Event {
1838
+ constructor(DOMString type, optional PopStateEventInit eventInitDict = {});
1839
+
1840
+ readonly attribute any state;
1841
+ };
1842
+
1843
+ dictionary PopStateEventInit : EventInit {
1844
+ any state = null;
1845
+ };
1846
+
1847
+ [Exposed=Window]
1848
+ interface HashChangeEvent : Event {
1849
+ constructor(DOMString type, optional HashChangeEventInit eventInitDict = {});
1850
+
1851
+ readonly attribute USVString oldURL;
1852
+ readonly attribute USVString newURL;
1853
+ };
1854
+
1855
+ dictionary HashChangeEventInit : EventInit {
1856
+ USVString oldURL = "";
1857
+ USVString newURL = "";
1858
+ };
1859
+
1860
+ [Exposed=Window]
1861
+ interface PageTransitionEvent : Event {
1862
+ constructor(DOMString type, optional PageTransitionEventInit eventInitDict = {});
1863
+
1864
+ readonly attribute boolean persisted;
1865
+ };
1866
+
1867
+ dictionary PageTransitionEventInit : EventInit {
1868
+ boolean persisted = false;
1869
+ };
1870
+
1871
+ [Exposed=Window]
1872
+ interface BeforeUnloadEvent : Event {
1873
+ attribute DOMString returnValue;
1874
+ };
1875
+
1876
+ [Exposed=*]
1877
+ interface ErrorEvent : Event {
1878
+ constructor(DOMString type, optional ErrorEventInit eventInitDict = {});
1879
+
1880
+ readonly attribute DOMString message;
1881
+ readonly attribute USVString filename;
1882
+ readonly attribute unsigned long lineno;
1883
+ readonly attribute unsigned long colno;
1884
+ readonly attribute any error;
1885
+ };
1886
+
1887
+ dictionary ErrorEventInit : EventInit {
1888
+ DOMString message = "";
1889
+ USVString filename = "";
1890
+ unsigned long lineno = 0;
1891
+ unsigned long colno = 0;
1892
+ any error;
1893
+ };
1894
+
1895
+ [Exposed=*]
1896
+ interface PromiseRejectionEvent : Event {
1897
+ constructor(DOMString type, PromiseRejectionEventInit eventInitDict);
1898
+
1899
+ readonly attribute Promise<any> promise;
1900
+ readonly attribute any reason;
1901
+ };
1902
+
1903
+ dictionary PromiseRejectionEventInit : EventInit {
1904
+ required Promise<any> promise;
1905
+ any reason;
1906
+ };
1907
+
1908
+ [LegacyTreatNonObjectAsNull]
1909
+ callback EventHandlerNonNull = any (Event event);
1910
+ typedef EventHandlerNonNull? EventHandler;
1911
+
1912
+ [LegacyTreatNonObjectAsNull]
1913
+ callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long colno, optional any error);
1914
+ typedef OnErrorEventHandlerNonNull? OnErrorEventHandler;
1915
+
1916
+ [LegacyTreatNonObjectAsNull]
1917
+ callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event);
1918
+ typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler;
1919
+
1920
+ interface mixin GlobalEventHandlers {
1921
+ attribute EventHandler onabort;
1922
+ attribute EventHandler onauxclick;
1923
+ attribute EventHandler onbeforeinput;
1924
+ attribute EventHandler onbeforematch;
1925
+ attribute EventHandler onbeforetoggle;
1926
+ attribute EventHandler onblur;
1927
+ attribute EventHandler oncancel;
1928
+ attribute EventHandler oncanplay;
1929
+ attribute EventHandler oncanplaythrough;
1930
+ attribute EventHandler onchange;
1931
+ attribute EventHandler onclick;
1932
+ attribute EventHandler onclose;
1933
+ attribute EventHandler oncontextlost;
1934
+ attribute EventHandler oncontextmenu;
1935
+ attribute EventHandler oncontextrestored;
1936
+ attribute EventHandler oncopy;
1937
+ attribute EventHandler oncuechange;
1938
+ attribute EventHandler oncut;
1939
+ attribute EventHandler ondblclick;
1940
+ attribute EventHandler ondrag;
1941
+ attribute EventHandler ondragend;
1942
+ attribute EventHandler ondragenter;
1943
+ attribute EventHandler ondragleave;
1944
+ attribute EventHandler ondragover;
1945
+ attribute EventHandler ondragstart;
1946
+ attribute EventHandler ondrop;
1947
+ attribute EventHandler ondurationchange;
1948
+ attribute EventHandler onemptied;
1949
+ attribute EventHandler onended;
1950
+ attribute OnErrorEventHandler onerror;
1951
+ attribute EventHandler onfocus;
1952
+ attribute EventHandler onformdata;
1953
+ attribute EventHandler oninput;
1954
+ attribute EventHandler oninvalid;
1955
+ attribute EventHandler onkeydown;
1956
+ attribute EventHandler onkeypress;
1957
+ attribute EventHandler onkeyup;
1958
+ attribute EventHandler onload;
1959
+ attribute EventHandler onloadeddata;
1960
+ attribute EventHandler onloadedmetadata;
1961
+ attribute EventHandler onloadstart;
1962
+ attribute EventHandler onmousedown;
1963
+ [LegacyLenientThis] attribute EventHandler onmouseenter;
1964
+ [LegacyLenientThis] attribute EventHandler onmouseleave;
1965
+ attribute EventHandler onmousemove;
1966
+ attribute EventHandler onmouseout;
1967
+ attribute EventHandler onmouseover;
1968
+ attribute EventHandler onmouseup;
1969
+ attribute EventHandler onpaste;
1970
+ attribute EventHandler onpause;
1971
+ attribute EventHandler onplay;
1972
+ attribute EventHandler onplaying;
1973
+ attribute EventHandler onprogress;
1974
+ attribute EventHandler onratechange;
1975
+ attribute EventHandler onreset;
1976
+ attribute EventHandler onresize;
1977
+ attribute EventHandler onscroll;
1978
+ attribute EventHandler onscrollend;
1979
+ attribute EventHandler onsecuritypolicyviolation;
1980
+ attribute EventHandler onseeked;
1981
+ attribute EventHandler onseeking;
1982
+ attribute EventHandler onselect;
1983
+ attribute EventHandler onslotchange;
1984
+ attribute EventHandler onstalled;
1985
+ attribute EventHandler onsubmit;
1986
+ attribute EventHandler onsuspend;
1987
+ attribute EventHandler ontimeupdate;
1988
+ attribute EventHandler ontoggle;
1989
+ attribute EventHandler onvolumechange;
1990
+ attribute EventHandler onwaiting;
1991
+ attribute EventHandler onwebkitanimationend;
1992
+ attribute EventHandler onwebkitanimationiteration;
1993
+ attribute EventHandler onwebkitanimationstart;
1994
+ attribute EventHandler onwebkittransitionend;
1995
+ attribute EventHandler onwheel;
1996
+ };
1997
+
1998
+ interface mixin WindowEventHandlers {
1999
+ attribute EventHandler onafterprint;
2000
+ attribute EventHandler onbeforeprint;
2001
+ attribute OnBeforeUnloadEventHandler onbeforeunload;
2002
+ attribute EventHandler onhashchange;
2003
+ attribute EventHandler onlanguagechange;
2004
+ attribute EventHandler onmessage;
2005
+ attribute EventHandler onmessageerror;
2006
+ attribute EventHandler onoffline;
2007
+ attribute EventHandler ononline;
2008
+ attribute EventHandler onpagehide;
2009
+ attribute EventHandler onpageshow;
2010
+ attribute EventHandler onpopstate;
2011
+ attribute EventHandler onrejectionhandled;
2012
+ attribute EventHandler onstorage;
2013
+ attribute EventHandler onunhandledrejection;
2014
+ attribute EventHandler onunload;
2015
+ };
2016
+
2017
+ typedef (DOMString or Function) TimerHandler;
2018
+
2019
+ interface mixin WindowOrWorkerGlobalScope {
2020
+ [Replaceable] readonly attribute USVString origin;
2021
+ readonly attribute boolean isSecureContext;
2022
+ readonly attribute boolean crossOriginIsolated;
2023
+
2024
+ undefined reportError(any e);
2025
+
2026
+ // base64 utility methods
2027
+ DOMString btoa(DOMString data);
2028
+ ByteString atob(DOMString data);
2029
+
2030
+ // timers
2031
+ long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments);
2032
+ undefined clearTimeout(optional long id = 0);
2033
+ long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments);
2034
+ undefined clearInterval(optional long id = 0);
2035
+
2036
+ // microtask queuing
2037
+ undefined queueMicrotask(VoidFunction callback);
2038
+
2039
+ // ImageBitmap
2040
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {});
2041
+ Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options = {});
2042
+
2043
+ // structured cloning
2044
+ any structuredClone(any value, optional StructuredSerializeOptions options = {});
2045
+ };
2046
+ Window includes WindowOrWorkerGlobalScope;
2047
+ WorkerGlobalScope includes WindowOrWorkerGlobalScope;
2048
+
2049
+ [Exposed=Window]
2050
+ interface DOMParser {
2051
+ constructor();
2052
+
2053
+ [NewObject] Document parseFromString(DOMString string, DOMParserSupportedType type);
2054
+ };
2055
+
2056
+ enum DOMParserSupportedType {
2057
+ "text/html",
2058
+ "text/xml",
2059
+ "application/xml",
2060
+ "application/xhtml+xml",
2061
+ "image/svg+xml"
2062
+ };
2063
+
2064
+ [Exposed=Window]
2065
+ interface Navigator {
2066
+ // objects implementing this interface also implement the interfaces given below
2067
+ };
2068
+ Navigator includes NavigatorID;
2069
+ Navigator includes NavigatorLanguage;
2070
+ Navigator includes NavigatorOnLine;
2071
+ Navigator includes NavigatorContentUtils;
2072
+ Navigator includes NavigatorCookies;
2073
+ Navigator includes NavigatorPlugins;
2074
+ Navigator includes NavigatorConcurrentHardware;
2075
+
2076
+ interface mixin NavigatorID {
2077
+ readonly attribute DOMString appCodeName; // constant "Mozilla"
2078
+ readonly attribute DOMString appName; // constant "Netscape"
2079
+ readonly attribute DOMString appVersion;
2080
+ readonly attribute DOMString platform;
2081
+ readonly attribute DOMString product; // constant "Gecko"
2082
+ [Exposed=Window] readonly attribute DOMString productSub;
2083
+ readonly attribute DOMString userAgent;
2084
+ [Exposed=Window] readonly attribute DOMString vendor;
2085
+ [Exposed=Window] readonly attribute DOMString vendorSub; // constant ""
2086
+ };
2087
+
2088
+ partial interface mixin NavigatorID {
2089
+ [Exposed=Window] boolean taintEnabled(); // constant false
2090
+ [Exposed=Window] readonly attribute DOMString oscpu;
2091
+ };
2092
+
2093
+ interface mixin NavigatorLanguage {
2094
+ readonly attribute DOMString language;
2095
+ readonly attribute FrozenArray<DOMString> languages;
2096
+ };
2097
+
2098
+ interface mixin NavigatorOnLine {
2099
+ readonly attribute boolean onLine;
2100
+ };
2101
+
2102
+ interface mixin NavigatorContentUtils {
2103
+ [SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url);
2104
+ [SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url);
2105
+ };
2106
+
2107
+ interface mixin NavigatorCookies {
2108
+ readonly attribute boolean cookieEnabled;
2109
+ };
2110
+
2111
+ interface mixin NavigatorPlugins {
2112
+ [SameObject] readonly attribute PluginArray plugins;
2113
+ [SameObject] readonly attribute MimeTypeArray mimeTypes;
2114
+ boolean javaEnabled();
2115
+ readonly attribute boolean pdfViewerEnabled;
2116
+ };
2117
+
2118
+ [Exposed=Window,
2119
+ LegacyUnenumerableNamedProperties]
2120
+ interface PluginArray {
2121
+ undefined refresh();
2122
+ readonly attribute unsigned long length;
2123
+ getter Plugin? item(unsigned long index);
2124
+ getter Plugin? namedItem(DOMString name);
2125
+ };
2126
+
2127
+ [Exposed=Window,
2128
+ LegacyUnenumerableNamedProperties]
2129
+ interface MimeTypeArray {
2130
+ readonly attribute unsigned long length;
2131
+ getter MimeType? item(unsigned long index);
2132
+ getter MimeType? namedItem(DOMString name);
2133
+ };
2134
+
2135
+ [Exposed=Window,
2136
+ LegacyUnenumerableNamedProperties]
2137
+ interface Plugin {
2138
+ readonly attribute DOMString name;
2139
+ readonly attribute DOMString description;
2140
+ readonly attribute DOMString filename;
2141
+ readonly attribute unsigned long length;
2142
+ getter MimeType? item(unsigned long index);
2143
+ getter MimeType? namedItem(DOMString name);
2144
+ };
2145
+
2146
+ [Exposed=Window]
2147
+ interface MimeType {
2148
+ readonly attribute DOMString type;
2149
+ readonly attribute DOMString description;
2150
+ readonly attribute DOMString suffixes;
2151
+ readonly attribute Plugin enabledPlugin;
2152
+ };
2153
+
2154
+ [Exposed=(Window,Worker), Serializable, Transferable]
2155
+ interface ImageBitmap {
2156
+ readonly attribute unsigned long width;
2157
+ readonly attribute unsigned long height;
2158
+ undefined close();
2159
+ };
2160
+
2161
+ typedef (CanvasImageSource or
2162
+ Blob or
2163
+ ImageData) ImageBitmapSource;
2164
+
2165
+ enum ImageOrientation { "from-image", "flipY" };
2166
+ enum PremultiplyAlpha { "none", "premultiply", "default" };
2167
+ enum ColorSpaceConversion { "none", "default" };
2168
+ enum ResizeQuality { "pixelated", "low", "medium", "high" };
2169
+
2170
+ dictionary ImageBitmapOptions {
2171
+ ImageOrientation imageOrientation = "from-image";
2172
+ PremultiplyAlpha premultiplyAlpha = "default";
2173
+ ColorSpaceConversion colorSpaceConversion = "default";
2174
+ [EnforceRange] unsigned long resizeWidth;
2175
+ [EnforceRange] unsigned long resizeHeight;
2176
+ ResizeQuality resizeQuality = "low";
2177
+ };
2178
+
2179
+ callback FrameRequestCallback = undefined (DOMHighResTimeStamp time);
2180
+
2181
+ interface mixin AnimationFrameProvider {
2182
+ unsigned long requestAnimationFrame(FrameRequestCallback callback);
2183
+ undefined cancelAnimationFrame(unsigned long handle);
2184
+ };
2185
+ Window includes AnimationFrameProvider;
2186
+ DedicatedWorkerGlobalScope includes AnimationFrameProvider;
2187
+
2188
+ [Exposed=(Window,Worker,AudioWorklet)]
2189
+ interface MessageEvent : Event {
2190
+ constructor(DOMString type, optional MessageEventInit eventInitDict = {});
2191
+
2192
+ readonly attribute any data;
2193
+ readonly attribute USVString origin;
2194
+ readonly attribute DOMString lastEventId;
2195
+ readonly attribute MessageEventSource? source;
2196
+ readonly attribute FrozenArray<MessagePort> ports;
2197
+
2198
+ undefined initMessageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any data = null, optional USVString origin = "", optional DOMString lastEventId = "", optional MessageEventSource? source = null, optional sequence<MessagePort> ports = []);
2199
+ };
2200
+
2201
+ dictionary MessageEventInit : EventInit {
2202
+ any data = null;
2203
+ USVString origin = "";
2204
+ DOMString lastEventId = "";
2205
+ MessageEventSource? source = null;
2206
+ sequence<MessagePort> ports = [];
2207
+ };
2208
+
2209
+ typedef (WindowProxy or MessagePort or ServiceWorker) MessageEventSource;
2210
+
2211
+ [Exposed=(Window,Worker)]
2212
+ interface EventSource : EventTarget {
2213
+ constructor(USVString url, optional EventSourceInit eventSourceInitDict = {});
2214
+
2215
+ readonly attribute USVString url;
2216
+ readonly attribute boolean withCredentials;
2217
+
2218
+ // ready state
2219
+ const unsigned short CONNECTING = 0;
2220
+ const unsigned short OPEN = 1;
2221
+ const unsigned short CLOSED = 2;
2222
+ readonly attribute unsigned short readyState;
2223
+
2224
+ // networking
2225
+ attribute EventHandler onopen;
2226
+ attribute EventHandler onmessage;
2227
+ attribute EventHandler onerror;
2228
+ undefined close();
2229
+ };
2230
+
2231
+ dictionary EventSourceInit {
2232
+ boolean withCredentials = false;
2233
+ };
2234
+
2235
+ [Exposed=(Window,Worker)]
2236
+ interface MessageChannel {
2237
+ constructor();
2238
+
2239
+ readonly attribute MessagePort port1;
2240
+ readonly attribute MessagePort port2;
2241
+ };
2242
+
2243
+ [Exposed=(Window,Worker,AudioWorklet), Transferable]
2244
+ interface MessagePort : EventTarget {
2245
+ undefined postMessage(any message, sequence<object> transfer);
2246
+ undefined postMessage(any message, optional StructuredSerializeOptions options = {});
2247
+ undefined start();
2248
+ undefined close();
2249
+
2250
+ // event handlers
2251
+ attribute EventHandler onmessage;
2252
+ attribute EventHandler onmessageerror;
2253
+ };
2254
+
2255
+ dictionary StructuredSerializeOptions {
2256
+ sequence<object> transfer = [];
2257
+ };
2258
+
2259
+ [Exposed=(Window,Worker)]
2260
+ interface BroadcastChannel : EventTarget {
2261
+ constructor(DOMString name);
2262
+
2263
+ readonly attribute DOMString name;
2264
+ undefined postMessage(any message);
2265
+ undefined close();
2266
+ attribute EventHandler onmessage;
2267
+ attribute EventHandler onmessageerror;
2268
+ };
2269
+
2270
+ [Exposed=Worker]
2271
+ interface WorkerGlobalScope : EventTarget {
2272
+ readonly attribute WorkerGlobalScope self;
2273
+ readonly attribute WorkerLocation location;
2274
+ readonly attribute WorkerNavigator navigator;
2275
+ undefined importScripts(USVString... urls);
2276
+
2277
+ attribute OnErrorEventHandler onerror;
2278
+ attribute EventHandler onlanguagechange;
2279
+ attribute EventHandler onoffline;
2280
+ attribute EventHandler ononline;
2281
+ attribute EventHandler onrejectionhandled;
2282
+ attribute EventHandler onunhandledrejection;
2283
+ };
2284
+
2285
+ [Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker]
2286
+ interface DedicatedWorkerGlobalScope : WorkerGlobalScope {
2287
+ [Replaceable] readonly attribute DOMString name;
2288
+
2289
+ undefined postMessage(any message, sequence<object> transfer);
2290
+ undefined postMessage(any message, optional StructuredSerializeOptions options = {});
2291
+
2292
+ undefined close();
2293
+
2294
+ attribute EventHandler onmessage;
2295
+ attribute EventHandler onmessageerror;
2296
+ };
2297
+
2298
+ [Global=(Worker,SharedWorker),Exposed=SharedWorker]
2299
+ interface SharedWorkerGlobalScope : WorkerGlobalScope {
2300
+ [Replaceable] readonly attribute DOMString name;
2301
+
2302
+ undefined close();
2303
+
2304
+ attribute EventHandler onconnect;
2305
+ };
2306
+
2307
+ interface mixin AbstractWorker {
2308
+ attribute EventHandler onerror;
2309
+ };
2310
+
2311
+ [Exposed=(Window,DedicatedWorker,SharedWorker)]
2312
+ interface Worker : EventTarget {
2313
+ constructor(USVString scriptURL, optional WorkerOptions options = {});
2314
+
2315
+ undefined terminate();
2316
+
2317
+ undefined postMessage(any message, sequence<object> transfer);
2318
+ undefined postMessage(any message, optional StructuredSerializeOptions options = {});
2319
+ attribute EventHandler onmessage;
2320
+ attribute EventHandler onmessageerror;
2321
+ };
2322
+
2323
+ dictionary WorkerOptions {
2324
+ WorkerType type = "classic";
2325
+ RequestCredentials credentials = "same-origin"; // credentials is only used if type is "module"
2326
+ DOMString name = "";
2327
+ };
2328
+
2329
+ enum WorkerType { "classic", "module" };
2330
+
2331
+ Worker includes AbstractWorker;
2332
+
2333
+ [Exposed=Window]
2334
+ interface SharedWorker : EventTarget {
2335
+ constructor(USVString scriptURL, optional (DOMString or WorkerOptions) options = {});
2336
+
2337
+ readonly attribute MessagePort port;
2338
+ };
2339
+ SharedWorker includes AbstractWorker;
2340
+
2341
+ interface mixin NavigatorConcurrentHardware {
2342
+ readonly attribute unsigned long long hardwareConcurrency;
2343
+ };
2344
+
2345
+ [Exposed=Worker]
2346
+ interface WorkerNavigator {};
2347
+ WorkerNavigator includes NavigatorID;
2348
+ WorkerNavigator includes NavigatorLanguage;
2349
+ WorkerNavigator includes NavigatorOnLine;
2350
+ WorkerNavigator includes NavigatorConcurrentHardware;
2351
+
2352
+ [Exposed=Worker]
2353
+ interface WorkerLocation {
2354
+ stringifier readonly attribute USVString href;
2355
+ readonly attribute USVString origin;
2356
+ readonly attribute USVString protocol;
2357
+ readonly attribute USVString host;
2358
+ readonly attribute USVString hostname;
2359
+ readonly attribute USVString port;
2360
+ readonly attribute USVString pathname;
2361
+ readonly attribute USVString search;
2362
+ readonly attribute USVString hash;
2363
+ };
2364
+
2365
+ [Exposed=Worklet, SecureContext]
2366
+ interface WorkletGlobalScope {};
2367
+
2368
+ [Exposed=Window, SecureContext]
2369
+ interface Worklet {
2370
+ [NewObject] Promise<undefined> addModule(USVString moduleURL, optional WorkletOptions options = {});
2371
+ };
2372
+
2373
+ dictionary WorkletOptions {
2374
+ RequestCredentials credentials = "same-origin";
2375
+ };
2376
+
2377
+ [Exposed=Window]
2378
+ interface Storage {
2379
+ readonly attribute unsigned long length;
2380
+ DOMString? key(unsigned long index);
2381
+ getter DOMString? getItem(DOMString key);
2382
+ setter undefined setItem(DOMString key, DOMString value);
2383
+ deleter undefined removeItem(DOMString key);
2384
+ undefined clear();
2385
+ };
2386
+
2387
+ interface mixin WindowSessionStorage {
2388
+ readonly attribute Storage sessionStorage;
2389
+ };
2390
+ Window includes WindowSessionStorage;
2391
+
2392
+ interface mixin WindowLocalStorage {
2393
+ readonly attribute Storage localStorage;
2394
+ };
2395
+ Window includes WindowLocalStorage;
2396
+
2397
+ [Exposed=Window]
2398
+ interface StorageEvent : Event {
2399
+ constructor(DOMString type, optional StorageEventInit eventInitDict = {});
2400
+
2401
+ readonly attribute DOMString? key;
2402
+ readonly attribute DOMString? oldValue;
2403
+ readonly attribute DOMString? newValue;
2404
+ readonly attribute USVString url;
2405
+ readonly attribute Storage? storageArea;
2406
+
2407
+ undefined initStorageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional DOMString? key = null, optional DOMString? oldValue = null, optional DOMString? newValue = null, optional USVString url = "", optional Storage? storageArea = null);
2408
+ };
2409
+
2410
+ dictionary StorageEventInit : EventInit {
2411
+ DOMString? key = null;
2412
+ DOMString? oldValue = null;
2413
+ DOMString? newValue = null;
2414
+ USVString url = "";
2415
+ Storage? storageArea = null;
2416
+ };
2417
+
2418
+ [Exposed=Window]
2419
+ interface HTMLMarqueeElement : HTMLElement {
2420
+ [HTMLConstructor] constructor();
2421
+
2422
+ [CEReactions] attribute DOMString behavior;
2423
+ [CEReactions] attribute DOMString bgColor;
2424
+ [CEReactions] attribute DOMString direction;
2425
+ [CEReactions] attribute DOMString height;
2426
+ [CEReactions] attribute unsigned long hspace;
2427
+ [CEReactions] attribute long loop;
2428
+ [CEReactions] attribute unsigned long scrollAmount;
2429
+ [CEReactions] attribute unsigned long scrollDelay;
2430
+ [CEReactions] attribute boolean trueSpeed;
2431
+ [CEReactions] attribute unsigned long vspace;
2432
+ [CEReactions] attribute DOMString width;
2433
+
2434
+ undefined start();
2435
+ undefined stop();
2436
+ };
2437
+
2438
+ [Exposed=Window]
2439
+ interface HTMLFrameSetElement : HTMLElement {
2440
+ [HTMLConstructor] constructor();
2441
+
2442
+ [CEReactions] attribute DOMString cols;
2443
+ [CEReactions] attribute DOMString rows;
2444
+ };
2445
+ HTMLFrameSetElement includes WindowEventHandlers;
2446
+
2447
+ [Exposed=Window]
2448
+ interface HTMLFrameElement : HTMLElement {
2449
+ [HTMLConstructor] constructor();
2450
+
2451
+ [CEReactions] attribute DOMString name;
2452
+ [CEReactions] attribute DOMString scrolling;
2453
+ [CEReactions] attribute USVString src;
2454
+ [CEReactions] attribute DOMString frameBorder;
2455
+ [CEReactions] attribute USVString longDesc;
2456
+ [CEReactions] attribute boolean noResize;
2457
+ readonly attribute Document? contentDocument;
2458
+ readonly attribute WindowProxy? contentWindow;
2459
+
2460
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
2461
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
2462
+ };
2463
+
2464
+ partial interface HTMLAnchorElement {
2465
+ [CEReactions] attribute DOMString coords;
2466
+ [CEReactions] attribute DOMString charset;
2467
+ [CEReactions] attribute DOMString name;
2468
+ [CEReactions] attribute DOMString rev;
2469
+ [CEReactions] attribute DOMString shape;
2470
+ };
2471
+
2472
+ partial interface HTMLAreaElement {
2473
+ [CEReactions] attribute boolean noHref;
2474
+ };
2475
+
2476
+ partial interface HTMLBodyElement {
2477
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString text;
2478
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString link;
2479
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString vLink;
2480
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString aLink;
2481
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
2482
+ [CEReactions] attribute DOMString background;
2483
+ };
2484
+
2485
+ partial interface HTMLBRElement {
2486
+ [CEReactions] attribute DOMString clear;
2487
+ };
2488
+
2489
+ partial interface HTMLTableCaptionElement {
2490
+ [CEReactions] attribute DOMString align;
2491
+ };
2492
+
2493
+ partial interface HTMLTableColElement {
2494
+ [CEReactions] attribute DOMString align;
2495
+ [CEReactions] attribute DOMString ch;
2496
+ [CEReactions] attribute DOMString chOff;
2497
+ [CEReactions] attribute DOMString vAlign;
2498
+ [CEReactions] attribute DOMString width;
2499
+ };
2500
+
2501
+ [Exposed=Window]
2502
+ interface HTMLDirectoryElement : HTMLElement {
2503
+ [HTMLConstructor] constructor();
2504
+
2505
+ [CEReactions] attribute boolean compact;
2506
+ };
2507
+
2508
+ partial interface HTMLDivElement {
2509
+ [CEReactions] attribute DOMString align;
2510
+ };
2511
+
2512
+ partial interface HTMLDListElement {
2513
+ [CEReactions] attribute boolean compact;
2514
+ };
2515
+
2516
+ partial interface HTMLEmbedElement {
2517
+ [CEReactions] attribute DOMString align;
2518
+ [CEReactions] attribute DOMString name;
2519
+ };
2520
+
2521
+ [Exposed=Window]
2522
+ interface HTMLFontElement : HTMLElement {
2523
+ [HTMLConstructor] constructor();
2524
+
2525
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString color;
2526
+ [CEReactions] attribute DOMString face;
2527
+ [CEReactions] attribute DOMString size;
2528
+ };
2529
+
2530
+ partial interface HTMLHeadingElement {
2531
+ [CEReactions] attribute DOMString align;
2532
+ };
2533
+
2534
+ partial interface HTMLHRElement {
2535
+ [CEReactions] attribute DOMString align;
2536
+ [CEReactions] attribute DOMString color;
2537
+ [CEReactions] attribute boolean noShade;
2538
+ [CEReactions] attribute DOMString size;
2539
+ [CEReactions] attribute DOMString width;
2540
+ };
2541
+
2542
+ partial interface HTMLHtmlElement {
2543
+ [CEReactions] attribute DOMString version;
2544
+ };
2545
+
2546
+ partial interface HTMLIFrameElement {
2547
+ [CEReactions] attribute DOMString align;
2548
+ [CEReactions] attribute DOMString scrolling;
2549
+ [CEReactions] attribute DOMString frameBorder;
2550
+ [CEReactions] attribute USVString longDesc;
2551
+
2552
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginHeight;
2553
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString marginWidth;
2554
+ };
2555
+
2556
+ partial interface HTMLImageElement {
2557
+ [CEReactions] attribute DOMString name;
2558
+ [CEReactions] attribute USVString lowsrc;
2559
+ [CEReactions] attribute DOMString align;
2560
+ [CEReactions] attribute unsigned long hspace;
2561
+ [CEReactions] attribute unsigned long vspace;
2562
+ [CEReactions] attribute USVString longDesc;
2563
+
2564
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString border;
2565
+ };
2566
+
2567
+ partial interface HTMLInputElement {
2568
+ [CEReactions] attribute DOMString align;
2569
+ [CEReactions] attribute DOMString useMap;
2570
+ };
2571
+
2572
+ partial interface HTMLLegendElement {
2573
+ [CEReactions] attribute DOMString align;
2574
+ };
2575
+
2576
+ partial interface HTMLLIElement {
2577
+ [CEReactions] attribute DOMString type;
2578
+ };
2579
+
2580
+ partial interface HTMLLinkElement {
2581
+ [CEReactions] attribute DOMString charset;
2582
+ [CEReactions] attribute DOMString rev;
2583
+ [CEReactions] attribute DOMString target;
2584
+ };
2585
+
2586
+ partial interface HTMLMenuElement {
2587
+ [CEReactions] attribute boolean compact;
2588
+ };
2589
+
2590
+ partial interface HTMLMetaElement {
2591
+ [CEReactions] attribute DOMString scheme;
2592
+ };
2593
+
2594
+ partial interface HTMLObjectElement {
2595
+ [CEReactions] attribute DOMString align;
2596
+ [CEReactions] attribute DOMString archive;
2597
+ [CEReactions] attribute DOMString code;
2598
+ [CEReactions] attribute boolean declare;
2599
+ [CEReactions] attribute unsigned long hspace;
2600
+ [CEReactions] attribute DOMString standby;
2601
+ [CEReactions] attribute unsigned long vspace;
2602
+ [CEReactions] attribute DOMString codeBase;
2603
+ [CEReactions] attribute DOMString codeType;
2604
+ [CEReactions] attribute DOMString useMap;
2605
+
2606
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString border;
2607
+ };
2608
+
2609
+ partial interface HTMLOListElement {
2610
+ [CEReactions] attribute boolean compact;
2611
+ };
2612
+
2613
+ partial interface HTMLParagraphElement {
2614
+ [CEReactions] attribute DOMString align;
2615
+ };
2616
+
2617
+ [Exposed=Window]
2618
+ interface HTMLParamElement : HTMLElement {
2619
+ [HTMLConstructor] constructor();
2620
+
2621
+ [CEReactions] attribute DOMString name;
2622
+ [CEReactions] attribute DOMString value;
2623
+ [CEReactions] attribute DOMString type;
2624
+ [CEReactions] attribute DOMString valueType;
2625
+ };
2626
+
2627
+ partial interface HTMLPreElement {
2628
+ [CEReactions] attribute long width;
2629
+ };
2630
+
2631
+ partial interface HTMLStyleElement {
2632
+ [CEReactions] attribute DOMString type;
2633
+ };
2634
+
2635
+ partial interface HTMLScriptElement {
2636
+ [CEReactions] attribute DOMString charset;
2637
+ [CEReactions] attribute DOMString event;
2638
+ [CEReactions] attribute DOMString htmlFor;
2639
+ };
2640
+
2641
+ partial interface HTMLTableElement {
2642
+ [CEReactions] attribute DOMString align;
2643
+ [CEReactions] attribute DOMString border;
2644
+ [CEReactions] attribute DOMString frame;
2645
+ [CEReactions] attribute DOMString rules;
2646
+ [CEReactions] attribute DOMString summary;
2647
+ [CEReactions] attribute DOMString width;
2648
+
2649
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
2650
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellPadding;
2651
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString cellSpacing;
2652
+ };
2653
+
2654
+ partial interface HTMLTableSectionElement {
2655
+ [CEReactions] attribute DOMString align;
2656
+ [CEReactions] attribute DOMString ch;
2657
+ [CEReactions] attribute DOMString chOff;
2658
+ [CEReactions] attribute DOMString vAlign;
2659
+ };
2660
+
2661
+ partial interface HTMLTableCellElement {
2662
+ [CEReactions] attribute DOMString align;
2663
+ [CEReactions] attribute DOMString axis;
2664
+ [CEReactions] attribute DOMString height;
2665
+ [CEReactions] attribute DOMString width;
2666
+
2667
+ [CEReactions] attribute DOMString ch;
2668
+ [CEReactions] attribute DOMString chOff;
2669
+ [CEReactions] attribute boolean noWrap;
2670
+ [CEReactions] attribute DOMString vAlign;
2671
+
2672
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
2673
+ };
2674
+
2675
+ partial interface HTMLTableRowElement {
2676
+ [CEReactions] attribute DOMString align;
2677
+ [CEReactions] attribute DOMString ch;
2678
+ [CEReactions] attribute DOMString chOff;
2679
+ [CEReactions] attribute DOMString vAlign;
2680
+
2681
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
2682
+ };
2683
+
2684
+ partial interface HTMLUListElement {
2685
+ [CEReactions] attribute boolean compact;
2686
+ [CEReactions] attribute DOMString type;
2687
+ };
2688
+
2689
+ partial interface Document {
2690
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString fgColor;
2691
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString linkColor;
2692
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString vlinkColor;
2693
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString alinkColor;
2694
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
2695
+
2696
+ [SameObject] readonly attribute HTMLCollection anchors;
2697
+ [SameObject] readonly attribute HTMLCollection applets;
2698
+
2699
+ undefined clear();
2700
+ undefined captureEvents();
2701
+ undefined releaseEvents();
2702
+
2703
+ [SameObject] readonly attribute HTMLAllCollection all;
2704
+ };
2705
+
2706
+ partial interface Window {
2707
+ undefined captureEvents();
2708
+ undefined releaseEvents();
2709
+
2710
+ [Replaceable, SameObject] readonly attribute External external;
2711
+ };
2712
+
2713
+ [Exposed=Window]
2714
+ interface External {
2715
+ undefined AddSearchProvider();
2716
+ undefined IsSearchProviderInstalled();
2717
+ };