dom/tests/mochitest/general/test_interfaces.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

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

mercurial