4 https://bugzilla.mozilla.org/show_bug.cgi?id=766694
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"/>
13 <a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=766694">Mozilla Bug
766694</a>
15 <div id=
"content" style=
"display: none">
19 <script type=
"application/javascript">
21 /** Test for Bug
766694 **/
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.
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:
34 //
"AGlobalInterface",
35 // {name:
"ExperimentalThing", release: false},
36 // {name:
"OptionalThing", pref:
"some.thing.enabled"},
37 // {name:
"FancyControl", xbl: true},
40 // See createInterfaceMap() below for a complete list of properties.
42 // IMPORTANT: Do not change this list without review from
43 // a JavaScript Engine peer!
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},
64 {name:
"Intl", desktop: true},
69 {name:
"NaN", xbl: false},
77 {name:
"SharedArrayBuffer", nightly: true},
78 {name:
"SIMD", nightly: true},
83 {name:
"TypedObject", nightly: true},
92 // IMPORTANT: Do not change the list above without review from
93 // a JavaScript Engine peer!
95 // IMPORTANT: Do not change the list below without review from a DOM peer,
96 // except to remove items from it!
98 // This is a list of interfaces that were prefixed with 'moz' instead of 'Moz'.
99 // We should never to that again, interfaces in the DOM start with an uppercase
100 // letter. If you think you need to add an interface here, DON'T. Rename your
102 var legacyMozPrefixedInterfaces =
105 "mozRTCIceCandidate",
106 "mozRTCPeerConnection",
107 "mozRTCSessionDescription",
109 // IMPORTANT: Do not change the list above without review from a DOM peer,
110 // except to remove items from it!
112 // IMPORTANT: Do not change the list below without review from a DOM peer!
113 var interfaceNamesInGlobalScope =
115 // IMPORTANT: Do not change this list without review from a DOM peer!
116 {name:
"AlarmsManager", pref:
"dom.mozAlarms.enabled"},
117 // IMPORTANT: Do not change this list without review from a DOM peer!
119 // IMPORTANT: Do not change this list without review from a DOM peer!
121 // IMPORTANT: Do not change this list without review from a DOM peer!
122 {name:
"Animation", pref:
"dom.animations-api.core.enabled"},
123 // IMPORTANT: Do not change this list without review from a DOM peer!
124 {name:
"AnimationPlayer", pref:
"dom.animations-api.core.enabled"},
125 // IMPORTANT: Do not change this list without review from a DOM peer!
126 {name:
"AnimationTimeline", pref:
"dom.animations-api.core.enabled"},
127 // IMPORTANT: Do not change this list without review from a DOM peer!
129 // IMPORTANT: Do not change this list without review from a DOM peer!
131 // IMPORTANT: Do not change this list without review from a DOM peer!
133 // IMPORTANT: Do not change this list without review from a DOM peer!
134 {name:
"AudioChannelManager", b2g: true},
135 // IMPORTANT: Do not change this list without review from a DOM peer!
137 // IMPORTANT: Do not change this list without review from a DOM peer!
138 "AudioBufferSourceNode",
139 // IMPORTANT: Do not change this list without review from a DOM peer!
140 "AudioDestinationNode",
141 // IMPORTANT: Do not change this list without review from a DOM peer!
143 // IMPORTANT: Do not change this list without review from a DOM peer!
145 // IMPORTANT: Do not change this list without review from a DOM peer!
147 // IMPORTANT: Do not change this list without review from a DOM peer!
148 "AudioProcessingEvent",
149 // IMPORTANT: Do not change this list without review from a DOM peer!
151 // IMPORTANT: Do not change this list without review from a DOM peer!
153 // IMPORTANT: Do not change this list without review from a DOM peer!
155 // IMPORTANT: Do not change this list without review from a DOM peer!
157 // IMPORTANT: Do not change this list without review from a DOM peer!
159 // IMPORTANT: Do not change this list without review from a DOM peer!
161 // IMPORTANT: Do not change this list without review from a DOM peer!
163 // IMPORTANT: Do not change this list without review from a DOM peer!
164 {name:
"BluetoothAdapter", b2g: true, permission:
"bluetooth"},
165 // IMPORTANT: Do not change this list without review from a DOM peer!
166 {name:
"BluetoothDevice", b2g: true, permission:
"bluetooth"},
167 // IMPORTANT: Do not change this list without review from a DOM peer!
168 {name:
"BluetoothDeviceEvent", b2g: true, permission:
"bluetooth"},
169 // IMPORTANT: Do not change this list without review from a DOM peer!
170 {name:
"BluetoothDiscoveryStateChangedEvent", b2g: true,
171 permission:
"bluetooth"},
172 // IMPORTANT: Do not change this list without review from a DOM peer!
173 {name:
"BluetoothManager", b2g: true, permission:
"bluetooth"},
174 // IMPORTANT: Do not change this list without review from a DOM peer!
175 {name:
"BluetoothStatusChangedEvent", b2g: true, permission:
"bluetooth"},
176 // IMPORTANT: Do not change this list without review from a DOM peer!
177 {name:
"BoxObject", xbl: true},
178 // IMPORTANT: Do not change this list without review from a DOM peer!
179 {name:
"CallEvent", b2g: true, pref:
"dom.telephony.enabled"},
180 // IMPORTANT: Do not change this list without review from a DOM peer!
181 {name:
"CallGroupErrorEvent", b2g: true, pref:
"dom.telephony.enabled"},
182 // IMPORTANT: Do not change this list without review from a DOM peer!
183 {name:
"CameraCapabilities", b2g: true},
184 // IMPORTANT: Do not change this list without review from a DOM peer!
185 {name:
"CameraControl", b2g: true},
186 // IMPORTANT: Do not change this list without review from a DOM peer!
187 {name:
"CameraDetectedFace", b2g: true, pref:
"camera.control.face_detection.enabled"},
188 // IMPORTANT: Do not change this list without review from a DOM peer!
189 {name:
"CameraManager", b2g: true},
190 // IMPORTANT: Do not change this list without review from a DOM peer!
192 // IMPORTANT: Do not change this list without review from a DOM peer!
194 // IMPORTANT: Do not change this list without review from a DOM peer!
195 "CanvasRenderingContext2D",
196 // IMPORTANT: Do not change this list without review from a DOM peer!
198 // IMPORTANT: Do not change this list without review from a DOM peer!
200 // IMPORTANT: Do not change this list without review from a DOM peer!
201 {name:
"CFStateChangeEvent", b2g: true, pref:
"dom.mobileconnection.enabled"},
202 // IMPORTANT: Do not change this list without review from a DOM peer!
204 // IMPORTANT: Do not change this list without review from a DOM peer!
205 "ChannelSplitterNode",
206 // IMPORTANT: Do not change this list without review from a DOM peer!
208 // IMPORTANT: Do not change this list without review from a DOM peer!
209 {name:
"ChromeWindow", xbl: true},
210 // IMPORTANT: Do not change this list without review from a DOM peer!
212 // IMPORTANT: Do not change this list without review from a DOM peer!
214 // IMPORTANT: Do not change this list without review from a DOM peer!
216 // IMPORTANT: Do not change this list without review from a DOM peer!
218 // IMPORTANT: Do not change this list without review from a DOM peer!
220 // IMPORTANT: Do not change this list without review from a DOM peer!
222 // IMPORTANT: Do not change this list without review from a DOM peer!
224 // IMPORTANT: Do not change this list without review from a DOM peer!
226 // IMPORTANT: Do not change this list without review from a DOM peer!
227 {name:
"CryptoKey", pref:
"dom.webcrypto.enabled"},
228 // IMPORTANT: Do not change this list without review from a DOM peer!
229 {name:
"CryptoKeyPair", pref:
"dom.webcrypto.enabled"},
230 // IMPORTANT: Do not change this list without review from a DOM peer!
232 // IMPORTANT: Do not change this list without review from a DOM peer!
234 // IMPORTANT: Do not change this list without review from a DOM peer!
236 // IMPORTANT: Do not change this list without review from a DOM peer!
238 // IMPORTANT: Do not change this list without review from a DOM peer!
239 "CSSCounterStyleRule",
240 // IMPORTANT: Do not change this list without review from a DOM peer!
242 // IMPORTANT: Do not change this list without review from a DOM peer!
243 {name:
"CSSFontFeatureValuesRule", release: false},
244 // IMPORTANT: Do not change this list without review from a DOM peer!
246 // IMPORTANT: Do not change this list without review from a DOM peer!
248 // IMPORTANT: Do not change this list without review from a DOM peer!
250 // IMPORTANT: Do not change this list without review from a DOM peer!
251 "CSSMozDocumentRule",
252 // IMPORTANT: Do not change this list without review from a DOM peer!
254 // IMPORTANT: Do not change this list without review from a DOM peer!
256 // IMPORTANT: Do not change this list without review from a DOM peer!
258 // IMPORTANT: Do not change this list without review from a DOM peer!
260 // IMPORTANT: Do not change this list without review from a DOM peer!
262 // IMPORTANT: Do not change this list without review from a DOM peer!
263 "CSSStyleDeclaration",
264 // IMPORTANT: Do not change this list without review from a DOM peer!
266 // IMPORTANT: Do not change this list without review from a DOM peer!
268 // IMPORTANT: Do not change this list without review from a DOM peer!
270 // IMPORTANT: Do not change this list without review from a DOM peer!
272 // IMPORTANT: Do not change this list without review from a DOM peer!
274 // IMPORTANT: Do not change this list without review from a DOM peer!
276 // IMPORTANT: Do not change this list without review from a DOM peer!
278 // IMPORTANT: Do not change this list without review from a DOM peer!
279 {name:
"DataErrorEvent", b2g: true, pref:
"dom.mobileconnection.enabled"},
280 // IMPORTANT: Do not change this list without review from a DOM peer!
281 {name:
"DataStore", b2g: true},
282 // IMPORTANT: Do not change this list without review from a DOM peer!
283 {name:
"DataStoreChangeEvent", b2g: true},
284 // IMPORTANT: Do not change this list without review from a DOM peer!
285 {name:
"DataStoreCursor", b2g: true},
286 // IMPORTANT: Do not change this list without review from a DOM peer!
288 // IMPORTANT: Do not change this list without review from a DOM peer!
290 // IMPORTANT: Do not change this list without review from a DOM peer!
291 "DesktopNotification",
292 // IMPORTANT: Do not change this list without review from a DOM peer!
293 "DesktopNotificationCenter",
294 // IMPORTANT: Do not change this list without review from a DOM peer!
296 // IMPORTANT: Do not change this list without review from a DOM peer!
298 // IMPORTANT: Do not change this list without review from a DOM peer!
299 "DeviceOrientationEvent",
300 // IMPORTANT: Do not change this list without review from a DOM peer!
301 "DeviceProximityEvent",
302 // IMPORTANT: Do not change this list without review from a DOM peer!
304 // IMPORTANT: Do not change this list without review from a DOM peer!
305 "DeviceStorageChangeEvent",
306 // IMPORTANT: Do not change this list without review from a DOM peer!
308 // IMPORTANT: Do not change this list without review from a DOM peer!
310 // IMPORTANT: Do not change this list without review from a DOM peer!
312 // IMPORTANT: Do not change this list without review from a DOM peer!
313 {name:
"DOMConstructor", xbl: true},
314 // IMPORTANT: Do not change this list without review from a DOM peer!
316 // IMPORTANT: Do not change this list without review from a DOM peer!
318 // IMPORTANT: Do not change this list without review from a DOM peer!
320 // IMPORTANT: Do not change this list without review from a DOM peer!
322 // IMPORTANT: Do not change this list without review from a DOM peer!
324 // IMPORTANT: Do not change this list without review from a DOM peer!
326 // IMPORTANT: Do not change this list without review from a DOM peer!
327 {name:
"DOMMMIError", b2g: true, pref:
"dom.mobileconnection.enabled"},
328 // IMPORTANT: Do not change this list without review from a DOM peer!
329 {name:
"DOMMobileMessageError", b2g: true, pref:
"dom.sms.enabled"},
330 // IMPORTANT: Do not change this list without review from a DOM peer!
332 // IMPORTANT: Do not change this list without review from a DOM peer!
334 // IMPORTANT: Do not change this list without review from a DOM peer!
336 // IMPORTANT: Do not change this list without review from a DOM peer!
338 // IMPORTANT: Do not change this list without review from a DOM peer!
340 // IMPORTANT: Do not change this list without review from a DOM peer!
342 // IMPORTANT: Do not change this list without review from a DOM peer!
344 // IMPORTANT: Do not change this list without review from a DOM peer!
346 // IMPORTANT: Do not change this list without review from a DOM peer!
347 "DOMSettableTokenList",
348 // IMPORTANT: Do not change this list without review from a DOM peer!
350 // IMPORTANT: Do not change this list without review from a DOM peer!
352 // IMPORTANT: Do not change this list without review from a DOM peer!
354 // IMPORTANT: Do not change this list without review from a DOM peer!
355 "DOMTransactionEvent",
356 // IMPORTANT: Do not change this list without review from a DOM peer!
358 // IMPORTANT: Do not change this list without review from a DOM peer!
359 "DynamicsCompressorNode",
360 // IMPORTANT: Do not change this list without review from a DOM peer!
362 // IMPORTANT: Do not change this list without review from a DOM peer!
364 // IMPORTANT: Do not change this list without review from a DOM peer!
366 // IMPORTANT: Do not change this list without review from a DOM peer!
368 // IMPORTANT: Do not change this list without review from a DOM peer!
370 // IMPORTANT: Do not change this list without review from a DOM peer!
371 {name:
"External", b2g: false},
372 // IMPORTANT: Do not change this list without review from a DOM peer!
374 // IMPORTANT: Do not change this list without review from a DOM peer!
376 // IMPORTANT: Do not change this list without review from a DOM peer!
378 // IMPORTANT: Do not change this list without review from a DOM peer!
379 {name:
"FMRadio", b2g: true},
380 // IMPORTANT: Do not change this list without review from a DOM peer!
382 // IMPORTANT: Do not change this list without review from a DOM peer!
384 // IMPORTANT: Do not change this list without review from a DOM peer!
386 // IMPORTANT: Do not change this list without review from a DOM peer!
387 {name:
"Gamepad", b2g: false},
388 // IMPORTANT: Do not change this list without review from a DOM peer!
389 {name:
"GamepadAxisMoveEvent", b2g: false},
390 // IMPORTANT: Do not change this list without review from a DOM peer!
391 {name:
"GamepadButtonEvent", b2g: false},
392 // IMPORTANT: Do not change this list without review from a DOM peer!
393 {name:
"GamepadButton", b2g: false},
394 // IMPORTANT: Do not change this list without review from a DOM peer!
395 {name:
"GamepadEvent", b2g: false},
396 // IMPORTANT: Do not change this list without review from a DOM peer!
398 // IMPORTANT: Do not change this list without review from a DOM peer!
399 {name:
"Headers", pref:
"dom.fetch.enabled"},
400 // IMPORTANT: Do not change this list without review from a DOM peer!
402 // IMPORTANT: Do not change this list without review from a DOM peer!
404 // IMPORTANT: Do not change this list without review from a DOM peer!
406 // IMPORTANT: Do not change this list without review from a DOM peer!
408 // IMPORTANT: Do not change this list without review from a DOM peer!
410 // IMPORTANT: Do not change this list without review from a DOM peer!
412 // IMPORTANT: Do not change this list without review from a DOM peer!
414 // IMPORTANT: Do not change this list without review from a DOM peer!
416 // IMPORTANT: Do not change this list without review from a DOM peer!
418 // IMPORTANT: Do not change this list without review from a DOM peer!
420 // IMPORTANT: Do not change this list without review from a DOM peer!
422 // IMPORTANT: Do not change this list without review from a DOM peer!
424 // IMPORTANT: Do not change this list without review from a DOM peer!
425 "HTMLContentElement",
426 // IMPORTANT: Do not change this list without review from a DOM peer!
428 // IMPORTANT: Do not change this list without review from a DOM peer!
429 "HTMLDataListElement",
430 // IMPORTANT: Do not change this list without review from a DOM peer!
431 "HTMLDirectoryElement",
432 // IMPORTANT: Do not change this list without review from a DOM peer!
434 // IMPORTANT: Do not change this list without review from a DOM peer!
436 // IMPORTANT: Do not change this list without review from a DOM peer!
438 // IMPORTANT: Do not change this list without review from a DOM peer!
440 // IMPORTANT: Do not change this list without review from a DOM peer!
442 // IMPORTANT: Do not change this list without review from a DOM peer!
443 "HTMLFieldSetElement",
444 // IMPORTANT: Do not change this list without review from a DOM peer!
446 // IMPORTANT: Do not change this list without review from a DOM peer!
447 "HTMLFormControlsCollection",
448 // IMPORTANT: Do not change this list without review from a DOM peer!
450 // IMPORTANT: Do not change this list without review from a DOM peer!
452 // IMPORTANT: Do not change this list without review from a DOM peer!
453 "HTMLFrameSetElement",
454 // IMPORTANT: Do not change this list without review from a DOM peer!
456 // IMPORTANT: Do not change this list without review from a DOM peer!
457 "HTMLHeadingElement",
458 // IMPORTANT: Do not change this list without review from a DOM peer!
460 // IMPORTANT: Do not change this list without review from a DOM peer!
462 // IMPORTANT: Do not change this list without review from a DOM peer!
464 // IMPORTANT: Do not change this list without review from a DOM peer!
466 // IMPORTANT: Do not change this list without review from a DOM peer!
468 // IMPORTANT: Do not change this list without review from a DOM peer!
470 // IMPORTANT: Do not change this list without review from a DOM peer!
472 // IMPORTANT: Do not change this list without review from a DOM peer!
474 // IMPORTANT: Do not change this list without review from a DOM peer!
476 // IMPORTANT: Do not change this list without review from a DOM peer!
478 // IMPORTANT: Do not change this list without review from a DOM peer!
480 // IMPORTANT: Do not change this list without review from a DOM peer!
482 // IMPORTANT: Do not change this list without review from a DOM peer!
483 "HTMLMenuItemElement",
484 // IMPORTANT: Do not change this list without review from a DOM peer!
486 // IMPORTANT: Do not change this list without review from a DOM peer!
488 // IMPORTANT: Do not change this list without review from a DOM peer!
490 // IMPORTANT: Do not change this list without review from a DOM peer!
492 // IMPORTANT: Do not change this list without review from a DOM peer!
494 // IMPORTANT: Do not change this list without review from a DOM peer!
495 "HTMLOptGroupElement",
496 // IMPORTANT: Do not change this list without review from a DOM peer!
498 // IMPORTANT: Do not change this list without review from a DOM peer!
499 "HTMLOptionsCollection",
500 // IMPORTANT: Do not change this list without review from a DOM peer!
502 // IMPORTANT: Do not change this list without review from a DOM peer!
503 "HTMLParagraphElement",
504 // IMPORTANT: Do not change this list without review from a DOM peer!
506 // IMPORTANT: Do not change this list without review from a DOM peer!
508 // IMPORTANT: Do not change this list without review from a DOM peer!
509 {name:
"HTMLPictureElement", pref:
"dom.image.picture.enabled"},
510 // IMPORTANT: Do not change this list without review from a DOM peer!
511 "HTMLProgressElement",
512 // IMPORTANT: Do not change this list without review from a DOM peer!
513 "HTMLPropertiesCollection",
514 // IMPORTANT: Do not change this list without review from a DOM peer!
516 // IMPORTANT: Do not change this list without review from a DOM peer!
518 // IMPORTANT: Do not change this list without review from a DOM peer!
520 // IMPORTANT: Do not change this list without review from a DOM peer!
522 // IMPORTANT: Do not change this list without review from a DOM peer!
524 // IMPORTANT: Do not change this list without review from a DOM peer!
526 // IMPORTANT: Do not change this list without review from a DOM peer!
528 // IMPORTANT: Do not change this list without review from a DOM peer!
529 "HTMLTableCaptionElement",
530 // IMPORTANT: Do not change this list without review from a DOM peer!
531 "HTMLTableCellElement",
532 // IMPORTANT: Do not change this list without review from a DOM peer!
533 "HTMLTableColElement",
534 // IMPORTANT: Do not change this list without review from a DOM peer!
536 // IMPORTANT: Do not change this list without review from a DOM peer!
537 "HTMLTableRowElement",
538 // IMPORTANT: Do not change this list without review from a DOM peer!
539 "HTMLTableSectionElement",
540 // IMPORTANT: Do not change this list without review from a DOM peer!
541 "HTMLTemplateElement",
542 // IMPORTANT: Do not change this list without review from a DOM peer!
543 "HTMLTextAreaElement",
544 // IMPORTANT: Do not change this list without review from a DOM peer!
546 // IMPORTANT: Do not change this list without review from a DOM peer!
548 // IMPORTANT: Do not change this list without review from a DOM peer!
550 // IMPORTANT: Do not change this list without review from a DOM peer!
552 // IMPORTANT: Do not change this list without review from a DOM peer!
553 "HTMLUnknownElement",
554 // IMPORTANT: Do not change this list without review from a DOM peer!
556 // IMPORTANT: Do not change this list without review from a DOM peer!
557 {name:
"IccChangeEvent", b2g: true, pref:
"dom.icc.enabled"},
558 // IMPORTANT: Do not change this list without review from a DOM peer!
559 {name:
"IccCardLockError", b2g: true, pref:
"dom.icc.enabled"},
560 // IMPORTANT: Do not change this list without review from a DOM peer!
562 // IMPORTANT: Do not change this list without review from a DOM peer!
563 "IDBCursorWithValue",
564 // IMPORTANT: Do not change this list without review from a DOM peer!
566 // IMPORTANT: Do not change this list without review from a DOM peer!
568 // IMPORTANT: Do not change this list without review from a DOM peer!
570 // IMPORTANT: Do not change this list without review from a DOM peer!
572 // IMPORTANT: Do not change this list without review from a DOM peer!
574 // IMPORTANT: Do not change this list without review from a DOM peer!
576 // IMPORTANT: Do not change this list without review from a DOM peer!
578 // IMPORTANT: Do not change this list without review from a DOM peer!
580 // IMPORTANT: Do not change this list without review from a DOM peer!
582 // IMPORTANT: Do not change this list without review from a DOM peer!
584 // IMPORTANT: Do not change this list without review from a DOM peer!
586 // IMPORTANT: Do not change this list without review from a DOM peer!
587 "IDBVersionChangeEvent",
588 // IMPORTANT: Do not change this list without review from a DOM peer!
590 // IMPORTANT: Do not change this list without review from a DOM peer!
592 // IMPORTANT: Do not change this list without review from a DOM peer!
594 // IMPORTANT: Do not change this list without review from a DOM peer!
595 {name:
"InstallTrigger", b2g: false},
596 // IMPORTANT: Do not change this list without review from a DOM peer!
598 // IMPORTANT: Do not change this list without review from a DOM peer!
600 // IMPORTANT: Do not change this list without review from a DOM peer!
602 // IMPORTANT: Do not change this list without review from a DOM peer!
604 // IMPORTANT: Do not change this list without review from a DOM peer!
605 "MediaElementAudioSourceNode",
606 // IMPORTANT: Do not change this list without review from a DOM peer!
608 // IMPORTANT: Do not change this list without review from a DOM peer!
610 // IMPORTANT: Do not change this list without review from a DOM peer!
612 // IMPORTANT: Do not change this list without review from a DOM peer!
614 // IMPORTANT: Do not change this list without review from a DOM peer!
616 // IMPORTANT: Do not change this list without review from a DOM peer!
617 "MediaStreamAudioDestinationNode",
618 // IMPORTANT: Do not change this list without review from a DOM peer!
619 "MediaStreamAudioSourceNode",
620 // IMPORTANT: Do not change this list without review from a DOM peer!
621 {name:
"MediaStreamEvent", pref:
"media.peerconnection.enabled"},
622 // IMPORTANT: Do not change this list without review from a DOM peer!
624 // IMPORTANT: Do not change this list without review from a DOM peer!
626 // IMPORTANT: Do not change this list without review from a DOM peer!
628 // IMPORTANT: Do not change this list without review from a DOM peer!
630 // IMPORTANT: Do not change this list without review from a DOM peer!
632 // IMPORTANT: Do not change this list without review from a DOM peer!
633 "ModalContentWindow",
634 // IMPORTANT: Do not change this list without review from a DOM peer!
636 // IMPORTANT: Do not change this list without review from a DOM peer!
638 // IMPORTANT: Do not change this list without review from a DOM peer!
639 {name:
"MozActivity", b2g: true},
640 // IMPORTANT: Do not change this list without review from a DOM peer!
641 "MozApplicationEvent",
642 // IMPORTANT: Do not change this list without review from a DOM peer!
643 {name:
"MozCellBroadcast", b2g: true, pref:
"dom.cellbroadcast.enabled"},
644 // IMPORTANT: Do not change this list without review from a DOM peer!
645 {name:
"MozCellBroadcastEvent", b2g: true, pref:
"dom.cellbroadcast.enabled"},
646 // IMPORTANT: Do not change this list without review from a DOM peer!
647 {name:
"MozClirModeEvent", b2g: true, pref:
"dom.mobileconnection.enabled"},
648 // IMPORTANT: Do not change this list without review from a DOM peer!
650 // IMPORTANT: Do not change this list without review from a DOM peer!
651 "MozContactChangeEvent",
652 // IMPORTANT: Do not change this list without review from a DOM peer!
653 "MozCSSKeyframeRule",
654 // IMPORTANT: Do not change this list without review from a DOM peer!
655 "MozCSSKeyframesRule",
656 // IMPORTANT: Do not change this list without review from a DOM peer!
657 {name:
"MozEmergencyCbModeEvent", b2g: true, pref:
"dom.mobileconnection.enabled"},
658 // IMPORTANT: Do not change this list without review from a DOM peer!
659 {name:
"MozIcc", b2g: true, pref:
"dom.icc.enabled"},
660 // IMPORTANT: Do not change this list without review from a DOM peer!
661 {name:
"MozIccManager", b2g: true, pref:
"dom.icc.enabled"},
662 // IMPORTANT: Do not change this list without review from a DOM peer!
663 {name:
"MozInputContext", b2g: true},
664 // IMPORTANT: Do not change this list without review from a DOM peer!
665 {name:
"MozInputMethodManager", b2g: true},
666 // IMPORTANT: Do not change this list without review from a DOM peer!
667 {name:
"MozMessageDeletedEvent", b2g: true, pref:
"dom.sms.enabled"},
668 // IMPORTANT: Do not change this list without review from a DOM peer!
670 // IMPORTANT: Do not change this list without review from a DOM peer!
672 // IMPORTANT: Do not change this list without review from a DOM peer!
673 {name:
"MozMobileCellInfo", b2g: true, pref:
"dom.mobileconnection.enabled"},
674 // IMPORTANT: Do not change this list without review from a DOM peer!
675 {name:
"MozMobileConnection", b2g: true, pref:
"dom.mobileconnection.enabled"},
676 // IMPORTANT: Do not change this list without review from a DOM peer!
677 {name:
"MozMobileConnectionArray", b2g: true, pref:
"dom.mobileconnection.enabled"},
678 // IMPORTANT: Do not change this list without review from a DOM peer!
679 {name:
"MozMobileConnectionInfo", b2g: true, pref:
"dom.mobileconnection.enabled"},
680 // IMPORTANT: Do not change this list without review from a DOM peer!
681 {name:
"MozMobileNetworkInfo", b2g: true, pref:
"dom.mobileconnection.enabled"},
682 // IMPORTANT: Do not change this list without review from a DOM peer!
683 {name:
"MozMobileMessageManager", b2g: true, pref:
"dom.sms.enabled"},
684 // IMPORTANT: Do not change this list without review from a DOM peer!
685 "MozMobileMessageThread",
686 // IMPORTANT: Do not change this list without review from a DOM peer!
688 // IMPORTANT: Do not change this list without review from a DOM peer!
689 {name:
"MozNDEFRecord", b2g: true},
690 // IMPORTANT: Do not change this list without review from a DOM peer!
691 {name:
"MozNFCPeer", b2g: true},
692 // IMPORTANT: Do not change this list without review from a DOM peer!
693 {name:
"MozNFCTag", b2g: true},
694 // IMPORTANT: Do not change this list without review from a DOM peer!
695 {name:
"MozOtaStatusEvent", b2g: true, pref:
"dom.mobileconnection.enabled"},
696 // IMPORTANT: Do not change this list without review from a DOM peer!
698 // IMPORTANT: Do not change this list without review from a DOM peer!
699 {name:
"mozRTCIceCandidate", pref:
"media.peerconnection.enabled"},
700 // IMPORTANT: Do not change this list without review from a DOM peer!
701 {name:
"mozRTCPeerConnection", pref:
"media.peerconnection.enabled"},
702 // IMPORTANT: Do not change this list without review from a DOM peer!
703 {name:
"mozRTCSessionDescription", pref:
"media.peerconnection.enabled"},
704 // IMPORTANT: Do not change this list without review from a DOM peer!
706 // IMPORTANT: Do not change this list without review from a DOM peer!
708 // IMPORTANT: Do not change this list without review from a DOM peer!
710 // IMPORTANT: Do not change this list without review from a DOM peer!
712 // IMPORTANT: Do not change this list without review from a DOM peer!
713 {name:
"MozSpeakerManager", b2g: true},
714 // IMPORTANT: Do not change this list without review from a DOM peer!
715 {name:
"MozStkCommandEvent", b2g: true, pref:
"dom.icc.enabled"},
716 // IMPORTANT: Do not change this list without review from a DOM peer!
717 {name:
"MozTimeManager", b2g: true},
718 // IMPORTANT: Do not change this list without review from a DOM peer!
719 {name:
"MozVoicemail", b2g: true, pref:
"dom.voicemail.enabled"},
720 // IMPORTANT: Do not change this list without review from a DOM peer!
721 {name:
"MozVoicemailEvent", b2g: true, pref:
"dom.voicemail.enabled"},
722 // IMPORTANT: Do not change this list without review from a DOM peer!
723 {name:
"MozVoicemailStatus", b2g: true, pref:
"dom.voicemail.enabled"},
724 // IMPORTANT: Do not change this list without review from a DOM peer!
725 {name:
"MozWakeLock", b2g: true, pref:
"dom.wakelock.enabled"},
726 // IMPORTANT: Do not change this list without review from a DOM peer!
727 {name:
"MozWifiCapabilities", b2g: true, permission:
"wifi-manage"},
728 // IMPORTANT: Do not change this list without review from a DOM peer!
729 {name:
"MozWifiConnectionInfoEvent", b2g: true},
730 // IMPORTANT: Do not change this list without review from a DOM peer!
731 {name:
"MozWifiStationInfoEvent", b2g: true},
732 // IMPORTANT: Do not change this list without review from a DOM peer!
733 {name:
"MozWifiManager", b2g: true, permission:
"wifi-manage"},
734 // IMPORTANT: Do not change this list without review from a DOM peer!
735 {name:
"MozWifiNetwork", b2g: true, permission:
"wifi-manage"},
736 // IMPORTANT: Do not change this list without review from a DOM peer!
737 {name:
"MozWifiStatusChangeEvent", b2g: true},
738 // IMPORTANT: Do not change this list without review from a DOM peer!
739 {name:
"MozWifiP2pGroupOwner", b2g: true, permission:
"wifi-manage"},
740 // IMPORTANT: Do not change this list without review from a DOM peer!
741 {name:
"MozWifiP2pManager", b2g: true, permission:
"wifi-manage"},
742 // IMPORTANT: Do not change this list without review from a DOM peer!
743 {name:
"MozWifiP2pStatusChangeEvent", b2g: true, permission:
"wifi-manage"},
744 // IMPORTANT: Do not change this list without review from a DOM peer!
746 // IMPORTANT: Do not change this list without review from a DOM peer!
748 // IMPORTANT: Do not change this list without review from a DOM peer!
750 // IMPORTANT: Do not change this list without review from a DOM peer!
752 // IMPORTANT: Do not change this list without review from a DOM peer!
753 {name:
"NetworkInformation", pref:
"dom.netinfo.enabled"},
754 // IMPORTANT: Do not change this list without review from a DOM peer!
756 // IMPORTANT: Do not change this list without review from a DOM peer!
758 // IMPORTANT: Do not change this list without review from a DOM peer!
760 // IMPORTANT: Do not change this list without review from a DOM peer!
762 // IMPORTANT: Do not change this list without review from a DOM peer!
764 // IMPORTANT: Do not change this list without review from a DOM peer!
766 // IMPORTANT: Do not change this list without review from a DOM peer!
767 "OfflineAudioCompletionEvent",
768 // IMPORTANT: Do not change this list without review from a DOM peer!
769 "OfflineAudioContext",
770 // IMPORTANT: Do not change this list without review from a DOM peer!
771 "OfflineResourceList",
772 // IMPORTANT: Do not change this list without review from a DOM peer!
774 // IMPORTANT: Do not change this list without review from a DOM peer!
776 // IMPORTANT: Do not change this list without review from a DOM peer!
777 "PageTransitionEvent",
778 // IMPORTANT: Do not change this list without review from a DOM peer!
780 // IMPORTANT: Do not change this list without review from a DOM peer!
782 // IMPORTANT: Do not change this list without review from a DOM peer!
784 // IMPORTANT: Do not change this list without review from a DOM peer!
785 { name:
"Path2D", pref:
"canvas.path.enabled" },
786 // IMPORTANT: Do not change this list without review from a DOM peer!
788 // IMPORTANT: Do not change this list without review from a DOM peer!
790 // IMPORTANT: Do not change this list without review from a DOM peer!
791 "PerformanceNavigation",
792 // IMPORTANT: Do not change this list without review from a DOM peer!
793 "PerformanceResourceTiming",
794 // IMPORTANT: Do not change this list without review from a DOM peer!
796 // IMPORTANT: Do not change this list without review from a DOM peer!
798 // IMPORTANT: Do not change this list without review from a DOM peer!
799 {name:
"PermissionSettings", b2g: true, permission:
"permissions"},
800 // IMPORTANT: Do not change this list without review from a DOM peer!
801 {name:
"PhoneNumberService", permission:
"phonenumberservice"},
802 // IMPORTANT: Do not change this list without review from a DOM peer!
804 // IMPORTANT: Do not change this list without review from a DOM peer!
806 // IMPORTANT: Do not change this list without review from a DOM peer!
807 {name:
"PointerEvent", pref:
"dom.w3c_pointer_events.enabled"},
808 // IMPORTANT: Do not change this list without review from a DOM peer!
810 // IMPORTANT: Do not change this list without review from a DOM peer!
812 // IMPORTANT: Do not change this list without review from a DOM peer!
813 "ProcessingInstruction",
814 // IMPORTANT: Do not change this list without review from a DOM peer!
816 // IMPORTANT: Do not change this list without review from a DOM peer!
818 // IMPORTANT: Do not change this list without review from a DOM peer!
820 // IMPORTANT: Do not change this list without review from a DOM peer!
822 // IMPORTANT: Do not change this list without review from a DOM peer!
824 // IMPORTANT: Do not change this list without review from a DOM peer!
826 // IMPORTANT: Do not change this list without review from a DOM peer!
828 // IMPORTANT: Do not change this list without review from a DOM peer!
830 // IMPORTANT: Do not change this list without review from a DOM peer!
831 {name:
"RTCDataChannelEvent", pref:
"media.peerconnection.enabled"},
832 // IMPORTANT: Do not change this list without review from a DOM peer!
833 {name:
"RTCPeerConnectionIceEvent", pref:
"media.peerconnection.enabled"},
834 // IMPORTANT: Do not change this list without review from a DOM peer!
835 {name:
"RTCStatsReport", pref:
"media.peerconnection.enabled"},
836 // IMPORTANT: Do not change this list without review from a DOM peer!
838 // IMPORTANT: Do not change this list without review from a DOM peer!
839 "ScriptProcessorNode",
840 // IMPORTANT: Do not change this list without review from a DOM peer!
842 // IMPORTANT: Do not change this list without review from a DOM peer!
844 // IMPORTANT: Do not change this list without review from a DOM peer!
845 {name:
"ServiceWorker", pref:
"dom.serviceWorkers.enabled"},
846 // IMPORTANT: Do not change this list without review from a DOM peer!
847 {name:
"ServiceWorkerContainer", pref:
"dom.serviceWorkers.enabled"},
848 // IMPORTANT: Do not change this list without review from a DOM peer!
850 // IMPORTANT: Do not change this list without review from a DOM peer!
852 // IMPORTANT: Do not change this list without review from a DOM peer!
853 {name:
"ShadowRoot", pref:
"dom.webcomponents.enabled"},
854 // IMPORTANT: Do not change this list without review from a DOM peer!
855 {name:
"SharedWorker", pref:
"dom.workers.sharedWorkers.enabled"},
856 // IMPORTANT: Do not change this list without review from a DOM peer!
857 "SimpleGestureEvent",
858 // IMPORTANT: Do not change this list without review from a DOM peer!
859 {name:
"SimpleTest", xbl: false},
860 // IMPORTANT: Do not change this list without review from a DOM peer!
862 // IMPORTANT: Do not change this list without review from a DOM peer!
863 {name:
"SpeechSynthesisEvent", b2g: true},
864 // IMPORTANT: Do not change this list without review from a DOM peer!
865 {name:
"SpeechSynthesis", b2g: true},
866 // IMPORTANT: Do not change this list without review from a DOM peer!
867 {name:
"SpeechSynthesisUtterance", b2g: true},
868 // IMPORTANT: Do not change this list without review from a DOM peer!
869 {name:
"SpeechSynthesisVoice", b2g: true},
870 // IMPORTANT: Do not change this list without review from a DOM peer!
871 {name:
"SpecialPowers", xbl: false},
872 // IMPORTANT: Do not change this list without review from a DOM peer!
874 // IMPORTANT: Do not change this list without review from a DOM peer!
876 // IMPORTANT: Do not change this list without review from a DOM peer!
878 // IMPORTANT: Do not change this list without review from a DOM peer!
880 // IMPORTANT: Do not change this list without review from a DOM peer!
881 {name:
"SubtleCrypto", pref:
"dom.webcrypto.enabled"},
882 // IMPORTANT: Do not change this list without review from a DOM peer!
884 // IMPORTANT: Do not change this list without review from a DOM peer!
885 "SVGAltGlyphElement",
886 // IMPORTANT: Do not change this list without review from a DOM peer!
888 // IMPORTANT: Do not change this list without review from a DOM peer!
890 // IMPORTANT: Do not change this list without review from a DOM peer!
891 "SVGAnimatedBoolean",
892 // IMPORTANT: Do not change this list without review from a DOM peer!
893 "SVGAnimatedEnumeration",
894 // IMPORTANT: Do not change this list without review from a DOM peer!
895 "SVGAnimatedInteger",
896 // IMPORTANT: Do not change this list without review from a DOM peer!
898 // IMPORTANT: Do not change this list without review from a DOM peer!
899 "SVGAnimatedLengthList",
900 // IMPORTANT: Do not change this list without review from a DOM peer!
902 // IMPORTANT: Do not change this list without review from a DOM peer!
903 "SVGAnimatedNumberList",
904 // IMPORTANT: Do not change this list without review from a DOM peer!
905 "SVGAnimatedPreserveAspectRatio",
906 // IMPORTANT: Do not change this list without review from a DOM peer!
908 // IMPORTANT: Do not change this list without review from a DOM peer!
910 // IMPORTANT: Do not change this list without review from a DOM peer!
911 "SVGAnimatedTransformList",
912 // IMPORTANT: Do not change this list without review from a DOM peer!
914 // IMPORTANT: Do not change this list without review from a DOM peer!
915 "SVGAnimateMotionElement",
916 // IMPORTANT: Do not change this list without review from a DOM peer!
917 "SVGAnimateTransformElement",
918 // IMPORTANT: Do not change this list without review from a DOM peer!
919 "SVGAnimationElement",
920 // IMPORTANT: Do not change this list without review from a DOM peer!
922 // IMPORTANT: Do not change this list without review from a DOM peer!
923 "SVGClipPathElement",
924 // IMPORTANT: Do not change this list without review from a DOM peer!
925 "SVGComponentTransferFunctionElement",
926 // IMPORTANT: Do not change this list without review from a DOM peer!
928 // IMPORTANT: Do not change this list without review from a DOM peer!
930 // IMPORTANT: Do not change this list without review from a DOM peer!
932 // IMPORTANT: Do not change this list without review from a DOM peer!
934 // IMPORTANT: Do not change this list without review from a DOM peer!
936 // IMPORTANT: Do not change this list without review from a DOM peer!
938 // IMPORTANT: Do not change this list without review from a DOM peer!
939 "SVGFEColorMatrixElement",
940 // IMPORTANT: Do not change this list without review from a DOM peer!
941 "SVGFEComponentTransferElement",
942 // IMPORTANT: Do not change this list without review from a DOM peer!
943 "SVGFECompositeElement",
944 // IMPORTANT: Do not change this list without review from a DOM peer!
945 "SVGFEConvolveMatrixElement",
946 // IMPORTANT: Do not change this list without review from a DOM peer!
947 "SVGFEDiffuseLightingElement",
948 // IMPORTANT: Do not change this list without review from a DOM peer!
949 "SVGFEDisplacementMapElement",
950 // IMPORTANT: Do not change this list without review from a DOM peer!
951 "SVGFEDistantLightElement",
952 // IMPORTANT: Do not change this list without review from a DOM peer!
953 "SVGFEDropShadowElement",
954 // IMPORTANT: Do not change this list without review from a DOM peer!
956 // IMPORTANT: Do not change this list without review from a DOM peer!
958 // IMPORTANT: Do not change this list without review from a DOM peer!
960 // IMPORTANT: Do not change this list without review from a DOM peer!
962 // IMPORTANT: Do not change this list without review from a DOM peer!
964 // IMPORTANT: Do not change this list without review from a DOM peer!
965 "SVGFEGaussianBlurElement",
966 // IMPORTANT: Do not change this list without review from a DOM peer!
968 // IMPORTANT: Do not change this list without review from a DOM peer!
970 // IMPORTANT: Do not change this list without review from a DOM peer!
971 "SVGFEMergeNodeElement",
972 // IMPORTANT: Do not change this list without review from a DOM peer!
973 "SVGFEMorphologyElement",
974 // IMPORTANT: Do not change this list without review from a DOM peer!
975 "SVGFEOffsetElement",
976 // IMPORTANT: Do not change this list without review from a DOM peer!
977 "SVGFEPointLightElement",
978 // IMPORTANT: Do not change this list without review from a DOM peer!
979 "SVGFESpecularLightingElement",
980 // IMPORTANT: Do not change this list without review from a DOM peer!
981 "SVGFESpotLightElement",
982 // IMPORTANT: Do not change this list without review from a DOM peer!
984 // IMPORTANT: Do not change this list without review from a DOM peer!
985 "SVGFETurbulenceElement",
986 // IMPORTANT: Do not change this list without review from a DOM peer!
988 // IMPORTANT: Do not change this list without review from a DOM peer!
989 "SVGForeignObjectElement",
990 // IMPORTANT: Do not change this list without review from a DOM peer!
992 // IMPORTANT: Do not change this list without review from a DOM peer!
993 "SVGGradientElement",
994 // IMPORTANT: Do not change this list without review from a DOM peer!
995 "SVGGraphicsElement",
996 // IMPORTANT: Do not change this list without review from a DOM peer!
998 // IMPORTANT: Do not change this list without review from a DOM peer!
1000 // IMPORTANT: Do not change this list without review from a DOM peer!
1002 // IMPORTANT: Do not change this list without review from a DOM peer!
1003 "SVGLinearGradientElement",
1004 // IMPORTANT: Do not change this list without review from a DOM peer!
1006 // IMPORTANT: Do not change this list without review from a DOM peer!
1008 // IMPORTANT: Do not change this list without review from a DOM peer!
1010 // IMPORTANT: Do not change this list without review from a DOM peer!
1012 // IMPORTANT: Do not change this list without review from a DOM peer!
1013 "SVGMetadataElement",
1014 // IMPORTANT: Do not change this list without review from a DOM peer!
1016 // IMPORTANT: Do not change this list without review from a DOM peer!
1018 // IMPORTANT: Do not change this list without review from a DOM peer!
1020 // IMPORTANT: Do not change this list without review from a DOM peer!
1022 // IMPORTANT: Do not change this list without review from a DOM peer!
1024 // IMPORTANT: Do not change this list without review from a DOM peer!
1026 // IMPORTANT: Do not change this list without review from a DOM peer!
1028 // IMPORTANT: Do not change this list without review from a DOM peer!
1029 "SVGPathSegClosePath",
1030 // IMPORTANT: Do not change this list without review from a DOM peer!
1031 "SVGPathSegCurvetoCubicAbs",
1032 // IMPORTANT: Do not change this list without review from a DOM peer!
1033 "SVGPathSegCurvetoCubicRel",
1034 // IMPORTANT: Do not change this list without review from a DOM peer!
1035 "SVGPathSegCurvetoCubicSmoothAbs",
1036 // IMPORTANT: Do not change this list without review from a DOM peer!
1037 "SVGPathSegCurvetoCubicSmoothRel",
1038 // IMPORTANT: Do not change this list without review from a DOM peer!
1039 "SVGPathSegCurvetoQuadraticAbs",
1040 // IMPORTANT: Do not change this list without review from a DOM peer!
1041 "SVGPathSegCurvetoQuadraticRel",
1042 // IMPORTANT: Do not change this list without review from a DOM peer!
1043 "SVGPathSegCurvetoQuadraticSmoothAbs",
1044 // IMPORTANT: Do not change this list without review from a DOM peer!
1045 "SVGPathSegCurvetoQuadraticSmoothRel",
1046 // IMPORTANT: Do not change this list without review from a DOM peer!
1047 "SVGPathSegLinetoAbs",
1048 // IMPORTANT: Do not change this list without review from a DOM peer!
1049 "SVGPathSegLinetoHorizontalAbs",
1050 // IMPORTANT: Do not change this list without review from a DOM peer!
1051 "SVGPathSegLinetoHorizontalRel",
1052 // IMPORTANT: Do not change this list without review from a DOM peer!
1053 "SVGPathSegLinetoRel",
1054 // IMPORTANT: Do not change this list without review from a DOM peer!
1055 "SVGPathSegLinetoVerticalAbs",
1056 // IMPORTANT: Do not change this list without review from a DOM peer!
1057 "SVGPathSegLinetoVerticalRel",
1058 // IMPORTANT: Do not change this list without review from a DOM peer!
1060 // IMPORTANT: Do not change this list without review from a DOM peer!
1061 "SVGPathSegMovetoAbs",
1062 // IMPORTANT: Do not change this list without review from a DOM peer!
1063 "SVGPathSegMovetoRel",
1064 // IMPORTANT: Do not change this list without review from a DOM peer!
1065 "SVGPatternElement",
1066 // IMPORTANT: Do not change this list without review from a DOM peer!
1068 // IMPORTANT: Do not change this list without review from a DOM peer!
1070 // IMPORTANT: Do not change this list without review from a DOM peer!
1071 "SVGPolygonElement",
1072 // IMPORTANT: Do not change this list without review from a DOM peer!
1073 "SVGPolylineElement",
1074 // IMPORTANT: Do not change this list without review from a DOM peer!
1075 "SVGPreserveAspectRatio",
1076 // IMPORTANT: Do not change this list without review from a DOM peer!
1077 "SVGRadialGradientElement",
1078 // IMPORTANT: Do not change this list without review from a DOM peer!
1080 // IMPORTANT: Do not change this list without review from a DOM peer!
1082 // IMPORTANT: Do not change this list without review from a DOM peer!
1084 // IMPORTANT: Do not change this list without review from a DOM peer!
1086 // IMPORTANT: Do not change this list without review from a DOM peer!
1088 // IMPORTANT: Do not change this list without review from a DOM peer!
1090 // IMPORTANT: Do not change this list without review from a DOM peer!
1092 // IMPORTANT: Do not change this list without review from a DOM peer!
1094 // IMPORTANT: Do not change this list without review from a DOM peer!
1096 // IMPORTANT: Do not change this list without review from a DOM peer!
1098 // IMPORTANT: Do not change this list without review from a DOM peer!
1099 "SVGTextContentElement",
1100 // IMPORTANT: Do not change this list without review from a DOM peer!
1102 // IMPORTANT: Do not change this list without review from a DOM peer!
1103 "SVGTextPathElement",
1104 // IMPORTANT: Do not change this list without review from a DOM peer!
1105 "SVGTextPositioningElement",
1106 // IMPORTANT: Do not change this list without review from a DOM peer!
1108 // IMPORTANT: Do not change this list without review from a DOM peer!
1110 // IMPORTANT: Do not change this list without review from a DOM peer!
1112 // IMPORTANT: Do not change this list without review from a DOM peer!
1114 // IMPORTANT: Do not change this list without review from a DOM peer!
1116 // IMPORTANT: Do not change this list without review from a DOM peer!
1118 // IMPORTANT: Do not change this list without review from a DOM peer!
1120 // IMPORTANT: Do not change this list without review from a DOM peer!
1122 // IMPORTANT: Do not change this list without review from a DOM peer!
1124 // IMPORTANT: Do not change this list without review from a DOM peer!
1125 {name:
"Telephony", b2g: true, pref:
"dom.telephony.enabled"},
1126 // IMPORTANT: Do not change this list without review from a DOM peer!
1127 {name:
"TelephonyCall", b2g: true, pref:
"dom.telephony.enabled"},
1128 // IMPORTANT: Do not change this list without review from a DOM peer!
1129 {name:
"TelephonyCallGroup", b2g: true, pref:
"dom.telephony.enabled"},
1130 // IMPORTANT: Do not change this list without review from a DOM peer!
1131 {name:
"TelephonyCallId", b2g: true, pref:
"dom.telephony.enabled"},
1132 // IMPORTANT: Do not change this list without review from a DOM peer!
1134 // IMPORTANT: Do not change this list without review from a DOM peer!
1136 // IMPORTANT: Do not change this list without review from a DOM peer!
1138 // IMPORTANT: Do not change this list without review from a DOM peer!
1140 // IMPORTANT: Do not change this list without review from a DOM peer!
1142 // IMPORTANT: Do not change this list without review from a DOM peer!
1144 // IMPORTANT: Do not change this list without review from a DOM peer!
1146 // IMPORTANT: Do not change this list without review from a DOM peer!
1148 // IMPORTANT: Do not change this list without review from a DOM peer!
1150 // IMPORTANT: Do not change this list without review from a DOM peer!
1152 // IMPORTANT: Do not change this list without review from a DOM peer!
1154 // IMPORTANT: Do not change this list without review from a DOM peer!
1156 // IMPORTANT: Do not change this list without review from a DOM peer!
1158 // IMPORTANT: Do not change this list without review from a DOM peer!
1160 // IMPORTANT: Do not change this list without review from a DOM peer!
1161 {name:
"TreeColumn", xbl: true},
1162 // IMPORTANT: Do not change this list without review from a DOM peer!
1163 {name:
"TreeColumns", xbl: true},
1164 // IMPORTANT: Do not change this list without review from a DOM peer!
1165 {name:
"TreeContentView", xbl: true},
1166 // IMPORTANT: Do not change this list without review from a DOM peer!
1167 {name:
"TreeSelection", xbl: true},
1168 // IMPORTANT: Do not change this list without review from a DOM peer!
1170 // IMPORTANT: Do not change this list without review from a DOM peer!
1172 // IMPORTANT: Do not change this list without review from a DOM peer!
1174 // IMPORTANT: Do not change this list without review from a DOM peer!
1176 // IMPORTANT: Do not change this list without review from a DOM peer!
1178 // IMPORTANT: Do not change this list without review from a DOM peer!
1179 {name:
"UserDataHandler", xbl: true},
1180 // IMPORTANT: Do not change this list without review from a DOM peer!
1181 "UserProximityEvent",
1182 // IMPORTANT: Do not change this list without review from a DOM peer!
1183 {name:
"USSDReceivedEvent", b2g: true, pref:
"dom.mobileconnection.enabled"},
1184 // IMPORTANT: Do not change this list without review from a DOM peer!
1186 // IMPORTANT: Do not change this list without review from a DOM peer!
1188 // IMPORTANT: Do not change this list without review from a DOM peer!
1190 // IMPORTANT: Do not change this list without review from a DOM peer!
1191 {name:
"VTTRegion", pref:
"media.webvtt.regions.enabled"},
1192 // IMPORTANT: Do not change this list without review from a DOM peer!
1194 // IMPORTANT: Do not change this list without review from a DOM peer!
1196 // IMPORTANT: Do not change this list without review from a DOM peer!
1198 // IMPORTANT: Do not change this list without review from a DOM peer!
1200 // IMPORTANT: Do not change this list without review from a DOM peer!
1202 // IMPORTANT: Do not change this list without review from a DOM peer!
1203 "WebGLRenderbuffer",
1204 // IMPORTANT: Do not change this list without review from a DOM peer!
1205 "WebGLRenderingContext",
1206 // IMPORTANT: Do not change this list without review from a DOM peer!
1208 // IMPORTANT: Do not change this list without review from a DOM peer!
1209 "WebGLShaderPrecisionFormat",
1210 // IMPORTANT: Do not change this list without review from a DOM peer!
1212 // IMPORTANT: Do not change this list without review from a DOM peer!
1213 "WebGLUniformLocation",
1214 // IMPORTANT: Do not change this list without review from a DOM peer!
1216 // IMPORTANT: Do not change this list without review from a DOM peer!
1218 // IMPORTANT: Do not change this list without review from a DOM peer!
1220 // IMPORTANT: Do not change this list without review from a DOM peer!
1222 // IMPORTANT: Do not change this list without review from a DOM peer!
1224 // IMPORTANT: Do not change this list without review from a DOM peer!
1226 // IMPORTANT: Do not change this list without review from a DOM peer!
1228 // IMPORTANT: Do not change this list without review from a DOM peer!
1229 "XMLHttpRequestUpload",
1230 // IMPORTANT: Do not change this list without review from a DOM peer!
1232 // IMPORTANT: Do not change this list without review from a DOM peer!
1233 "XMLStylesheetProcessingInstruction",
1234 // IMPORTANT: Do not change this list without review from a DOM peer!
1236 // IMPORTANT: Do not change this list without review from a DOM peer!
1238 // IMPORTANT: Do not change this list without review from a DOM peer!
1240 // IMPORTANT: Do not change this list without review from a DOM peer!
1242 // IMPORTANT: Do not change this list without review from a DOM peer!
1244 // IMPORTANT: Do not change this list without review from a DOM peer!
1245 {name:
"XULButtonElement", xbl: true},
1246 // IMPORTANT: Do not change this list without review from a DOM peer!
1247 {name:
"XULCheckboxElement", xbl: true},
1248 // IMPORTANT: Do not change this list without review from a DOM peer!
1249 {name:
"XULCommandDispatcher", xbl: true},
1250 // IMPORTANT: Do not change this list without review from a DOM peer!
1251 {name:
"XULCommandEvent", xbl: true},
1252 // IMPORTANT: Do not change this list without review from a DOM peer!
1253 {name:
"XULControlElement", xbl: true},
1254 // IMPORTANT: Do not change this list without review from a DOM peer!
1255 {name:
"XULControllers", xbl: true},
1256 // IMPORTANT: Do not change this list without review from a DOM peer!
1257 {name:
"XULDocument", xbl: true},
1258 // IMPORTANT: Do not change this list without review from a DOM peer!
1259 {name:
"XULElement", xbl: true},
1260 // IMPORTANT: Do not change this list without review from a DOM peer!
1261 {name:
"XULLabeledControlElement", xbl: true},
1262 // IMPORTANT: Do not change this list without review from a DOM peer!
1263 {name:
"XULPopupElement", xbl: true},
1264 // IMPORTANT: Do not change this list without review from a DOM peer!
1265 {name:
"XULTemplateBuilder", xbl: true},
1266 // IMPORTANT: Do not change this list without review from a DOM peer!
1267 {name:
"XULTreeBuilder", xbl: true},
1268 // IMPORTANT: Do not change this list without review from a DOM peer!
1270 // IMPORTANT: Do not change the list above without review from a DOM peer!
1272 function createInterfaceMap(isXBLScope) {
1273 var prefs = SpecialPowers.Services.prefs;
1274 var version = SpecialPowers.Cc[
"@mozilla.org/xre/app-info;1"].getService(SpecialPowers.Ci.nsIXULAppInfo).version;
1275 var isNightly = version.endsWith(
"a1");
1276 var isRelease = !version.contains(
"a");
1277 var isDesktop = !/Mobile|Tablet/.test(navigator.userAgent);
1278 var isB2G = !isDesktop && !navigator.userAgent.contains(
"Android");
1279 var hasPermission = function (aPermission) {
1280 return SpecialPowers.hasPermission(aPermission, window.document);
1283 var interfaceMap = {};
1285 function addInterfaces(interfaces)
1287 for (var entry of interfaces) {
1288 if (typeof(entry) ===
"string") {
1289 interfaceMap[entry] = true;
1290 } else if ((entry.nightly === !isNightly) ||
1291 (entry.xbl === !isXBLScope) ||
1292 (entry.desktop === !isDesktop) ||
1293 (entry.b2g === !isB2G) ||
1294 (entry.release === !isRelease) ||
1295 (entry.pref && !prefs.getBoolPref(entry.pref)) ||
1296 (entry.permission && !hasPermission(entry.permission))) {
1297 interfaceMap[entry.name] = false;
1299 interfaceMap[entry.name] = true;
1304 addInterfaces(ecmaGlobals);
1305 addInterfaces(interfaceNamesInGlobalScope);
1307 // We expose QueryInterface to XBL scopes. It's not an interface but we
1308 // need to handle it because it's an own property of the global and the
1309 // property name starts with an uppercase letter.
1310 interfaceMap[
"QueryInterface"] = true;
1313 return interfaceMap;
1316 function runTest(isXBLScope) {
1317 var interfaceMap = createInterfaceMap(isXBLScope);
1318 for (var name of Object.getOwnPropertyNames(window)) {
1319 // An interface name should start with an upper case character.
1320 // However, we have a couple of legacy interfaces that start with 'moz', so
1321 // we want to allow those until we can remove them.
1322 if (!/^[A-Z]/.test(name) && legacyMozPrefixedInterfaces.indexOf(name) <
0) {
1325 ok(interfaceMap[name],
1326 "If this is failing: DANGER, are you sure you want to expose the new interface " + name +
1327 " to all webpages as a property on the window (XBL: " + isXBLScope +
")? Do not make a change to this file without a " +
1328 " review from a DOM peer for that specific change!!! (or a JS peer for changes to ecmaGlobals)");
1329 delete interfaceMap[name];
1331 for (var name of Object.keys(interfaceMap)) {
1332 ok(name in window === interfaceMap[name],
1333 name +
" should " + (interfaceMap[name] ?
"" :
" NOT") +
" be defined on the " + (isXBLScope ?
"XBL" :
"global") +
" scope");
1334 if (!interfaceMap[name]) {
1335 delete interfaceMap[name];
1339 todo_is(Object.keys(interfaceMap).length,
0,
1340 "The following interface(s) are not enumerated: " + Object.keys(interfaceMap).join(
", "));
1342 is(Object.keys(interfaceMap).length,
0,
1343 "The following interface(s) are not enumerated: " + Object.keys(interfaceMap).join(
", "));
1348 SimpleTest.waitForExplicitFinish();
1351 <span id=
"span" style=
"-moz-binding: url(file_interfaces.xml)"></span>