|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=766694 |
|
5 --> |
|
6 <head> |
|
7 <meta charset="utf-8"> |
|
8 <title>Test for Bug 766694</title> |
|
9 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> |
|
11 </head> |
|
12 <body> |
|
13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=766694">Mozilla Bug 766694</a> |
|
14 <p id="display"></p> |
|
15 <div id="content" style="display: none"> |
|
16 |
|
17 </div> |
|
18 <pre id="test"> |
|
19 <script type="application/javascript"> |
|
20 |
|
21 /** Test for Bug 766694 **/ |
|
22 |
|
23 // This is a list of all interfaces that are exposed to every webpage. |
|
24 // Please only add things to this list with great care and proper review |
|
25 // from the associated module peers. |
|
26 |
|
27 // This file lists global interfaces we want exposed and verifies they |
|
28 // are what we intend. Each entry in the arrays below can either be a |
|
29 // simple string with the interface name, or an object with a 'name' |
|
30 // property giving the interface name as a string, and additional |
|
31 // properties which qualify the exposure of that interface. For example: |
|
32 // |
|
33 // [ |
|
34 // "AGlobalInterface", |
|
35 // {name: "ExperimentalThing", release: false}, |
|
36 // {name: "OptionalThing", pref: "some.thing.enabled"}, |
|
37 // {name: "FancyControl", xbl: true}, |
|
38 // ]; |
|
39 // |
|
40 // See createInterfaceMap() below for a complete list of properties. |
|
41 |
|
42 // IMPORTANT: Do not change this list without review from |
|
43 // a JavaScript Engine peer! |
|
44 var ecmaGlobals = |
|
45 [ |
|
46 "Array", |
|
47 "ArrayBuffer", |
|
48 "Boolean", |
|
49 "DataView", |
|
50 "Date", |
|
51 "Error", |
|
52 "EvalError", |
|
53 "Float32Array", |
|
54 "Float64Array", |
|
55 "Function", |
|
56 // NB: We haven't bothered to resolve constants like Infinity and NaN on |
|
57 // Xrayed windows (which are seen from the XBL scope). We could support |
|
58 // this if needed with some refactoring. |
|
59 {name: "Infinity", xbl: false}, |
|
60 "Int16Array", |
|
61 "Int32Array", |
|
62 "Int8Array", |
|
63 "InternalError", |
|
64 {name: "Intl", desktop: true}, |
|
65 "Iterator", |
|
66 "JSON", |
|
67 "Map", |
|
68 "Math", |
|
69 {name: "NaN", xbl: false}, |
|
70 "Number", |
|
71 "Object", |
|
72 "Proxy", |
|
73 "RangeError", |
|
74 "ReferenceError", |
|
75 "RegExp", |
|
76 "Set", |
|
77 {name: "SharedArrayBuffer", nightly: true}, |
|
78 {name: "SIMD", nightly: true}, |
|
79 "StopIteration", |
|
80 "String", |
|
81 "SyntaxError", |
|
82 {name: "TypedObject", nightly: true}, |
|
83 "TypeError", |
|
84 "Uint16Array", |
|
85 "Uint32Array", |
|
86 "Uint8Array", |
|
87 "Uint8ClampedArray", |
|
88 "URIError", |
|
89 "WeakMap", |
|
90 ]; |
|
91 // IMPORTANT: Do not change the list above without review from |
|
92 // a JavaScript Engine peer! |
|
93 |
|
94 // IMPORTANT: Do not change the list below without review from a DOM peer, |
|
95 // except to remove items from it! |
|
96 // |
|
97 // This is a list of interfaces that were prefixed with 'moz' instead of 'Moz'. |
|
98 // We should never to that again, interfaces in the DOM start with an uppercase |
|
99 // letter. If you think you need to add an interface here, DON'T. Rename your |
|
100 // interface. |
|
101 var legacyMozPrefixedInterfaces = |
|
102 [ |
|
103 "mozContact", |
|
104 "mozRTCIceCandidate", |
|
105 "mozRTCPeerConnection", |
|
106 "mozRTCSessionDescription", |
|
107 ]; |
|
108 // IMPORTANT: Do not change the list above without review from a DOM peer, |
|
109 // except to remove items from it! |
|
110 |
|
111 // IMPORTANT: Do not change the list below without review from a DOM peer! |
|
112 var interfaceNamesInGlobalScope = |
|
113 [ |
|
114 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
115 "AnalyserNode", |
|
116 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
117 "AnimationEvent", |
|
118 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
119 "Attr", |
|
120 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
121 "Audio", |
|
122 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
123 "AudioBuffer", |
|
124 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
125 {name: "AudioChannelManager", b2g: true}, |
|
126 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
127 "AudioContext", |
|
128 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
129 "AudioBufferSourceNode", |
|
130 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
131 "AudioDestinationNode", |
|
132 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
133 "AudioListener", |
|
134 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
135 "AudioNode", |
|
136 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
137 "AudioParam", |
|
138 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
139 "AudioProcessingEvent", |
|
140 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
141 "AudioStreamTrack", |
|
142 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
143 "BarProp", |
|
144 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
145 "BatteryManager", |
|
146 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
147 "BeforeUnloadEvent", |
|
148 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
149 "BiquadFilterNode", |
|
150 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
151 "Blob", |
|
152 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
153 "BlobEvent", |
|
154 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
155 {name: "BluetoothAdapter", b2g: true}, |
|
156 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
157 {name: "BluetoothDevice", b2g: true}, |
|
158 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
159 {name: "BluetoothDeviceEvent", b2g: true}, |
|
160 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
161 {name: "BluetoothManager", b2g: true}, |
|
162 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
163 {name: "BluetoothStatusChangedEvent", b2g: true}, |
|
164 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
165 {name: "BoxObject", xbl: true}, |
|
166 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
167 {name: "CallEvent", b2g: true, pref: "dom.telephony.enabled"}, |
|
168 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
169 {name: "CallGroupErrorEvent", b2g: true, pref: "dom.telephony.enabled"}, |
|
170 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
171 {name: "CameraCapabilities", b2g: true}, |
|
172 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
173 {name: "CameraControl", b2g: true}, |
|
174 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
175 {name: "CameraDetectedFace", b2g: true, pref: "camera.control.face_detection.enabled"}, |
|
176 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
177 {name: "CameraManager", b2g: true}, |
|
178 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
179 {name: "CameraPoint", b2g: true, pref: "camera.control.face_detection.enabled"}, |
|
180 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
181 "CanvasGradient", |
|
182 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
183 "CanvasPattern", |
|
184 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
185 "CanvasRenderingContext2D", |
|
186 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
187 "CaretPosition", |
|
188 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
189 "CDATASection", |
|
190 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
191 {name: "CFStateChangeEvent", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
192 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
193 "ChannelMergerNode", |
|
194 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
195 "ChannelSplitterNode", |
|
196 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
197 "CharacterData", |
|
198 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
199 {name: "ChromeWindow", xbl: true}, |
|
200 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
201 "ClipboardEvent", |
|
202 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
203 "CloseEvent", |
|
204 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
205 "CommandEvent", |
|
206 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
207 "Comment", |
|
208 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
209 "CompositionEvent", |
|
210 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
211 "Controllers", |
|
212 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
213 "ConvolverNode", |
|
214 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
215 "Crypto", |
|
216 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
217 "CSS", |
|
218 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
219 "CSS2Properties", |
|
220 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
221 "CSSCharsetRule", |
|
222 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
223 "CSSConditionRule", |
|
224 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
225 "CSSFontFaceRule", |
|
226 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
227 {name: "CSSFontFeatureValuesRule", release: false}, |
|
228 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
229 "CSSGroupingRule", |
|
230 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
231 "CSSImportRule", |
|
232 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
233 "CSSMediaRule", |
|
234 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
235 "CSSMozDocumentRule", |
|
236 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
237 "CSSNameSpaceRule", |
|
238 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
239 "CSSPageRule", |
|
240 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
241 "CSSPrimitiveValue", |
|
242 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
243 "CSSRule", |
|
244 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
245 "CSSRuleList", |
|
246 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
247 "CSSStyleDeclaration", |
|
248 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
249 "CSSStyleRule", |
|
250 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
251 "CSSStyleSheet", |
|
252 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
253 "CSSSupportsRule", |
|
254 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
255 "CSSValue", |
|
256 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
257 "CSSValueList", |
|
258 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
259 "CustomEvent", |
|
260 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
261 "DataChannel", |
|
262 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
263 {name: "DataErrorEvent", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
264 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
265 {name: "DataStore", b2g: true}, |
|
266 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
267 {name: "DataStoreChangeEvent", b2g: true}, |
|
268 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
269 {name: "DataStoreCursor", b2g: true}, |
|
270 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
271 "DataTransfer", |
|
272 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
273 "DelayNode", |
|
274 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
275 "DesktopNotification", |
|
276 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
277 "DesktopNotificationCenter", |
|
278 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
279 "DeviceLightEvent", |
|
280 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
281 "DeviceMotionEvent", |
|
282 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
283 "DeviceOrientationEvent", |
|
284 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
285 "DeviceProximityEvent", |
|
286 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
287 "DeviceStorage", |
|
288 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
289 "DeviceStorageChangeEvent", |
|
290 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
291 "Document", |
|
292 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
293 "DocumentFragment", |
|
294 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
295 "DocumentType", |
|
296 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
297 {name: "DOMConstructor", xbl: true}, |
|
298 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
299 "DOMCursor", |
|
300 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
301 "DOMError", |
|
302 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
303 "DOMException", |
|
304 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
305 "DOMImplementation", |
|
306 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
307 "DOMMMIError", |
|
308 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
309 "DOMParser", |
|
310 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
311 "DOMPoint", |
|
312 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
313 "DOMPointReadOnly", |
|
314 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
315 "DOMQuad", |
|
316 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
317 "DOMRect", |
|
318 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
319 "DOMRectList", |
|
320 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
321 "DOMRectReadOnly", |
|
322 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
323 "DOMRequest", |
|
324 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
325 "DOMSettableTokenList", |
|
326 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
327 "DOMStringList", |
|
328 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
329 "DOMStringMap", |
|
330 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
331 "DOMTokenList", |
|
332 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
333 "DOMTransactionEvent", |
|
334 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
335 "DragEvent", |
|
336 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
337 "DynamicsCompressorNode", |
|
338 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
339 "Element", |
|
340 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
341 "ElementReplaceEvent", |
|
342 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
343 "ErrorEvent", |
|
344 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
345 "Event", |
|
346 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
347 "EventSource", |
|
348 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
349 "EventTarget", |
|
350 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
351 {name: "External", b2g: false}, |
|
352 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
353 "File", |
|
354 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
355 "FileHandle", |
|
356 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
357 "FileList", |
|
358 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
359 "FileReader", |
|
360 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
361 "FileRequest", |
|
362 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
363 {name: "FMRadio", b2g: true}, |
|
364 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
365 "FocusEvent", |
|
366 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
367 "FormData", |
|
368 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
369 "GainNode", |
|
370 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
371 {name: "Gamepad", desktop: true}, |
|
372 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
373 {name: "GamepadAxisMoveEvent", desktop: true}, |
|
374 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
375 {name: "GamepadButtonEvent", desktop: true}, |
|
376 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
377 {name: "GamepadButton", desktop: true}, |
|
378 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
379 {name: "GamepadEvent", desktop: true}, |
|
380 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
381 "HashChangeEvent", |
|
382 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
383 "History", |
|
384 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
385 "HTMLAnchorElement", |
|
386 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
387 "HTMLAppletElement", |
|
388 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
389 "HTMLAreaElement", |
|
390 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
391 "HTMLAudioElement", |
|
392 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
393 "HTMLBaseElement", |
|
394 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
395 "HTMLBodyElement", |
|
396 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
397 "HTMLBRElement", |
|
398 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
399 "HTMLButtonElement", |
|
400 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
401 "HTMLCanvasElement", |
|
402 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
403 "HTMLCollection", |
|
404 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
405 "HTMLContentElement", |
|
406 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
407 "HTMLDataElement", |
|
408 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
409 "HTMLDataListElement", |
|
410 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
411 "HTMLDirectoryElement", |
|
412 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
413 "HTMLDivElement", |
|
414 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
415 "HTMLDListElement", |
|
416 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
417 "HTMLDocument", |
|
418 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
419 "HTMLElement", |
|
420 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
421 "HTMLEmbedElement", |
|
422 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
423 "HTMLFieldSetElement", |
|
424 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
425 "HTMLFontElement", |
|
426 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
427 "HTMLFormControlsCollection", |
|
428 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
429 "HTMLFormElement", |
|
430 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
431 "HTMLFrameElement", |
|
432 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
433 "HTMLFrameSetElement", |
|
434 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
435 "HTMLHeadElement", |
|
436 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
437 "HTMLHeadingElement", |
|
438 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
439 "HTMLHRElement", |
|
440 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
441 "HTMLHtmlElement", |
|
442 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
443 "HTMLIFrameElement", |
|
444 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
445 "HTMLImageElement", |
|
446 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
447 "HTMLInputElement", |
|
448 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
449 "HTMLLabelElement", |
|
450 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
451 "HTMLLegendElement", |
|
452 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
453 "HTMLLIElement", |
|
454 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
455 "HTMLLinkElement", |
|
456 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
457 "HTMLMapElement", |
|
458 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
459 "HTMLMediaElement", |
|
460 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
461 "HTMLMenuElement", |
|
462 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
463 "HTMLMenuItemElement", |
|
464 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
465 "HTMLMetaElement", |
|
466 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
467 "HTMLMeterElement", |
|
468 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
469 "HTMLModElement", |
|
470 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
471 "HTMLObjectElement", |
|
472 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
473 "HTMLOListElement", |
|
474 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
475 "HTMLOptGroupElement", |
|
476 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
477 "HTMLOptionElement", |
|
478 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
479 "HTMLOptionsCollection", |
|
480 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
481 "HTMLOutputElement", |
|
482 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
483 "HTMLParagraphElement", |
|
484 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
485 "HTMLParamElement", |
|
486 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
487 "HTMLPreElement", |
|
488 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
489 "HTMLProgressElement", |
|
490 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
491 "HTMLPropertiesCollection", |
|
492 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
493 "HTMLQuoteElement", |
|
494 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
495 "HTMLScriptElement", |
|
496 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
497 "HTMLSelectElement", |
|
498 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
499 "HTMLShadowElement", |
|
500 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
501 "HTMLSourceElement", |
|
502 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
503 "HTMLSpanElement", |
|
504 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
505 "HTMLStyleElement", |
|
506 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
507 "HTMLTableCaptionElement", |
|
508 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
509 "HTMLTableCellElement", |
|
510 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
511 "HTMLTableColElement", |
|
512 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
513 "HTMLTableElement", |
|
514 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
515 "HTMLTableRowElement", |
|
516 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
517 "HTMLTableSectionElement", |
|
518 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
519 "HTMLTemplateElement", |
|
520 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
521 "HTMLTextAreaElement", |
|
522 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
523 "HTMLTimeElement", |
|
524 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
525 "HTMLTitleElement", |
|
526 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
527 "HTMLTrackElement", |
|
528 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
529 "HTMLUListElement", |
|
530 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
531 "HTMLUnknownElement", |
|
532 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
533 "HTMLVideoElement", |
|
534 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
535 {name: "IccChangeEvent", b2g: true, pref: "dom.icc.enabled"}, |
|
536 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
537 {name: "IccCardLockError", b2g: true, pref: "dom.icc.enabled"}, |
|
538 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
539 "IDBCursor", |
|
540 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
541 "IDBCursorWithValue", |
|
542 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
543 "IDBDatabase", |
|
544 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
545 "IDBFactory", |
|
546 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
547 "IDBFileHandle", |
|
548 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
549 "IDBIndex", |
|
550 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
551 "IDBKeyRange", |
|
552 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
553 "IDBObjectStore", |
|
554 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
555 "IDBOpenDBRequest", |
|
556 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
557 "IDBRequest", |
|
558 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
559 "IDBTransaction", |
|
560 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
561 "IDBVersionChangeEvent", |
|
562 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
563 "Image", |
|
564 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
565 "ImageData", |
|
566 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
567 "InputEvent", |
|
568 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
569 {name: "InstallTrigger", b2g: false}, |
|
570 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
571 "KeyEvent", |
|
572 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
573 "KeyboardEvent", |
|
574 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
575 "LocalMediaStream", |
|
576 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
577 "Location", |
|
578 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
579 "LockedFile", |
|
580 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
581 "MediaElementAudioSourceNode", |
|
582 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
583 "MediaError", |
|
584 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
585 "MediaList", |
|
586 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
587 "MediaQueryList", |
|
588 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
589 "MediaRecorder", |
|
590 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
591 "MediaStream", |
|
592 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
593 "MediaStreamAudioDestinationNode", |
|
594 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
595 "MediaStreamAudioSourceNode", |
|
596 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
597 {name: "MediaStreamEvent", pref: "media.peerconnection.enabled"}, |
|
598 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
599 "MediaStreamTrack", |
|
600 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
601 "MessageEvent", |
|
602 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
603 "MessagePort", |
|
604 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
605 "MimeType", |
|
606 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
607 "MimeTypeArray", |
|
608 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
609 "ModalContentWindow", |
|
610 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
611 "MouseEvent", |
|
612 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
613 "MouseScrollEvent", |
|
614 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
615 {name: "MozActivity", b2g: true}, |
|
616 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
617 "MozApplicationEvent", |
|
618 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
619 {name: "MozCellBroadcast", b2g: true, pref: "dom.cellbroadcast.enabled"}, |
|
620 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
621 {name: "MozCellBroadcastEvent", b2g: true, pref: "dom.cellbroadcast.enabled"}, |
|
622 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
623 "mozContact", |
|
624 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
625 "MozContactChangeEvent", |
|
626 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
627 "MozCSSKeyframeRule", |
|
628 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
629 "MozCSSKeyframesRule", |
|
630 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
631 {name: "MozEmergencyCbModeEvent", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
632 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
633 {name: "MozIcc", b2g: true, pref: "dom.icc.enabled"}, |
|
634 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
635 {name: "MozIccManager", b2g: true, pref: "dom.icc.enabled"}, |
|
636 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
637 {name: "MozInputContext", b2g: true}, |
|
638 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
639 {name: "MozInputMethodManager", b2g: true}, |
|
640 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
641 "MozMmsEvent", |
|
642 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
643 "MozMmsMessage", |
|
644 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
645 {name: "MozMobileConnection", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
646 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
647 {name: "MozMobileConnectionArray", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
648 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
649 "MozMobileMessageManager", |
|
650 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
651 "MozMobileMessageThread", |
|
652 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
653 "MozNamedAttrMap", |
|
654 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
655 {name: "MozNDEFRecord", b2g: true}, |
|
656 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
657 {name: "MozNFCPeer", b2g: true}, |
|
658 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
659 {name: "MozNFCTag", b2g: true}, |
|
660 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
661 {name: "MozOtaStatusEvent", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
662 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
663 "MozPowerManager", |
|
664 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
665 {name: "mozRTCIceCandidate", pref: "media.peerconnection.enabled"}, |
|
666 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
667 {name: "mozRTCPeerConnection", pref: "media.peerconnection.enabled"}, |
|
668 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
669 {name: "mozRTCSessionDescription", pref: "media.peerconnection.enabled"}, |
|
670 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
671 "MozSettingsEvent", |
|
672 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
673 "MozSmsEvent", |
|
674 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
675 "MozSmsFilter", |
|
676 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
677 "MozSmsMessage", |
|
678 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
679 "MozSmsSegmentInfo", |
|
680 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
681 {name: "MozSpeakerManager", b2g: true}, |
|
682 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
683 {name: "MozStkCommandEvent", b2g: true, pref: "dom.icc.enabled"}, |
|
684 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
685 {name: "MozTimeManager", b2g: true}, |
|
686 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
687 {name: "MozVoicemail", b2g: true, pref: "dom.voicemail.enabled"}, |
|
688 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
689 {name: "MozVoicemailEvent", b2g: true, pref: "dom.voicemail.enabled"}, |
|
690 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
691 {name: "MozWakeLock", b2g: true, pref: "dom.wakelock.enabled"}, |
|
692 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
693 {name: "MozWifiConnectionInfoEvent", b2g: true}, |
|
694 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
695 {name: "MozWifiManager", b2g: true, permission: "wifi-manage"}, |
|
696 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
697 {name: "MozWifiNetwork", b2g: true, permission: "wifi-manage"}, |
|
698 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
699 {name: "MozWifiStatusChangeEvent", b2g: true}, |
|
700 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
701 {name: "MozWifiP2pGroupOwner", b2g: true, permission: "wifi-manage"}, |
|
702 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
703 {name: "MozWifiP2pManager", b2g: true, permission: "wifi-manage"}, |
|
704 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
705 {name: "MozWifiP2pStatusChangeEvent", b2g: true, permission: "wifi-manage"}, |
|
706 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
707 "MutationEvent", |
|
708 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
709 "MutationObserver", |
|
710 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
711 "MutationRecord", |
|
712 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
713 "Navigator", |
|
714 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
715 {name: "NetworkInformation", pref: "dom.netinfo.enabled"}, |
|
716 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
717 "Node", |
|
718 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
719 "NodeFilter", |
|
720 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
721 "NodeIterator", |
|
722 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
723 "NodeList", |
|
724 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
725 "Notification", |
|
726 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
727 "NotifyPaintEvent", |
|
728 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
729 "OfflineAudioCompletionEvent", |
|
730 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
731 "OfflineAudioContext", |
|
732 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
733 "OfflineResourceList", |
|
734 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
735 "Option", |
|
736 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
737 "OscillatorNode", |
|
738 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
739 "PageTransitionEvent", |
|
740 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
741 "PaintRequest", |
|
742 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
743 "PaintRequestList", |
|
744 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
745 "PannerNode", |
|
746 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
747 { name: "Path2D", pref: "canvas.path.enabled" }, |
|
748 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
749 "Performance", |
|
750 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
751 "PerformanceEntry", |
|
752 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
753 "PerformanceNavigation", |
|
754 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
755 "PerformanceResourceTiming", |
|
756 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
757 "PerformanceTiming", |
|
758 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
759 "PeriodicWave", |
|
760 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
761 {name: "PermissionSettings", b2g: true, permission: "permissions"}, |
|
762 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
763 "PhoneNumberService", |
|
764 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
765 "Plugin", |
|
766 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
767 "PluginArray", |
|
768 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
769 {name: "PointerEvent", pref: "dom.w3c_pointer_events.enabled"}, |
|
770 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
771 "PopStateEvent", |
|
772 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
773 "PopupBlockedEvent", |
|
774 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
775 "ProcessingInstruction", |
|
776 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
777 "ProgressEvent", |
|
778 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
779 "Promise", |
|
780 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
781 "PropertyNodeList", |
|
782 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
783 "Range", |
|
784 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
785 "RecordErrorEvent", |
|
786 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
787 "Rect", |
|
788 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
789 "RGBColor", |
|
790 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
791 {name: "RTCDataChannelEvent", pref: "media.peerconnection.enabled"}, |
|
792 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
793 {name: "RTCPeerConnectionIceEvent", pref: "media.peerconnection.enabled"}, |
|
794 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
795 {name: "RTCStatsReport", pref: "media.peerconnection.enabled"}, |
|
796 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
797 "Screen", |
|
798 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
799 "ScriptProcessorNode", |
|
800 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
801 "ScrollAreaEvent", |
|
802 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
803 "Selection", |
|
804 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
805 "SettingsLock", |
|
806 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
807 "SettingsManager", |
|
808 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
809 {name: "ShadowRoot", pref: "dom.webcomponents.enabled"}, |
|
810 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
811 {name: "SharedWorker", pref: "dom.workers.sharedWorkers.enabled"}, |
|
812 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
813 "SimpleGestureEvent", |
|
814 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
815 {name: "SimpleTest", xbl: false}, |
|
816 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
817 "SmartCardEvent", |
|
818 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
819 {name: "SpeechSynthesisEvent", b2g: true}, |
|
820 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
821 {name: "SpeechSynthesis", b2g: true}, |
|
822 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
823 {name: "SpeechSynthesisUtterance", b2g: true}, |
|
824 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
825 {name: "SpeechSynthesisVoice", b2g: true}, |
|
826 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
827 {name: "SpecialPowers", xbl: false}, |
|
828 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
829 "Storage", |
|
830 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
831 "StorageEvent", |
|
832 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
833 "StyleSheet", |
|
834 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
835 "StyleSheetList", |
|
836 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
837 "SVGAElement", |
|
838 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
839 "SVGAltGlyphElement", |
|
840 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
841 "SVGAngle", |
|
842 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
843 "SVGAnimatedAngle", |
|
844 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
845 "SVGAnimatedBoolean", |
|
846 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
847 "SVGAnimatedEnumeration", |
|
848 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
849 "SVGAnimatedInteger", |
|
850 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
851 "SVGAnimatedLength", |
|
852 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
853 "SVGAnimatedLengthList", |
|
854 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
855 "SVGAnimatedNumber", |
|
856 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
857 "SVGAnimatedNumberList", |
|
858 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
859 "SVGAnimatedPreserveAspectRatio", |
|
860 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
861 "SVGAnimatedRect", |
|
862 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
863 "SVGAnimatedString", |
|
864 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
865 "SVGAnimatedTransformList", |
|
866 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
867 "SVGAnimateElement", |
|
868 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
869 "SVGAnimateMotionElement", |
|
870 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
871 "SVGAnimateTransformElement", |
|
872 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
873 "SVGAnimationElement", |
|
874 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
875 "SVGCircleElement", |
|
876 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
877 "SVGClipPathElement", |
|
878 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
879 "SVGComponentTransferFunctionElement", |
|
880 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
881 "SVGDefsElement", |
|
882 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
883 "SVGDescElement", |
|
884 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
885 "SVGDocument", |
|
886 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
887 "SVGElement", |
|
888 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
889 "SVGEllipseElement", |
|
890 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
891 "SVGFEBlendElement", |
|
892 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
893 "SVGFEColorMatrixElement", |
|
894 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
895 "SVGFEComponentTransferElement", |
|
896 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
897 "SVGFECompositeElement", |
|
898 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
899 "SVGFEConvolveMatrixElement", |
|
900 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
901 "SVGFEDiffuseLightingElement", |
|
902 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
903 "SVGFEDisplacementMapElement", |
|
904 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
905 "SVGFEDistantLightElement", |
|
906 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
907 "SVGFEDropShadowElement", |
|
908 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
909 "SVGFEFloodElement", |
|
910 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
911 "SVGFEFuncAElement", |
|
912 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
913 "SVGFEFuncBElement", |
|
914 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
915 "SVGFEFuncGElement", |
|
916 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
917 "SVGFEFuncRElement", |
|
918 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
919 "SVGFEGaussianBlurElement", |
|
920 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
921 "SVGFEImageElement", |
|
922 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
923 "SVGFEMergeElement", |
|
924 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
925 "SVGFEMergeNodeElement", |
|
926 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
927 "SVGFEMorphologyElement", |
|
928 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
929 "SVGFEOffsetElement", |
|
930 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
931 "SVGFEPointLightElement", |
|
932 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
933 "SVGFESpecularLightingElement", |
|
934 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
935 "SVGFESpotLightElement", |
|
936 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
937 "SVGFETileElement", |
|
938 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
939 "SVGFETurbulenceElement", |
|
940 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
941 "SVGFilterElement", |
|
942 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
943 "SVGForeignObjectElement", |
|
944 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
945 "SVGGElement", |
|
946 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
947 "SVGGradientElement", |
|
948 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
949 "SVGGraphicsElement", |
|
950 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
951 "SVGImageElement", |
|
952 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
953 "SVGLength", |
|
954 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
955 "SVGLengthList", |
|
956 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
957 "SVGLinearGradientElement", |
|
958 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
959 "SVGLineElement", |
|
960 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
961 "SVGMarkerElement", |
|
962 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
963 "SVGMaskElement", |
|
964 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
965 "SVGMatrix", |
|
966 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
967 "SVGMetadataElement", |
|
968 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
969 "SVGMPathElement", |
|
970 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
971 "SVGNumber", |
|
972 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
973 "SVGNumberList", |
|
974 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
975 "SVGPathElement", |
|
976 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
977 "SVGPathSeg", |
|
978 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
979 "SVGPathSegArcAbs", |
|
980 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
981 "SVGPathSegArcRel", |
|
982 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
983 "SVGPathSegClosePath", |
|
984 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
985 "SVGPathSegCurvetoCubicAbs", |
|
986 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
987 "SVGPathSegCurvetoCubicRel", |
|
988 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
989 "SVGPathSegCurvetoCubicSmoothAbs", |
|
990 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
991 "SVGPathSegCurvetoCubicSmoothRel", |
|
992 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
993 "SVGPathSegCurvetoQuadraticAbs", |
|
994 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
995 "SVGPathSegCurvetoQuadraticRel", |
|
996 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
997 "SVGPathSegCurvetoQuadraticSmoothAbs", |
|
998 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
999 "SVGPathSegCurvetoQuadraticSmoothRel", |
|
1000 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1001 "SVGPathSegLinetoAbs", |
|
1002 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1003 "SVGPathSegLinetoHorizontalAbs", |
|
1004 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1005 "SVGPathSegLinetoHorizontalRel", |
|
1006 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1007 "SVGPathSegLinetoRel", |
|
1008 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1009 "SVGPathSegLinetoVerticalAbs", |
|
1010 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1011 "SVGPathSegLinetoVerticalRel", |
|
1012 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1013 "SVGPathSegList", |
|
1014 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1015 "SVGPathSegMovetoAbs", |
|
1016 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1017 "SVGPathSegMovetoRel", |
|
1018 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1019 "SVGPatternElement", |
|
1020 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1021 "SVGPoint", |
|
1022 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1023 "SVGPointList", |
|
1024 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1025 "SVGPolygonElement", |
|
1026 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1027 "SVGPolylineElement", |
|
1028 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1029 "SVGPreserveAspectRatio", |
|
1030 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1031 "SVGRadialGradientElement", |
|
1032 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1033 "SVGRect", |
|
1034 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1035 "SVGRectElement", |
|
1036 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1037 "SVGScriptElement", |
|
1038 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1039 "SVGSetElement", |
|
1040 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1041 "SVGStopElement", |
|
1042 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1043 "SVGStringList", |
|
1044 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1045 "SVGStyleElement", |
|
1046 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1047 "SVGSVGElement", |
|
1048 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1049 "SVGSwitchElement", |
|
1050 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1051 "SVGSymbolElement", |
|
1052 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1053 "SVGTextContentElement", |
|
1054 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1055 "SVGTextElement", |
|
1056 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1057 "SVGTextPathElement", |
|
1058 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1059 "SVGTextPositioningElement", |
|
1060 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1061 "SVGTitleElement", |
|
1062 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1063 "SVGTransform", |
|
1064 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1065 "SVGTransformList", |
|
1066 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1067 "SVGTSpanElement", |
|
1068 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1069 "SVGUnitTypes", |
|
1070 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1071 "SVGUseElement", |
|
1072 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1073 "SVGViewElement", |
|
1074 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1075 "SVGZoomAndPan", |
|
1076 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1077 "SVGZoomEvent", |
|
1078 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1079 {name: "Telephony", b2g: true, pref: "dom.telephony.enabled"}, |
|
1080 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1081 {name: "TelephonyCall", b2g: true, pref: "dom.telephony.enabled"}, |
|
1082 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1083 {name: "TelephonyCallGroup", b2g: true, pref: "dom.telephony.enabled"}, |
|
1084 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1085 "Text", |
|
1086 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1087 "TextDecoder", |
|
1088 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1089 "TextEncoder", |
|
1090 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1091 "TextMetrics", |
|
1092 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1093 "TextTrack", |
|
1094 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1095 "TextTrackCueList", |
|
1096 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1097 "TextTrackList", |
|
1098 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1099 "TimeEvent", |
|
1100 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1101 "TimeRanges", |
|
1102 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1103 "Touch", |
|
1104 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1105 "TouchEvent", |
|
1106 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1107 "TouchList", |
|
1108 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1109 "TrackEvent", |
|
1110 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1111 "TransitionEvent", |
|
1112 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1113 {name: "TreeColumn", xbl: true}, |
|
1114 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1115 {name: "TreeColumns", xbl: true}, |
|
1116 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1117 {name: "TreeContentView", xbl: true}, |
|
1118 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1119 {name: "TreeSelection", xbl: true}, |
|
1120 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1121 "TreeWalker", |
|
1122 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1123 "UIEvent", |
|
1124 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1125 "UndoManager", |
|
1126 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1127 "URL", |
|
1128 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1129 "URLSearchParams", |
|
1130 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1131 {name: "UserDataHandler", xbl: true}, |
|
1132 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1133 "UserProximityEvent", |
|
1134 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1135 {name: "USSDReceivedEvent", b2g: true, pref: "dom.mobileconnection.enabled"}, |
|
1136 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1137 "ValidityState", |
|
1138 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1139 "VideoStreamTrack", |
|
1140 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1141 "VTTCue", |
|
1142 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1143 {name: "VTTRegion", pref: "media.webvtt.regions.enabled"}, |
|
1144 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1145 "WaveShaperNode", |
|
1146 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1147 "WebGLActiveInfo", |
|
1148 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1149 "WebGLBuffer", |
|
1150 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1151 "WebGLFramebuffer", |
|
1152 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1153 "WebGLProgram", |
|
1154 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1155 "WebGLRenderbuffer", |
|
1156 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1157 "WebGLRenderingContext", |
|
1158 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1159 "WebGLShader", |
|
1160 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1161 "WebGLShaderPrecisionFormat", |
|
1162 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1163 "WebGLTexture", |
|
1164 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1165 "WebGLUniformLocation", |
|
1166 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1167 "WebGLVertexArray", |
|
1168 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1169 "WebSocket", |
|
1170 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1171 "WheelEvent", |
|
1172 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1173 "Window", |
|
1174 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1175 "WindowUtils", |
|
1176 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1177 "Worker", |
|
1178 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1179 "XMLDocument", |
|
1180 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1181 "XMLHttpRequest", |
|
1182 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1183 "XMLHttpRequestUpload", |
|
1184 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1185 "XMLSerializer", |
|
1186 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1187 "XMLStylesheetProcessingInstruction", |
|
1188 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1189 "XPathEvaluator", |
|
1190 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1191 "XPathExpression", |
|
1192 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1193 "XPathNSResolver", |
|
1194 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1195 "XPathResult", |
|
1196 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1197 "XSLTProcessor", |
|
1198 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1199 {name: "XULButtonElement", xbl: true}, |
|
1200 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1201 {name: "XULCheckboxElement", xbl: true}, |
|
1202 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1203 {name: "XULCommandDispatcher", xbl: true}, |
|
1204 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1205 {name: "XULCommandEvent", xbl: true}, |
|
1206 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1207 {name: "XULControlElement", xbl: true}, |
|
1208 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1209 {name: "XULControllers", xbl: true}, |
|
1210 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1211 {name: "XULDocument", xbl: true}, |
|
1212 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1213 {name: "XULElement", xbl: true}, |
|
1214 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1215 {name: "XULLabeledControlElement", xbl: true}, |
|
1216 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1217 {name: "XULPopupElement", xbl: true}, |
|
1218 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1219 {name: "XULTemplateBuilder", xbl: true}, |
|
1220 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1221 {name: "XULTreeBuilder", xbl: true}, |
|
1222 // IMPORTANT: Do not change this list without review from a DOM peer! |
|
1223 ]; |
|
1224 // IMPORTANT: Do not change the list above without review from a DOM peer! |
|
1225 |
|
1226 function createInterfaceMap(isXBLScope) { |
|
1227 var prefs = SpecialPowers.Services.prefs; |
|
1228 var version = SpecialPowers.Cc["@mozilla.org/xre/app-info;1"].getService(SpecialPowers.Ci.nsIXULAppInfo).version; |
|
1229 var isNightly = version.endsWith("a1"); |
|
1230 var isRelease = !version.contains("a"); |
|
1231 var isDesktop = !/Mobile|Tablet/.test(navigator.userAgent); |
|
1232 var isB2G = !isDesktop && !navigator.userAgent.contains("Android"); |
|
1233 var hasPermission = function (aPermission) { |
|
1234 return SpecialPowers.hasPermission(aPermission, window.document); |
|
1235 }; |
|
1236 |
|
1237 var interfaceMap = {}; |
|
1238 |
|
1239 function addInterfaces(interfaces) |
|
1240 { |
|
1241 for (var entry of interfaces) { |
|
1242 if (typeof(entry) === "string") { |
|
1243 interfaceMap[entry] = true; |
|
1244 } else if ((entry.nightly === !isNightly) || |
|
1245 (entry.xbl === !isXBLScope) || |
|
1246 (entry.desktop === !isDesktop) || |
|
1247 (entry.b2g === !isB2G) || |
|
1248 (entry.release === !isRelease) || |
|
1249 (entry.pref && !prefs.getBoolPref(entry.pref)) || |
|
1250 (entry.permission && !hasPermission(entry.permission))) { |
|
1251 interfaceMap[entry.name] = false; |
|
1252 } else { |
|
1253 interfaceMap[entry.name] = true; |
|
1254 } |
|
1255 } |
|
1256 } |
|
1257 |
|
1258 addInterfaces(ecmaGlobals); |
|
1259 addInterfaces(interfaceNamesInGlobalScope); |
|
1260 if (isXBLScope) { |
|
1261 // We expose QueryInterface to XBL scopes. It's not an interface but we |
|
1262 // need to handle it because it's an own property of the global and the |
|
1263 // property name starts with an uppercase letter. |
|
1264 interfaceMap["QueryInterface"] = true; |
|
1265 } |
|
1266 |
|
1267 return interfaceMap; |
|
1268 } |
|
1269 |
|
1270 function runTest(isXBLScope) { |
|
1271 var interfaceMap = createInterfaceMap(isXBLScope); |
|
1272 for (var name of Object.getOwnPropertyNames(window)) { |
|
1273 // An interface name should start with an upper case character. |
|
1274 // However, we have a couple of legacy interfaces that start with 'moz', so |
|
1275 // we want to allow those until we can remove them. |
|
1276 if (!/^[A-Z]/.test(name) && legacyMozPrefixedInterfaces.indexOf(name) < 0) { |
|
1277 continue; |
|
1278 } |
|
1279 ok(interfaceMap[name], |
|
1280 "If this is failing: DANGER, are you sure you want to expose the new interface " + name + |
|
1281 " to all webpages as a property on the window (XBL: " + isXBLScope + ")? Do not make a change to this file without a " + |
|
1282 " review from a DOM peer for that specific change!!! (or a JS peer for changes to ecmaGlobals)"); |
|
1283 delete interfaceMap[name]; |
|
1284 } |
|
1285 for (var name of Object.keys(interfaceMap)) { |
|
1286 ok(name in window === interfaceMap[name], |
|
1287 name + " should " + (interfaceMap[name] ? "" : " NOT") + " be defined on the " + (isXBLScope ? "XBL" : "global") +" scope"); |
|
1288 if (!interfaceMap[name]) { |
|
1289 delete interfaceMap[name]; |
|
1290 } |
|
1291 } |
|
1292 if (isXBLScope) { |
|
1293 todo_is(Object.keys(interfaceMap).length, 0, |
|
1294 "The following interface(s) are not enumerated: " + Object.keys(interfaceMap).join(", ")); |
|
1295 } else { |
|
1296 is(Object.keys(interfaceMap).length, 0, |
|
1297 "The following interface(s) are not enumerated: " + Object.keys(interfaceMap).join(", ")); |
|
1298 } |
|
1299 } |
|
1300 |
|
1301 runTest(false); |
|
1302 SimpleTest.waitForExplicitFinish(); |
|
1303 |
|
1304 </script> |
|
1305 <span id="span" style="-moz-binding: url(file_interfaces.xml)"></span> |
|
1306 </pre> |
|
1307 </body> |
|
1308 </html> |