dom/bindings/Bindings.conf

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 # This Source Code Form is subject to the terms of the Mozilla Public
michael@0 2 # License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
michael@0 4
michael@0 5 # DOM Bindings Configuration.
michael@0 6 #
michael@0 7 # The WebIDL interfaces are defined in dom/webidl. For each such interface, there
michael@0 8 # is a corresponding entry in the configuration table below. The configuration
michael@0 9 # table maps each interface name to a |descriptor| or list of |descriptor|s.
michael@0 10 #
michael@0 11 # Valid fields for all descriptors:
michael@0 12 # * nativeType - The native type (concrete class or XPCOM interface) that
michael@0 13 # instances of this interface will unwrap to. If not
michael@0 14 # specified, defaults to 'mozilla::dom::InterfaceName' for
michael@0 15 # non-worker non-external-or-callback interfaces, to
michael@0 16 # 'mozilla::dom::workers::InterfaceName' for worker
michael@0 17 # non-external interfaces, to 'nsIDOM' followed by the
michael@0 18 # interface name for non-worker external-or-callback
michael@0 19 # interfaces, and to 'JSObject' for worker external-or-callback
michael@0 20 # interfaces.
michael@0 21 # * headerFile - The file in which the nativeType is declared (defaults
michael@0 22 # to an educated guess).
michael@0 23 # * concrete - Indicates whether there exist JS objects with this interface as
michael@0 24 # their primary interface (and hence whose prototype is this
michael@0 25 # interface's prototype object). Always False for callback
michael@0 26 # interfaces. Defaults to True otherwise.
michael@0 27 # * workers - Indicates whether the descriptor is intended to be used solely
michael@0 28 # for worker threads (defaults to false). If true the interface
michael@0 29 # will not be made available on the main thread.
michael@0 30 # * notflattened - The native type does not have nsIClassInfo, so when
michael@0 31 # wrapping it the right IID needs to be passed in.
michael@0 32 # * register - True if this binding should be registered. Defaults to true.
michael@0 33 # * binaryNames - Dict for mapping method and attribute names to different
michael@0 34 # names when calling the native methods (defaults to an empty
michael@0 35 # dict). The keys are the property names as they appear in the
michael@0 36 # .webidl file and the values are the names as they should be
michael@0 37 # in the WebIDL.
michael@0 38 # * wrapperCache: True if this object is a wrapper cache. Objects that are
michael@0 39 # not can only be returned from a limited set of methods,
michael@0 40 # cannot be prefable, and must ensure that they disallow
michael@0 41 # XPConnect wrapping. Always false for callback interfaces.
michael@0 42 # Always true for worker descriptors for non-callback
michael@0 43 # interfaces. Defaults to true for non-worker non-callback
michael@0 44 # descriptors.
michael@0 45 # * nativeOwnership: Describes how the native object is held. 3 possible
michael@0 46 # types: worker object ('worker'), non-refcounted object
michael@0 47 # ('owned'), refcounted object ('refcounted').
michael@0 48 # Non-refcounted objects need to inherit from
michael@0 49 # mozilla::dom::NonRefcountedDOMObject and preferably use
michael@0 50 # MOZ_COUNT_CTOR/MOZ_COUNT_DTOR in their
michael@0 51 # constructor/destructor so they participate in leak
michael@0 52 # logging.
michael@0 53 # This mostly determines how the finalizer releases the
michael@0 54 # binding's hold on the native object. For a worker object
michael@0 55 # it'll call Release, for a non-refcounted object it'll
michael@0 56 # call delete through XPConnect's deferred finalization
michael@0 57 # mechanism, for a refcounted object it'll call Release
michael@0 58 # through XPConnect's deferred finalization mechanism.
michael@0 59 # 'worker' opts into old style worker models. Defaults to
michael@0 60 # 'refcounted'.
michael@0 61 #
michael@0 62 # The following fields are either a string, an array (defaults to an empty
michael@0 63 # array) or a dictionary with three possible keys (all, getterOnly and
michael@0 64 # setterOnly) each having such an array as the value
michael@0 65 #
michael@0 66 # * implicitJSContext - attributes and methods specified in the .webidl file
michael@0 67 # that require a JSContext as the first argument
michael@0 68 # * resultNotAddRefed - attributes and methods specified in the .webidl file
michael@0 69 # that do not AddRef the return value
michael@0 70 #
michael@0 71 # A descriptor can also have 'skipGen': True specified if it should be skipped
michael@0 72 # when deciding what header includes to generate and should never have an
michael@0 73 # implementation generated for it. This is only needed in special cases like
michael@0 74 # worker descriptors for objects that will never actually appear in workers.
michael@0 75 #
michael@0 76 # The value for an interface can be a list or a dictionary, which affects which
michael@0 77 # bindings are generated for that interface.
michael@0 78 # - If the value for the interface is just a record, then a single binding for
michael@0 79 # will be generated using those settings.
michael@0 80 # - If it is a list with a single record which has 'workers':True, then that
michael@0 81 # record will be used to generate bindings for workers, plus the default
michael@0 82 # settings will be used to generate bindings for the main thread.
michael@0 83 # - If it is a list with two records, then one should have 'workers':True,
michael@0 84 # and the other should have 'workers':False (or left unset). These will
michael@0 85 # be used to generate bindings for workers and for mainthread, as you would
michael@0 86 # expect.
michael@0 87 # Nothing else is allowed. If you have a list with a single 'workers':False
michael@0 88 # entry, just make it not a list.
michael@0 89
michael@0 90 DOMInterfaces = {
michael@0 91
michael@0 92 'MozActivity': {
michael@0 93 'nativeType': 'mozilla::dom::Activity',
michael@0 94 },
michael@0 95
michael@0 96 'AbstractWorker': {
michael@0 97 'concrete': False
michael@0 98 },
michael@0 99
michael@0 100 'ArchiveReader': {
michael@0 101 'nativeType': 'mozilla::dom::file::ArchiveReader',
michael@0 102 },
michael@0 103
michael@0 104 'ArchiveRequest': {
michael@0 105 'nativeType': 'mozilla::dom::file::ArchiveRequest',
michael@0 106 },
michael@0 107
michael@0 108 'AudioChannelManager': {
michael@0 109 'nativeType': 'mozilla::dom::system::AudioChannelManager',
michael@0 110 'headerFile': 'AudioChannelManager.h'
michael@0 111 },
michael@0 112
michael@0 113 'AudioContext': {
michael@0 114 'implicitJSContext': [ 'createBuffer' ],
michael@0 115 'resultNotAddRefed': [ 'destination', 'listener' ],
michael@0 116 },
michael@0 117
michael@0 118 'AudioBuffer': {
michael@0 119 'implicitJSContext': [ 'copyToChannel' ],
michael@0 120 },
michael@0 121
michael@0 122 'AudioBufferSourceNode': {
michael@0 123 'implicitJSContext': [ 'buffer' ],
michael@0 124 'resultNotAddRefed': [ 'playbackRate' ],
michael@0 125 },
michael@0 126
michael@0 127 'AudioNode' : {
michael@0 128 'concrete': False,
michael@0 129 'binaryNames': {
michael@0 130 'channelCountMode': 'channelCountModeValue',
michael@0 131 'channelInterpretation': 'channelInterpretationValue',
michael@0 132 },
michael@0 133 },
michael@0 134
michael@0 135 'AudioProcessingEvent' : {
michael@0 136 'resultNotAddRefed': [ 'inputBuffer', 'outputBuffer' ],
michael@0 137 },
michael@0 138
michael@0 139 'BarProp': {
michael@0 140 'headerFile': 'mozilla/dom/BarProps.h',
michael@0 141 },
michael@0 142
michael@0 143 'BiquadFilterNode': {
michael@0 144 'resultNotAddRefed': [ 'frequency', 'detune', 'q', 'gain' ],
michael@0 145 },
michael@0 146
michael@0 147 'Blob': [
michael@0 148 {
michael@0 149 'headerFile': 'nsIDOMFile.h',
michael@0 150 },
michael@0 151 {
michael@0 152 'workers': True,
michael@0 153 }],
michael@0 154
michael@0 155 'BatteryManager': {
michael@0 156 'nativeType': 'mozilla::dom::battery::BatteryManager',
michael@0 157 'headerFile': 'BatteryManager.h'
michael@0 158 },
michael@0 159
michael@0 160 'BluetoothAdapter': {
michael@0 161 'nativeType': 'mozilla::dom::bluetooth::BluetoothAdapter',
michael@0 162 'headerFile': 'BluetoothAdapter.h'
michael@0 163 },
michael@0 164
michael@0 165 'BluetoothDevice': {
michael@0 166 'nativeType': 'mozilla::dom::bluetooth::BluetoothDevice',
michael@0 167 'headerFile': 'BluetoothDevice.h'
michael@0 168 },
michael@0 169
michael@0 170 'BluetoothManager': {
michael@0 171 'nativeType': 'mozilla::dom::bluetooth::BluetoothManager',
michael@0 172 'headerFile': 'BluetoothManager.h'
michael@0 173 },
michael@0 174
michael@0 175 'CameraCapabilities': {
michael@0 176 'nativeType': 'mozilla::dom::CameraCapabilities',
michael@0 177 'headerFile': 'DOMCameraCapabilities.h'
michael@0 178 },
michael@0 179
michael@0 180 'CameraControl': {
michael@0 181 'nativeType': 'mozilla::nsDOMCameraControl',
michael@0 182 'headerFile': 'DOMCameraControl.h',
michael@0 183 'binaryNames': {
michael@0 184 "release": "ReleaseHardware"
michael@0 185 }
michael@0 186 },
michael@0 187
michael@0 188 'CameraDetectedFace': {
michael@0 189 'nativeType': 'mozilla::dom::DOMCameraDetectedFace',
michael@0 190 'headerFile': 'DOMCameraDetectedFace.h'
michael@0 191 },
michael@0 192
michael@0 193 'CameraManager': {
michael@0 194 'nativeType': 'nsDOMCameraManager',
michael@0 195 'headerFile': 'DOMCameraManager.h'
michael@0 196 },
michael@0 197
michael@0 198 'CameraPoint': {
michael@0 199 'nativeType': 'mozilla::dom::DOMCameraPoint',
michael@0 200 'headerFile': 'DOMCameraDetectedFace.h'
michael@0 201 },
michael@0 202
michael@0 203 'CanvasRenderingContext2D': {
michael@0 204 'implicitJSContext': [
michael@0 205 'createImageData', 'getImageData', 'isPointInPath', 'isPointInStroke'
michael@0 206 ],
michael@0 207 'resultNotAddRefed': [ 'canvas', 'measureText' ],
michael@0 208 'binaryNames': {
michael@0 209 'mozImageSmoothingEnabled': 'imageSmoothingEnabled',
michael@0 210 'mozFillRule': 'fillRule'
michael@0 211 }
michael@0 212 },
michael@0 213
michael@0 214 'CaretPosition' : {
michael@0 215 'nativeType': 'nsDOMCaretPosition',
michael@0 216 },
michael@0 217
michael@0 218 'CharacterData': {
michael@0 219 'nativeType': 'nsGenericDOMDataNode',
michael@0 220 'concrete': False
michael@0 221 },
michael@0 222
michael@0 223 'ChromeWindow': {
michael@0 224 'concrete': False,
michael@0 225 'register': False,
michael@0 226 },
michael@0 227
michael@0 228 'ChromeWorker': {
michael@0 229 'headerFile': 'mozilla/dom/WorkerPrivate.h',
michael@0 230 'nativeType': 'mozilla::dom::workers::ChromeWorkerPrivate',
michael@0 231 },
michael@0 232
michael@0 233 'Console': {
michael@0 234 'implicitJSContext': [ 'trace', 'time', 'timeEnd' ],
michael@0 235 },
michael@0 236
michael@0 237 'ConvolverNode': {
michael@0 238 'implicitJSContext': [ 'buffer' ],
michael@0 239 'resultNotAddRefed': [ 'buffer' ],
michael@0 240 },
michael@0 241
michael@0 242 'Coordinates': {
michael@0 243 'headerFile': 'nsGeoPosition.h'
michael@0 244 },
michael@0 245
michael@0 246 'CRMFObject': {
michael@0 247 'headerFile': 'nsCrypto.h',
michael@0 248 'nativeOwnership': 'owned',
michael@0 249 'wrapperCache': False,
michael@0 250 },
michael@0 251
michael@0 252 'Crypto' : {
michael@0 253 'implicitJSContext': [ 'generateCRMFRequest', 'signText' ],
michael@0 254 'headerFile': 'Crypto.h'
michael@0 255 },
michael@0 256
michael@0 257 'CSS': {
michael@0 258 'concrete': False,
michael@0 259 },
michael@0 260
michael@0 261 'CSS2Properties': {
michael@0 262 'nativeType': 'nsDOMCSSDeclaration'
michael@0 263 },
michael@0 264
michael@0 265 'CSSPrimitiveValue': {
michael@0 266 'nativeType': 'nsROCSSPrimitiveValue',
michael@0 267 'resultNotAddRefed': ['getRGBColorValue', 'getRectValue']
michael@0 268 },
michael@0 269
michael@0 270 'CSSStyleDeclaration': {
michael@0 271 'nativeType': 'nsICSSDeclaration'
michael@0 272 },
michael@0 273
michael@0 274 'CSSStyleSheet': {
michael@0 275 'nativeType': 'nsCSSStyleSheet',
michael@0 276 'binaryNames': { 'ownerRule': 'DOMOwnerRule' },
michael@0 277 },
michael@0 278
michael@0 279 'CSSValue': {
michael@0 280 'concrete': False
michael@0 281 },
michael@0 282
michael@0 283 'CSSValueList': {
michael@0 284 'nativeType': 'nsDOMCSSValueList'
michael@0 285 },
michael@0 286
michael@0 287 'DataChannel': {
michael@0 288 'nativeType': 'nsDOMDataChannel',
michael@0 289 },
michael@0 290
michael@0 291 'DataStoreCursor': {
michael@0 292 'wrapperCache': False,
michael@0 293 },
michael@0 294
michael@0 295 'DedicatedWorkerGlobalScope': {
michael@0 296 'headerFile': 'mozilla/dom/WorkerScope.h',
michael@0 297 'workers': True,
michael@0 298 },
michael@0 299
michael@0 300 'DelayNode': {
michael@0 301 'resultNotAddRefed': [ 'delayTime' ],
michael@0 302 },
michael@0 303
michael@0 304 'DeviceAcceleration': {
michael@0 305 'headerFile': 'mozilla/dom/DeviceMotionEvent.h',
michael@0 306 },
michael@0 307
michael@0 308 'DeviceRotationRate': {
michael@0 309 'headerFile': 'mozilla/dom/DeviceMotionEvent.h',
michael@0 310 },
michael@0 311
michael@0 312 'DeviceStorage': {
michael@0 313 'nativeType': 'nsDOMDeviceStorage',
michael@0 314 'headerFile': 'DeviceStorage.h',
michael@0 315 },
michael@0 316
michael@0 317 'Document': [
michael@0 318 {
michael@0 319 'nativeType': 'nsIDocument',
michael@0 320 'resultNotAddRefed': [ 'implementation', 'doctype', 'documentElement',
michael@0 321 'getElementById', 'adoptNode', 'defaultView',
michael@0 322 'activeElement', 'currentScript',
michael@0 323 'mozFullScreenElement', 'mozPointerLockElement',
michael@0 324 'styleSheets', 'styleSheetSets', 'elementFromPoint',
michael@0 325 'querySelector', 'getAnonymousNodes',
michael@0 326 'getAnonymousElementByAtribute', 'getBindingParent'
michael@0 327 ],
michael@0 328 'binaryNames': {
michael@0 329 'documentURI': 'documentURIFromJS',
michael@0 330 'URL': 'documentURIFromJS'
michael@0 331 }
michael@0 332 },
michael@0 333 {
michael@0 334 'nativeType': 'JSObject',
michael@0 335 'workers': True,
michael@0 336 'skipGen': True
michael@0 337 }],
michael@0 338
michael@0 339 'DocumentFragment': {
michael@0 340 'resultNotAddRefed': [ 'querySelector' ]
michael@0 341 },
michael@0 342
michael@0 343 'DOMException': {
michael@0 344 'binaryNames': {
michael@0 345 'message': 'messageMoz',
michael@0 346 },
michael@0 347 },
michael@0 348
michael@0 349 'DOMPointReadOnly': {
michael@0 350 'headerFile': 'mozilla/dom/DOMPoint.h',
michael@0 351 'concrete': False,
michael@0 352 },
michael@0 353
michael@0 354 'DOMRectList': {
michael@0 355 'headerFile': 'mozilla/dom/DOMRect.h',
michael@0 356 'resultNotAddRefed': [ 'item' ]
michael@0 357 },
michael@0 358
michael@0 359 'DOMRectReadOnly': {
michael@0 360 'headerFile': 'mozilla/dom/DOMRect.h',
michael@0 361 },
michael@0 362
michael@0 363 'DOMQuad': {
michael@0 364 'resultNotAddRefed': [ 'bounds', 'p0', 'p1', 'p2', 'p3' ]
michael@0 365 },
michael@0 366
michael@0 367 'DOMSettableTokenList': {
michael@0 368 'nativeType': 'nsDOMSettableTokenList',
michael@0 369 },
michael@0 370
michael@0 371 'DOMStringMap': {
michael@0 372 'nativeType': 'nsDOMStringMap'
michael@0 373 },
michael@0 374
michael@0 375 'DOMTokenList': {
michael@0 376 'nativeType': 'nsDOMTokenList',
michael@0 377 },
michael@0 378
michael@0 379 'DummyInterface': {
michael@0 380 'skipGen': True,
michael@0 381 'register': False,
michael@0 382 },
michael@0 383
michael@0 384 'DummyInterfaceWorkers': {
michael@0 385 'skipGen': True,
michael@0 386 'register': False,
michael@0 387 'workers': True
michael@0 388 },
michael@0 389
michael@0 390 'DynamicsCompressorNode': {
michael@0 391 'resultNotAddRefed': [ 'threshold', 'knee', 'ratio',
michael@0 392 'reduction', 'attack', 'release' ],
michael@0 393 'binaryNames': {
michael@0 394 'release': 'getRelease'
michael@0 395 },
michael@0 396 },
michael@0 397
michael@0 398 'Element': {
michael@0 399 'resultNotAddRefed': [
michael@0 400 'classList', 'attributes', 'children', 'firstElementChild',
michael@0 401 'lastElementChild', 'previousElementSibling', 'nextElementSibling',
michael@0 402 'getAttributeNode', 'getAttributeNodeNS', 'querySelector'
michael@0 403 ]
michael@0 404 },
michael@0 405
michael@0 406 'Event': {
michael@0 407 'implicitJSContext': [ 'defaultPrevented', 'preventDefault' ],
michael@0 408 },
michael@0 409
michael@0 410 'EventTarget': {
michael@0 411 # When we get rid of hasXPConnectImpls, we can get rid of the
michael@0 412 # couldBeDOMBinding stuff in WrapNewBindingObject.
michael@0 413 'hasXPConnectImpls': True,
michael@0 414 'concrete': False,
michael@0 415 'jsImplParent': 'mozilla::DOMEventTargetHelper'
michael@0 416 },
michael@0 417
michael@0 418 'Exception': {
michael@0 419 'headerFile': 'mozilla/dom/DOMException.h',
michael@0 420 'binaryNames': {
michael@0 421 'message': 'messageMoz',
michael@0 422 },
michael@0 423 },
michael@0 424
michael@0 425 'FileHandle': {
michael@0 426 'nativeType': 'mozilla::dom::file::FileHandle'
michael@0 427 },
michael@0 428
michael@0 429 'FileList': {
michael@0 430 'nativeType': 'nsDOMFileList',
michael@0 431 'headerFile': 'nsDOMFile.h',
michael@0 432 'resultNotAddRefed': [ 'item' ]
michael@0 433 },
michael@0 434
michael@0 435 'FileReader': {
michael@0 436 'nativeType': 'nsDOMFileReader',
michael@0 437 'implicitJSContext': [ 'readAsArrayBuffer' ],
michael@0 438 },
michael@0 439
michael@0 440 'FileReaderSync': {
michael@0 441 'workers': True,
michael@0 442 'wrapperCache': False,
michael@0 443 },
michael@0 444
michael@0 445 'FileRequest': {
michael@0 446 'nativeType': 'mozilla::dom::file::FileRequest',
michael@0 447 },
michael@0 448
michael@0 449 'FormData': [
michael@0 450 {
michael@0 451 'nativeType': 'nsFormData'
michael@0 452 },
michael@0 453 {
michael@0 454 'workers': True,
michael@0 455 'skipGen': True,
michael@0 456 'nativeType': 'JSObject'
michael@0 457 }],
michael@0 458
michael@0 459 'GainNode': {
michael@0 460 'resultNotAddRefed': [ 'gain' ],
michael@0 461 },
michael@0 462
michael@0 463 'Geolocation': {
michael@0 464 'headerFile': 'nsGeolocation.h'
michael@0 465 },
michael@0 466
michael@0 467 'History': {
michael@0 468 'headerFile': 'nsHistory.h',
michael@0 469 'nativeType': 'nsHistory'
michael@0 470 },
michael@0 471
michael@0 472 'HTMLAppletElement': {
michael@0 473 'nativeType': 'mozilla::dom::HTMLSharedObjectElement'
michael@0 474 },
michael@0 475
michael@0 476 'HTMLBaseElement': {
michael@0 477 'nativeType': 'mozilla::dom::HTMLSharedElement'
michael@0 478 },
michael@0 479
michael@0 480 'HTMLCollection': {
michael@0 481 'nativeType': 'nsIHTMLCollection',
michael@0 482 # nsContentList.h pulls in nsIHTMLCollection.h
michael@0 483 'headerFile': 'nsContentList.h',
michael@0 484 'resultNotAddRefed': [ 'item' ]
michael@0 485 },
michael@0 486
michael@0 487 'HTMLDataListElement': {
michael@0 488 'resultNotAddRefed': [
michael@0 489 'options'
michael@0 490 ]
michael@0 491 },
michael@0 492
michael@0 493 'HTMLDirectoryElement': {
michael@0 494 'nativeType': 'mozilla::dom::HTMLSharedElement'
michael@0 495 },
michael@0 496
michael@0 497 'HTMLDListElement': {
michael@0 498 'nativeType' : 'mozilla::dom::HTMLSharedListElement'
michael@0 499 },
michael@0 500
michael@0 501 'HTMLDocument': {
michael@0 502 'nativeType': 'nsHTMLDocument',
michael@0 503 'resultNotAddRefed': [ 'body', 'head', 'images', 'embeds', 'plugins',
michael@0 504 'links', 'forms', 'scripts', 'anchors', 'applets' ],
michael@0 505 'implicitJSContext': [ 'open', 'write', 'writeln' ]
michael@0 506 },
michael@0 507
michael@0 508 'HTMLElement': {
michael@0 509 'nativeType': 'nsGenericHTMLElement',
michael@0 510 'resultNotAddRefed': [
michael@0 511 'itemType', 'itemRef', 'itemProp', 'properties', 'contextMenu', 'style',
michael@0 512 'offsetParent'
michael@0 513 ]
michael@0 514 },
michael@0 515
michael@0 516 'HTMLEmbedElement': {
michael@0 517 'nativeType': 'mozilla::dom::HTMLSharedObjectElement'
michael@0 518 },
michael@0 519
michael@0 520 'HTMLHeadElement': {
michael@0 521 'nativeType': 'mozilla::dom::HTMLSharedElement'
michael@0 522 },
michael@0 523
michael@0 524 'HTMLHtmlElement': {
michael@0 525 'nativeType': 'mozilla::dom::HTMLSharedElement'
michael@0 526 },
michael@0 527
michael@0 528 'HTMLLabelElement': {
michael@0 529 'resultNotAddRefed': [
michael@0 530 'form', 'control'
michael@0 531 ],
michael@0 532 },
michael@0 533
michael@0 534 'HTMLMediaElement': {
michael@0 535 'concrete': False
michael@0 536 },
michael@0 537
michael@0 538 'HTMLOListElement': {
michael@0 539 'nativeType' : 'mozilla::dom::HTMLSharedListElement'
michael@0 540 },
michael@0 541
michael@0 542 'HTMLOptionsCollection': {
michael@0 543 'resultNotAddRefed': [ 'item' ],
michael@0 544 },
michael@0 545
michael@0 546 'HTMLParamElement': {
michael@0 547 'nativeType': 'mozilla::dom::HTMLSharedElement'
michael@0 548 },
michael@0 549
michael@0 550 'HTMLPropertiesCollection': {
michael@0 551 'headerFile': 'HTMLPropertiesCollection.h',
michael@0 552 'resultNotAddRefed': [ 'item', 'namedItem', 'names' ]
michael@0 553 },
michael@0 554
michael@0 555 'HTMLQuoteElement': {
michael@0 556 'nativeType': 'mozilla::dom::HTMLSharedElement'
michael@0 557 },
michael@0 558
michael@0 559 'HTMLTableElement': {
michael@0 560 'resultNotAddRefed': [
michael@0 561 'caption', 'tHead', 'tFoot', 'tBodies', 'rows'
michael@0 562 ]
michael@0 563 },
michael@0 564
michael@0 565 'HTMLTableRowElement': {
michael@0 566 'resultNotAddRefed': [
michael@0 567 'cells'
michael@0 568 ]
michael@0 569 },
michael@0 570
michael@0 571 'HTMLTableSectionElement': {
michael@0 572 'resultNotAddRefed': [
michael@0 573 'rows'
michael@0 574 ]
michael@0 575 },
michael@0 576
michael@0 577 'HTMLTemplateElement': {
michael@0 578 'resultNotAddRefed': [
michael@0 579 'content'
michael@0 580 ]
michael@0 581 },
michael@0 582
michael@0 583 'HTMLTextAreaElement': {
michael@0 584 'resultNotAddRefed': [
michael@0 585 'form', 'controllers', 'editor'
michael@0 586 ],
michael@0 587 'binaryNames': {
michael@0 588 'textLength': 'getTextLength'
michael@0 589 }
michael@0 590 },
michael@0 591
michael@0 592 'HTMLSelectElement': {
michael@0 593 'resultNotAddRefed': [
michael@0 594 'form',
michael@0 595 'item',
michael@0 596 'options',
michael@0 597 'IndexedGetter',
michael@0 598 ]
michael@0 599 },
michael@0 600
michael@0 601 'HTMLStyleElement': {
michael@0 602 'resultNotAddRefed': [
michael@0 603 'sheet'
michael@0 604 ]
michael@0 605 },
michael@0 606
michael@0 607 'HTMLUListElement': {
michael@0 608 'nativeType' : 'mozilla::dom::HTMLSharedListElement'
michael@0 609 },
michael@0 610
michael@0 611 'IDBCursor': {
michael@0 612 'nativeType': 'mozilla::dom::indexedDB::IDBCursor',
michael@0 613 'implicitJSContext': [ 'delete' ],
michael@0 614 'binaryNames': {
michael@0 615 'direction': 'getDirection'
michael@0 616 }
michael@0 617 },
michael@0 618
michael@0 619 'IDBCursorWithValue': {
michael@0 620 'nativeType': 'mozilla::dom::indexedDB::IDBCursor',
michael@0 621 },
michael@0 622
michael@0 623 'IDBDatabase': {
michael@0 624 'nativeType': 'mozilla::dom::indexedDB::IDBDatabase',
michael@0 625 },
michael@0 626
michael@0 627 'IDBFactory': {
michael@0 628 'nativeType': 'mozilla::dom::indexedDB::IDBFactory',
michael@0 629 },
michael@0 630
michael@0 631 'IDBFileHandle': {
michael@0 632 'nativeType': 'mozilla::dom::indexedDB::IDBFileHandle',
michael@0 633 },
michael@0 634
michael@0 635 'IDBIndex': {
michael@0 636 'nativeType': 'mozilla::dom::indexedDB::IDBIndex',
michael@0 637 'binaryNames': {
michael@0 638 'mozGetAll': 'getAll',
michael@0 639 'mozGetAllKeys': 'getAllKeys',
michael@0 640 }
michael@0 641 },
michael@0 642
michael@0 643 'IDBKeyRange': {
michael@0 644 'nativeType': 'mozilla::dom::indexedDB::IDBKeyRange',
michael@0 645 'wrapperCache': False,
michael@0 646 },
michael@0 647
michael@0 648 'IDBObjectStore': {
michael@0 649 'nativeType': 'mozilla::dom::indexedDB::IDBObjectStore',
michael@0 650 'implicitJSContext': [ 'createIndex' ],
michael@0 651 'binaryNames': {
michael@0 652 'mozGetAll': 'getAll'
michael@0 653 }
michael@0 654 },
michael@0 655
michael@0 656 'IDBOpenDBRequest': {
michael@0 657 'nativeType': 'mozilla::dom::indexedDB::IDBOpenDBRequest',
michael@0 658 'headerFile': 'IDBRequest.h'
michael@0 659 },
michael@0 660
michael@0 661 'IDBRequest': {
michael@0 662 'nativeType': 'mozilla::dom::indexedDB::IDBRequest',
michael@0 663 },
michael@0 664
michael@0 665 'IDBTransaction': {
michael@0 666 'nativeType': 'mozilla::dom::indexedDB::IDBTransaction',
michael@0 667 },
michael@0 668
michael@0 669 'IDBVersionChangeEvent': {
michael@0 670 'nativeType': 'mozilla::dom::indexedDB::IDBVersionChangeEvent',
michael@0 671 'headerFile': 'IDBEvents.h',
michael@0 672 },
michael@0 673
michael@0 674 'IID': [
michael@0 675 {
michael@0 676 'nativeType': 'nsIJSID',
michael@0 677 'headerFile': 'xpcjsid.h',
michael@0 678 },
michael@0 679 {
michael@0 680 'workers': True,
michael@0 681 }],
michael@0 682
michael@0 683 'ImageData': {
michael@0 684 'wrapperCache': False,
michael@0 685 },
michael@0 686
michael@0 687 'InputStream': [
michael@0 688 {
michael@0 689 'nativeType': 'nsIInputStream',
michael@0 690 'notflattened': True
michael@0 691 },
michael@0 692 {
michael@0 693 'workers': True,
michael@0 694 }],
michael@0 695
michael@0 696 'KeyEvent': {
michael@0 697 'concrete': False
michael@0 698 },
michael@0 699
michael@0 700 'LocalMediaStream': {
michael@0 701 'headerFile': 'DOMMediaStream.h',
michael@0 702 'nativeType': 'mozilla::DOMLocalMediaStream'
michael@0 703 },
michael@0 704
michael@0 705 'Location': {
michael@0 706 # NOTE: Before you turn on codegen for Location, make sure all the
michael@0 707 # Unforgeable stuff is dealt with.
michael@0 708 'nativeType': 'nsIDOMLocation',
michael@0 709 'skipGen': True,
michael@0 710 'register': False
michael@0 711 },
michael@0 712
michael@0 713 'LockedFile': {
michael@0 714 'nativeType': 'mozilla::dom::file::LockedFile',
michael@0 715 },
michael@0 716
michael@0 717 'MediaList': {
michael@0 718 'nativeType': 'nsMediaList',
michael@0 719 'headerFile': 'nsIMediaList.h',
michael@0 720 },
michael@0 721
michael@0 722 'MediaSource': [{
michael@0 723 'resultNotAddRefed': [ 'sourceBuffers', 'activeSourceBuffers' ],
michael@0 724 },
michael@0 725 {
michael@0 726 'nativeType': 'JSObject',
michael@0 727 'workers': True,
michael@0 728 'skipGen': True
michael@0 729 }],
michael@0 730
michael@0 731 'MediaStream': [{
michael@0 732 'headerFile': 'DOMMediaStream.h',
michael@0 733 'nativeType': 'mozilla::DOMMediaStream'
michael@0 734 },
michael@0 735 {
michael@0 736 'nativeType': 'JSObject',
michael@0 737 'workers': True,
michael@0 738 'skipGen': True
michael@0 739 }],
michael@0 740
michael@0 741 'MediaStreamAudioDestinationNode': {
michael@0 742 'resultNotAddRefed': [ 'stream' ],
michael@0 743 'binaryNames': { 'stream': 'DOMStream' }
michael@0 744 },
michael@0 745
michael@0 746 'MediaStreamList': {
michael@0 747 'headerFile': 'MediaStreamList.h',
michael@0 748 'resultNotAddRefed': [ '__indexedGetter' ],
michael@0 749 'binaryNames': { '__indexedGetter': 'IndexedGetter' }
michael@0 750 },
michael@0 751
michael@0 752 'MediaStreamTrack': {
michael@0 753 'concrete': False
michael@0 754 },
michael@0 755
michael@0 756 'MediaRecorder': {
michael@0 757 'headerFile': 'MediaRecorder.h',
michael@0 758 'resultNotAddRefed': [ 'stream' ]
michael@0 759 },
michael@0 760
michael@0 761 'MessagePort': {
michael@0 762 'nativeType': 'mozilla::dom::MessagePortBase',
michael@0 763 'headerFile': 'mozilla/dom/MessagePort.h',
michael@0 764 'binaryNames': {
michael@0 765 'postMessage': 'postMessageMoz',
michael@0 766 },
michael@0 767 },
michael@0 768
michael@0 769 'MimeType': {
michael@0 770 'headerFile' : 'nsMimeTypeArray.h',
michael@0 771 'nativeType': 'nsMimeType',
michael@0 772 'resultNotAddRefed': [ 'enabledPlugin' ]
michael@0 773 },
michael@0 774
michael@0 775 'MimeTypeArray': {
michael@0 776 'nativeType': 'nsMimeTypeArray',
michael@0 777 'resultNotAddRefed': [ 'item', 'namedItem' ]
michael@0 778 },
michael@0 779
michael@0 780 'MozCanvasPrintState': {
michael@0 781 'headerFile': 'mozilla/dom/HTMLCanvasElement.h',
michael@0 782 'nativeType': 'mozilla::dom::HTMLCanvasPrintState',
michael@0 783 },
michael@0 784
michael@0 785 'MozChannel': [
michael@0 786 {
michael@0 787 'nativeType': 'nsIChannel',
michael@0 788 'notflattened': True
michael@0 789 },
michael@0 790 {
michael@0 791 'workers': True,
michael@0 792 }],
michael@0 793
michael@0 794 'MozCellBroadcast': {
michael@0 795 'nativeType': 'mozilla::dom::CellBroadcast',
michael@0 796 },
michael@0 797
michael@0 798 'MozIcc': {
michael@0 799 'nativeType': 'mozilla::dom::Icc',
michael@0 800 },
michael@0 801
michael@0 802 'MozIccManager': {
michael@0 803 'nativeType': 'mozilla::dom::IccManager',
michael@0 804 },
michael@0 805
michael@0 806 'MozMobileConnectionArray': {
michael@0 807 'nativeType': 'mozilla::dom::MobileConnectionArray',
michael@0 808 'resultNotAddRefed': [ 'item' ]
michael@0 809 },
michael@0 810
michael@0 811 'MozNamedAttrMap': {
michael@0 812 'nativeType': 'nsDOMAttributeMap',
michael@0 813 },
michael@0 814
michael@0 815 'MozSpeakerManager': {
michael@0 816 'nativeType': 'mozilla::dom::SpeakerManager',
michael@0 817 'headerFile': 'SpeakerManager.h'
michael@0 818 },
michael@0 819
michael@0 820 'MozPowerManager': {
michael@0 821 'nativeType': 'mozilla::dom::PowerManager',
michael@0 822 },
michael@0 823
michael@0 824 'MozWakeLock': {
michael@0 825 'nativeType': 'mozilla::dom::WakeLock',
michael@0 826 },
michael@0 827
michael@0 828 'MozTimeManager': {
michael@0 829 'nativeType': 'mozilla::dom::time::TimeManager',
michael@0 830 },
michael@0 831
michael@0 832 'MozVoicemail': {
michael@0 833 'nativeType': 'mozilla::dom::Voicemail',
michael@0 834 },
michael@0 835
michael@0 836 'MutationObserver': {
michael@0 837 'nativeType': 'nsDOMMutationObserver',
michael@0 838 },
michael@0 839
michael@0 840 'MutationRecord': {
michael@0 841 'nativeType': 'nsDOMMutationRecord',
michael@0 842 'headerFile': 'nsDOMMutationObserver.h',
michael@0 843 'resultNotAddRefed': [ 'target', 'addedNodes', 'removedNodes',
michael@0 844 'previousSibling', 'nextSibling' ]
michael@0 845 },
michael@0 846
michael@0 847 'NetworkInformation': {
michael@0 848 'nativeType': 'mozilla::dom::network::Connection',
michael@0 849 },
michael@0 850
michael@0 851 'Node': {
michael@0 852 'nativeType': 'nsINode',
michael@0 853 'concrete': False,
michael@0 854 'resultNotAddRefed': [ 'ownerDocument', 'parentNode', 'parentElement',
michael@0 855 'childNodes', 'firstChild', 'lastChild',
michael@0 856 'previousSibling', 'nextSibling', 'insertBefore',
michael@0 857 'appendChild', 'replaceChild', 'removeChild',
michael@0 858 'attributes' ],
michael@0 859 'binaryNames': {
michael@0 860 'baseURI': 'baseURIFromJS'
michael@0 861 }
michael@0 862 },
michael@0 863
michael@0 864 'NodeIterator': {
michael@0 865 'wrapperCache': False,
michael@0 866 'resultNotAddRefed': [ 'root', 'referenceNode' ],
michael@0 867 },
michael@0 868
michael@0 869 'NodeList': {
michael@0 870 'nativeType': 'nsINodeList',
michael@0 871 'resultNotAddRefed': [ 'item' ]
michael@0 872 },
michael@0 873
michael@0 874 'OfflineAudioCompletionEvent': {
michael@0 875 'resultNotAddRefed': [ 'renderedBuffer' ],
michael@0 876 },
michael@0 877
michael@0 878 'OfflineAudioContext': {
michael@0 879 'nativeType': 'mozilla::dom::AudioContext',
michael@0 880 'resultNotAddRefed': [ 'destination', 'listener' ],
michael@0 881 },
michael@0 882
michael@0 883 'OfflineResourceList': {
michael@0 884 'nativeType': 'nsDOMOfflineResourceList',
michael@0 885 },
michael@0 886
michael@0 887 'OscillatorNode': {
michael@0 888 'resultNotAddRefed': [ 'frequency', 'detune' ],
michael@0 889 },
michael@0 890
michael@0 891 'PaintRequestList': {
michael@0 892 'headerFile': 'mozilla/dom/PaintRequest.h',
michael@0 893 'resultNotAddRefed': [ 'item' ]
michael@0 894 },
michael@0 895
michael@0 896 'PannerNode': {
michael@0 897 'resultNotAddRefed': [ 'coneGain', 'distanceGain' ],
michael@0 898 },
michael@0 899
michael@0 900 'Path2D': {
michael@0 901 'nativeType': 'mozilla::dom::CanvasPath',
michael@0 902 'headerFile': 'CanvasRenderingContext2D.h'
michael@0 903 },
michael@0 904
michael@0 905 'PeerConnectionImpl': {
michael@0 906 'nativeType': 'sipcc::PeerConnectionImpl',
michael@0 907 'headerFile': 'PeerConnectionImpl.h',
michael@0 908 'wrapperCache': False
michael@0 909 },
michael@0 910
michael@0 911 'Performance': {
michael@0 912 'nativeType': 'nsPerformance',
michael@0 913 'resultNotAddRefed': [ 'timing', 'navigation' ]
michael@0 914 },
michael@0 915
michael@0 916 'PerformanceTiming': {
michael@0 917 'nativeType': 'nsPerformanceTiming',
michael@0 918 'headerFile': 'nsPerformance.h'
michael@0 919 },
michael@0 920
michael@0 921 'PerformanceNavigation': {
michael@0 922 'nativeType': 'nsPerformanceNavigation',
michael@0 923 'headerFile': 'nsPerformance.h'
michael@0 924 },
michael@0 925
michael@0 926 'Plugin': {
michael@0 927 'headerFile' : 'nsPluginArray.h',
michael@0 928 'nativeType': 'nsPluginElement',
michael@0 929 'resultNotAddRefed': [ 'item', 'namedItem' ]
michael@0 930 },
michael@0 931
michael@0 932 'PluginArray': {
michael@0 933 'nativeType': 'nsPluginArray',
michael@0 934 'resultNotAddRefed': [ 'item', 'namedItem' ]
michael@0 935 },
michael@0 936
michael@0 937 'Position': {
michael@0 938 'headerFile': 'nsGeoPosition.h'
michael@0 939 },
michael@0 940
michael@0 941 'PositionError': {
michael@0 942 'headerFile': 'nsGeolocation.h'
michael@0 943 },
michael@0 944
michael@0 945 'Promise': {
michael@0 946 'implicitJSContext': [ 'then', 'catch' ],
michael@0 947 },
michael@0 948
michael@0 949 'PropertyNodeList': {
michael@0 950 'headerFile': 'HTMLPropertiesCollection.h',
michael@0 951 'resultNotAddRefed': [ 'item' ]
michael@0 952 },
michael@0 953
michael@0 954 'Range': {
michael@0 955 'nativeType': 'nsRange',
michael@0 956 'resultNotAddRefed': [ 'startContainer', 'endContainer', 'commonAncestorContainer' ],
michael@0 957 'binaryNames': {
michael@0 958 '__stringifier': 'ToString'
michael@0 959 }
michael@0 960 },
michael@0 961
michael@0 962 'Rect': {
michael@0 963 'nativeType': 'nsDOMCSSRect',
michael@0 964 'resultNotAddRefed': [ 'top', 'right', 'bottom', 'left' ]
michael@0 965 },
michael@0 966
michael@0 967 'RGBColor': {
michael@0 968 'nativeType': 'nsDOMCSSRGBColor',
michael@0 969 'resultNotAddRefed': [ 'alpha', 'blue', 'green', 'red' ]
michael@0 970 },
michael@0 971
michael@0 972 'Screen': {
michael@0 973 'nativeType': 'nsScreen',
michael@0 974 },
michael@0 975
michael@0 976 'Selection': {
michael@0 977 'resultNotAddRefed': [ 'anchorNode', 'focusNode', 'getRangeAt' ],
michael@0 978 },
michael@0 979
michael@0 980 'ShadowRoot': {
michael@0 981 'resultNotAddRefed': [
michael@0 982 'styleSheets'
michael@0 983 ]
michael@0 984 },
michael@0 985
michael@0 986 'HTMLShadowElement': {
michael@0 987 'resultNotAddRefed': [
michael@0 988 'getOldShadowRoot'
michael@0 989 ]
michael@0 990 },
michael@0 991
michael@0 992 'SharedWorker': {
michael@0 993 'nativeType': 'mozilla::dom::workers::SharedWorker',
michael@0 994 'headerFile': 'mozilla/dom/workers/bindings/SharedWorker.h',
michael@0 995 'implicitJSContext': [ 'constructor' ],
michael@0 996 },
michael@0 997
michael@0 998 'SharedWorkerGlobalScope': {
michael@0 999 'headerFile': 'mozilla/dom/WorkerScope.h',
michael@0 1000 'workers': True,
michael@0 1001 },
michael@0 1002
michael@0 1003 'SourceBufferList': {
michael@0 1004 'resultNotAddRefed': [ '__indexedGetter' ],
michael@0 1005 },
michael@0 1006
michael@0 1007 'StyleSheet': {
michael@0 1008 'nativeType': 'nsCSSStyleSheet',
michael@0 1009 },
michael@0 1010
michael@0 1011 'SVGAnimatedLengthList': {
michael@0 1012 'nativeType': 'mozilla::DOMSVGAnimatedLengthList',
michael@0 1013 'headerFile': 'DOMSVGAnimatedLengthList.h',
michael@0 1014 },
michael@0 1015
michael@0 1016 'SVGAnimatedNumberList': {
michael@0 1017 'nativeType': 'mozilla::DOMSVGAnimatedNumberList',
michael@0 1018 'headerFile': 'DOMSVGAnimatedNumberList.h'
michael@0 1019 },
michael@0 1020
michael@0 1021 'SVGAnimatedPreserveAspectRatio': {
michael@0 1022 'nativeType': 'mozilla::dom::DOMSVGAnimatedPreserveAspectRatio',
michael@0 1023 'headerFile': 'SVGAnimatedPreserveAspectRatio.h'
michael@0 1024 },
michael@0 1025
michael@0 1026 'SVGAnimationElement': {
michael@0 1027 'resultNotAddRefed': ['targetElement'],
michael@0 1028 'concrete': False
michael@0 1029 },
michael@0 1030
michael@0 1031 'SVGComponentTransferFunctionElement': {
michael@0 1032 'concrete': False,
michael@0 1033 },
michael@0 1034
michael@0 1035 'SVGElement': {
michael@0 1036 'nativeType': 'nsSVGElement',
michael@0 1037 'resultNotAddRefed': ['ownerSVGElement', 'viewportElement', 'style']
michael@0 1038 },
michael@0 1039
michael@0 1040 'SVGFEFuncAElement': {
michael@0 1041 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
michael@0 1042 },
michael@0 1043
michael@0 1044 'SVGFEFuncBElement': {
michael@0 1045 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
michael@0 1046 },
michael@0 1047
michael@0 1048 'SVGFEFuncGElement': {
michael@0 1049 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
michael@0 1050 },
michael@0 1051
michael@0 1052 'SVGFEFuncRElement': {
michael@0 1053 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
michael@0 1054 },
michael@0 1055
michael@0 1056 'SVGGraphicsElement': {
michael@0 1057 'concrete': False,
michael@0 1058 'resultNotAddRefed': ['nearestViewportElement', 'farthestViewportElement']
michael@0 1059 },
michael@0 1060
michael@0 1061 'SVGGradientElement': {
michael@0 1062 'concrete': False,
michael@0 1063 },
michael@0 1064
michael@0 1065 'SVGLength': {
michael@0 1066 'nativeType': 'mozilla::DOMSVGLength',
michael@0 1067 'headerFile': 'DOMSVGLength.h'
michael@0 1068 },
michael@0 1069
michael@0 1070 'SVGLengthList': {
michael@0 1071 'nativeType': 'mozilla::DOMSVGLengthList',
michael@0 1072 'headerFile': 'DOMSVGLengthList.h'
michael@0 1073 },
michael@0 1074
michael@0 1075 'SVGLinearGradientElement': {
michael@0 1076 'headerFile': 'mozilla/dom/SVGGradientElement.h',
michael@0 1077 },
michael@0 1078
michael@0 1079 'SVGNumberList': {
michael@0 1080 'nativeType': 'mozilla::DOMSVGNumberList',
michael@0 1081 'headerFile': 'DOMSVGNumberList.h'
michael@0 1082 },
michael@0 1083
michael@0 1084 'SVGPathSeg': {
michael@0 1085 'nativeType': 'mozilla::DOMSVGPathSeg',
michael@0 1086 'headerFile': 'DOMSVGPathSeg.h',
michael@0 1087 'concrete': False,
michael@0 1088 },
michael@0 1089
michael@0 1090 'SVGPathSegClosePath': {
michael@0 1091 'nativeType': 'mozilla::DOMSVGPathSegClosePath',
michael@0 1092 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1093 },
michael@0 1094
michael@0 1095 'SVGPathSegMovetoAbs': {
michael@0 1096 'nativeType': 'mozilla::DOMSVGPathSegMovetoAbs',
michael@0 1097 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1098 },
michael@0 1099
michael@0 1100 'SVGPathSegMovetoRel': {
michael@0 1101 'nativeType': 'mozilla::DOMSVGPathSegMovetoRel',
michael@0 1102 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1103 },
michael@0 1104
michael@0 1105 'SVGPathSegLinetoAbs': {
michael@0 1106 'nativeType': 'mozilla::DOMSVGPathSegLinetoAbs',
michael@0 1107 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1108 },
michael@0 1109
michael@0 1110 'SVGPathSegLinetoRel': {
michael@0 1111 'nativeType': 'mozilla::DOMSVGPathSegLinetoRel',
michael@0 1112 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1113 },
michael@0 1114
michael@0 1115 'SVGPathSegCurvetoCubicAbs': {
michael@0 1116 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicAbs',
michael@0 1117 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1118 },
michael@0 1119
michael@0 1120 'SVGPathSegCurvetoCubicRel': {
michael@0 1121 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicRel',
michael@0 1122 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1123 },
michael@0 1124
michael@0 1125 'SVGPathSegCurvetoQuadraticAbs': {
michael@0 1126 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticAbs',
michael@0 1127 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1128 },
michael@0 1129
michael@0 1130 'SVGPathSegCurvetoQuadraticRel': {
michael@0 1131 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticRel',
michael@0 1132 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1133 },
michael@0 1134
michael@0 1135 'SVGPathSegArcAbs': {
michael@0 1136 'nativeType': 'mozilla::DOMSVGPathSegArcAbs',
michael@0 1137 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1138 },
michael@0 1139
michael@0 1140 'SVGPathSegArcRel': {
michael@0 1141 'nativeType': 'mozilla::DOMSVGPathSegArcRel',
michael@0 1142 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1143 },
michael@0 1144
michael@0 1145 'SVGPathSegLinetoHorizontalAbs': {
michael@0 1146 'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalAbs',
michael@0 1147 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1148 },
michael@0 1149
michael@0 1150 'SVGPathSegLinetoHorizontalRel': {
michael@0 1151 'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalRel',
michael@0 1152 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1153 },
michael@0 1154
michael@0 1155 'SVGPathSegLinetoVerticalAbs': {
michael@0 1156 'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalAbs',
michael@0 1157 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1158 },
michael@0 1159
michael@0 1160 'SVGPathSegLinetoVerticalRel': {
michael@0 1161 'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalRel',
michael@0 1162 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1163 },
michael@0 1164
michael@0 1165 'SVGPathSegCurvetoCubicSmoothAbs': {
michael@0 1166 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothAbs',
michael@0 1167 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1168 },
michael@0 1169
michael@0 1170 'SVGPathSegCurvetoCubicSmoothRel': {
michael@0 1171 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothRel',
michael@0 1172 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1173 },
michael@0 1174
michael@0 1175 'SVGPathSegCurvetoQuadraticSmoothAbs': {
michael@0 1176 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothAbs',
michael@0 1177 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1178 },
michael@0 1179
michael@0 1180 'SVGPathSegCurvetoQuadraticSmoothRel': {
michael@0 1181 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothRel',
michael@0 1182 'headerFile': 'DOMSVGPathSeg.h'
michael@0 1183 },
michael@0 1184
michael@0 1185 'SVGPathSegList': {
michael@0 1186 'nativeType': 'mozilla::DOMSVGPathSegList',
michael@0 1187 'headerFile': 'DOMSVGPathSegList.h'
michael@0 1188 },
michael@0 1189
michael@0 1190 'SVGPoint': {
michael@0 1191 'nativeType': 'mozilla::nsISVGPoint',
michael@0 1192 'headerFile': 'nsISVGPoint.h'
michael@0 1193 },
michael@0 1194
michael@0 1195 'SVGPointList': {
michael@0 1196 'nativeType': 'mozilla::DOMSVGPointList',
michael@0 1197 'headerFile': 'DOMSVGPointList.h'
michael@0 1198 },
michael@0 1199
michael@0 1200 'SVGPreserveAspectRatio': {
michael@0 1201 'nativeType': 'mozilla::dom::DOMSVGPreserveAspectRatio',
michael@0 1202 'headerFile': 'SVGPreserveAspectRatio.h'
michael@0 1203 },
michael@0 1204
michael@0 1205 'SVGRadialGradientElement': {
michael@0 1206 'headerFile': 'mozilla/dom/SVGGradientElement.h',
michael@0 1207 },
michael@0 1208
michael@0 1209 'SVGRect': {
michael@0 1210 'nativeType': 'mozilla::dom::SVGIRect'
michael@0 1211 },
michael@0 1212
michael@0 1213 'SVGTextContentElement': {
michael@0 1214 'concrete': False
michael@0 1215 },
michael@0 1216
michael@0 1217 'SVGTextPositioningElement': {
michael@0 1218 'concrete': False
michael@0 1219 },
michael@0 1220
michael@0 1221 'SVGTransform': {
michael@0 1222 'resultNotAddRefed': [ 'matrix' ],
michael@0 1223 'binaryNames': {
michael@0 1224 "matrix": "GetMatrix"
michael@0 1225 }
michael@0 1226 },
michael@0 1227
michael@0 1228 'SVGTransformList': {
michael@0 1229 'nativeType': 'mozilla::DOMSVGTransformList',
michael@0 1230 'headerFile': 'DOMSVGTransformList.h'
michael@0 1231 },
michael@0 1232
michael@0 1233 'SVGStringList': {
michael@0 1234 'nativeType': 'mozilla::DOMSVGStringList',
michael@0 1235 'headerFile': 'DOMSVGStringList.h',
michael@0 1236 },
michael@0 1237
michael@0 1238 'SVGSVGElement': {
michael@0 1239 'resultNotAddRefed': [ 'getElementById' ]
michael@0 1240 },
michael@0 1241
michael@0 1242 'SVGUnitTypes' : {
michael@0 1243 'concrete': False,
michael@0 1244 },
michael@0 1245
michael@0 1246 'SVGZoomAndPan' : {
michael@0 1247 'concrete': False,
michael@0 1248 },
michael@0 1249
michael@0 1250 'Text': {
michael@0 1251 # Total hack to allow binding code to realize that nsTextNode can
michael@0 1252 # in fact be cast to Text.
michael@0 1253 'headerFile': 'nsTextNode.h',
michael@0 1254 },
michael@0 1255
michael@0 1256 'TextDecoder': {
michael@0 1257 'nativeOwnership': 'owned',
michael@0 1258 },
michael@0 1259
michael@0 1260 'TextEncoder': {
michael@0 1261 'nativeOwnership': 'owned',
michael@0 1262 },
michael@0 1263
michael@0 1264 'TextMetrics': {
michael@0 1265 'nativeOwnership': 'owned',
michael@0 1266 },
michael@0 1267
michael@0 1268 'TimeRanges': {
michael@0 1269 'wrapperCache': False
michael@0 1270 },
michael@0 1271
michael@0 1272 'TouchList': {
michael@0 1273 'headerFile': 'mozilla/dom/TouchEvent.h',
michael@0 1274 },
michael@0 1275
michael@0 1276 'TreeColumns': {
michael@0 1277 'nativeType': 'nsTreeColumns',
michael@0 1278 },
michael@0 1279
michael@0 1280 'TreeWalker': {
michael@0 1281 'wrapperCache': False,
michael@0 1282 'resultNotAddRefed': [ 'root', 'currentNode' ],
michael@0 1283 },
michael@0 1284
michael@0 1285 'UndoManager': {
michael@0 1286 'implicitJSContext' : [ 'undo', 'redo', 'transact' ],
michael@0 1287 },
michael@0 1288
michael@0 1289 'URL' : [{
michael@0 1290 'wrapperCache': False,
michael@0 1291 },
michael@0 1292 {
michael@0 1293 'workers': True,
michael@0 1294 'wrapperCache': False,
michael@0 1295 }],
michael@0 1296
michael@0 1297 'VTTCue': {
michael@0 1298 'nativeType': 'mozilla::dom::TextTrackCue'
michael@0 1299 },
michael@0 1300
michael@0 1301 'VTTRegion': {
michael@0 1302 'nativeType': 'mozilla::dom::TextTrackRegion',
michael@0 1303 },
michael@0 1304
michael@0 1305 'WebGLActiveInfo': {
michael@0 1306 'nativeType': 'mozilla::WebGLActiveInfo',
michael@0 1307 'headerFile': 'WebGLActiveInfo.h',
michael@0 1308 'wrapperCache': False
michael@0 1309 },
michael@0 1310
michael@0 1311 'WebGLBuffer': {
michael@0 1312 'nativeType': 'mozilla::WebGLBuffer',
michael@0 1313 'headerFile': 'WebGLBuffer.h'
michael@0 1314 },
michael@0 1315
michael@0 1316 'WebGLExtensionCompressedTextureATC': {
michael@0 1317 'nativeType': 'mozilla::WebGLExtensionCompressedTextureATC',
michael@0 1318 'headerFile': 'WebGLExtensions.h'
michael@0 1319 },
michael@0 1320
michael@0 1321 'WebGLExtensionCompressedTextureETC1': {
michael@0 1322 'nativeType': 'mozilla::WebGLExtensionCompressedTextureETC1',
michael@0 1323 'headerFile': 'WebGLExtensions.h'
michael@0 1324 },
michael@0 1325
michael@0 1326 'WebGLExtensionCompressedTexturePVRTC': {
michael@0 1327 'nativeType': 'mozilla::WebGLExtensionCompressedTexturePVRTC',
michael@0 1328 'headerFile': 'WebGLExtensions.h'
michael@0 1329 },
michael@0 1330
michael@0 1331 'WebGLExtensionCompressedTextureS3TC': {
michael@0 1332 'nativeType': 'mozilla::WebGLExtensionCompressedTextureS3TC',
michael@0 1333 'headerFile': 'WebGLExtensions.h'
michael@0 1334 },
michael@0 1335
michael@0 1336 'WebGLExtensionDepthTexture': {
michael@0 1337 'nativeType': 'mozilla::WebGLExtensionDepthTexture',
michael@0 1338 'headerFile': 'WebGLExtensions.h'
michael@0 1339 },
michael@0 1340
michael@0 1341 'WebGLExtensionDebugRendererInfo': {
michael@0 1342 'nativeType': 'mozilla::WebGLExtensionDebugRendererInfo',
michael@0 1343 'headerFile': 'WebGLExtensions.h'
michael@0 1344 },
michael@0 1345
michael@0 1346 'WebGLExtensionDebugShaders': {
michael@0 1347 'nativeType': 'mozilla::WebGLExtensionDebugShaders',
michael@0 1348 'headerFile': 'WebGLExtensions.h'
michael@0 1349 },
michael@0 1350
michael@0 1351 'WebGLExtensionElementIndexUint': {
michael@0 1352 'nativeType': 'mozilla::WebGLExtensionElementIndexUint',
michael@0 1353 'headerFile': 'WebGLExtensions.h'
michael@0 1354 },
michael@0 1355
michael@0 1356 'WebGLExtensionFragDepth': {
michael@0 1357 'nativeType': 'mozilla::WebGLExtensionFragDepth',
michael@0 1358 'headerFile': 'WebGLExtensions.h'
michael@0 1359 },
michael@0 1360
michael@0 1361 'WebGLExtensionLoseContext': {
michael@0 1362 'nativeType': 'mozilla::WebGLExtensionLoseContext',
michael@0 1363 'headerFile': 'WebGLExtensions.h'
michael@0 1364 },
michael@0 1365
michael@0 1366 'WebGLExtensionSRGB': {
michael@0 1367 'nativeType': 'mozilla::WebGLExtensionSRGB',
michael@0 1368 'headerFile': 'WebGLExtensions.h'
michael@0 1369 },
michael@0 1370
michael@0 1371 'WebGLExtensionStandardDerivatives': {
michael@0 1372 'nativeType': 'mozilla::WebGLExtensionStandardDerivatives',
michael@0 1373 'headerFile': 'WebGLExtensions.h'
michael@0 1374 },
michael@0 1375
michael@0 1376 'WebGLExtensionTextureFilterAnisotropic': {
michael@0 1377 'nativeType': 'mozilla::WebGLExtensionTextureFilterAnisotropic',
michael@0 1378 'headerFile': 'WebGLExtensions.h'
michael@0 1379 },
michael@0 1380
michael@0 1381 'WebGLExtensionTextureFloat': {
michael@0 1382 'nativeType': 'mozilla::WebGLExtensionTextureFloat',
michael@0 1383 'headerFile': 'WebGLExtensions.h'
michael@0 1384 },
michael@0 1385
michael@0 1386 'WebGLExtensionTextureFloatLinear': {
michael@0 1387 'nativeType': 'mozilla::WebGLExtensionTextureFloatLinear',
michael@0 1388 'headerFile': 'WebGLExtensions.h'
michael@0 1389 },
michael@0 1390
michael@0 1391 'WebGLExtensionTextureHalfFloat': {
michael@0 1392 'nativeType': 'mozilla::WebGLExtensionTextureHalfFloat',
michael@0 1393 'headerFile': 'WebGLExtensions.h'
michael@0 1394 },
michael@0 1395
michael@0 1396 'WebGLExtensionTextureHalfFloatLinear': {
michael@0 1397 'nativeType': 'mozilla::WebGLExtensionTextureHalfFloatLinear',
michael@0 1398 'headerFile': 'WebGLExtensions.h'
michael@0 1399 },
michael@0 1400
michael@0 1401 'WebGLExtensionColorBufferFloat': {
michael@0 1402 'nativeType': 'mozilla::WebGLExtensionColorBufferFloat',
michael@0 1403 'headerFile': 'WebGLExtensions.h'
michael@0 1404 },
michael@0 1405
michael@0 1406 'WebGLExtensionColorBufferHalfFloat': {
michael@0 1407 'nativeType': 'mozilla::WebGLExtensionColorBufferHalfFloat',
michael@0 1408 'headerFile': 'WebGLExtensions.h'
michael@0 1409 },
michael@0 1410
michael@0 1411 'WebGLExtensionDrawBuffers': {
michael@0 1412 'nativeType': 'mozilla::WebGLExtensionDrawBuffers',
michael@0 1413 'headerFile': 'WebGLExtensions.h'
michael@0 1414 },
michael@0 1415
michael@0 1416 'WebGLExtensionVertexArray': {
michael@0 1417 'nativeType': 'mozilla::WebGLExtensionVertexArray',
michael@0 1418 'headerFile': 'WebGLExtensions.h'
michael@0 1419 },
michael@0 1420
michael@0 1421 'WebGLExtensionInstancedArrays': {
michael@0 1422 'nativeType': 'mozilla::WebGLExtensionInstancedArrays',
michael@0 1423 'headerFile': 'WebGLExtensions.h'
michael@0 1424 },
michael@0 1425
michael@0 1426 'WebGLFramebuffer': {
michael@0 1427 'nativeType': 'mozilla::WebGLFramebuffer',
michael@0 1428 'headerFile': 'WebGLFramebuffer.h'
michael@0 1429 },
michael@0 1430
michael@0 1431 'WebGLProgram': {
michael@0 1432 'nativeType': 'mozilla::WebGLProgram',
michael@0 1433 'headerFile': 'WebGLProgram.h'
michael@0 1434 },
michael@0 1435
michael@0 1436 'WebGLQuery': {
michael@0 1437 'nativeType': 'mozilla::WebGLQuery',
michael@0 1438 'headerFile': 'WebGLQuery.h'
michael@0 1439 },
michael@0 1440
michael@0 1441 'WebGLRenderbuffer': {
michael@0 1442 'nativeType': 'mozilla::WebGLRenderbuffer',
michael@0 1443 'headerFile': 'WebGLRenderbuffer.h'
michael@0 1444 },
michael@0 1445
michael@0 1446 'WebGLRenderingContext': {
michael@0 1447 'nativeType': 'mozilla::WebGLContext',
michael@0 1448 'headerFile': 'WebGLContext.h',
michael@0 1449 'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension',
michael@0 1450 'getAttachedShaders' ],
michael@0 1451 'implicitJSContext': [ 'getSupportedExtensions' ],
michael@0 1452 },
michael@0 1453
michael@0 1454 'WebGL2RenderingContext': {
michael@0 1455 'nativeType': 'mozilla::WebGLContext',
michael@0 1456 'headerFile': 'WebGLContext.h',
michael@0 1457 'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension',
michael@0 1458 'getAttachedShaders' ],
michael@0 1459 'implicitJSContext': [ 'getSupportedExtensions' ],
michael@0 1460 },
michael@0 1461
michael@0 1462 'WebGLShader': {
michael@0 1463 'nativeType': 'mozilla::WebGLShader',
michael@0 1464 'headerFile': 'WebGLShader.h'
michael@0 1465 },
michael@0 1466
michael@0 1467 'WebGLShaderPrecisionFormat': {
michael@0 1468 'nativeType': 'mozilla::WebGLShaderPrecisionFormat',
michael@0 1469 'headerFile': 'WebGLShaderPrecisionFormat.h',
michael@0 1470 'wrapperCache': False
michael@0 1471 },
michael@0 1472
michael@0 1473 'WebGLTexture': {
michael@0 1474 'nativeType': 'mozilla::WebGLTexture',
michael@0 1475 'headerFile': 'WebGLTexture.h'
michael@0 1476 },
michael@0 1477
michael@0 1478 'WebGLUniformLocation': {
michael@0 1479 'nativeType': 'mozilla::WebGLUniformLocation',
michael@0 1480 'headerFile': 'WebGLUniformLocation.h',
michael@0 1481 'wrapperCache': False
michael@0 1482 },
michael@0 1483
michael@0 1484 'WebGLVertexArray': {
michael@0 1485 'nativeType': 'mozilla::WebGLVertexArray',
michael@0 1486 'headerFile': 'WebGLVertexArray.h'
michael@0 1487 },
michael@0 1488
michael@0 1489 'WebrtcGlobalInformation': {
michael@0 1490 'nativeType': 'mozilla::dom::WebrtcGlobalInformation',
michael@0 1491 'headerFile': 'WebrtcGlobalInformation.h',
michael@0 1492 'wrapperCache': False,
michael@0 1493 'concrete': False,
michael@0 1494 },
michael@0 1495
michael@0 1496 'WebSocket': {
michael@0 1497 'headerFile': 'WebSocket.h',
michael@0 1498 },
michael@0 1499
michael@0 1500 'Window': {
michael@0 1501 'nativeType': 'nsGlobalWindow',
michael@0 1502 # When turning on Window, remember to drop the "'register': False"
michael@0 1503 # from ChromeWindow.
michael@0 1504 'hasXPConnectImpls': True,
michael@0 1505 'register': False,
michael@0 1506 'binaryNames': {
michael@0 1507 'postMessage': 'postMessageMoz',
michael@0 1508 },
michael@0 1509 },
michael@0 1510
michael@0 1511 'WindowProxy': [
michael@0 1512 {
michael@0 1513 'nativeType': 'nsIDOMWindow',
michael@0 1514 'concrete': False
michael@0 1515 },
michael@0 1516 {
michael@0 1517 # We need a worker descriptor for WindowProxy because EventTarget exists in
michael@0 1518 # workers. But it's an external interface, so it'll just map to JSObject*.
michael@0 1519 'workers': True
michael@0 1520 }],
michael@0 1521
michael@0 1522 'Worker': {
michael@0 1523 'headerFile': 'mozilla/dom/WorkerPrivate.h',
michael@0 1524 'nativeType': 'mozilla::dom::workers::WorkerPrivate',
michael@0 1525 'implicitJSContext': [
michael@0 1526 'terminate',
michael@0 1527 ],
michael@0 1528 },
michael@0 1529
michael@0 1530 'WorkerGlobalScope': {
michael@0 1531 'headerFile': 'mozilla/dom/WorkerScope.h',
michael@0 1532 'workers': True,
michael@0 1533 'concrete': False,
michael@0 1534 'implicitJSContext': [
michael@0 1535 'close', 'importScripts',
michael@0 1536 ],
michael@0 1537 'binaryNames': { 'console': 'getConsole', },
michael@0 1538 },
michael@0 1539
michael@0 1540 'WorkerLocation': {
michael@0 1541 'headerFile': 'mozilla/dom/workers/bindings/Location.h',
michael@0 1542 'workers': True,
michael@0 1543 },
michael@0 1544
michael@0 1545 'WorkerNavigator': {
michael@0 1546 'headerFile': 'mozilla/dom/workers/bindings/Navigator.h',
michael@0 1547 'workers': True,
michael@0 1548 },
michael@0 1549
michael@0 1550 'XMLHttpRequest': [
michael@0 1551 {
michael@0 1552 'nativeType': 'nsXMLHttpRequest',
michael@0 1553 'implicitJSContext': [ 'constructor', 'send'],
michael@0 1554 'resultNotAddRefed': [ 'upload', 'responseXML' ]
michael@0 1555 },
michael@0 1556 {
michael@0 1557 'workers': True,
michael@0 1558 # XXXkhuey responseXML returns Document? which boils down to a JSObject*
michael@0 1559 # on a worker, and nsRefPtr<JSObject> fails in the expected way. channel is
michael@0 1560 # similar. This is ugly but it's all going away soon anyways.
michael@0 1561 'resultNotAddRefed': [
michael@0 1562 'responseXML', 'channel'
michael@0 1563 ]
michael@0 1564 }],
michael@0 1565
michael@0 1566 'XMLHttpRequestEventTarget': {
michael@0 1567 'nativeType': 'nsXHREventTarget',
michael@0 1568 'headerFile': 'nsXMLHttpRequest.h',
michael@0 1569 'concrete': False
michael@0 1570 },
michael@0 1571
michael@0 1572 'XMLHttpRequestUpload': [
michael@0 1573 {
michael@0 1574 'nativeType': 'nsXMLHttpRequestUpload',
michael@0 1575 'headerFile': 'nsXMLHttpRequest.h'
michael@0 1576 },
michael@0 1577 {
michael@0 1578 'workers': True,
michael@0 1579 }],
michael@0 1580
michael@0 1581 'XMLSerializer': {
michael@0 1582 'nativeType': 'nsDOMSerializer',
michael@0 1583 },
michael@0 1584
michael@0 1585 'XMLStylesheetProcessingInstruction': {
michael@0 1586 'resultNotAddRefed': [ 'sheet' ]
michael@0 1587 },
michael@0 1588
michael@0 1589 'XPathEvaluator': {
michael@0 1590 'wrapperCache': False
michael@0 1591 },
michael@0 1592
michael@0 1593 'XULDocument': {
michael@0 1594 'headerFile': 'XULDocument.h'
michael@0 1595 },
michael@0 1596
michael@0 1597 'XULElement': {
michael@0 1598 'nativeType': 'nsXULElement',
michael@0 1599 'resultNotAddRefed': [ 'controllers', 'style' ]
michael@0 1600 },
michael@0 1601
michael@0 1602 ####################################
michael@0 1603 # Test Interfaces of various sorts #
michael@0 1604 ####################################
michael@0 1605
michael@0 1606 'TestInterface' : {
michael@0 1607 # Keep this in sync with TestExampleInterface
michael@0 1608 'headerFile': 'TestBindingHeader.h',
michael@0 1609 'register': False,
michael@0 1610 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf',
michael@0 1611 'receiveWeakOther', 'receiveWeakNullableOther',
michael@0 1612 'receiveWeakExternal', 'receiveWeakNullableExternal',
michael@0 1613 'ReceiveWeakCallbackInterface',
michael@0 1614 'ReceiveWeakNullableCallbackInterface',
michael@0 1615 'receiveWeakCastableObjectSequence',
michael@0 1616 'receiveWeakNullableCastableObjectSequence',
michael@0 1617 'receiveWeakCastableObjectNullableSequence',
michael@0 1618 'receiveWeakNullableCastableObjectNullableSequence' ],
michael@0 1619 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
michael@0 1620 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
michael@0 1621 'attributeRenamedFrom': 'attributeRenamedTo' }
michael@0 1622 },
michael@0 1623
michael@0 1624 'TestParentInterface' : {
michael@0 1625 'headerFile': 'TestBindingHeader.h',
michael@0 1626 'register': False,
michael@0 1627 },
michael@0 1628
michael@0 1629 'TestChildInterface' : {
michael@0 1630 'headerFile': 'TestBindingHeader.h',
michael@0 1631 'register': False,
michael@0 1632 },
michael@0 1633
michael@0 1634 'TestCImplementedInterface' : {
michael@0 1635 'headerFile': 'TestCImplementedInterface.h',
michael@0 1636 'register': False,
michael@0 1637 },
michael@0 1638
michael@0 1639 'TestCImplementedInterface2' : {
michael@0 1640 'headerFile': 'TestCImplementedInterface.h',
michael@0 1641 'register': False,
michael@0 1642 },
michael@0 1643
michael@0 1644 'TestJSImplInterface' : {
michael@0 1645 # Keep this in sync with TestExampleInterface
michael@0 1646 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1647 'register': False,
michael@0 1648 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf',
michael@0 1649 'receiveWeakOther', 'receiveWeakNullableOther',
michael@0 1650 'receiveWeakExternal', 'receiveWeakNullableExternal',
michael@0 1651 'ReceiveWeakCallbackInterface',
michael@0 1652 'ReceiveWeakNullableCallbackInterface',
michael@0 1653 'receiveWeakCastableObjectSequence',
michael@0 1654 'receiveWeakNullableCastableObjectSequence',
michael@0 1655 'receiveWeakCastableObjectNullableSequence',
michael@0 1656 'receiveWeakNullableCastableObjectNullableSequence' ],
michael@0 1657 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
michael@0 1658 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
michael@0 1659 'attributeRenamedFrom': 'attributeRenamedTo' }
michael@0 1660 },
michael@0 1661
michael@0 1662 'TestJSImplInterface2' : {
michael@0 1663 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1664 'register': False
michael@0 1665 },
michael@0 1666
michael@0 1667 'TestJSImplInterface3' : {
michael@0 1668 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1669 'register': False
michael@0 1670 },
michael@0 1671
michael@0 1672 'TestJSImplInterface4' : {
michael@0 1673 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1674 'register': False
michael@0 1675 },
michael@0 1676
michael@0 1677 'TestJSImplInterface5' : {
michael@0 1678 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1679 'register': False
michael@0 1680 },
michael@0 1681
michael@0 1682 'TestJSImplInterface6' : {
michael@0 1683 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1684 'register': False
michael@0 1685 },
michael@0 1686
michael@0 1687 'TestNavigator' : {
michael@0 1688 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1689 'register' : False
michael@0 1690 },
michael@0 1691
michael@0 1692 'TestNavigatorWithConstructor' : {
michael@0 1693 'headerFile': 'TestJSImplGenBinding.h',
michael@0 1694 'register' : False
michael@0 1695 },
michael@0 1696
michael@0 1697 'TestExternalInterface' : {
michael@0 1698 'nativeType': 'mozilla::dom::TestExternalInterface',
michael@0 1699 'headerFile': 'TestBindingHeader.h',
michael@0 1700 'register': False
michael@0 1701 },
michael@0 1702
michael@0 1703 'TestNonWrapperCacheInterface' : {
michael@0 1704 'headerFile': 'TestBindingHeader.h',
michael@0 1705 'register': False,
michael@0 1706 'wrapperCache': False
michael@0 1707 },
michael@0 1708
michael@0 1709 'IndirectlyImplementedInterface': {
michael@0 1710 'headerFile': 'TestBindingHeader.h',
michael@0 1711 'register': False,
michael@0 1712 'castable': False,
michael@0 1713 'concrete': False
michael@0 1714 },
michael@0 1715
michael@0 1716 'OnlyForUseInConstructor' : {
michael@0 1717 'headerFile': 'TestBindingHeader.h',
michael@0 1718 'register': False
michael@0 1719 },
michael@0 1720
michael@0 1721 'ImplementedInterface' : {
michael@0 1722 'headerFile': 'TestBindingHeader.h',
michael@0 1723 'concrete': False,
michael@0 1724 'register': False,
michael@0 1725 },
michael@0 1726
michael@0 1727 'ImplementedInterfaceParent' : {
michael@0 1728 'headerFile': 'TestBindingHeader.h',
michael@0 1729 'concrete': False,
michael@0 1730 'register': False
michael@0 1731 },
michael@0 1732
michael@0 1733 'DiamondImplements' : {
michael@0 1734 'headerFile': 'TestBindingHeader.h',
michael@0 1735 'concrete': False,
michael@0 1736 'register': False
michael@0 1737 },
michael@0 1738
michael@0 1739 'DiamondBranch1A' : {
michael@0 1740 'headerFile': 'TestBindingHeader.h',
michael@0 1741 'concrete': False,
michael@0 1742 'register': False
michael@0 1743 },
michael@0 1744
michael@0 1745 'DiamondBranch1B' : {
michael@0 1746 'headerFile': 'TestBindingHeader.h',
michael@0 1747 'concrete': False,
michael@0 1748 'register': False
michael@0 1749 },
michael@0 1750
michael@0 1751 'DiamondBranch2A' : {
michael@0 1752 'headerFile': 'TestBindingHeader.h',
michael@0 1753 'concrete': False,
michael@0 1754 'register': False
michael@0 1755 },
michael@0 1756
michael@0 1757 'DiamondBranch2B' : {
michael@0 1758 'headerFile': 'TestBindingHeader.h',
michael@0 1759 'concrete': False,
michael@0 1760 'register': False
michael@0 1761 },
michael@0 1762
michael@0 1763 'TestIndexedGetterInterface' : {
michael@0 1764 'headerFile': 'TestBindingHeader.h',
michael@0 1765 'register': False
michael@0 1766 },
michael@0 1767
michael@0 1768 'TestNamedGetterInterface' : {
michael@0 1769 'headerFile': 'TestBindingHeader.h',
michael@0 1770 'register': False
michael@0 1771 },
michael@0 1772
michael@0 1773 'TestIndexedGetterAndSetterAndNamedGetterInterface' : {
michael@0 1774 'headerFile': 'TestBindingHeader.h',
michael@0 1775 'register': False
michael@0 1776 },
michael@0 1777
michael@0 1778 'TestIndexedAndNamedGetterInterface' : {
michael@0 1779 'headerFile': 'TestBindingHeader.h',
michael@0 1780 'register': False
michael@0 1781 },
michael@0 1782
michael@0 1783 'TestIndexedSetterInterface' : {
michael@0 1784 'headerFile': 'TestBindingHeader.h',
michael@0 1785 'register': False
michael@0 1786 },
michael@0 1787
michael@0 1788 'TestNamedSetterInterface' : {
michael@0 1789 'headerFile': 'TestBindingHeader.h',
michael@0 1790 'register': False
michael@0 1791 },
michael@0 1792
michael@0 1793 'TestIndexedAndNamedSetterInterface' : {
michael@0 1794 'headerFile': 'TestBindingHeader.h',
michael@0 1795 'register': False
michael@0 1796 },
michael@0 1797
michael@0 1798 'TestIndexedAndNamedGetterAndSetterInterface' : {
michael@0 1799 'headerFile': 'TestBindingHeader.h',
michael@0 1800 'register': False,
michael@0 1801 },
michael@0 1802
michael@0 1803 'TestRenamedInterface' : {
michael@0 1804 'headerFile': 'TestBindingHeader.h',
michael@0 1805 'register': False,
michael@0 1806 'nativeType': 'nsRenamedInterface'
michael@0 1807 },
michael@0 1808
michael@0 1809 'TestIndexedDeleterInterface' : {
michael@0 1810 'headerFile': 'TestBindingHeader.h',
michael@0 1811 'register': False
michael@0 1812 },
michael@0 1813
michael@0 1814 'TestIndexedDeleterWithRetvalInterface' : {
michael@0 1815 'headerFile': 'TestBindingHeader.h',
michael@0 1816 'register': False
michael@0 1817 },
michael@0 1818
michael@0 1819 'TestNamedDeleterInterface' : {
michael@0 1820 'headerFile': 'TestBindingHeader.h',
michael@0 1821 'register': False
michael@0 1822 },
michael@0 1823
michael@0 1824 'TestNamedDeleterWithRetvalInterface' : {
michael@0 1825 'headerFile': 'TestBindingHeader.h',
michael@0 1826 'register': False
michael@0 1827 },
michael@0 1828
michael@0 1829 'TestIndexedAndNamedDeleterInterface' : {
michael@0 1830 'headerFile': 'TestBindingHeader.h',
michael@0 1831 'register': False
michael@0 1832 },
michael@0 1833
michael@0 1834 'TestCppKeywordNamedMethodsInterface' : {
michael@0 1835 'headerFile': 'TestBindingHeader.h',
michael@0 1836 'register': False
michael@0 1837 },
michael@0 1838
michael@0 1839 'TestExampleInterface' : {
michael@0 1840 # Keep this in sync with TestInterface
michael@0 1841 'headerFile': 'TestExampleInterface-example.h',
michael@0 1842 'register': False,
michael@0 1843 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf',
michael@0 1844 'receiveWeakOther', 'receiveWeakNullableOther',
michael@0 1845 'receiveWeakExternal', 'receiveWeakNullableExternal',
michael@0 1846 'ReceiveWeakCallbackInterface',
michael@0 1847 'ReceiveWeakNullableCallbackInterface',
michael@0 1848 'receiveWeakCastableObjectSequence',
michael@0 1849 'receiveWeakNullableCastableObjectSequence',
michael@0 1850 'receiveWeakCastableObjectNullableSequence',
michael@0 1851 'receiveWeakNullableCastableObjectNullableSequence' ],
michael@0 1852 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
michael@0 1853 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
michael@0 1854 'attributeRenamedFrom': 'attributeRenamedTo' }
michael@0 1855 },
michael@0 1856
michael@0 1857 'TestExampleProxyInterface' : {
michael@0 1858 'headerFile': 'TestExampleProxyInterface-example.h',
michael@0 1859 'register': False
michael@0 1860 }
michael@0 1861 }
michael@0 1862
michael@0 1863 # These are temporary, until they've been converted to use new DOM bindings
michael@0 1864 def addExternalIface(iface, nativeType=None, headerFile=None,
michael@0 1865 notflattened=False):
michael@0 1866 if iface in DOMInterfaces:
michael@0 1867 raise Exception('Interface declared both as WebIDL and External interface')
michael@0 1868 domInterface = {
michael@0 1869 'concrete': False
michael@0 1870 }
michael@0 1871 if not nativeType is None:
michael@0 1872 domInterface['nativeType'] = nativeType
michael@0 1873 if not headerFile is None:
michael@0 1874 domInterface['headerFile'] = headerFile
michael@0 1875 domInterface['notflattened'] = notflattened
michael@0 1876 DOMInterfaces[iface] = domInterface
michael@0 1877
michael@0 1878 addExternalIface('ApplicationCache', nativeType='nsIDOMOfflineResourceList')
michael@0 1879 addExternalIface('Counter')
michael@0 1880 addExternalIface('CSSRule')
michael@0 1881 addExternalIface('mozIDOMApplication', nativeType='mozIDOMApplication', headerFile='nsIDOMApplicationRegistry.h')
michael@0 1882 addExternalIface('CSSRuleList')
michael@0 1883 addExternalIface('RTCDataChannel', nativeType='nsIDOMDataChannel')
michael@0 1884 addExternalIface('File')
michael@0 1885 addExternalIface('HitRegionOptions', nativeType='nsISupports')
michael@0 1886 addExternalIface('imgINotificationObserver', nativeType='imgINotificationObserver')
michael@0 1887 addExternalIface('imgIRequest', nativeType='imgIRequest', notflattened=True)
michael@0 1888 addExternalIface('MenuBuilder', nativeType='nsIMenuBuilder', notflattened=True)
michael@0 1889 addExternalIface('MozBoxObject', nativeType='nsIBoxObject')
michael@0 1890 addExternalIface('MozControllers', nativeType='nsIControllers')
michael@0 1891 addExternalIface('MozFrameLoader', nativeType='nsIFrameLoader', notflattened=True)
michael@0 1892 addExternalIface('MozFrameRequestCallback', nativeType='nsIFrameRequestCallback',
michael@0 1893 notflattened=True)
michael@0 1894 addExternalIface('MozIccInfo', headerFile='nsIDOMIccInfo.h')
michael@0 1895 addExternalIface('MozMobileConnection', headerFile='nsIDOMMobileConnection.h')
michael@0 1896 addExternalIface('MozMobileMessageManager', headerFile='nsIDOMMobileMessageManager.h')
michael@0 1897 addExternalIface('MozObserver', nativeType='nsIObserver', notflattened=True)
michael@0 1898 addExternalIface('MozRDFCompositeDataSource', nativeType='nsIRDFCompositeDataSource',
michael@0 1899 notflattened=True)
michael@0 1900 addExternalIface('MozRDFResource', nativeType='nsIRDFResource', notflattened=True)
michael@0 1901 addExternalIface('MozTreeBoxObject', nativeType='nsITreeBoxObject',
michael@0 1902 notflattened=True)
michael@0 1903 addExternalIface('MozTreeColumn', nativeType='nsITreeColumn',
michael@0 1904 headerFile='nsITreeColumns.h')
michael@0 1905 addExternalIface('MozVoicemailStatus')
michael@0 1906 addExternalIface('MozWakeLockListener', headerFile='nsIDOMWakeLockListener.h')
michael@0 1907 addExternalIface('MozXULTemplateBuilder', nativeType='nsIXULTemplateBuilder')
michael@0 1908 addExternalIface('nsIBrowserDOMWindow', nativeType='nsIBrowserDOMWindow',
michael@0 1909 notflattened=True)
michael@0 1910 addExternalIface('nsIControllers', nativeType='nsIControllers')
michael@0 1911 addExternalIface('nsIDOMCrypto', nativeType='nsIDOMCrypto',
michael@0 1912 headerFile='Crypto.h')
michael@0 1913 addExternalIface('nsIInputStreamCallback', nativeType='nsIInputStreamCallback',
michael@0 1914 headerFile='nsIAsyncInputStream.h')
michael@0 1915 addExternalIface('nsIMessageBroadcaster', nativeType='nsIMessageBroadcaster',
michael@0 1916 headerFile='nsIMessageManager.h', notflattened=True)
michael@0 1917 addExternalIface('nsISelectionListener', nativeType='nsISelectionListener')
michael@0 1918 addExternalIface('nsIStreamListener', nativeType='nsIStreamListener', notflattened=True)
michael@0 1919 addExternalIface('nsISupports', nativeType='nsISupports')
michael@0 1920 addExternalIface('nsIDocShell', nativeType='nsIDocShell', notflattened=True)
michael@0 1921 addExternalIface('nsIEditor', nativeType='nsIEditor', notflattened=True)
michael@0 1922 addExternalIface('nsIVariant', nativeType='nsIVariant', notflattened=True)
michael@0 1923 addExternalIface('OutputStream', nativeType='nsIOutputStream',
michael@0 1924 notflattened=True)
michael@0 1925 addExternalIface('Principal', nativeType='nsIPrincipal',
michael@0 1926 headerFile='nsIPrincipal.h', notflattened=True)
michael@0 1927 addExternalIface('StackFrame', nativeType='nsIStackFrame',
michael@0 1928 headerFile='nsIException.h', notflattened=True)
michael@0 1929 addExternalIface('SVGNumber')
michael@0 1930 addExternalIface('URI', nativeType='nsIURI', headerFile='nsIURI.h',
michael@0 1931 notflattened=True)
michael@0 1932 addExternalIface('UserDataHandler')
michael@0 1933 addExternalIface('XPathResult', nativeType='nsISupports')
michael@0 1934 addExternalIface('XPathExpression')
michael@0 1935 addExternalIface('XPathNSResolver')
michael@0 1936 addExternalIface('XULCommandDispatcher')

mercurial