mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
7f4c6bd321
Backed out changeset 5d17d90b838d (bug 915757) Backed out changeset 91495d3a91c8 (bug 919885)
1869 lines
48 KiB
Plaintext
1869 lines
48 KiB
Plaintext
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
# DOM Bindings Configuration.
|
|
#
|
|
# The WebIDL interfaces are defined in dom/webidl. For each such interface, there
|
|
# is a corresponding entry in the configuration table below. The configuration
|
|
# table maps each interface name to a |descriptor| or list of |descriptor|s.
|
|
#
|
|
# Valid fields for all descriptors:
|
|
# * nativeType - The native type (concrete class or XPCOM interface) that
|
|
# instances of this interface will unwrap to. If not
|
|
# specified, defaults to 'mozilla::dom::InterfaceName' for
|
|
# non-worker non-external-or-callback interfaces, to
|
|
# 'mozilla::dom::workers::InterfaceName' for worker
|
|
# non-external interfaces, to 'nsIDOM' followed by the
|
|
# interface name for non-worker external-or-callback
|
|
# interfaces, and to 'JSObject' for worker external-or-callback
|
|
# interfaces.
|
|
# * headerFile - The file in which the nativeType is declared (defaults
|
|
# to an educated guess).
|
|
# * concrete - Indicates whether there exist JS objects with this interface as
|
|
# their primary interface (and hence whose prototype is this
|
|
# interface's prototype object). Always False for callback
|
|
# interfaces. Defaults to True otherwise.
|
|
# * workers - Indicates whether the descriptor is intended to be used solely
|
|
# for worker threads (defaults to false). If true the interface
|
|
# will not be made available on the main thread.
|
|
# * customTrace - The native class will use a custom trace hook (defaults to
|
|
# true for workers, false otherwise).
|
|
# * customFinalize - The native class will use a custom finalize hook
|
|
# (defaults to true for workers, false otherwise).
|
|
# * notflattened - The native type does not have nsIClassInfo, so when
|
|
# wrapping it the right IID needs to be passed in.
|
|
# * register - True if this binding should be registered. Defaults to true.
|
|
# * binaryNames - Dict for mapping method and attribute names to different
|
|
# names when calling the native methods (defaults to an empty
|
|
# dict). The keys are the property names as they appear in the
|
|
# .webidl file and the values are the names as they should be
|
|
# in the WebIDL.
|
|
# * wrapperCache: True if this object is a wrapper cache. Objects that are
|
|
# not can only be returned from a limited set of methods,
|
|
# cannot be prefable, and must ensure that they disallow
|
|
# XPConnect wrapping. Always false for callback interfaces.
|
|
# Always true for worker descriptors for non-callback
|
|
# interfaces. Defaults to true for non-worker non-callback
|
|
# descriptors.
|
|
# * nativeOwnership: Describes how the native object is held. 3 possible
|
|
# types: worker object ('worker'), non-refcounted object
|
|
# ('owned'), refcounted object ('refcounted').
|
|
# Non-refcounted objects need to inherit from
|
|
# mozilla::dom::NonRefcountedDOMObject and preferably use
|
|
# MOZ_COUNT_CTOR/MOZ_COUNT_DTOR in their
|
|
# constructor/destructor so they participate in leak
|
|
# logging.
|
|
# This mostly determines how the finalizer releases the
|
|
# binding's hold on the native object. For a worker object
|
|
# it'll call Release, for a non-refcounted object it'll
|
|
# call delete through XPConnect's deferred finalization
|
|
# mechanism, for a refcounted object it'll call Release
|
|
# through XPConnect's deferred finalization mechanism.
|
|
# 'worker' opts into old style worker models. Defaults to
|
|
# 'refcounted'.
|
|
#
|
|
# The following fields are either a string, an array (defaults to an empty
|
|
# array) or a dictionary with three possible keys (all, getterOnly and
|
|
# setterOnly) each having such an array as the value
|
|
#
|
|
# * implicitJSContext - attributes and methods specified in the .webidl file
|
|
# that require a JSContext as the first argument
|
|
# * resultNotAddRefed - attributes and methods specified in the .webidl file
|
|
# that do not AddRef the return value
|
|
#
|
|
# A descriptor can also have 'skipGen': True specified if it should be skipped
|
|
# when deciding what header includes to generate and should never have an
|
|
# implementation generated for it. This is only needed in special cases like
|
|
# worker descriptors for objects that will never actually appear in workers.
|
|
|
|
DOMInterfaces = {
|
|
|
|
'MozActivity': {
|
|
'nativeType': 'mozilla::dom::Activity',
|
|
},
|
|
|
|
'AbstractWorker': {
|
|
'concrete': False
|
|
},
|
|
|
|
'AnimationEvent': {
|
|
'nativeType': 'nsDOMAnimationEvent',
|
|
},
|
|
|
|
'ArchiveReader': {
|
|
'nativeType': 'mozilla::dom::file::ArchiveReader',
|
|
},
|
|
|
|
'ArchiveRequest': {
|
|
'nativeType': 'mozilla::dom::file::ArchiveRequest',
|
|
},
|
|
|
|
'AudioChannelManager': {
|
|
'nativeType': 'mozilla::dom::system::AudioChannelManager',
|
|
'headerFile': 'AudioChannelManager.h'
|
|
},
|
|
|
|
'AudioContext': {
|
|
'implicitJSContext': [ 'createBuffer' ],
|
|
'resultNotAddRefed': [ 'destination', 'listener' ],
|
|
},
|
|
|
|
'AudioBuffer': {
|
|
'implicitJSContext': [ 'copyToChannel' ],
|
|
},
|
|
|
|
'AudioBufferSourceNode': {
|
|
'implicitJSContext': [ 'buffer' ],
|
|
'resultNotAddRefed': [ 'playbackRate' ],
|
|
},
|
|
|
|
'AudioNode' : {
|
|
'concrete': False,
|
|
'binaryNames': {
|
|
'channelCountMode': 'channelCountModeValue',
|
|
'channelInterpretation': 'channelInterpretationValue',
|
|
},
|
|
},
|
|
|
|
'AudioProcessingEvent' : {
|
|
'resultNotAddRefed': [ 'inputBuffer', 'outputBuffer' ],
|
|
},
|
|
|
|
'BeforeUnloadEvent': {
|
|
'nativeType': 'nsDOMBeforeUnloadEvent',
|
|
},
|
|
|
|
'BarProp': {
|
|
'headerFile': 'mozilla/dom/BarProps.h',
|
|
},
|
|
|
|
'BiquadFilterNode': {
|
|
'resultNotAddRefed': [ 'frequency', 'detune', 'q', 'gain' ],
|
|
},
|
|
|
|
'Blob': [
|
|
{
|
|
'headerFile': 'nsIDOMFile.h',
|
|
},
|
|
{
|
|
'workers': True,
|
|
}],
|
|
|
|
'BatteryManager': {
|
|
'nativeType': 'mozilla::dom::battery::BatteryManager',
|
|
'headerFile': 'BatteryManager.h'
|
|
},
|
|
|
|
'BluetoothAdapter': {
|
|
'nativeType': 'mozilla::dom::bluetooth::BluetoothAdapter',
|
|
'headerFile': 'BluetoothAdapter.h'
|
|
},
|
|
|
|
'BluetoothDevice': {
|
|
'nativeType': 'mozilla::dom::bluetooth::BluetoothDevice',
|
|
'headerFile': 'BluetoothDevice.h'
|
|
},
|
|
|
|
'BluetoothManager': {
|
|
'nativeType': 'mozilla::dom::bluetooth::BluetoothManager',
|
|
'headerFile': 'BluetoothManager.h'
|
|
},
|
|
|
|
'CameraControl': {
|
|
'nativeType': 'mozilla::nsDOMCameraControl',
|
|
'headerFile': 'DOMCameraControl.h',
|
|
'binaryNames': {
|
|
"release": "ReleaseHardware"
|
|
}
|
|
},
|
|
|
|
'CameraManager': {
|
|
'nativeType': 'nsDOMCameraManager',
|
|
'headerFile': 'DOMCameraManager.h'
|
|
},
|
|
|
|
'CanvasRenderingContext2D': {
|
|
'implicitJSContext': [
|
|
'createImageData', 'getImageData'
|
|
],
|
|
'resultNotAddRefed': [ 'canvas', 'measureText' ],
|
|
'binaryNames': {
|
|
'mozImageSmoothingEnabled': 'imageSmoothingEnabled',
|
|
'mozFillRule': 'fillRule'
|
|
}
|
|
},
|
|
|
|
'CaretPosition' : {
|
|
'nativeType': 'nsDOMCaretPosition',
|
|
},
|
|
|
|
'CharacterData': {
|
|
'nativeType': 'nsGenericDOMDataNode',
|
|
'concrete': False
|
|
},
|
|
|
|
'DOMRectList': {
|
|
'headerFile': 'mozilla/dom/DOMRect.h',
|
|
'resultNotAddRefed': [ 'item' ]
|
|
},
|
|
|
|
'ClipboardEvent': {
|
|
'nativeType': 'nsDOMClipboardEvent',
|
|
},
|
|
|
|
'CommandEvent': {
|
|
'nativeType': 'nsDOMCommandEvent',
|
|
},
|
|
|
|
'CompositionEvent': {
|
|
'nativeType': 'nsDOMCompositionEvent',
|
|
},
|
|
|
|
'ConvolverNode': {
|
|
'implicitJSContext': [ 'buffer' ],
|
|
'resultNotAddRefed': [ 'buffer' ],
|
|
},
|
|
|
|
'Coordinates': {
|
|
'headerFile': 'nsGeoPosition.h'
|
|
},
|
|
|
|
'Crypto' : {
|
|
'implicitJSContext': [ 'generateCRMFRequest', 'signText' ],
|
|
'headerFile': 'Crypto.h'
|
|
},
|
|
|
|
'CSS': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'CSS2Properties': {
|
|
'nativeType': 'nsDOMCSSDeclaration'
|
|
},
|
|
|
|
'CSSPrimitiveValue': {
|
|
'nativeType': 'nsROCSSPrimitiveValue',
|
|
'resultNotAddRefed': ['getRGBColorValue', 'getRectValue']
|
|
},
|
|
|
|
'CSSStyleDeclaration': {
|
|
'nativeType': 'nsICSSDeclaration'
|
|
},
|
|
|
|
'CSSStyleSheet': {
|
|
'nativeType': 'nsCSSStyleSheet',
|
|
'binaryNames': { 'ownerRule': 'DOMOwnerRule' },
|
|
},
|
|
|
|
'CSSValue': {
|
|
'concrete': False
|
|
},
|
|
|
|
'CSSValueList': {
|
|
'nativeType': 'nsDOMCSSValueList'
|
|
},
|
|
|
|
'DataChannel': {
|
|
'nativeType': 'nsDOMDataChannel',
|
|
},
|
|
|
|
'DataContainerEvent': {
|
|
'nativeType': 'nsDOMDataContainerEvent',
|
|
},
|
|
|
|
'DelayNode': [
|
|
{
|
|
'resultNotAddRefed': [ 'delayTime' ],
|
|
}],
|
|
|
|
'DeviceMotionEvent': {
|
|
'nativeType': 'nsDOMDeviceMotionEvent',
|
|
},
|
|
|
|
'DeviceStorage': {
|
|
'nativeType': 'nsDOMDeviceStorage',
|
|
'headerFile': 'DeviceStorage.h',
|
|
},
|
|
|
|
'Document': [
|
|
{
|
|
'nativeType': 'nsIDocument',
|
|
'resultNotAddRefed': [ 'implementation', 'doctype', 'documentElement',
|
|
'getElementById', 'adoptNode', 'defaultView',
|
|
'activeElement', 'currentScript',
|
|
'mozFullScreenElement', 'mozPointerLockElement',
|
|
'styleSheets', 'styleSheetSets', 'elementFromPoint',
|
|
'querySelector', 'getAnonymousNodes',
|
|
'getAnonymousElementByAtribute', 'getBindingParent'
|
|
]
|
|
},
|
|
{
|
|
'nativeType': 'JSObject',
|
|
'workers': True,
|
|
'skipGen': True
|
|
}],
|
|
|
|
'DocumentFragment': {
|
|
'resultNotAddRefed': [ 'querySelector' ]
|
|
},
|
|
|
|
'DOMException': {
|
|
'binaryNames': {
|
|
'message': 'messageMoz',
|
|
},
|
|
},
|
|
|
|
'DOMSettableTokenList': {
|
|
'nativeType': 'nsDOMSettableTokenList',
|
|
},
|
|
|
|
'DOMStringMap': {
|
|
'nativeType': 'nsDOMStringMap'
|
|
},
|
|
|
|
'DOMTokenList': {
|
|
'nativeType': 'nsDOMTokenList',
|
|
},
|
|
|
|
'DragEvent': {
|
|
'nativeType': 'nsDOMDragEvent',
|
|
},
|
|
|
|
'DummyInterface': {
|
|
'skipGen': True,
|
|
'register': False,
|
|
},
|
|
|
|
'DummyInterfaceWorkers': {
|
|
'skipGen': True,
|
|
'register': False,
|
|
'workers': True
|
|
},
|
|
|
|
'DynamicsCompressorNode': {
|
|
'resultNotAddRefed': [ 'threshold', 'knee', 'ratio',
|
|
'reduction', 'attack', 'release' ],
|
|
'binaryNames': {
|
|
'release': 'getRelease'
|
|
},
|
|
},
|
|
|
|
'Element': {
|
|
'resultNotAddRefed': [
|
|
'classList', 'attributes', 'children', 'firstElementChild',
|
|
'lastElementChild', 'previousElementSibling', 'nextElementSibling',
|
|
'getAttributeNode', 'getAttributeNodeNS', 'querySelector'
|
|
]
|
|
},
|
|
|
|
'Event': [
|
|
{
|
|
'nativeType': 'nsDOMEvent',
|
|
},
|
|
{
|
|
'nativeType': 'JSObject',
|
|
'workers': True,
|
|
'skipGen': True
|
|
}],
|
|
|
|
'EventListener': [
|
|
{
|
|
'workers': True,
|
|
}],
|
|
|
|
'EventTarget': [
|
|
{
|
|
'hasXPConnectImpls': True,
|
|
'concrete': False,
|
|
'jsImplParent': 'nsDOMEventTargetHelper'
|
|
},
|
|
{
|
|
'workers': True,
|
|
'nativeOwnership': 'worker',
|
|
'concrete': False,
|
|
# XXXkhuey ownerGlobal returns WindowProxy? which boils down to a JSObject*
|
|
# on a worker, and nsRefPtr<JSObject> fails in the expected way. This is
|
|
# ugly but it's all going away soon anyways.
|
|
'resultNotAddRefed': [
|
|
'ownerGlobal'
|
|
]
|
|
}],
|
|
|
|
'Exception': {
|
|
'headerFile': 'mozilla/dom/DOMException.h',
|
|
'binaryNames': {
|
|
'message': 'messageMoz',
|
|
},
|
|
},
|
|
|
|
'FileHandle': {
|
|
'nativeType': 'mozilla::dom::file::FileHandle'
|
|
},
|
|
|
|
'FileList': {
|
|
'nativeType': 'nsDOMFileList',
|
|
'headerFile': 'nsDOMFile.h',
|
|
'resultNotAddRefed': [ 'item' ]
|
|
},
|
|
|
|
'FileReader': {
|
|
'nativeType': 'nsDOMFileReader',
|
|
'implicitJSContext': [ 'readAsArrayBuffer' ],
|
|
},
|
|
|
|
'FileReaderSync': {
|
|
'workers': True,
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'FileRequest': {
|
|
'nativeType': 'mozilla::dom::file::DOMFileRequest',
|
|
},
|
|
|
|
'FormData': [
|
|
{
|
|
'nativeType': 'nsFormData'
|
|
},
|
|
{
|
|
'workers': True,
|
|
'skipGen': True,
|
|
'nativeType': 'JSObject'
|
|
}],
|
|
|
|
'FocusEvent': {
|
|
'nativeType': 'nsDOMFocusEvent',
|
|
},
|
|
|
|
'GainNode': {
|
|
'resultNotAddRefed': [ 'gain' ],
|
|
},
|
|
|
|
'Geolocation': {
|
|
'headerFile': 'nsGeolocation.h'
|
|
},
|
|
|
|
'History': {
|
|
'headerFile': 'nsHistory.h',
|
|
'nativeType': 'nsHistory'
|
|
},
|
|
|
|
'HTMLAppletElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedObjectElement'
|
|
},
|
|
|
|
'HTMLBaseElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLCollection': {
|
|
'nativeType': 'nsIHTMLCollection',
|
|
# nsContentList.h pulls in nsIHTMLCollection.h
|
|
'headerFile': 'nsContentList.h',
|
|
'resultNotAddRefed': [ 'item' ]
|
|
},
|
|
|
|
'HTMLDataListElement': {
|
|
'resultNotAddRefed': [
|
|
'options'
|
|
]
|
|
},
|
|
|
|
'HTMLDirectoryElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLDListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'HTMLDocument': {
|
|
'nativeType': 'nsHTMLDocument',
|
|
'resultNotAddRefed': [ 'body', 'head', 'images', 'embeds', 'plugins',
|
|
'links', 'forms', 'scripts', 'anchors', 'applets' ],
|
|
'implicitJSContext': [ 'open', 'write', 'writeln' ]
|
|
},
|
|
|
|
'HTMLElement': {
|
|
'nativeType': 'nsGenericHTMLElement',
|
|
'resultNotAddRefed': [
|
|
'itemType', 'itemRef', 'itemProp', 'properties', 'contextMenu', 'style',
|
|
'offsetParent'
|
|
]
|
|
},
|
|
|
|
'HTMLEmbedElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedObjectElement'
|
|
},
|
|
|
|
'HTMLHeadElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLHtmlElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLLabelElement': {
|
|
'resultNotAddRefed': [
|
|
'form', 'control'
|
|
],
|
|
},
|
|
|
|
'HTMLMediaElement': {
|
|
'concrete': False
|
|
},
|
|
|
|
'HTMLOListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'HTMLOptionsCollection': {
|
|
'resultNotAddRefed': [ 'item' ],
|
|
},
|
|
|
|
'HTMLParamElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLPropertiesCollection': {
|
|
'headerFile': 'HTMLPropertiesCollection.h',
|
|
'resultNotAddRefed': [ 'item', 'namedItem', 'names' ]
|
|
},
|
|
|
|
'HTMLQuoteElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLTableElement': {
|
|
'resultNotAddRefed': [
|
|
'caption', 'tHead', 'tFoot', 'tBodies', 'rows'
|
|
]
|
|
},
|
|
|
|
'HTMLTableRowElement': {
|
|
'resultNotAddRefed': [
|
|
'cells'
|
|
]
|
|
},
|
|
|
|
'HTMLTableSectionElement': {
|
|
'resultNotAddRefed': [
|
|
'rows'
|
|
]
|
|
},
|
|
|
|
'HTMLTemplateElement': {
|
|
'resultNotAddRefed': [
|
|
'content'
|
|
]
|
|
},
|
|
|
|
'HTMLTextAreaElement': {
|
|
'resultNotAddRefed': [
|
|
'form', 'controllers', 'editor'
|
|
],
|
|
'binaryNames': {
|
|
'textLength': 'getTextLength'
|
|
}
|
|
},
|
|
|
|
'HTMLSelectElement': {
|
|
'resultNotAddRefed': [
|
|
'form',
|
|
'item',
|
|
'options',
|
|
'IndexedGetter',
|
|
]
|
|
},
|
|
|
|
'HTMLStyleElement': {
|
|
'resultNotAddRefed': [
|
|
'sheet'
|
|
]
|
|
},
|
|
|
|
'HTMLUListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'IDBCursor': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBCursor',
|
|
'implicitJSContext': [ 'delete' ],
|
|
'binaryNames': {
|
|
'direction': 'getDirection'
|
|
}
|
|
},
|
|
|
|
'IDBCursorWithValue': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBCursor',
|
|
},
|
|
|
|
'IDBDatabase': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBDatabase',
|
|
},
|
|
|
|
'IDBFactory': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBFactory',
|
|
},
|
|
|
|
'IDBFileHandle': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBFileHandle',
|
|
},
|
|
|
|
'IDBIndex': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBIndex',
|
|
'binaryNames': {
|
|
'mozGetAll': 'getAll',
|
|
'mozGetAllKeys': 'getAllKeys',
|
|
}
|
|
},
|
|
|
|
'IDBKeyRange': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBKeyRange',
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'IDBObjectStore': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBObjectStore',
|
|
'implicitJSContext': [ 'createIndex' ],
|
|
'binaryNames': {
|
|
'mozGetAll': 'getAll'
|
|
}
|
|
},
|
|
|
|
'IDBOpenDBRequest': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBOpenDBRequest',
|
|
'headerFile': 'IDBRequest.h'
|
|
},
|
|
|
|
'IDBRequest': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBRequest',
|
|
},
|
|
|
|
'IDBTransaction': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBTransaction',
|
|
},
|
|
|
|
'IDBVersionChangeEvent': {
|
|
'nativeType': 'mozilla::dom::indexedDB::IDBVersionChangeEvent',
|
|
'headerFile': 'IDBEvents.h',
|
|
},
|
|
|
|
'IID': [
|
|
{
|
|
'nativeType': 'nsIJSID',
|
|
'headerFile': 'xpcjsid.h',
|
|
},
|
|
{
|
|
'workers': True,
|
|
}],
|
|
|
|
'ImageData': [
|
|
{
|
|
'wrapperCache': False,
|
|
}],
|
|
|
|
'InputStream': [
|
|
{
|
|
'nativeType': 'nsIInputStream',
|
|
'notflattened': True
|
|
},
|
|
{
|
|
'workers': True,
|
|
}],
|
|
|
|
'KeyboardEvent': {
|
|
'nativeType': 'nsDOMKeyboardEvent',
|
|
},
|
|
|
|
'KeyEvent': {
|
|
'concrete': False
|
|
},
|
|
|
|
'LocalMediaStream': {
|
|
'headerFile': 'DOMMediaStream.h',
|
|
'nativeType': 'mozilla::DOMLocalMediaStream'
|
|
},
|
|
|
|
'Location': {
|
|
# NOTE: Before you turn on codegen for Location, make sure all the
|
|
# Unforgeable stuff is dealt with.
|
|
'nativeType': 'nsIDOMLocation',
|
|
'skipGen': True,
|
|
'register': False
|
|
},
|
|
|
|
'MediaSource': [{
|
|
'resultNotAddRefed': [ 'sourceBuffers', 'activeSourceBuffers' ],
|
|
},
|
|
{
|
|
'nativeType': 'JSObject',
|
|
'workers': True,
|
|
'skipGen': True
|
|
}],
|
|
|
|
'MediaStream': [{
|
|
'headerFile': 'DOMMediaStream.h',
|
|
'nativeType': 'mozilla::DOMMediaStream'
|
|
},
|
|
{
|
|
'nativeType': 'JSObject',
|
|
'workers': True,
|
|
'skipGen': True
|
|
}],
|
|
|
|
'MediaStreamAudioDestinationNode': {
|
|
'resultNotAddRefed': [ 'stream' ],
|
|
'binaryNames': { 'stream': 'DOMStream' }
|
|
},
|
|
|
|
'MediaStreamList': {
|
|
'headerFile': 'MediaStreamList.h',
|
|
'resultNotAddRefed': [ '__indexedGetter' ],
|
|
'binaryNames': { '__indexedGetter': 'IndexedGetter' }
|
|
},
|
|
|
|
'MediaStreamTrack': {
|
|
'concrete': False
|
|
},
|
|
|
|
'MediaRecorder': {
|
|
'headerFile': 'MediaRecorder.h',
|
|
'resultNotAddRefed': [ 'stream' ]
|
|
},
|
|
|
|
'MessageEvent': {
|
|
'nativeType': 'nsDOMMessageEvent',
|
|
},
|
|
|
|
'MimeType': {
|
|
'headerFile' : 'nsMimeTypeArray.h',
|
|
'nativeType': 'nsMimeType',
|
|
'resultNotAddRefed': [ 'enabledPlugin' ]
|
|
},
|
|
|
|
'MimeTypeArray': {
|
|
'nativeType': 'nsMimeTypeArray',
|
|
'resultNotAddRefed': [ 'item', 'namedItem' ]
|
|
},
|
|
|
|
'MouseEvent': {
|
|
'nativeType': 'nsDOMMouseEvent',
|
|
},
|
|
|
|
'MouseScrollEvent': {
|
|
'nativeType': 'nsDOMMouseScrollEvent',
|
|
},
|
|
|
|
'MozCanvasPrintState': {
|
|
'headerFile': 'mozilla/dom/HTMLCanvasElement.h',
|
|
'nativeType': 'mozilla::dom::HTMLCanvasPrintState',
|
|
},
|
|
|
|
'MozChannel': [
|
|
{
|
|
'nativeType': 'nsIChannel',
|
|
'notflattened': True
|
|
},
|
|
{
|
|
'workers': True,
|
|
}],
|
|
|
|
'MozCellBroadcast': {
|
|
'nativeType': 'mozilla::dom::CellBroadcast',
|
|
},
|
|
|
|
'MozNamedAttrMap': {
|
|
'nativeType': 'nsDOMAttributeMap',
|
|
},
|
|
|
|
'MozPowerManager': {
|
|
'nativeType': 'mozilla::dom::PowerManager',
|
|
},
|
|
|
|
'MozStkCommandEvent' : {
|
|
'nativeType': 'mozilla::dom::icc::StkCommandEvent',
|
|
'headerFile': 'StkCommandEvent.h',
|
|
},
|
|
|
|
'MozTimeManager': {
|
|
'nativeType': 'mozilla::dom::time::TimeManager',
|
|
},
|
|
|
|
'MozVoicemail': {
|
|
'nativeType': 'mozilla::dom::Voicemail',
|
|
},
|
|
|
|
'MutationEvent': {
|
|
'nativeType': 'nsDOMMutationEvent',
|
|
},
|
|
|
|
'MutationObserver': {
|
|
'nativeType': 'nsDOMMutationObserver',
|
|
},
|
|
|
|
'MutationRecord': {
|
|
'nativeType': 'nsDOMMutationRecord',
|
|
'headerFile': 'nsDOMMutationObserver.h',
|
|
'resultNotAddRefed': [ 'target', 'addedNodes', 'removedNodes',
|
|
'previousSibling', 'nextSibling' ]
|
|
},
|
|
|
|
'Node': {
|
|
'nativeType': 'nsINode',
|
|
'concrete': False,
|
|
'resultNotAddRefed': [ 'ownerDocument', 'parentNode', 'parentElement',
|
|
'childNodes', 'firstChild', 'lastChild',
|
|
'previousSibling', 'nextSibling', 'insertBefore',
|
|
'appendChild', 'replaceChild', 'removeChild',
|
|
'attributes' ]
|
|
},
|
|
|
|
'NodeIterator': {
|
|
'wrapperCache': False,
|
|
'resultNotAddRefed': [ 'root', 'referenceNode' ],
|
|
},
|
|
|
|
'NodeList': {
|
|
'nativeType': 'nsINodeList',
|
|
'resultNotAddRefed': [ 'item' ]
|
|
},
|
|
|
|
'NotifyPaintEvent': {
|
|
'nativeType': 'nsDOMNotifyPaintEvent',
|
|
},
|
|
|
|
'NotifyAudioAvailableEvent': {
|
|
'nativeType': 'nsDOMNotifyAudioAvailableEvent',
|
|
},
|
|
|
|
'OfflineAudioCompletionEvent': {
|
|
'resultNotAddRefed': [ 'renderedBuffer' ],
|
|
},
|
|
|
|
'OfflineAudioContext': {
|
|
'nativeType': 'mozilla::dom::AudioContext',
|
|
'resultNotAddRefed': [ 'destination', 'listener' ],
|
|
},
|
|
|
|
'OfflineResourceList': {
|
|
'nativeType': 'nsDOMOfflineResourceList',
|
|
},
|
|
|
|
'OscillatorNode': {
|
|
'resultNotAddRefed': [ 'frequency', 'detune' ],
|
|
},
|
|
|
|
'PaintRequest': {
|
|
'nativeType': 'nsPaintRequest',
|
|
},
|
|
|
|
'PaintRequestList': {
|
|
'nativeType': 'nsPaintRequestList',
|
|
'headerFile': 'nsPaintRequest.h',
|
|
'resultNotAddRefed': [ 'item' ]
|
|
},
|
|
|
|
'PannerNode': [
|
|
{
|
|
'resultNotAddRefed': [ 'coneGain', 'distanceGain' ],
|
|
}],
|
|
|
|
'Performance': {
|
|
'nativeType': 'nsPerformance',
|
|
'resultNotAddRefed': [ 'timing', 'navigation' ]
|
|
},
|
|
|
|
'PerformanceTiming': {
|
|
'nativeType': 'nsPerformanceTiming',
|
|
'headerFile': 'nsPerformance.h'
|
|
},
|
|
|
|
'PerformanceNavigation': {
|
|
'nativeType': 'nsPerformanceNavigation',
|
|
'headerFile': 'nsPerformance.h'
|
|
},
|
|
|
|
'Plugin': {
|
|
'headerFile' : 'nsPluginArray.h',
|
|
'nativeType': 'nsPluginElement',
|
|
'resultNotAddRefed': [ 'item', 'namedItem' ]
|
|
},
|
|
|
|
'PluginArray': {
|
|
'nativeType': 'nsPluginArray',
|
|
'resultNotAddRefed': [ 'item', 'namedItem' ]
|
|
},
|
|
|
|
'Position': {
|
|
'headerFile': 'nsGeoPosition.h'
|
|
},
|
|
|
|
'PositionError': {
|
|
'headerFile': 'nsGeolocation.h'
|
|
},
|
|
|
|
'PropertyNodeList': {
|
|
'headerFile': 'HTMLPropertiesCollection.h',
|
|
'resultNotAddRefed': [ 'item' ]
|
|
},
|
|
|
|
'Range': {
|
|
'nativeType': 'nsRange',
|
|
'resultNotAddRefed': [ 'startContainer', 'endContainer', 'commonAncestorContainer' ],
|
|
'binaryNames': {
|
|
'__stringifier': 'ToString'
|
|
}
|
|
},
|
|
|
|
'Rect': {
|
|
'nativeType': 'nsDOMCSSRect',
|
|
'resultNotAddRefed': [ 'top', 'right', 'bottom', 'left' ]
|
|
},
|
|
|
|
'RGBColor': {
|
|
'nativeType': 'nsDOMCSSRGBColor',
|
|
'resultNotAddRefed': [ 'alpha', 'blue', 'green', 'red' ]
|
|
},
|
|
|
|
'Screen': {
|
|
'nativeType': 'nsScreen',
|
|
},
|
|
|
|
'ScrollAreaEvent': {
|
|
'nativeType': 'nsDOMScrollAreaEvent',
|
|
},
|
|
|
|
'SharedWorker': {
|
|
'nativeType': 'mozilla::dom::workers::SharedWorker',
|
|
'headerFile': 'mozilla/dom/workers/bindings/SharedWorker.h',
|
|
'implicitJSContext': [ 'constructor' ],
|
|
},
|
|
|
|
'SimpleGestureEvent': {
|
|
'nativeType': 'nsDOMSimpleGestureEvent',
|
|
},
|
|
|
|
'SourceBufferList': {
|
|
'resultNotAddRefed': [ '__indexedGetter' ],
|
|
},
|
|
|
|
'StyleSheet': {
|
|
'nativeType': 'nsCSSStyleSheet',
|
|
},
|
|
|
|
'SVGAnimatedLengthList': {
|
|
'nativeType': 'mozilla::DOMSVGAnimatedLengthList',
|
|
'headerFile': 'DOMSVGAnimatedLengthList.h',
|
|
},
|
|
|
|
'SVGAnimatedNumberList': {
|
|
'nativeType': 'mozilla::DOMSVGAnimatedNumberList',
|
|
'headerFile': 'DOMSVGAnimatedNumberList.h'
|
|
},
|
|
|
|
'SVGAnimatedPreserveAspectRatio': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedPreserveAspectRatio',
|
|
'headerFile': 'SVGAnimatedPreserveAspectRatio.h'
|
|
},
|
|
|
|
'SVGAnimationElement': {
|
|
'resultNotAddRefed': ['targetElement'],
|
|
'concrete': False
|
|
},
|
|
|
|
'SVGComponentTransferFunctionElement': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGElement': {
|
|
'nativeType': 'nsSVGElement',
|
|
'resultNotAddRefed': ['ownerSVGElement', 'viewportElement', 'style']
|
|
},
|
|
|
|
'SVGFEFuncAElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGFEFuncBElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGFEFuncGElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGFEFuncRElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGGraphicsElement': {
|
|
'concrete': False,
|
|
'resultNotAddRefed': ['nearestViewportElement', 'farthestViewportElement']
|
|
},
|
|
|
|
'SVGGradientElement': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGLengthList': {
|
|
'nativeType': 'mozilla::DOMSVGLengthList',
|
|
'headerFile': 'DOMSVGLengthList.h'
|
|
},
|
|
|
|
'SVGLinearGradientElement': {
|
|
'headerFile': 'mozilla/dom/SVGGradientElement.h',
|
|
},
|
|
|
|
'SVGNumberList': {
|
|
'nativeType': 'mozilla::DOMSVGNumberList',
|
|
'headerFile': 'DOMSVGNumberList.h'
|
|
},
|
|
|
|
'SVGPathSeg': {
|
|
'nativeType': 'mozilla::DOMSVGPathSeg',
|
|
'headerFile': 'DOMSVGPathSeg.h',
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGPathSegClosePath': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegClosePath',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegMovetoAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegMovetoAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegMovetoRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegMovetoRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegLinetoAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegLinetoAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegLinetoRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegLinetoRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoCubicAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoCubicRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoQuadraticAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoQuadraticRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegArcAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegArcAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegArcRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegArcRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegLinetoHorizontalAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegLinetoHorizontalRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegLinetoVerticalAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegLinetoVerticalRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoCubicSmoothAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoCubicSmoothRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoQuadraticSmoothAbs': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothAbs',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegCurvetoQuadraticSmoothRel': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothRel',
|
|
'headerFile': 'DOMSVGPathSeg.h'
|
|
},
|
|
|
|
'SVGPathSegList': {
|
|
'nativeType': 'mozilla::DOMSVGPathSegList',
|
|
'headerFile': 'DOMSVGPathSegList.h'
|
|
},
|
|
|
|
'SVGPoint': {
|
|
'nativeType': 'mozilla::nsISVGPoint',
|
|
'headerFile': 'nsISVGPoint.h'
|
|
},
|
|
|
|
'SVGPointList': {
|
|
'nativeType': 'mozilla::DOMSVGPointList',
|
|
'headerFile': 'DOMSVGPointList.h'
|
|
},
|
|
|
|
'SVGPreserveAspectRatio': {
|
|
'nativeType': 'mozilla::dom::DOMSVGPreserveAspectRatio',
|
|
'headerFile': 'SVGPreserveAspectRatio.h'
|
|
},
|
|
|
|
'SVGRadialGradientElement': {
|
|
'headerFile': 'mozilla/dom/SVGGradientElement.h',
|
|
},
|
|
|
|
'SVGRect': {
|
|
'nativeType': 'mozilla::dom::SVGIRect'
|
|
},
|
|
|
|
'SVGTextContentElement': {
|
|
'concrete': False
|
|
},
|
|
|
|
'SVGTextPositioningElement': {
|
|
'concrete': False
|
|
},
|
|
|
|
'SVGTransform': {
|
|
'resultNotAddRefed': [ 'matrix' ]
|
|
},
|
|
|
|
'SVGTransformList': {
|
|
'nativeType': 'mozilla::DOMSVGTransformList',
|
|
'headerFile': 'DOMSVGTransformList.h'
|
|
},
|
|
|
|
'SVGStringList': {
|
|
'nativeType': 'mozilla::DOMSVGStringList',
|
|
'headerFile': 'DOMSVGStringList.h',
|
|
},
|
|
|
|
'SVGSVGElement': {
|
|
'resultNotAddRefed': [ 'getElementById' ]
|
|
},
|
|
|
|
'SVGUnitTypes' : {
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGZoomAndPan' : {
|
|
'concrete': False,
|
|
},
|
|
|
|
'Text': {
|
|
# Total hack to allow binding code to realize that nsTextNode can
|
|
# in fact be cast to Text.
|
|
'headerFile': 'nsTextNode.h',
|
|
},
|
|
|
|
'TextDecoder': {
|
|
'nativeOwnership': 'owned',
|
|
},
|
|
|
|
'TextEncoder': {
|
|
'nativeOwnership': 'owned',
|
|
},
|
|
|
|
'TextMetrics': {
|
|
'nativeOwnership': 'owned',
|
|
},
|
|
|
|
'TimeEvent': {
|
|
'nativeType': 'nsDOMTimeEvent',
|
|
},
|
|
|
|
'TimeRanges': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'TouchEvent': {
|
|
'nativeType': 'nsDOMTouchEvent',
|
|
},
|
|
|
|
'TouchList': {
|
|
'nativeType': 'nsDOMTouchList',
|
|
'headerFile': 'nsDOMTouchEvent.h',
|
|
},
|
|
|
|
'TransitionEvent': {
|
|
'nativeType': 'nsDOMTransitionEvent',
|
|
},
|
|
|
|
'TreeColumns': {
|
|
'nativeType': 'nsTreeColumns',
|
|
},
|
|
|
|
'TreeWalker': {
|
|
'wrapperCache': False,
|
|
'resultNotAddRefed': [ 'root', 'currentNode' ],
|
|
},
|
|
|
|
'UIEvent': {
|
|
'nativeType': 'nsDOMUIEvent',
|
|
},
|
|
|
|
'UndoManager': {
|
|
'implicitJSContext' : [ 'undo', 'redo', 'transact' ],
|
|
},
|
|
|
|
'URL' : [{
|
|
'wrapperCache' : False,
|
|
'nativeOwnership': 'refcounted',
|
|
},
|
|
{
|
|
'workers': True,
|
|
'nativeOwnership': 'worker',
|
|
}],
|
|
|
|
'VTTCue': {
|
|
'nativeType': 'mozilla::dom::TextTrackCue'
|
|
},
|
|
|
|
'VTTRegion': {
|
|
'nativeType': 'mozilla::dom::TextTrackRegion',
|
|
},
|
|
|
|
'VTTRegionList': {
|
|
'nativeType': 'mozilla::dom::TextTrackRegionList',
|
|
},
|
|
|
|
'WebGLActiveInfo': {
|
|
'nativeType': 'mozilla::WebGLActiveInfo',
|
|
'headerFile': 'WebGLActiveInfo.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'WebGLBuffer': {
|
|
'nativeType': 'mozilla::WebGLBuffer',
|
|
'headerFile': 'WebGLBuffer.h'
|
|
},
|
|
|
|
'WebGLExtensionCompressedTextureATC': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureATC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionCompressedTexturePVRTC': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTexturePVRTC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionCompressedTextureS3TC': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureS3TC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionDepthTexture': {
|
|
'nativeType': 'mozilla::WebGLExtensionDepthTexture',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionDebugRendererInfo': {
|
|
'nativeType': 'mozilla::WebGLExtensionDebugRendererInfo',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionElementIndexUint': {
|
|
'nativeType': 'mozilla::WebGLExtensionElementIndexUint',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionLoseContext': {
|
|
'nativeType': 'mozilla::WebGLExtensionLoseContext',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionStandardDerivatives': {
|
|
'nativeType': 'mozilla::WebGLExtensionStandardDerivatives',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionTextureFilterAnisotropic': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureFilterAnisotropic',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionTextureFloat': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureFloat',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionTextureFloatLinear': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureFloatLinear',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionDrawBuffers': {
|
|
'nativeType': 'mozilla::WebGLExtensionDrawBuffers',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionVertexArray': {
|
|
'nativeType': 'mozilla::WebGLExtensionVertexArray',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLExtensionInstancedArrays': {
|
|
'nativeType': 'mozilla::WebGLExtensionInstancedArrays',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLFramebuffer': {
|
|
'nativeType': 'mozilla::WebGLFramebuffer',
|
|
'headerFile': 'WebGLFramebuffer.h'
|
|
},
|
|
|
|
'WebGLProgram': {
|
|
'nativeType': 'mozilla::WebGLProgram',
|
|
'headerFile': 'WebGLProgram.h'
|
|
},
|
|
|
|
'WebGLQuery': {
|
|
'nativeType': 'mozilla::WebGLQuery',
|
|
'headerFile': 'WebGLQuery.h'
|
|
},
|
|
|
|
'WebGLRenderbuffer': {
|
|
'nativeType': 'mozilla::WebGLRenderbuffer',
|
|
'headerFile': 'WebGLRenderbuffer.h'
|
|
},
|
|
|
|
'WebGLRenderingContext': {
|
|
'nativeType': 'mozilla::WebGLContext',
|
|
'headerFile': 'WebGLContext.h',
|
|
'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension',
|
|
'getAttachedShaders' ],
|
|
'implicitJSContext': [ 'getSupportedExtensions' ],
|
|
},
|
|
|
|
'WebGL2RenderingContext': {
|
|
'nativeType': 'mozilla::WebGLContext',
|
|
'headerFile': 'WebGLContext.h',
|
|
'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension',
|
|
'getAttachedShaders' ],
|
|
'implicitJSContext': [ 'getSupportedExtensions' ],
|
|
},
|
|
|
|
'WebGLShader': {
|
|
'nativeType': 'mozilla::WebGLShader',
|
|
'headerFile': 'WebGLShader.h'
|
|
},
|
|
|
|
'WebGLShaderPrecisionFormat': {
|
|
'nativeType': 'mozilla::WebGLShaderPrecisionFormat',
|
|
'headerFile': 'WebGLShaderPrecisionFormat.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'WebGLTexture': {
|
|
'nativeType': 'mozilla::WebGLTexture',
|
|
'headerFile': 'WebGLTexture.h'
|
|
},
|
|
|
|
'WebGLUniformLocation': {
|
|
'nativeType': 'mozilla::WebGLUniformLocation',
|
|
'headerFile': 'WebGLUniformLocation.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'WebGLVertexArray': {
|
|
'nativeType': 'mozilla::WebGLVertexArray',
|
|
'headerFile': 'WebGLVertexArray.h'
|
|
},
|
|
|
|
'WebSocket': {
|
|
'headerFile': 'WebSocket.h',
|
|
},
|
|
|
|
'WheelEvent': {
|
|
'headerFile': 'DOMWheelEvent.h',
|
|
'nativeType': 'mozilla::dom::DOMWheelEvent',
|
|
},
|
|
|
|
'WindowProxy': [
|
|
{
|
|
'nativeType': 'nsIDOMWindow',
|
|
'concrete': False
|
|
},
|
|
{
|
|
# We need a worker descriptor for WindowProxy because EventTarget exists in
|
|
# workers. But it's an external interface, so it'll just map to JSObject*.
|
|
'workers': True
|
|
}],
|
|
|
|
'WorkerLocation': {
|
|
'headerFile': 'mozilla/dom/workers/bindings/Location.h',
|
|
'workers': True,
|
|
},
|
|
|
|
'WorkerMessagePort': [{
|
|
'nativeType': 'mozilla::dom::workers::MessagePort',
|
|
'headerFile': 'mozilla/dom/workers/bindings/MessagePort.h',
|
|
'implicitJSContext': [ 'postMessage' ],
|
|
},
|
|
{
|
|
'nativeType': 'mozilla::dom::workers::WorkerMessagePort',
|
|
'headerFile': 'mozilla/dom/workers/bindings/WorkerMessagePort.h',
|
|
'workers': True,
|
|
'nativeOwnership': 'worker',
|
|
}],
|
|
|
|
'WorkerNavigator': {
|
|
'headerFile': 'mozilla/dom/workers/bindings/Navigator.h',
|
|
'workers': True,
|
|
},
|
|
|
|
'XMLHttpRequest': [
|
|
{
|
|
'nativeType': 'nsXMLHttpRequest',
|
|
'implicitJSContext': [ 'constructor', ],
|
|
'resultNotAddRefed': [ 'upload', 'responseXML' ]
|
|
},
|
|
{
|
|
'workers': True,
|
|
'nativeOwnership': 'worker',
|
|
# XXXkhuey responseXML returns Document? which boils down to a JSObject*
|
|
# on a worker, and nsRefPtr<JSObject> fails in the expected way. channel is
|
|
# similar. This is ugly but it's all going away soon anyways.
|
|
'resultNotAddRefed': [
|
|
'responseXML', 'channel'
|
|
]
|
|
}],
|
|
|
|
'XMLHttpRequestEventTarget': [
|
|
{
|
|
'nativeType': 'nsXHREventTarget',
|
|
'headerFile': 'nsXMLHttpRequest.h',
|
|
'concrete': False
|
|
},
|
|
{
|
|
'workers': True,
|
|
'nativeOwnership': 'worker',
|
|
'concrete': False,
|
|
}],
|
|
|
|
'XMLHttpRequestUpload': [
|
|
{
|
|
'nativeType': 'nsXMLHttpRequestUpload',
|
|
'headerFile': 'nsXMLHttpRequest.h'
|
|
},
|
|
{
|
|
'workers': True,
|
|
'nativeOwnership': 'worker',
|
|
}],
|
|
|
|
'XMLSerializer': {
|
|
'nativeType': 'nsDOMSerializer',
|
|
},
|
|
|
|
'XMLStylesheetProcessingInstruction': {
|
|
'resultNotAddRefed': [ 'sheet' ]
|
|
},
|
|
|
|
'XPathEvaluator': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'XULDocument': {
|
|
'headerFile': 'XULDocument.h'
|
|
},
|
|
|
|
'XULCommandEvent': {
|
|
'nativeType': 'nsDOMXULCommandEvent',
|
|
},
|
|
|
|
'XULElement': {
|
|
'nativeType': 'nsXULElement',
|
|
'resultNotAddRefed': [ 'controllers', 'style' ]
|
|
},
|
|
|
|
####################################
|
|
# Test Interfaces of various sorts #
|
|
####################################
|
|
|
|
'TestInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf',
|
|
'receiveWeakOther', 'receiveWeakNullableOther',
|
|
'receiveWeakExternal', 'receiveWeakNullableExternal',
|
|
'ReceiveWeakCallbackInterface',
|
|
'ReceiveWeakNullableCallbackInterface',
|
|
'receiveWeakCastableObjectSequence',
|
|
'receiveWeakNullableCastableObjectSequence',
|
|
'receiveWeakCastableObjectNullableSequence',
|
|
'receiveWeakNullableCastableObjectNullableSequence' ],
|
|
'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
|
|
'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
|
|
'attributeRenamedFrom': 'attributeRenamedTo' }
|
|
},
|
|
|
|
'TestParentInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestChildInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCImplementedInterface' : {
|
|
'headerFile': 'TestCImplementedInterface.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCImplementedInterface2' : {
|
|
'headerFile': 'TestCImplementedInterface.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestJSImplInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False,
|
|
'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf',
|
|
'receiveWeakOther', 'receiveWeakNullableOther',
|
|
'receiveWeakExternal', 'receiveWeakNullableExternal',
|
|
'ReceiveWeakCallbackInterface',
|
|
'ReceiveWeakNullableCallbackInterface',
|
|
'receiveWeakCastableObjectSequence',
|
|
'receiveWeakNullableCastableObjectSequence',
|
|
'receiveWeakCastableObjectNullableSequence',
|
|
'receiveWeakNullableCastableObjectNullableSequence' ],
|
|
'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
|
|
'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
|
|
'attributeRenamedFrom': 'attributeRenamedTo' }
|
|
},
|
|
|
|
'TestJSImplInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestJSImplInterface2' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestJSImplInterface3' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestJSImplInterface4' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestJSImplInterface5' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestJSImplInterface6' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNavigator' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register' : False
|
|
},
|
|
|
|
'TestNavigatorWithConstructor' : {
|
|
'headerFile': 'TestJSImplGenBinding.h',
|
|
'register' : False
|
|
},
|
|
|
|
'TestExternalInterface' : {
|
|
'nativeType': 'mozilla::dom::TestExternalInterface',
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNonWrapperCacheInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'IndirectlyImplementedInterface': {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'castable': False,
|
|
'concrete': False
|
|
},
|
|
|
|
'OnlyForUseInConstructor' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'ImplementedInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False,
|
|
},
|
|
|
|
'ImplementedInterfaceParent' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False
|
|
},
|
|
|
|
'DiamondImplements' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False
|
|
},
|
|
|
|
'DiamondBranch1A' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False
|
|
},
|
|
|
|
'DiamondBranch1B' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False
|
|
},
|
|
|
|
'DiamondBranch2A' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False
|
|
},
|
|
|
|
'DiamondBranch2B' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'concrete': False,
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNamedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedGetterAndSetterAndNamedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedAndNamedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNamedSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedAndNamedSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedAndNamedGetterAndSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestRenamedInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'nativeType': 'nsRenamedInterface'
|
|
},
|
|
|
|
'TestIndexedDeleterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedDeleterWithRetvalInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNamedDeleterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNamedDeleterWithRetvalInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestIndexedAndNamedDeleterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestCppKeywordNamedMethodsInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestExampleInterface' : {
|
|
# Keep this in sync with TestInterface
|
|
'headerFile': 'TestExampleInterface-example.h',
|
|
'register': False,
|
|
'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf',
|
|
'receiveWeakOther', 'receiveWeakNullableOther',
|
|
'receiveWeakExternal', 'receiveWeakNullableExternal',
|
|
'ReceiveWeakCallbackInterface',
|
|
'ReceiveWeakNullableCallbackInterface',
|
|
'receiveWeakCastableObjectSequence',
|
|
'receiveWeakNullableCastableObjectSequence',
|
|
'receiveWeakCastableObjectNullableSequence',
|
|
'receiveWeakNullableCastableObjectNullableSequence' ],
|
|
'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
|
|
'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
|
|
'attributeRenamedFrom': 'attributeRenamedTo' }
|
|
},
|
|
|
|
'TestExampleProxyInterface' : {
|
|
'headerFile': 'TestExampleProxyInterface-example.h',
|
|
'register': False
|
|
}
|
|
}
|
|
|
|
# These are temporary, until they've been converted to use new DOM bindings
|
|
def addExternalIface(iface, nativeType=None, headerFile=None,
|
|
notflattened=False):
|
|
if iface in DOMInterfaces:
|
|
raise Exception('Interface declared both as WebIDL and External interface')
|
|
domInterface = {
|
|
'concrete': False
|
|
}
|
|
if not nativeType is None:
|
|
domInterface['nativeType'] = nativeType
|
|
if not headerFile is None:
|
|
domInterface['headerFile'] = headerFile
|
|
domInterface['notflattened'] = notflattened
|
|
DOMInterfaces[iface] = domInterface
|
|
|
|
addExternalIface('ActivityOptions', nativeType='nsIDOMMozActivityOptions',
|
|
headerFile='nsIDOMActivityOptions.h')
|
|
addExternalIface('Counter')
|
|
addExternalIface('CSSRule')
|
|
addExternalIface('DeviceAcceleration', headerFile='nsIDOMDeviceMotionEvent.h', notflattened=True)
|
|
addExternalIface('DeviceRotationRate', headerFile='nsIDOMDeviceMotionEvent.h', notflattened=True)
|
|
addExternalIface('mozIDOMApplication', nativeType='mozIDOMApplication', headerFile='nsIDOMApplicationRegistry.h')
|
|
addExternalIface('CSSRuleList')
|
|
addExternalIface('DOMStringList')
|
|
addExternalIface('RTCDataChannel', nativeType='nsIDOMDataChannel')
|
|
addExternalIface('File')
|
|
addExternalIface('HitRegionOptions', nativeType='nsISupports')
|
|
addExternalIface('imgINotificationObserver', nativeType='imgINotificationObserver')
|
|
addExternalIface('imgIRequest', nativeType='imgIRequest', notflattened=True)
|
|
addExternalIface('LockedFile')
|
|
addExternalIface('MediaList')
|
|
addExternalIface('MenuBuilder', nativeType='nsIMenuBuilder', notflattened=True)
|
|
addExternalIface('MozBoxObject', nativeType='nsIBoxObject')
|
|
addExternalIface('MozConnection', headerFile='nsIDOMConnection.h')
|
|
addExternalIface('MozControllers', nativeType='nsIControllers')
|
|
addExternalIface('MozFrameLoader', nativeType='nsIFrameLoader', notflattened=True)
|
|
addExternalIface('MozIccManager', headerFile='nsIDOMIccManager.h')
|
|
addExternalIface('MozMobileConnection', headerFile='nsIDOMMobileConnection.h')
|
|
addExternalIface('MozMobileMessageManager', headerFile='nsIDOMMobileMessageManager.h')
|
|
addExternalIface('MozObserver', nativeType='nsIObserver', notflattened=True)
|
|
addExternalIface('MozRDFCompositeDataSource', nativeType='nsIRDFCompositeDataSource',
|
|
notflattened=True)
|
|
addExternalIface('MozRDFResource', nativeType='nsIRDFResource', notflattened=True)
|
|
addExternalIface('MozTreeBoxObject', nativeType='nsITreeBoxObject',
|
|
notflattened=True)
|
|
addExternalIface('MozTreeColumn', nativeType='nsITreeColumn',
|
|
headerFile='nsITreeColumns.h')
|
|
addExternalIface('MozVoicemailStatus')
|
|
addExternalIface('MozWakeLock', headerFile='nsIDOMWakeLock.h')
|
|
addExternalIface('MozWakeLockListener', headerFile='nsIDOMWakeLockListener.h')
|
|
addExternalIface('MozXULTemplateBuilder', nativeType='nsIXULTemplateBuilder')
|
|
addExternalIface('nsIControllers', nativeType='nsIControllers')
|
|
addExternalIface('nsIInputStreamCallback', nativeType='nsIInputStreamCallback',
|
|
headerFile='nsIAsyncInputStream.h')
|
|
addExternalIface('nsIStreamListener', nativeType='nsIStreamListener', notflattened=True)
|
|
addExternalIface('nsISupports', nativeType='nsISupports')
|
|
addExternalIface('nsIEditor', nativeType='nsIEditor', notflattened=True)
|
|
addExternalIface('nsIVariant', nativeType='nsIVariant', notflattened=True)
|
|
addExternalIface('OutputStream', nativeType='nsIOutputStream',
|
|
notflattened=True)
|
|
addExternalIface('Principal', nativeType='nsIPrincipal',
|
|
headerFile='nsIPrincipal.h', notflattened=True)
|
|
addExternalIface('Selection', nativeType='nsISelection')
|
|
addExternalIface('StackFrame', nativeType='nsIStackFrame',
|
|
headerFile='nsIException.h', notflattened=True)
|
|
addExternalIface('StyleSheetList')
|
|
addExternalIface('SVGLength')
|
|
addExternalIface('SVGNumber')
|
|
addExternalIface('URI', nativeType='nsIURI', headerFile='nsIURI.h',
|
|
notflattened=True)
|
|
addExternalIface('UserDataHandler')
|
|
addExternalIface('Window')
|
|
addExternalIface('XPathResult', nativeType='nsISupports')
|
|
addExternalIface('XPathExpression')
|
|
addExternalIface('XPathNSResolver')
|
|
addExternalIface('XULCommandDispatcher')
|
|
addExternalIface('DataTransfer', notflattened=True)
|
|
addExternalIface('GetCameraCallback', nativeType='nsICameraGetCameraCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraErrorCallback', nativeType='nsICameraErrorCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraCapabilities', nativeType='nsICameraCapabilities', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraAutoFocusCallback', nativeType='nsICameraAutoFocusCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraShutterCallback', nativeType='nsICameraShutterCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraClosedCallback', nativeType='nsICameraClosedCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraTakePictureCallback', nativeType='nsICameraTakePictureCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraReleaseCallback', nativeType='nsICameraReleaseCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraStartRecordingCallback', nativeType='nsICameraStartRecordingCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraPreviewStateChange', nativeType='nsICameraPreviewStateChange', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraPreviewStreamCallback', nativeType='nsICameraPreviewStreamCallback', headerFile='nsIDOMCameraManager.h')
|
|
addExternalIface('CameraRecorderStateChange', nativeType='nsICameraRecorderStateChange', headerFile='nsIDOMCameraManager.h') |