1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/bindings/Bindings.conf Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,1936 @@ 1.4 +# This Source Code Form is subject to the terms of the Mozilla Public 1.5 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.7 + 1.8 +# DOM Bindings Configuration. 1.9 +# 1.10 +# The WebIDL interfaces are defined in dom/webidl. For each such interface, there 1.11 +# is a corresponding entry in the configuration table below. The configuration 1.12 +# table maps each interface name to a |descriptor| or list of |descriptor|s. 1.13 +# 1.14 +# Valid fields for all descriptors: 1.15 +# * nativeType - The native type (concrete class or XPCOM interface) that 1.16 +# instances of this interface will unwrap to. If not 1.17 +# specified, defaults to 'mozilla::dom::InterfaceName' for 1.18 +# non-worker non-external-or-callback interfaces, to 1.19 +# 'mozilla::dom::workers::InterfaceName' for worker 1.20 +# non-external interfaces, to 'nsIDOM' followed by the 1.21 +# interface name for non-worker external-or-callback 1.22 +# interfaces, and to 'JSObject' for worker external-or-callback 1.23 +# interfaces. 1.24 +# * headerFile - The file in which the nativeType is declared (defaults 1.25 +# to an educated guess). 1.26 +# * concrete - Indicates whether there exist JS objects with this interface as 1.27 +# their primary interface (and hence whose prototype is this 1.28 +# interface's prototype object). Always False for callback 1.29 +# interfaces. Defaults to True otherwise. 1.30 +# * workers - Indicates whether the descriptor is intended to be used solely 1.31 +# for worker threads (defaults to false). If true the interface 1.32 +# will not be made available on the main thread. 1.33 +# * notflattened - The native type does not have nsIClassInfo, so when 1.34 +# wrapping it the right IID needs to be passed in. 1.35 +# * register - True if this binding should be registered. Defaults to true. 1.36 +# * binaryNames - Dict for mapping method and attribute names to different 1.37 +# names when calling the native methods (defaults to an empty 1.38 +# dict). The keys are the property names as they appear in the 1.39 +# .webidl file and the values are the names as they should be 1.40 +# in the WebIDL. 1.41 +# * wrapperCache: True if this object is a wrapper cache. Objects that are 1.42 +# not can only be returned from a limited set of methods, 1.43 +# cannot be prefable, and must ensure that they disallow 1.44 +# XPConnect wrapping. Always false for callback interfaces. 1.45 +# Always true for worker descriptors for non-callback 1.46 +# interfaces. Defaults to true for non-worker non-callback 1.47 +# descriptors. 1.48 +# * nativeOwnership: Describes how the native object is held. 3 possible 1.49 +# types: worker object ('worker'), non-refcounted object 1.50 +# ('owned'), refcounted object ('refcounted'). 1.51 +# Non-refcounted objects need to inherit from 1.52 +# mozilla::dom::NonRefcountedDOMObject and preferably use 1.53 +# MOZ_COUNT_CTOR/MOZ_COUNT_DTOR in their 1.54 +# constructor/destructor so they participate in leak 1.55 +# logging. 1.56 +# This mostly determines how the finalizer releases the 1.57 +# binding's hold on the native object. For a worker object 1.58 +# it'll call Release, for a non-refcounted object it'll 1.59 +# call delete through XPConnect's deferred finalization 1.60 +# mechanism, for a refcounted object it'll call Release 1.61 +# through XPConnect's deferred finalization mechanism. 1.62 +# 'worker' opts into old style worker models. Defaults to 1.63 +# 'refcounted'. 1.64 +# 1.65 +# The following fields are either a string, an array (defaults to an empty 1.66 +# array) or a dictionary with three possible keys (all, getterOnly and 1.67 +# setterOnly) each having such an array as the value 1.68 +# 1.69 +# * implicitJSContext - attributes and methods specified in the .webidl file 1.70 +# that require a JSContext as the first argument 1.71 +# * resultNotAddRefed - attributes and methods specified in the .webidl file 1.72 +# that do not AddRef the return value 1.73 +# 1.74 +# A descriptor can also have 'skipGen': True specified if it should be skipped 1.75 +# when deciding what header includes to generate and should never have an 1.76 +# implementation generated for it. This is only needed in special cases like 1.77 +# worker descriptors for objects that will never actually appear in workers. 1.78 +# 1.79 +# The value for an interface can be a list or a dictionary, which affects which 1.80 +# bindings are generated for that interface. 1.81 +# - If the value for the interface is just a record, then a single binding for 1.82 +# will be generated using those settings. 1.83 +# - If it is a list with a single record which has 'workers':True, then that 1.84 +# record will be used to generate bindings for workers, plus the default 1.85 +# settings will be used to generate bindings for the main thread. 1.86 +# - If it is a list with two records, then one should have 'workers':True, 1.87 +# and the other should have 'workers':False (or left unset). These will 1.88 +# be used to generate bindings for workers and for mainthread, as you would 1.89 +# expect. 1.90 +# Nothing else is allowed. If you have a list with a single 'workers':False 1.91 +# entry, just make it not a list. 1.92 + 1.93 +DOMInterfaces = { 1.94 + 1.95 +'MozActivity': { 1.96 + 'nativeType': 'mozilla::dom::Activity', 1.97 +}, 1.98 + 1.99 +'AbstractWorker': { 1.100 + 'concrete': False 1.101 +}, 1.102 + 1.103 +'ArchiveReader': { 1.104 + 'nativeType': 'mozilla::dom::file::ArchiveReader', 1.105 +}, 1.106 + 1.107 +'ArchiveRequest': { 1.108 + 'nativeType': 'mozilla::dom::file::ArchiveRequest', 1.109 +}, 1.110 + 1.111 +'AudioChannelManager': { 1.112 + 'nativeType': 'mozilla::dom::system::AudioChannelManager', 1.113 + 'headerFile': 'AudioChannelManager.h' 1.114 +}, 1.115 + 1.116 +'AudioContext': { 1.117 + 'implicitJSContext': [ 'createBuffer' ], 1.118 + 'resultNotAddRefed': [ 'destination', 'listener' ], 1.119 +}, 1.120 + 1.121 +'AudioBuffer': { 1.122 + 'implicitJSContext': [ 'copyToChannel' ], 1.123 +}, 1.124 + 1.125 +'AudioBufferSourceNode': { 1.126 + 'implicitJSContext': [ 'buffer' ], 1.127 + 'resultNotAddRefed': [ 'playbackRate' ], 1.128 +}, 1.129 + 1.130 +'AudioNode' : { 1.131 + 'concrete': False, 1.132 + 'binaryNames': { 1.133 + 'channelCountMode': 'channelCountModeValue', 1.134 + 'channelInterpretation': 'channelInterpretationValue', 1.135 + }, 1.136 +}, 1.137 + 1.138 +'AudioProcessingEvent' : { 1.139 + 'resultNotAddRefed': [ 'inputBuffer', 'outputBuffer' ], 1.140 +}, 1.141 + 1.142 +'BarProp': { 1.143 + 'headerFile': 'mozilla/dom/BarProps.h', 1.144 +}, 1.145 + 1.146 +'BiquadFilterNode': { 1.147 + 'resultNotAddRefed': [ 'frequency', 'detune', 'q', 'gain' ], 1.148 +}, 1.149 + 1.150 +'Blob': [ 1.151 +{ 1.152 + 'headerFile': 'nsIDOMFile.h', 1.153 +}, 1.154 +{ 1.155 + 'workers': True, 1.156 +}], 1.157 + 1.158 +'BatteryManager': { 1.159 + 'nativeType': 'mozilla::dom::battery::BatteryManager', 1.160 + 'headerFile': 'BatteryManager.h' 1.161 +}, 1.162 + 1.163 +'BluetoothAdapter': { 1.164 + 'nativeType': 'mozilla::dom::bluetooth::BluetoothAdapter', 1.165 + 'headerFile': 'BluetoothAdapter.h' 1.166 +}, 1.167 + 1.168 +'BluetoothDevice': { 1.169 + 'nativeType': 'mozilla::dom::bluetooth::BluetoothDevice', 1.170 + 'headerFile': 'BluetoothDevice.h' 1.171 +}, 1.172 + 1.173 +'BluetoothManager': { 1.174 + 'nativeType': 'mozilla::dom::bluetooth::BluetoothManager', 1.175 + 'headerFile': 'BluetoothManager.h' 1.176 +}, 1.177 + 1.178 +'CameraCapabilities': { 1.179 + 'nativeType': 'mozilla::dom::CameraCapabilities', 1.180 + 'headerFile': 'DOMCameraCapabilities.h' 1.181 +}, 1.182 + 1.183 +'CameraControl': { 1.184 + 'nativeType': 'mozilla::nsDOMCameraControl', 1.185 + 'headerFile': 'DOMCameraControl.h', 1.186 + 'binaryNames': { 1.187 + "release": "ReleaseHardware" 1.188 + } 1.189 +}, 1.190 + 1.191 +'CameraDetectedFace': { 1.192 + 'nativeType': 'mozilla::dom::DOMCameraDetectedFace', 1.193 + 'headerFile': 'DOMCameraDetectedFace.h' 1.194 +}, 1.195 + 1.196 +'CameraManager': { 1.197 + 'nativeType': 'nsDOMCameraManager', 1.198 + 'headerFile': 'DOMCameraManager.h' 1.199 +}, 1.200 + 1.201 +'CameraPoint': { 1.202 + 'nativeType': 'mozilla::dom::DOMCameraPoint', 1.203 + 'headerFile': 'DOMCameraDetectedFace.h' 1.204 +}, 1.205 + 1.206 +'CanvasRenderingContext2D': { 1.207 + 'implicitJSContext': [ 1.208 + 'createImageData', 'getImageData', 'isPointInPath', 'isPointInStroke' 1.209 + ], 1.210 + 'resultNotAddRefed': [ 'canvas', 'measureText' ], 1.211 + 'binaryNames': { 1.212 + 'mozImageSmoothingEnabled': 'imageSmoothingEnabled', 1.213 + 'mozFillRule': 'fillRule' 1.214 + } 1.215 +}, 1.216 + 1.217 +'CaretPosition' : { 1.218 + 'nativeType': 'nsDOMCaretPosition', 1.219 +}, 1.220 + 1.221 +'CharacterData': { 1.222 + 'nativeType': 'nsGenericDOMDataNode', 1.223 + 'concrete': False 1.224 +}, 1.225 + 1.226 +'ChromeWindow': { 1.227 + 'concrete': False, 1.228 + 'register': False, 1.229 +}, 1.230 + 1.231 +'ChromeWorker': { 1.232 + 'headerFile': 'mozilla/dom/WorkerPrivate.h', 1.233 + 'nativeType': 'mozilla::dom::workers::ChromeWorkerPrivate', 1.234 +}, 1.235 + 1.236 +'Console': { 1.237 + 'implicitJSContext': [ 'trace', 'time', 'timeEnd' ], 1.238 +}, 1.239 + 1.240 +'ConvolverNode': { 1.241 + 'implicitJSContext': [ 'buffer' ], 1.242 + 'resultNotAddRefed': [ 'buffer' ], 1.243 +}, 1.244 + 1.245 +'Coordinates': { 1.246 + 'headerFile': 'nsGeoPosition.h' 1.247 +}, 1.248 + 1.249 +'CRMFObject': { 1.250 + 'headerFile': 'nsCrypto.h', 1.251 + 'nativeOwnership': 'owned', 1.252 + 'wrapperCache': False, 1.253 +}, 1.254 + 1.255 +'Crypto' : { 1.256 + 'implicitJSContext': [ 'generateCRMFRequest', 'signText' ], 1.257 + 'headerFile': 'Crypto.h' 1.258 +}, 1.259 + 1.260 +'CSS': { 1.261 + 'concrete': False, 1.262 +}, 1.263 + 1.264 +'CSS2Properties': { 1.265 + 'nativeType': 'nsDOMCSSDeclaration' 1.266 +}, 1.267 + 1.268 +'CSSPrimitiveValue': { 1.269 + 'nativeType': 'nsROCSSPrimitiveValue', 1.270 + 'resultNotAddRefed': ['getRGBColorValue', 'getRectValue'] 1.271 +}, 1.272 + 1.273 +'CSSStyleDeclaration': { 1.274 + 'nativeType': 'nsICSSDeclaration' 1.275 +}, 1.276 + 1.277 +'CSSStyleSheet': { 1.278 + 'nativeType': 'nsCSSStyleSheet', 1.279 + 'binaryNames': { 'ownerRule': 'DOMOwnerRule' }, 1.280 +}, 1.281 + 1.282 +'CSSValue': { 1.283 + 'concrete': False 1.284 +}, 1.285 + 1.286 +'CSSValueList': { 1.287 + 'nativeType': 'nsDOMCSSValueList' 1.288 +}, 1.289 + 1.290 +'DataChannel': { 1.291 + 'nativeType': 'nsDOMDataChannel', 1.292 +}, 1.293 + 1.294 +'DataStoreCursor': { 1.295 + 'wrapperCache': False, 1.296 +}, 1.297 + 1.298 +'DedicatedWorkerGlobalScope': { 1.299 + 'headerFile': 'mozilla/dom/WorkerScope.h', 1.300 + 'workers': True, 1.301 +}, 1.302 + 1.303 +'DelayNode': { 1.304 + 'resultNotAddRefed': [ 'delayTime' ], 1.305 +}, 1.306 + 1.307 +'DeviceAcceleration': { 1.308 + 'headerFile': 'mozilla/dom/DeviceMotionEvent.h', 1.309 +}, 1.310 + 1.311 +'DeviceRotationRate': { 1.312 + 'headerFile': 'mozilla/dom/DeviceMotionEvent.h', 1.313 +}, 1.314 + 1.315 +'DeviceStorage': { 1.316 + 'nativeType': 'nsDOMDeviceStorage', 1.317 + 'headerFile': 'DeviceStorage.h', 1.318 +}, 1.319 + 1.320 +'Document': [ 1.321 +{ 1.322 + 'nativeType': 'nsIDocument', 1.323 + 'resultNotAddRefed': [ 'implementation', 'doctype', 'documentElement', 1.324 + 'getElementById', 'adoptNode', 'defaultView', 1.325 + 'activeElement', 'currentScript', 1.326 + 'mozFullScreenElement', 'mozPointerLockElement', 1.327 + 'styleSheets', 'styleSheetSets', 'elementFromPoint', 1.328 + 'querySelector', 'getAnonymousNodes', 1.329 + 'getAnonymousElementByAtribute', 'getBindingParent' 1.330 + ], 1.331 + 'binaryNames': { 1.332 + 'documentURI': 'documentURIFromJS', 1.333 + 'URL': 'documentURIFromJS' 1.334 + } 1.335 +}, 1.336 +{ 1.337 + 'nativeType': 'JSObject', 1.338 + 'workers': True, 1.339 + 'skipGen': True 1.340 +}], 1.341 + 1.342 +'DocumentFragment': { 1.343 + 'resultNotAddRefed': [ 'querySelector' ] 1.344 +}, 1.345 + 1.346 +'DOMException': { 1.347 + 'binaryNames': { 1.348 + 'message': 'messageMoz', 1.349 + }, 1.350 +}, 1.351 + 1.352 +'DOMPointReadOnly': { 1.353 + 'headerFile': 'mozilla/dom/DOMPoint.h', 1.354 + 'concrete': False, 1.355 +}, 1.356 + 1.357 +'DOMRectList': { 1.358 + 'headerFile': 'mozilla/dom/DOMRect.h', 1.359 + 'resultNotAddRefed': [ 'item' ] 1.360 +}, 1.361 + 1.362 +'DOMRectReadOnly': { 1.363 + 'headerFile': 'mozilla/dom/DOMRect.h', 1.364 +}, 1.365 + 1.366 +'DOMQuad': { 1.367 + 'resultNotAddRefed': [ 'bounds', 'p0', 'p1', 'p2', 'p3' ] 1.368 +}, 1.369 + 1.370 +'DOMSettableTokenList': { 1.371 + 'nativeType': 'nsDOMSettableTokenList', 1.372 +}, 1.373 + 1.374 +'DOMStringMap': { 1.375 + 'nativeType': 'nsDOMStringMap' 1.376 +}, 1.377 + 1.378 +'DOMTokenList': { 1.379 + 'nativeType': 'nsDOMTokenList', 1.380 +}, 1.381 + 1.382 +'DummyInterface': { 1.383 + 'skipGen': True, 1.384 + 'register': False, 1.385 +}, 1.386 + 1.387 +'DummyInterfaceWorkers': { 1.388 + 'skipGen': True, 1.389 + 'register': False, 1.390 + 'workers': True 1.391 +}, 1.392 + 1.393 +'DynamicsCompressorNode': { 1.394 + 'resultNotAddRefed': [ 'threshold', 'knee', 'ratio', 1.395 + 'reduction', 'attack', 'release' ], 1.396 + 'binaryNames': { 1.397 + 'release': 'getRelease' 1.398 + }, 1.399 +}, 1.400 + 1.401 +'Element': { 1.402 + 'resultNotAddRefed': [ 1.403 + 'classList', 'attributes', 'children', 'firstElementChild', 1.404 + 'lastElementChild', 'previousElementSibling', 'nextElementSibling', 1.405 + 'getAttributeNode', 'getAttributeNodeNS', 'querySelector' 1.406 + ] 1.407 +}, 1.408 + 1.409 +'Event': { 1.410 + 'implicitJSContext': [ 'defaultPrevented', 'preventDefault' ], 1.411 +}, 1.412 + 1.413 +'EventTarget': { 1.414 + # When we get rid of hasXPConnectImpls, we can get rid of the 1.415 + # couldBeDOMBinding stuff in WrapNewBindingObject. 1.416 + 'hasXPConnectImpls': True, 1.417 + 'concrete': False, 1.418 + 'jsImplParent': 'mozilla::DOMEventTargetHelper' 1.419 +}, 1.420 + 1.421 +'Exception': { 1.422 + 'headerFile': 'mozilla/dom/DOMException.h', 1.423 + 'binaryNames': { 1.424 + 'message': 'messageMoz', 1.425 + }, 1.426 +}, 1.427 + 1.428 +'FileHandle': { 1.429 + 'nativeType': 'mozilla::dom::file::FileHandle' 1.430 +}, 1.431 + 1.432 +'FileList': { 1.433 + 'nativeType': 'nsDOMFileList', 1.434 + 'headerFile': 'nsDOMFile.h', 1.435 + 'resultNotAddRefed': [ 'item' ] 1.436 +}, 1.437 + 1.438 +'FileReader': { 1.439 + 'nativeType': 'nsDOMFileReader', 1.440 + 'implicitJSContext': [ 'readAsArrayBuffer' ], 1.441 +}, 1.442 + 1.443 +'FileReaderSync': { 1.444 + 'workers': True, 1.445 + 'wrapperCache': False, 1.446 +}, 1.447 + 1.448 +'FileRequest': { 1.449 + 'nativeType': 'mozilla::dom::file::FileRequest', 1.450 +}, 1.451 + 1.452 +'FormData': [ 1.453 +{ 1.454 + 'nativeType': 'nsFormData' 1.455 +}, 1.456 +{ 1.457 + 'workers': True, 1.458 + 'skipGen': True, 1.459 + 'nativeType': 'JSObject' 1.460 +}], 1.461 + 1.462 +'GainNode': { 1.463 + 'resultNotAddRefed': [ 'gain' ], 1.464 +}, 1.465 + 1.466 +'Geolocation': { 1.467 + 'headerFile': 'nsGeolocation.h' 1.468 +}, 1.469 + 1.470 +'History': { 1.471 + 'headerFile': 'nsHistory.h', 1.472 + 'nativeType': 'nsHistory' 1.473 +}, 1.474 + 1.475 +'HTMLAppletElement': { 1.476 + 'nativeType': 'mozilla::dom::HTMLSharedObjectElement' 1.477 +}, 1.478 + 1.479 +'HTMLBaseElement': { 1.480 + 'nativeType': 'mozilla::dom::HTMLSharedElement' 1.481 +}, 1.482 + 1.483 +'HTMLCollection': { 1.484 + 'nativeType': 'nsIHTMLCollection', 1.485 + # nsContentList.h pulls in nsIHTMLCollection.h 1.486 + 'headerFile': 'nsContentList.h', 1.487 + 'resultNotAddRefed': [ 'item' ] 1.488 +}, 1.489 + 1.490 +'HTMLDataListElement': { 1.491 + 'resultNotAddRefed': [ 1.492 + 'options' 1.493 + ] 1.494 +}, 1.495 + 1.496 +'HTMLDirectoryElement': { 1.497 + 'nativeType': 'mozilla::dom::HTMLSharedElement' 1.498 +}, 1.499 + 1.500 +'HTMLDListElement': { 1.501 + 'nativeType' : 'mozilla::dom::HTMLSharedListElement' 1.502 +}, 1.503 + 1.504 +'HTMLDocument': { 1.505 + 'nativeType': 'nsHTMLDocument', 1.506 + 'resultNotAddRefed': [ 'body', 'head', 'images', 'embeds', 'plugins', 1.507 + 'links', 'forms', 'scripts', 'anchors', 'applets' ], 1.508 + 'implicitJSContext': [ 'open', 'write', 'writeln' ] 1.509 +}, 1.510 + 1.511 +'HTMLElement': { 1.512 + 'nativeType': 'nsGenericHTMLElement', 1.513 + 'resultNotAddRefed': [ 1.514 + 'itemType', 'itemRef', 'itemProp', 'properties', 'contextMenu', 'style', 1.515 + 'offsetParent' 1.516 + ] 1.517 +}, 1.518 + 1.519 +'HTMLEmbedElement': { 1.520 + 'nativeType': 'mozilla::dom::HTMLSharedObjectElement' 1.521 +}, 1.522 + 1.523 +'HTMLHeadElement': { 1.524 + 'nativeType': 'mozilla::dom::HTMLSharedElement' 1.525 +}, 1.526 + 1.527 +'HTMLHtmlElement': { 1.528 + 'nativeType': 'mozilla::dom::HTMLSharedElement' 1.529 +}, 1.530 + 1.531 +'HTMLLabelElement': { 1.532 + 'resultNotAddRefed': [ 1.533 + 'form', 'control' 1.534 + ], 1.535 +}, 1.536 + 1.537 +'HTMLMediaElement': { 1.538 + 'concrete': False 1.539 +}, 1.540 + 1.541 +'HTMLOListElement': { 1.542 + 'nativeType' : 'mozilla::dom::HTMLSharedListElement' 1.543 +}, 1.544 + 1.545 +'HTMLOptionsCollection': { 1.546 + 'resultNotAddRefed': [ 'item' ], 1.547 +}, 1.548 + 1.549 +'HTMLParamElement': { 1.550 + 'nativeType': 'mozilla::dom::HTMLSharedElement' 1.551 +}, 1.552 + 1.553 +'HTMLPropertiesCollection': { 1.554 + 'headerFile': 'HTMLPropertiesCollection.h', 1.555 + 'resultNotAddRefed': [ 'item', 'namedItem', 'names' ] 1.556 +}, 1.557 + 1.558 +'HTMLQuoteElement': { 1.559 + 'nativeType': 'mozilla::dom::HTMLSharedElement' 1.560 +}, 1.561 + 1.562 +'HTMLTableElement': { 1.563 + 'resultNotAddRefed': [ 1.564 + 'caption', 'tHead', 'tFoot', 'tBodies', 'rows' 1.565 + ] 1.566 +}, 1.567 + 1.568 +'HTMLTableRowElement': { 1.569 + 'resultNotAddRefed': [ 1.570 + 'cells' 1.571 + ] 1.572 +}, 1.573 + 1.574 +'HTMLTableSectionElement': { 1.575 + 'resultNotAddRefed': [ 1.576 + 'rows' 1.577 + ] 1.578 +}, 1.579 + 1.580 +'HTMLTemplateElement': { 1.581 + 'resultNotAddRefed': [ 1.582 + 'content' 1.583 + ] 1.584 +}, 1.585 + 1.586 +'HTMLTextAreaElement': { 1.587 + 'resultNotAddRefed': [ 1.588 + 'form', 'controllers', 'editor' 1.589 + ], 1.590 + 'binaryNames': { 1.591 + 'textLength': 'getTextLength' 1.592 + } 1.593 +}, 1.594 + 1.595 +'HTMLSelectElement': { 1.596 + 'resultNotAddRefed': [ 1.597 + 'form', 1.598 + 'item', 1.599 + 'options', 1.600 + 'IndexedGetter', 1.601 + ] 1.602 +}, 1.603 + 1.604 +'HTMLStyleElement': { 1.605 + 'resultNotAddRefed': [ 1.606 + 'sheet' 1.607 + ] 1.608 +}, 1.609 + 1.610 +'HTMLUListElement': { 1.611 + 'nativeType' : 'mozilla::dom::HTMLSharedListElement' 1.612 +}, 1.613 + 1.614 +'IDBCursor': { 1.615 + 'nativeType': 'mozilla::dom::indexedDB::IDBCursor', 1.616 + 'implicitJSContext': [ 'delete' ], 1.617 + 'binaryNames': { 1.618 + 'direction': 'getDirection' 1.619 + } 1.620 +}, 1.621 + 1.622 +'IDBCursorWithValue': { 1.623 + 'nativeType': 'mozilla::dom::indexedDB::IDBCursor', 1.624 +}, 1.625 + 1.626 +'IDBDatabase': { 1.627 + 'nativeType': 'mozilla::dom::indexedDB::IDBDatabase', 1.628 +}, 1.629 + 1.630 +'IDBFactory': { 1.631 + 'nativeType': 'mozilla::dom::indexedDB::IDBFactory', 1.632 +}, 1.633 + 1.634 +'IDBFileHandle': { 1.635 + 'nativeType': 'mozilla::dom::indexedDB::IDBFileHandle', 1.636 +}, 1.637 + 1.638 +'IDBIndex': { 1.639 + 'nativeType': 'mozilla::dom::indexedDB::IDBIndex', 1.640 + 'binaryNames': { 1.641 + 'mozGetAll': 'getAll', 1.642 + 'mozGetAllKeys': 'getAllKeys', 1.643 + } 1.644 +}, 1.645 + 1.646 +'IDBKeyRange': { 1.647 + 'nativeType': 'mozilla::dom::indexedDB::IDBKeyRange', 1.648 + 'wrapperCache': False, 1.649 +}, 1.650 + 1.651 +'IDBObjectStore': { 1.652 + 'nativeType': 'mozilla::dom::indexedDB::IDBObjectStore', 1.653 + 'implicitJSContext': [ 'createIndex' ], 1.654 + 'binaryNames': { 1.655 + 'mozGetAll': 'getAll' 1.656 + } 1.657 +}, 1.658 + 1.659 +'IDBOpenDBRequest': { 1.660 + 'nativeType': 'mozilla::dom::indexedDB::IDBOpenDBRequest', 1.661 + 'headerFile': 'IDBRequest.h' 1.662 +}, 1.663 + 1.664 +'IDBRequest': { 1.665 + 'nativeType': 'mozilla::dom::indexedDB::IDBRequest', 1.666 +}, 1.667 + 1.668 +'IDBTransaction': { 1.669 + 'nativeType': 'mozilla::dom::indexedDB::IDBTransaction', 1.670 +}, 1.671 + 1.672 +'IDBVersionChangeEvent': { 1.673 + 'nativeType': 'mozilla::dom::indexedDB::IDBVersionChangeEvent', 1.674 + 'headerFile': 'IDBEvents.h', 1.675 +}, 1.676 + 1.677 +'IID': [ 1.678 +{ 1.679 + 'nativeType': 'nsIJSID', 1.680 + 'headerFile': 'xpcjsid.h', 1.681 +}, 1.682 +{ 1.683 + 'workers': True, 1.684 +}], 1.685 + 1.686 +'ImageData': { 1.687 + 'wrapperCache': False, 1.688 +}, 1.689 + 1.690 +'InputStream': [ 1.691 +{ 1.692 + 'nativeType': 'nsIInputStream', 1.693 + 'notflattened': True 1.694 +}, 1.695 +{ 1.696 + 'workers': True, 1.697 +}], 1.698 + 1.699 +'KeyEvent': { 1.700 + 'concrete': False 1.701 +}, 1.702 + 1.703 +'LocalMediaStream': { 1.704 + 'headerFile': 'DOMMediaStream.h', 1.705 + 'nativeType': 'mozilla::DOMLocalMediaStream' 1.706 +}, 1.707 + 1.708 +'Location': { 1.709 + # NOTE: Before you turn on codegen for Location, make sure all the 1.710 + # Unforgeable stuff is dealt with. 1.711 + 'nativeType': 'nsIDOMLocation', 1.712 + 'skipGen': True, 1.713 + 'register': False 1.714 +}, 1.715 + 1.716 +'LockedFile': { 1.717 + 'nativeType': 'mozilla::dom::file::LockedFile', 1.718 +}, 1.719 + 1.720 +'MediaList': { 1.721 + 'nativeType': 'nsMediaList', 1.722 + 'headerFile': 'nsIMediaList.h', 1.723 +}, 1.724 + 1.725 +'MediaSource': [{ 1.726 + 'resultNotAddRefed': [ 'sourceBuffers', 'activeSourceBuffers' ], 1.727 +}, 1.728 +{ 1.729 + 'nativeType': 'JSObject', 1.730 + 'workers': True, 1.731 + 'skipGen': True 1.732 +}], 1.733 + 1.734 +'MediaStream': [{ 1.735 + 'headerFile': 'DOMMediaStream.h', 1.736 + 'nativeType': 'mozilla::DOMMediaStream' 1.737 +}, 1.738 +{ 1.739 + 'nativeType': 'JSObject', 1.740 + 'workers': True, 1.741 + 'skipGen': True 1.742 +}], 1.743 + 1.744 +'MediaStreamAudioDestinationNode': { 1.745 + 'resultNotAddRefed': [ 'stream' ], 1.746 + 'binaryNames': { 'stream': 'DOMStream' } 1.747 +}, 1.748 + 1.749 +'MediaStreamList': { 1.750 + 'headerFile': 'MediaStreamList.h', 1.751 + 'resultNotAddRefed': [ '__indexedGetter' ], 1.752 + 'binaryNames': { '__indexedGetter': 'IndexedGetter' } 1.753 +}, 1.754 + 1.755 +'MediaStreamTrack': { 1.756 + 'concrete': False 1.757 +}, 1.758 + 1.759 +'MediaRecorder': { 1.760 + 'headerFile': 'MediaRecorder.h', 1.761 + 'resultNotAddRefed': [ 'stream' ] 1.762 +}, 1.763 + 1.764 +'MessagePort': { 1.765 + 'nativeType': 'mozilla::dom::MessagePortBase', 1.766 + 'headerFile': 'mozilla/dom/MessagePort.h', 1.767 + 'binaryNames': { 1.768 + 'postMessage': 'postMessageMoz', 1.769 + }, 1.770 +}, 1.771 + 1.772 +'MimeType': { 1.773 + 'headerFile' : 'nsMimeTypeArray.h', 1.774 + 'nativeType': 'nsMimeType', 1.775 + 'resultNotAddRefed': [ 'enabledPlugin' ] 1.776 +}, 1.777 + 1.778 +'MimeTypeArray': { 1.779 + 'nativeType': 'nsMimeTypeArray', 1.780 + 'resultNotAddRefed': [ 'item', 'namedItem' ] 1.781 +}, 1.782 + 1.783 +'MozCanvasPrintState': { 1.784 + 'headerFile': 'mozilla/dom/HTMLCanvasElement.h', 1.785 + 'nativeType': 'mozilla::dom::HTMLCanvasPrintState', 1.786 +}, 1.787 + 1.788 +'MozChannel': [ 1.789 +{ 1.790 + 'nativeType': 'nsIChannel', 1.791 + 'notflattened': True 1.792 +}, 1.793 +{ 1.794 + 'workers': True, 1.795 +}], 1.796 + 1.797 +'MozCellBroadcast': { 1.798 + 'nativeType': 'mozilla::dom::CellBroadcast', 1.799 +}, 1.800 + 1.801 +'MozIcc': { 1.802 + 'nativeType': 'mozilla::dom::Icc', 1.803 +}, 1.804 + 1.805 +'MozIccManager': { 1.806 + 'nativeType': 'mozilla::dom::IccManager', 1.807 +}, 1.808 + 1.809 +'MozMobileConnectionArray': { 1.810 + 'nativeType': 'mozilla::dom::MobileConnectionArray', 1.811 + 'resultNotAddRefed': [ 'item' ] 1.812 +}, 1.813 + 1.814 +'MozNamedAttrMap': { 1.815 + 'nativeType': 'nsDOMAttributeMap', 1.816 +}, 1.817 + 1.818 +'MozSpeakerManager': { 1.819 + 'nativeType': 'mozilla::dom::SpeakerManager', 1.820 + 'headerFile': 'SpeakerManager.h' 1.821 +}, 1.822 + 1.823 +'MozPowerManager': { 1.824 + 'nativeType': 'mozilla::dom::PowerManager', 1.825 +}, 1.826 + 1.827 +'MozWakeLock': { 1.828 + 'nativeType': 'mozilla::dom::WakeLock', 1.829 +}, 1.830 + 1.831 +'MozTimeManager': { 1.832 + 'nativeType': 'mozilla::dom::time::TimeManager', 1.833 +}, 1.834 + 1.835 +'MozVoicemail': { 1.836 + 'nativeType': 'mozilla::dom::Voicemail', 1.837 +}, 1.838 + 1.839 +'MutationObserver': { 1.840 + 'nativeType': 'nsDOMMutationObserver', 1.841 +}, 1.842 + 1.843 +'MutationRecord': { 1.844 + 'nativeType': 'nsDOMMutationRecord', 1.845 + 'headerFile': 'nsDOMMutationObserver.h', 1.846 + 'resultNotAddRefed': [ 'target', 'addedNodes', 'removedNodes', 1.847 + 'previousSibling', 'nextSibling' ] 1.848 +}, 1.849 + 1.850 +'NetworkInformation': { 1.851 + 'nativeType': 'mozilla::dom::network::Connection', 1.852 +}, 1.853 + 1.854 +'Node': { 1.855 + 'nativeType': 'nsINode', 1.856 + 'concrete': False, 1.857 + 'resultNotAddRefed': [ 'ownerDocument', 'parentNode', 'parentElement', 1.858 + 'childNodes', 'firstChild', 'lastChild', 1.859 + 'previousSibling', 'nextSibling', 'insertBefore', 1.860 + 'appendChild', 'replaceChild', 'removeChild', 1.861 + 'attributes' ], 1.862 + 'binaryNames': { 1.863 + 'baseURI': 'baseURIFromJS' 1.864 + } 1.865 +}, 1.866 + 1.867 +'NodeIterator': { 1.868 + 'wrapperCache': False, 1.869 + 'resultNotAddRefed': [ 'root', 'referenceNode' ], 1.870 +}, 1.871 + 1.872 +'NodeList': { 1.873 + 'nativeType': 'nsINodeList', 1.874 + 'resultNotAddRefed': [ 'item' ] 1.875 +}, 1.876 + 1.877 +'OfflineAudioCompletionEvent': { 1.878 + 'resultNotAddRefed': [ 'renderedBuffer' ], 1.879 +}, 1.880 + 1.881 +'OfflineAudioContext': { 1.882 + 'nativeType': 'mozilla::dom::AudioContext', 1.883 + 'resultNotAddRefed': [ 'destination', 'listener' ], 1.884 +}, 1.885 + 1.886 +'OfflineResourceList': { 1.887 + 'nativeType': 'nsDOMOfflineResourceList', 1.888 +}, 1.889 + 1.890 +'OscillatorNode': { 1.891 + 'resultNotAddRefed': [ 'frequency', 'detune' ], 1.892 +}, 1.893 + 1.894 +'PaintRequestList': { 1.895 + 'headerFile': 'mozilla/dom/PaintRequest.h', 1.896 + 'resultNotAddRefed': [ 'item' ] 1.897 +}, 1.898 + 1.899 +'PannerNode': { 1.900 + 'resultNotAddRefed': [ 'coneGain', 'distanceGain' ], 1.901 +}, 1.902 + 1.903 +'Path2D': { 1.904 + 'nativeType': 'mozilla::dom::CanvasPath', 1.905 + 'headerFile': 'CanvasRenderingContext2D.h' 1.906 +}, 1.907 + 1.908 +'PeerConnectionImpl': { 1.909 + 'nativeType': 'sipcc::PeerConnectionImpl', 1.910 + 'headerFile': 'PeerConnectionImpl.h', 1.911 + 'wrapperCache': False 1.912 +}, 1.913 + 1.914 +'Performance': { 1.915 + 'nativeType': 'nsPerformance', 1.916 + 'resultNotAddRefed': [ 'timing', 'navigation' ] 1.917 +}, 1.918 + 1.919 +'PerformanceTiming': { 1.920 + 'nativeType': 'nsPerformanceTiming', 1.921 + 'headerFile': 'nsPerformance.h' 1.922 +}, 1.923 + 1.924 +'PerformanceNavigation': { 1.925 + 'nativeType': 'nsPerformanceNavigation', 1.926 + 'headerFile': 'nsPerformance.h' 1.927 +}, 1.928 + 1.929 +'Plugin': { 1.930 + 'headerFile' : 'nsPluginArray.h', 1.931 + 'nativeType': 'nsPluginElement', 1.932 + 'resultNotAddRefed': [ 'item', 'namedItem' ] 1.933 +}, 1.934 + 1.935 +'PluginArray': { 1.936 + 'nativeType': 'nsPluginArray', 1.937 + 'resultNotAddRefed': [ 'item', 'namedItem' ] 1.938 +}, 1.939 + 1.940 +'Position': { 1.941 + 'headerFile': 'nsGeoPosition.h' 1.942 +}, 1.943 + 1.944 +'PositionError': { 1.945 + 'headerFile': 'nsGeolocation.h' 1.946 +}, 1.947 + 1.948 +'Promise': { 1.949 + 'implicitJSContext': [ 'then', 'catch' ], 1.950 +}, 1.951 + 1.952 +'PropertyNodeList': { 1.953 + 'headerFile': 'HTMLPropertiesCollection.h', 1.954 + 'resultNotAddRefed': [ 'item' ] 1.955 +}, 1.956 + 1.957 +'Range': { 1.958 + 'nativeType': 'nsRange', 1.959 + 'resultNotAddRefed': [ 'startContainer', 'endContainer', 'commonAncestorContainer' ], 1.960 + 'binaryNames': { 1.961 + '__stringifier': 'ToString' 1.962 + } 1.963 +}, 1.964 + 1.965 +'Rect': { 1.966 + 'nativeType': 'nsDOMCSSRect', 1.967 + 'resultNotAddRefed': [ 'top', 'right', 'bottom', 'left' ] 1.968 +}, 1.969 + 1.970 +'RGBColor': { 1.971 + 'nativeType': 'nsDOMCSSRGBColor', 1.972 + 'resultNotAddRefed': [ 'alpha', 'blue', 'green', 'red' ] 1.973 +}, 1.974 + 1.975 +'Screen': { 1.976 + 'nativeType': 'nsScreen', 1.977 +}, 1.978 + 1.979 +'Selection': { 1.980 + 'resultNotAddRefed': [ 'anchorNode', 'focusNode', 'getRangeAt' ], 1.981 +}, 1.982 + 1.983 +'ShadowRoot': { 1.984 + 'resultNotAddRefed': [ 1.985 + 'styleSheets' 1.986 + ] 1.987 +}, 1.988 + 1.989 +'HTMLShadowElement': { 1.990 + 'resultNotAddRefed': [ 1.991 + 'getOldShadowRoot' 1.992 + ] 1.993 +}, 1.994 + 1.995 +'SharedWorker': { 1.996 + 'nativeType': 'mozilla::dom::workers::SharedWorker', 1.997 + 'headerFile': 'mozilla/dom/workers/bindings/SharedWorker.h', 1.998 + 'implicitJSContext': [ 'constructor' ], 1.999 +}, 1.1000 + 1.1001 +'SharedWorkerGlobalScope': { 1.1002 + 'headerFile': 'mozilla/dom/WorkerScope.h', 1.1003 + 'workers': True, 1.1004 +}, 1.1005 + 1.1006 +'SourceBufferList': { 1.1007 + 'resultNotAddRefed': [ '__indexedGetter' ], 1.1008 +}, 1.1009 + 1.1010 +'StyleSheet': { 1.1011 + 'nativeType': 'nsCSSStyleSheet', 1.1012 +}, 1.1013 + 1.1014 +'SVGAnimatedLengthList': { 1.1015 + 'nativeType': 'mozilla::DOMSVGAnimatedLengthList', 1.1016 + 'headerFile': 'DOMSVGAnimatedLengthList.h', 1.1017 +}, 1.1018 + 1.1019 +'SVGAnimatedNumberList': { 1.1020 + 'nativeType': 'mozilla::DOMSVGAnimatedNumberList', 1.1021 + 'headerFile': 'DOMSVGAnimatedNumberList.h' 1.1022 +}, 1.1023 + 1.1024 +'SVGAnimatedPreserveAspectRatio': { 1.1025 + 'nativeType': 'mozilla::dom::DOMSVGAnimatedPreserveAspectRatio', 1.1026 + 'headerFile': 'SVGAnimatedPreserveAspectRatio.h' 1.1027 +}, 1.1028 + 1.1029 +'SVGAnimationElement': { 1.1030 + 'resultNotAddRefed': ['targetElement'], 1.1031 + 'concrete': False 1.1032 +}, 1.1033 + 1.1034 +'SVGComponentTransferFunctionElement': { 1.1035 + 'concrete': False, 1.1036 +}, 1.1037 + 1.1038 +'SVGElement': { 1.1039 + 'nativeType': 'nsSVGElement', 1.1040 + 'resultNotAddRefed': ['ownerSVGElement', 'viewportElement', 'style'] 1.1041 +}, 1.1042 + 1.1043 +'SVGFEFuncAElement': { 1.1044 + 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', 1.1045 +}, 1.1046 + 1.1047 +'SVGFEFuncBElement': { 1.1048 + 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', 1.1049 +}, 1.1050 + 1.1051 +'SVGFEFuncGElement': { 1.1052 + 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', 1.1053 +}, 1.1054 + 1.1055 +'SVGFEFuncRElement': { 1.1056 + 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', 1.1057 +}, 1.1058 + 1.1059 +'SVGGraphicsElement': { 1.1060 + 'concrete': False, 1.1061 + 'resultNotAddRefed': ['nearestViewportElement', 'farthestViewportElement'] 1.1062 +}, 1.1063 + 1.1064 +'SVGGradientElement': { 1.1065 + 'concrete': False, 1.1066 +}, 1.1067 + 1.1068 +'SVGLength': { 1.1069 + 'nativeType': 'mozilla::DOMSVGLength', 1.1070 + 'headerFile': 'DOMSVGLength.h' 1.1071 +}, 1.1072 + 1.1073 +'SVGLengthList': { 1.1074 + 'nativeType': 'mozilla::DOMSVGLengthList', 1.1075 + 'headerFile': 'DOMSVGLengthList.h' 1.1076 +}, 1.1077 + 1.1078 +'SVGLinearGradientElement': { 1.1079 + 'headerFile': 'mozilla/dom/SVGGradientElement.h', 1.1080 +}, 1.1081 + 1.1082 +'SVGNumberList': { 1.1083 + 'nativeType': 'mozilla::DOMSVGNumberList', 1.1084 + 'headerFile': 'DOMSVGNumberList.h' 1.1085 +}, 1.1086 + 1.1087 +'SVGPathSeg': { 1.1088 + 'nativeType': 'mozilla::DOMSVGPathSeg', 1.1089 + 'headerFile': 'DOMSVGPathSeg.h', 1.1090 + 'concrete': False, 1.1091 +}, 1.1092 + 1.1093 +'SVGPathSegClosePath': { 1.1094 + 'nativeType': 'mozilla::DOMSVGPathSegClosePath', 1.1095 + 'headerFile': 'DOMSVGPathSeg.h' 1.1096 +}, 1.1097 + 1.1098 +'SVGPathSegMovetoAbs': { 1.1099 + 'nativeType': 'mozilla::DOMSVGPathSegMovetoAbs', 1.1100 + 'headerFile': 'DOMSVGPathSeg.h' 1.1101 +}, 1.1102 + 1.1103 +'SVGPathSegMovetoRel': { 1.1104 + 'nativeType': 'mozilla::DOMSVGPathSegMovetoRel', 1.1105 + 'headerFile': 'DOMSVGPathSeg.h' 1.1106 +}, 1.1107 + 1.1108 +'SVGPathSegLinetoAbs': { 1.1109 + 'nativeType': 'mozilla::DOMSVGPathSegLinetoAbs', 1.1110 + 'headerFile': 'DOMSVGPathSeg.h' 1.1111 +}, 1.1112 + 1.1113 +'SVGPathSegLinetoRel': { 1.1114 + 'nativeType': 'mozilla::DOMSVGPathSegLinetoRel', 1.1115 + 'headerFile': 'DOMSVGPathSeg.h' 1.1116 +}, 1.1117 + 1.1118 +'SVGPathSegCurvetoCubicAbs': { 1.1119 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicAbs', 1.1120 + 'headerFile': 'DOMSVGPathSeg.h' 1.1121 +}, 1.1122 + 1.1123 +'SVGPathSegCurvetoCubicRel': { 1.1124 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicRel', 1.1125 + 'headerFile': 'DOMSVGPathSeg.h' 1.1126 +}, 1.1127 + 1.1128 +'SVGPathSegCurvetoQuadraticAbs': { 1.1129 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticAbs', 1.1130 + 'headerFile': 'DOMSVGPathSeg.h' 1.1131 +}, 1.1132 + 1.1133 +'SVGPathSegCurvetoQuadraticRel': { 1.1134 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticRel', 1.1135 + 'headerFile': 'DOMSVGPathSeg.h' 1.1136 +}, 1.1137 + 1.1138 +'SVGPathSegArcAbs': { 1.1139 + 'nativeType': 'mozilla::DOMSVGPathSegArcAbs', 1.1140 + 'headerFile': 'DOMSVGPathSeg.h' 1.1141 +}, 1.1142 + 1.1143 +'SVGPathSegArcRel': { 1.1144 + 'nativeType': 'mozilla::DOMSVGPathSegArcRel', 1.1145 + 'headerFile': 'DOMSVGPathSeg.h' 1.1146 +}, 1.1147 + 1.1148 +'SVGPathSegLinetoHorizontalAbs': { 1.1149 + 'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalAbs', 1.1150 + 'headerFile': 'DOMSVGPathSeg.h' 1.1151 +}, 1.1152 + 1.1153 +'SVGPathSegLinetoHorizontalRel': { 1.1154 + 'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalRel', 1.1155 + 'headerFile': 'DOMSVGPathSeg.h' 1.1156 +}, 1.1157 + 1.1158 +'SVGPathSegLinetoVerticalAbs': { 1.1159 + 'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalAbs', 1.1160 + 'headerFile': 'DOMSVGPathSeg.h' 1.1161 +}, 1.1162 + 1.1163 +'SVGPathSegLinetoVerticalRel': { 1.1164 + 'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalRel', 1.1165 + 'headerFile': 'DOMSVGPathSeg.h' 1.1166 +}, 1.1167 + 1.1168 +'SVGPathSegCurvetoCubicSmoothAbs': { 1.1169 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothAbs', 1.1170 + 'headerFile': 'DOMSVGPathSeg.h' 1.1171 +}, 1.1172 + 1.1173 +'SVGPathSegCurvetoCubicSmoothRel': { 1.1174 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothRel', 1.1175 + 'headerFile': 'DOMSVGPathSeg.h' 1.1176 +}, 1.1177 + 1.1178 +'SVGPathSegCurvetoQuadraticSmoothAbs': { 1.1179 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothAbs', 1.1180 + 'headerFile': 'DOMSVGPathSeg.h' 1.1181 +}, 1.1182 + 1.1183 +'SVGPathSegCurvetoQuadraticSmoothRel': { 1.1184 + 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothRel', 1.1185 + 'headerFile': 'DOMSVGPathSeg.h' 1.1186 +}, 1.1187 + 1.1188 +'SVGPathSegList': { 1.1189 + 'nativeType': 'mozilla::DOMSVGPathSegList', 1.1190 + 'headerFile': 'DOMSVGPathSegList.h' 1.1191 +}, 1.1192 + 1.1193 +'SVGPoint': { 1.1194 + 'nativeType': 'mozilla::nsISVGPoint', 1.1195 + 'headerFile': 'nsISVGPoint.h' 1.1196 +}, 1.1197 + 1.1198 +'SVGPointList': { 1.1199 + 'nativeType': 'mozilla::DOMSVGPointList', 1.1200 + 'headerFile': 'DOMSVGPointList.h' 1.1201 +}, 1.1202 + 1.1203 +'SVGPreserveAspectRatio': { 1.1204 + 'nativeType': 'mozilla::dom::DOMSVGPreserveAspectRatio', 1.1205 + 'headerFile': 'SVGPreserveAspectRatio.h' 1.1206 +}, 1.1207 + 1.1208 +'SVGRadialGradientElement': { 1.1209 + 'headerFile': 'mozilla/dom/SVGGradientElement.h', 1.1210 +}, 1.1211 + 1.1212 +'SVGRect': { 1.1213 + 'nativeType': 'mozilla::dom::SVGIRect' 1.1214 +}, 1.1215 + 1.1216 +'SVGTextContentElement': { 1.1217 + 'concrete': False 1.1218 +}, 1.1219 + 1.1220 +'SVGTextPositioningElement': { 1.1221 + 'concrete': False 1.1222 +}, 1.1223 + 1.1224 +'SVGTransform': { 1.1225 + 'resultNotAddRefed': [ 'matrix' ], 1.1226 + 'binaryNames': { 1.1227 + "matrix": "GetMatrix" 1.1228 + } 1.1229 +}, 1.1230 + 1.1231 +'SVGTransformList': { 1.1232 + 'nativeType': 'mozilla::DOMSVGTransformList', 1.1233 + 'headerFile': 'DOMSVGTransformList.h' 1.1234 +}, 1.1235 + 1.1236 +'SVGStringList': { 1.1237 + 'nativeType': 'mozilla::DOMSVGStringList', 1.1238 + 'headerFile': 'DOMSVGStringList.h', 1.1239 +}, 1.1240 + 1.1241 +'SVGSVGElement': { 1.1242 + 'resultNotAddRefed': [ 'getElementById' ] 1.1243 +}, 1.1244 + 1.1245 +'SVGUnitTypes' : { 1.1246 + 'concrete': False, 1.1247 +}, 1.1248 + 1.1249 +'SVGZoomAndPan' : { 1.1250 + 'concrete': False, 1.1251 +}, 1.1252 + 1.1253 +'Text': { 1.1254 + # Total hack to allow binding code to realize that nsTextNode can 1.1255 + # in fact be cast to Text. 1.1256 + 'headerFile': 'nsTextNode.h', 1.1257 +}, 1.1258 + 1.1259 +'TextDecoder': { 1.1260 + 'nativeOwnership': 'owned', 1.1261 +}, 1.1262 + 1.1263 +'TextEncoder': { 1.1264 + 'nativeOwnership': 'owned', 1.1265 +}, 1.1266 + 1.1267 +'TextMetrics': { 1.1268 + 'nativeOwnership': 'owned', 1.1269 +}, 1.1270 + 1.1271 +'TimeRanges': { 1.1272 + 'wrapperCache': False 1.1273 +}, 1.1274 + 1.1275 +'TouchList': { 1.1276 + 'headerFile': 'mozilla/dom/TouchEvent.h', 1.1277 +}, 1.1278 + 1.1279 +'TreeColumns': { 1.1280 + 'nativeType': 'nsTreeColumns', 1.1281 +}, 1.1282 + 1.1283 +'TreeWalker': { 1.1284 + 'wrapperCache': False, 1.1285 + 'resultNotAddRefed': [ 'root', 'currentNode' ], 1.1286 +}, 1.1287 + 1.1288 +'UndoManager': { 1.1289 + 'implicitJSContext' : [ 'undo', 'redo', 'transact' ], 1.1290 +}, 1.1291 + 1.1292 +'URL' : [{ 1.1293 + 'wrapperCache': False, 1.1294 +}, 1.1295 +{ 1.1296 + 'workers': True, 1.1297 + 'wrapperCache': False, 1.1298 +}], 1.1299 + 1.1300 +'VTTCue': { 1.1301 + 'nativeType': 'mozilla::dom::TextTrackCue' 1.1302 +}, 1.1303 + 1.1304 +'VTTRegion': { 1.1305 + 'nativeType': 'mozilla::dom::TextTrackRegion', 1.1306 +}, 1.1307 + 1.1308 +'WebGLActiveInfo': { 1.1309 + 'nativeType': 'mozilla::WebGLActiveInfo', 1.1310 + 'headerFile': 'WebGLActiveInfo.h', 1.1311 + 'wrapperCache': False 1.1312 +}, 1.1313 + 1.1314 +'WebGLBuffer': { 1.1315 + 'nativeType': 'mozilla::WebGLBuffer', 1.1316 + 'headerFile': 'WebGLBuffer.h' 1.1317 +}, 1.1318 + 1.1319 +'WebGLExtensionCompressedTextureATC': { 1.1320 + 'nativeType': 'mozilla::WebGLExtensionCompressedTextureATC', 1.1321 + 'headerFile': 'WebGLExtensions.h' 1.1322 +}, 1.1323 + 1.1324 +'WebGLExtensionCompressedTextureETC1': { 1.1325 + 'nativeType': 'mozilla::WebGLExtensionCompressedTextureETC1', 1.1326 + 'headerFile': 'WebGLExtensions.h' 1.1327 +}, 1.1328 + 1.1329 +'WebGLExtensionCompressedTexturePVRTC': { 1.1330 + 'nativeType': 'mozilla::WebGLExtensionCompressedTexturePVRTC', 1.1331 + 'headerFile': 'WebGLExtensions.h' 1.1332 +}, 1.1333 + 1.1334 +'WebGLExtensionCompressedTextureS3TC': { 1.1335 + 'nativeType': 'mozilla::WebGLExtensionCompressedTextureS3TC', 1.1336 + 'headerFile': 'WebGLExtensions.h' 1.1337 +}, 1.1338 + 1.1339 +'WebGLExtensionDepthTexture': { 1.1340 + 'nativeType': 'mozilla::WebGLExtensionDepthTexture', 1.1341 + 'headerFile': 'WebGLExtensions.h' 1.1342 +}, 1.1343 + 1.1344 +'WebGLExtensionDebugRendererInfo': { 1.1345 + 'nativeType': 'mozilla::WebGLExtensionDebugRendererInfo', 1.1346 + 'headerFile': 'WebGLExtensions.h' 1.1347 +}, 1.1348 + 1.1349 +'WebGLExtensionDebugShaders': { 1.1350 + 'nativeType': 'mozilla::WebGLExtensionDebugShaders', 1.1351 + 'headerFile': 'WebGLExtensions.h' 1.1352 +}, 1.1353 + 1.1354 +'WebGLExtensionElementIndexUint': { 1.1355 + 'nativeType': 'mozilla::WebGLExtensionElementIndexUint', 1.1356 + 'headerFile': 'WebGLExtensions.h' 1.1357 +}, 1.1358 + 1.1359 +'WebGLExtensionFragDepth': { 1.1360 + 'nativeType': 'mozilla::WebGLExtensionFragDepth', 1.1361 + 'headerFile': 'WebGLExtensions.h' 1.1362 +}, 1.1363 + 1.1364 +'WebGLExtensionLoseContext': { 1.1365 + 'nativeType': 'mozilla::WebGLExtensionLoseContext', 1.1366 + 'headerFile': 'WebGLExtensions.h' 1.1367 +}, 1.1368 + 1.1369 +'WebGLExtensionSRGB': { 1.1370 + 'nativeType': 'mozilla::WebGLExtensionSRGB', 1.1371 + 'headerFile': 'WebGLExtensions.h' 1.1372 +}, 1.1373 + 1.1374 +'WebGLExtensionStandardDerivatives': { 1.1375 + 'nativeType': 'mozilla::WebGLExtensionStandardDerivatives', 1.1376 + 'headerFile': 'WebGLExtensions.h' 1.1377 +}, 1.1378 + 1.1379 +'WebGLExtensionTextureFilterAnisotropic': { 1.1380 + 'nativeType': 'mozilla::WebGLExtensionTextureFilterAnisotropic', 1.1381 + 'headerFile': 'WebGLExtensions.h' 1.1382 +}, 1.1383 + 1.1384 +'WebGLExtensionTextureFloat': { 1.1385 + 'nativeType': 'mozilla::WebGLExtensionTextureFloat', 1.1386 + 'headerFile': 'WebGLExtensions.h' 1.1387 +}, 1.1388 + 1.1389 +'WebGLExtensionTextureFloatLinear': { 1.1390 + 'nativeType': 'mozilla::WebGLExtensionTextureFloatLinear', 1.1391 + 'headerFile': 'WebGLExtensions.h' 1.1392 +}, 1.1393 + 1.1394 +'WebGLExtensionTextureHalfFloat': { 1.1395 + 'nativeType': 'mozilla::WebGLExtensionTextureHalfFloat', 1.1396 + 'headerFile': 'WebGLExtensions.h' 1.1397 +}, 1.1398 + 1.1399 +'WebGLExtensionTextureHalfFloatLinear': { 1.1400 + 'nativeType': 'mozilla::WebGLExtensionTextureHalfFloatLinear', 1.1401 + 'headerFile': 'WebGLExtensions.h' 1.1402 +}, 1.1403 + 1.1404 +'WebGLExtensionColorBufferFloat': { 1.1405 + 'nativeType': 'mozilla::WebGLExtensionColorBufferFloat', 1.1406 + 'headerFile': 'WebGLExtensions.h' 1.1407 +}, 1.1408 + 1.1409 +'WebGLExtensionColorBufferHalfFloat': { 1.1410 + 'nativeType': 'mozilla::WebGLExtensionColorBufferHalfFloat', 1.1411 + 'headerFile': 'WebGLExtensions.h' 1.1412 +}, 1.1413 + 1.1414 +'WebGLExtensionDrawBuffers': { 1.1415 + 'nativeType': 'mozilla::WebGLExtensionDrawBuffers', 1.1416 + 'headerFile': 'WebGLExtensions.h' 1.1417 +}, 1.1418 + 1.1419 +'WebGLExtensionVertexArray': { 1.1420 + 'nativeType': 'mozilla::WebGLExtensionVertexArray', 1.1421 + 'headerFile': 'WebGLExtensions.h' 1.1422 +}, 1.1423 + 1.1424 +'WebGLExtensionInstancedArrays': { 1.1425 + 'nativeType': 'mozilla::WebGLExtensionInstancedArrays', 1.1426 + 'headerFile': 'WebGLExtensions.h' 1.1427 +}, 1.1428 + 1.1429 +'WebGLFramebuffer': { 1.1430 + 'nativeType': 'mozilla::WebGLFramebuffer', 1.1431 + 'headerFile': 'WebGLFramebuffer.h' 1.1432 +}, 1.1433 + 1.1434 +'WebGLProgram': { 1.1435 + 'nativeType': 'mozilla::WebGLProgram', 1.1436 + 'headerFile': 'WebGLProgram.h' 1.1437 +}, 1.1438 + 1.1439 +'WebGLQuery': { 1.1440 + 'nativeType': 'mozilla::WebGLQuery', 1.1441 + 'headerFile': 'WebGLQuery.h' 1.1442 +}, 1.1443 + 1.1444 +'WebGLRenderbuffer': { 1.1445 + 'nativeType': 'mozilla::WebGLRenderbuffer', 1.1446 + 'headerFile': 'WebGLRenderbuffer.h' 1.1447 +}, 1.1448 + 1.1449 +'WebGLRenderingContext': { 1.1450 + 'nativeType': 'mozilla::WebGLContext', 1.1451 + 'headerFile': 'WebGLContext.h', 1.1452 + 'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension', 1.1453 + 'getAttachedShaders' ], 1.1454 + 'implicitJSContext': [ 'getSupportedExtensions' ], 1.1455 +}, 1.1456 + 1.1457 +'WebGL2RenderingContext': { 1.1458 + 'nativeType': 'mozilla::WebGLContext', 1.1459 + 'headerFile': 'WebGLContext.h', 1.1460 + 'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension', 1.1461 + 'getAttachedShaders' ], 1.1462 + 'implicitJSContext': [ 'getSupportedExtensions' ], 1.1463 +}, 1.1464 + 1.1465 +'WebGLShader': { 1.1466 + 'nativeType': 'mozilla::WebGLShader', 1.1467 + 'headerFile': 'WebGLShader.h' 1.1468 +}, 1.1469 + 1.1470 +'WebGLShaderPrecisionFormat': { 1.1471 + 'nativeType': 'mozilla::WebGLShaderPrecisionFormat', 1.1472 + 'headerFile': 'WebGLShaderPrecisionFormat.h', 1.1473 + 'wrapperCache': False 1.1474 +}, 1.1475 + 1.1476 +'WebGLTexture': { 1.1477 + 'nativeType': 'mozilla::WebGLTexture', 1.1478 + 'headerFile': 'WebGLTexture.h' 1.1479 +}, 1.1480 + 1.1481 +'WebGLUniformLocation': { 1.1482 + 'nativeType': 'mozilla::WebGLUniformLocation', 1.1483 + 'headerFile': 'WebGLUniformLocation.h', 1.1484 + 'wrapperCache': False 1.1485 +}, 1.1486 + 1.1487 +'WebGLVertexArray': { 1.1488 + 'nativeType': 'mozilla::WebGLVertexArray', 1.1489 + 'headerFile': 'WebGLVertexArray.h' 1.1490 +}, 1.1491 + 1.1492 +'WebrtcGlobalInformation': { 1.1493 + 'nativeType': 'mozilla::dom::WebrtcGlobalInformation', 1.1494 + 'headerFile': 'WebrtcGlobalInformation.h', 1.1495 + 'wrapperCache': False, 1.1496 + 'concrete': False, 1.1497 +}, 1.1498 + 1.1499 +'WebSocket': { 1.1500 + 'headerFile': 'WebSocket.h', 1.1501 +}, 1.1502 + 1.1503 +'Window': { 1.1504 + 'nativeType': 'nsGlobalWindow', 1.1505 + # When turning on Window, remember to drop the "'register': False" 1.1506 + # from ChromeWindow. 1.1507 + 'hasXPConnectImpls': True, 1.1508 + 'register': False, 1.1509 + 'binaryNames': { 1.1510 + 'postMessage': 'postMessageMoz', 1.1511 + }, 1.1512 +}, 1.1513 + 1.1514 +'WindowProxy': [ 1.1515 +{ 1.1516 + 'nativeType': 'nsIDOMWindow', 1.1517 + 'concrete': False 1.1518 +}, 1.1519 +{ 1.1520 + # We need a worker descriptor for WindowProxy because EventTarget exists in 1.1521 + # workers. But it's an external interface, so it'll just map to JSObject*. 1.1522 + 'workers': True 1.1523 +}], 1.1524 + 1.1525 +'Worker': { 1.1526 + 'headerFile': 'mozilla/dom/WorkerPrivate.h', 1.1527 + 'nativeType': 'mozilla::dom::workers::WorkerPrivate', 1.1528 + 'implicitJSContext': [ 1.1529 + 'terminate', 1.1530 + ], 1.1531 +}, 1.1532 + 1.1533 +'WorkerGlobalScope': { 1.1534 + 'headerFile': 'mozilla/dom/WorkerScope.h', 1.1535 + 'workers': True, 1.1536 + 'concrete': False, 1.1537 + 'implicitJSContext': [ 1.1538 + 'close', 'importScripts', 1.1539 + ], 1.1540 + 'binaryNames': { 'console': 'getConsole', }, 1.1541 +}, 1.1542 + 1.1543 +'WorkerLocation': { 1.1544 + 'headerFile': 'mozilla/dom/workers/bindings/Location.h', 1.1545 + 'workers': True, 1.1546 +}, 1.1547 + 1.1548 +'WorkerNavigator': { 1.1549 + 'headerFile': 'mozilla/dom/workers/bindings/Navigator.h', 1.1550 + 'workers': True, 1.1551 +}, 1.1552 + 1.1553 +'XMLHttpRequest': [ 1.1554 +{ 1.1555 + 'nativeType': 'nsXMLHttpRequest', 1.1556 + 'implicitJSContext': [ 'constructor', 'send'], 1.1557 + 'resultNotAddRefed': [ 'upload', 'responseXML' ] 1.1558 +}, 1.1559 +{ 1.1560 + 'workers': True, 1.1561 + # XXXkhuey responseXML returns Document? which boils down to a JSObject* 1.1562 + # on a worker, and nsRefPtr<JSObject> fails in the expected way. channel is 1.1563 + # similar. This is ugly but it's all going away soon anyways. 1.1564 + 'resultNotAddRefed': [ 1.1565 + 'responseXML', 'channel' 1.1566 + ] 1.1567 +}], 1.1568 + 1.1569 +'XMLHttpRequestEventTarget': { 1.1570 + 'nativeType': 'nsXHREventTarget', 1.1571 + 'headerFile': 'nsXMLHttpRequest.h', 1.1572 + 'concrete': False 1.1573 +}, 1.1574 + 1.1575 +'XMLHttpRequestUpload': [ 1.1576 +{ 1.1577 + 'nativeType': 'nsXMLHttpRequestUpload', 1.1578 + 'headerFile': 'nsXMLHttpRequest.h' 1.1579 +}, 1.1580 +{ 1.1581 + 'workers': True, 1.1582 +}], 1.1583 + 1.1584 +'XMLSerializer': { 1.1585 + 'nativeType': 'nsDOMSerializer', 1.1586 +}, 1.1587 + 1.1588 +'XMLStylesheetProcessingInstruction': { 1.1589 + 'resultNotAddRefed': [ 'sheet' ] 1.1590 +}, 1.1591 + 1.1592 +'XPathEvaluator': { 1.1593 + 'wrapperCache': False 1.1594 +}, 1.1595 + 1.1596 +'XULDocument': { 1.1597 + 'headerFile': 'XULDocument.h' 1.1598 +}, 1.1599 + 1.1600 +'XULElement': { 1.1601 + 'nativeType': 'nsXULElement', 1.1602 + 'resultNotAddRefed': [ 'controllers', 'style' ] 1.1603 +}, 1.1604 + 1.1605 +#################################### 1.1606 +# Test Interfaces of various sorts # 1.1607 +#################################### 1.1608 + 1.1609 +'TestInterface' : { 1.1610 + # Keep this in sync with TestExampleInterface 1.1611 + 'headerFile': 'TestBindingHeader.h', 1.1612 + 'register': False, 1.1613 + 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf', 1.1614 + 'receiveWeakOther', 'receiveWeakNullableOther', 1.1615 + 'receiveWeakExternal', 'receiveWeakNullableExternal', 1.1616 + 'ReceiveWeakCallbackInterface', 1.1617 + 'ReceiveWeakNullableCallbackInterface', 1.1618 + 'receiveWeakCastableObjectSequence', 1.1619 + 'receiveWeakNullableCastableObjectSequence', 1.1620 + 'receiveWeakCastableObjectNullableSequence', 1.1621 + 'receiveWeakNullableCastableObjectNullableSequence' ], 1.1622 + 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo', 1.1623 + 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo', 1.1624 + 'attributeRenamedFrom': 'attributeRenamedTo' } 1.1625 + }, 1.1626 + 1.1627 +'TestParentInterface' : { 1.1628 + 'headerFile': 'TestBindingHeader.h', 1.1629 + 'register': False, 1.1630 + }, 1.1631 + 1.1632 +'TestChildInterface' : { 1.1633 + 'headerFile': 'TestBindingHeader.h', 1.1634 + 'register': False, 1.1635 + }, 1.1636 + 1.1637 +'TestCImplementedInterface' : { 1.1638 + 'headerFile': 'TestCImplementedInterface.h', 1.1639 + 'register': False, 1.1640 + }, 1.1641 + 1.1642 +'TestCImplementedInterface2' : { 1.1643 + 'headerFile': 'TestCImplementedInterface.h', 1.1644 + 'register': False, 1.1645 + }, 1.1646 + 1.1647 +'TestJSImplInterface' : { 1.1648 + # Keep this in sync with TestExampleInterface 1.1649 + 'headerFile': 'TestJSImplGenBinding.h', 1.1650 + 'register': False, 1.1651 + 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf', 1.1652 + 'receiveWeakOther', 'receiveWeakNullableOther', 1.1653 + 'receiveWeakExternal', 'receiveWeakNullableExternal', 1.1654 + 'ReceiveWeakCallbackInterface', 1.1655 + 'ReceiveWeakNullableCallbackInterface', 1.1656 + 'receiveWeakCastableObjectSequence', 1.1657 + 'receiveWeakNullableCastableObjectSequence', 1.1658 + 'receiveWeakCastableObjectNullableSequence', 1.1659 + 'receiveWeakNullableCastableObjectNullableSequence' ], 1.1660 + 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo', 1.1661 + 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo', 1.1662 + 'attributeRenamedFrom': 'attributeRenamedTo' } 1.1663 + }, 1.1664 + 1.1665 +'TestJSImplInterface2' : { 1.1666 + 'headerFile': 'TestJSImplGenBinding.h', 1.1667 + 'register': False 1.1668 + }, 1.1669 + 1.1670 +'TestJSImplInterface3' : { 1.1671 + 'headerFile': 'TestJSImplGenBinding.h', 1.1672 + 'register': False 1.1673 + }, 1.1674 + 1.1675 +'TestJSImplInterface4' : { 1.1676 + 'headerFile': 'TestJSImplGenBinding.h', 1.1677 + 'register': False 1.1678 + }, 1.1679 + 1.1680 +'TestJSImplInterface5' : { 1.1681 + 'headerFile': 'TestJSImplGenBinding.h', 1.1682 + 'register': False 1.1683 + }, 1.1684 + 1.1685 +'TestJSImplInterface6' : { 1.1686 + 'headerFile': 'TestJSImplGenBinding.h', 1.1687 + 'register': False 1.1688 + }, 1.1689 + 1.1690 +'TestNavigator' : { 1.1691 + 'headerFile': 'TestJSImplGenBinding.h', 1.1692 + 'register' : False 1.1693 + }, 1.1694 + 1.1695 +'TestNavigatorWithConstructor' : { 1.1696 + 'headerFile': 'TestJSImplGenBinding.h', 1.1697 + 'register' : False 1.1698 + }, 1.1699 + 1.1700 +'TestExternalInterface' : { 1.1701 + 'nativeType': 'mozilla::dom::TestExternalInterface', 1.1702 + 'headerFile': 'TestBindingHeader.h', 1.1703 + 'register': False 1.1704 + }, 1.1705 + 1.1706 +'TestNonWrapperCacheInterface' : { 1.1707 + 'headerFile': 'TestBindingHeader.h', 1.1708 + 'register': False, 1.1709 + 'wrapperCache': False 1.1710 + }, 1.1711 + 1.1712 +'IndirectlyImplementedInterface': { 1.1713 + 'headerFile': 'TestBindingHeader.h', 1.1714 + 'register': False, 1.1715 + 'castable': False, 1.1716 + 'concrete': False 1.1717 + }, 1.1718 + 1.1719 +'OnlyForUseInConstructor' : { 1.1720 + 'headerFile': 'TestBindingHeader.h', 1.1721 + 'register': False 1.1722 + }, 1.1723 + 1.1724 +'ImplementedInterface' : { 1.1725 + 'headerFile': 'TestBindingHeader.h', 1.1726 + 'concrete': False, 1.1727 + 'register': False, 1.1728 + }, 1.1729 + 1.1730 +'ImplementedInterfaceParent' : { 1.1731 + 'headerFile': 'TestBindingHeader.h', 1.1732 + 'concrete': False, 1.1733 + 'register': False 1.1734 + }, 1.1735 + 1.1736 +'DiamondImplements' : { 1.1737 + 'headerFile': 'TestBindingHeader.h', 1.1738 + 'concrete': False, 1.1739 + 'register': False 1.1740 + }, 1.1741 + 1.1742 +'DiamondBranch1A' : { 1.1743 + 'headerFile': 'TestBindingHeader.h', 1.1744 + 'concrete': False, 1.1745 + 'register': False 1.1746 + }, 1.1747 + 1.1748 +'DiamondBranch1B' : { 1.1749 + 'headerFile': 'TestBindingHeader.h', 1.1750 + 'concrete': False, 1.1751 + 'register': False 1.1752 + }, 1.1753 + 1.1754 +'DiamondBranch2A' : { 1.1755 + 'headerFile': 'TestBindingHeader.h', 1.1756 + 'concrete': False, 1.1757 + 'register': False 1.1758 + }, 1.1759 + 1.1760 +'DiamondBranch2B' : { 1.1761 + 'headerFile': 'TestBindingHeader.h', 1.1762 + 'concrete': False, 1.1763 + 'register': False 1.1764 + }, 1.1765 + 1.1766 +'TestIndexedGetterInterface' : { 1.1767 + 'headerFile': 'TestBindingHeader.h', 1.1768 + 'register': False 1.1769 + }, 1.1770 + 1.1771 +'TestNamedGetterInterface' : { 1.1772 + 'headerFile': 'TestBindingHeader.h', 1.1773 + 'register': False 1.1774 + }, 1.1775 + 1.1776 +'TestIndexedGetterAndSetterAndNamedGetterInterface' : { 1.1777 + 'headerFile': 'TestBindingHeader.h', 1.1778 + 'register': False 1.1779 + }, 1.1780 + 1.1781 +'TestIndexedAndNamedGetterInterface' : { 1.1782 + 'headerFile': 'TestBindingHeader.h', 1.1783 + 'register': False 1.1784 + }, 1.1785 + 1.1786 +'TestIndexedSetterInterface' : { 1.1787 + 'headerFile': 'TestBindingHeader.h', 1.1788 + 'register': False 1.1789 + }, 1.1790 + 1.1791 +'TestNamedSetterInterface' : { 1.1792 + 'headerFile': 'TestBindingHeader.h', 1.1793 + 'register': False 1.1794 + }, 1.1795 + 1.1796 +'TestIndexedAndNamedSetterInterface' : { 1.1797 + 'headerFile': 'TestBindingHeader.h', 1.1798 + 'register': False 1.1799 + }, 1.1800 + 1.1801 +'TestIndexedAndNamedGetterAndSetterInterface' : { 1.1802 + 'headerFile': 'TestBindingHeader.h', 1.1803 + 'register': False, 1.1804 + }, 1.1805 + 1.1806 +'TestRenamedInterface' : { 1.1807 + 'headerFile': 'TestBindingHeader.h', 1.1808 + 'register': False, 1.1809 + 'nativeType': 'nsRenamedInterface' 1.1810 + }, 1.1811 + 1.1812 +'TestIndexedDeleterInterface' : { 1.1813 + 'headerFile': 'TestBindingHeader.h', 1.1814 + 'register': False 1.1815 + }, 1.1816 + 1.1817 +'TestIndexedDeleterWithRetvalInterface' : { 1.1818 + 'headerFile': 'TestBindingHeader.h', 1.1819 + 'register': False 1.1820 + }, 1.1821 + 1.1822 +'TestNamedDeleterInterface' : { 1.1823 + 'headerFile': 'TestBindingHeader.h', 1.1824 + 'register': False 1.1825 + }, 1.1826 + 1.1827 +'TestNamedDeleterWithRetvalInterface' : { 1.1828 + 'headerFile': 'TestBindingHeader.h', 1.1829 + 'register': False 1.1830 + }, 1.1831 + 1.1832 +'TestIndexedAndNamedDeleterInterface' : { 1.1833 + 'headerFile': 'TestBindingHeader.h', 1.1834 + 'register': False 1.1835 + }, 1.1836 + 1.1837 +'TestCppKeywordNamedMethodsInterface' : { 1.1838 + 'headerFile': 'TestBindingHeader.h', 1.1839 + 'register': False 1.1840 + }, 1.1841 + 1.1842 +'TestExampleInterface' : { 1.1843 + # Keep this in sync with TestInterface 1.1844 + 'headerFile': 'TestExampleInterface-example.h', 1.1845 + 'register': False, 1.1846 + 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf', 1.1847 + 'receiveWeakOther', 'receiveWeakNullableOther', 1.1848 + 'receiveWeakExternal', 'receiveWeakNullableExternal', 1.1849 + 'ReceiveWeakCallbackInterface', 1.1850 + 'ReceiveWeakNullableCallbackInterface', 1.1851 + 'receiveWeakCastableObjectSequence', 1.1852 + 'receiveWeakNullableCastableObjectSequence', 1.1853 + 'receiveWeakCastableObjectNullableSequence', 1.1854 + 'receiveWeakNullableCastableObjectNullableSequence' ], 1.1855 + 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo', 1.1856 + 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo', 1.1857 + 'attributeRenamedFrom': 'attributeRenamedTo' } 1.1858 + }, 1.1859 + 1.1860 +'TestExampleProxyInterface' : { 1.1861 + 'headerFile': 'TestExampleProxyInterface-example.h', 1.1862 + 'register': False 1.1863 + } 1.1864 +} 1.1865 + 1.1866 +# These are temporary, until they've been converted to use new DOM bindings 1.1867 +def addExternalIface(iface, nativeType=None, headerFile=None, 1.1868 + notflattened=False): 1.1869 + if iface in DOMInterfaces: 1.1870 + raise Exception('Interface declared both as WebIDL and External interface') 1.1871 + domInterface = { 1.1872 + 'concrete': False 1.1873 + } 1.1874 + if not nativeType is None: 1.1875 + domInterface['nativeType'] = nativeType 1.1876 + if not headerFile is None: 1.1877 + domInterface['headerFile'] = headerFile 1.1878 + domInterface['notflattened'] = notflattened 1.1879 + DOMInterfaces[iface] = domInterface 1.1880 + 1.1881 +addExternalIface('ApplicationCache', nativeType='nsIDOMOfflineResourceList') 1.1882 +addExternalIface('Counter') 1.1883 +addExternalIface('CSSRule') 1.1884 +addExternalIface('mozIDOMApplication', nativeType='mozIDOMApplication', headerFile='nsIDOMApplicationRegistry.h') 1.1885 +addExternalIface('CSSRuleList') 1.1886 +addExternalIface('RTCDataChannel', nativeType='nsIDOMDataChannel') 1.1887 +addExternalIface('File') 1.1888 +addExternalIface('HitRegionOptions', nativeType='nsISupports') 1.1889 +addExternalIface('imgINotificationObserver', nativeType='imgINotificationObserver') 1.1890 +addExternalIface('imgIRequest', nativeType='imgIRequest', notflattened=True) 1.1891 +addExternalIface('MenuBuilder', nativeType='nsIMenuBuilder', notflattened=True) 1.1892 +addExternalIface('MozBoxObject', nativeType='nsIBoxObject') 1.1893 +addExternalIface('MozControllers', nativeType='nsIControllers') 1.1894 +addExternalIface('MozFrameLoader', nativeType='nsIFrameLoader', notflattened=True) 1.1895 +addExternalIface('MozFrameRequestCallback', nativeType='nsIFrameRequestCallback', 1.1896 + notflattened=True) 1.1897 +addExternalIface('MozIccInfo', headerFile='nsIDOMIccInfo.h') 1.1898 +addExternalIface('MozMobileConnection', headerFile='nsIDOMMobileConnection.h') 1.1899 +addExternalIface('MozMobileMessageManager', headerFile='nsIDOMMobileMessageManager.h') 1.1900 +addExternalIface('MozObserver', nativeType='nsIObserver', notflattened=True) 1.1901 +addExternalIface('MozRDFCompositeDataSource', nativeType='nsIRDFCompositeDataSource', 1.1902 + notflattened=True) 1.1903 +addExternalIface('MozRDFResource', nativeType='nsIRDFResource', notflattened=True) 1.1904 +addExternalIface('MozTreeBoxObject', nativeType='nsITreeBoxObject', 1.1905 + notflattened=True) 1.1906 +addExternalIface('MozTreeColumn', nativeType='nsITreeColumn', 1.1907 + headerFile='nsITreeColumns.h') 1.1908 +addExternalIface('MozVoicemailStatus') 1.1909 +addExternalIface('MozWakeLockListener', headerFile='nsIDOMWakeLockListener.h') 1.1910 +addExternalIface('MozXULTemplateBuilder', nativeType='nsIXULTemplateBuilder') 1.1911 +addExternalIface('nsIBrowserDOMWindow', nativeType='nsIBrowserDOMWindow', 1.1912 + notflattened=True) 1.1913 +addExternalIface('nsIControllers', nativeType='nsIControllers') 1.1914 +addExternalIface('nsIDOMCrypto', nativeType='nsIDOMCrypto', 1.1915 + headerFile='Crypto.h') 1.1916 +addExternalIface('nsIInputStreamCallback', nativeType='nsIInputStreamCallback', 1.1917 + headerFile='nsIAsyncInputStream.h') 1.1918 +addExternalIface('nsIMessageBroadcaster', nativeType='nsIMessageBroadcaster', 1.1919 + headerFile='nsIMessageManager.h', notflattened=True) 1.1920 +addExternalIface('nsISelectionListener', nativeType='nsISelectionListener') 1.1921 +addExternalIface('nsIStreamListener', nativeType='nsIStreamListener', notflattened=True) 1.1922 +addExternalIface('nsISupports', nativeType='nsISupports') 1.1923 +addExternalIface('nsIDocShell', nativeType='nsIDocShell', notflattened=True) 1.1924 +addExternalIface('nsIEditor', nativeType='nsIEditor', notflattened=True) 1.1925 +addExternalIface('nsIVariant', nativeType='nsIVariant', notflattened=True) 1.1926 +addExternalIface('OutputStream', nativeType='nsIOutputStream', 1.1927 + notflattened=True) 1.1928 +addExternalIface('Principal', nativeType='nsIPrincipal', 1.1929 + headerFile='nsIPrincipal.h', notflattened=True) 1.1930 +addExternalIface('StackFrame', nativeType='nsIStackFrame', 1.1931 + headerFile='nsIException.h', notflattened=True) 1.1932 +addExternalIface('SVGNumber') 1.1933 +addExternalIface('URI', nativeType='nsIURI', headerFile='nsIURI.h', 1.1934 + notflattened=True) 1.1935 +addExternalIface('UserDataHandler') 1.1936 +addExternalIface('XPathResult', nativeType='nsISupports') 1.1937 +addExternalIface('XPathExpression') 1.1938 +addExternalIface('XPathNSResolver') 1.1939 +addExternalIface('XULCommandDispatcher')