mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
1789 lines
43 KiB
Plaintext
1789 lines
43 KiB
Plaintext
# -*- Mode:Python; tab-width:8; indent-tabs-mode:nil -*- */
|
|
# vim: set ts=8 sts=4 et sw=4 tw=80: */
|
|
# 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 interfaces requiring
|
|
# special handling, there are corresponding entries in the configuration table
|
|
# below. The configuration table maps each interface name to a |descriptor|.
|
|
#
|
|
# 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 'nsIDOM' followed by the interface
|
|
# name for external interfaces and
|
|
# 'mozilla::dom::InterfaceName' for everything else.
|
|
# * 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.
|
|
# * notflattened - The native type does not have nsIClassInfo, so when
|
|
# wrapping it the right IID needs to be passed in.
|
|
# Only relevant for callback interfaces.
|
|
# * 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.
|
|
# Defaults to true for non-callback descriptors.
|
|
#
|
|
# 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
|
|
#
|
|
# The value for an interface is a dictionary which specifies the
|
|
# descriptor to use when generating that interface's binding.
|
|
|
|
DOMInterfaces = {
|
|
|
|
'AbstractWorker': {
|
|
'concrete': False
|
|
},
|
|
|
|
'AddonManagerPermissions': {
|
|
'wrapperCache': False,
|
|
'concrete': False
|
|
},
|
|
|
|
'AnimationEffectReadOnly': {
|
|
'concrete': False
|
|
},
|
|
|
|
'AnimationTimeline': {
|
|
'concrete': False
|
|
},
|
|
|
|
'AnonymousContent': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'ArchiveReader': {
|
|
'nativeType': 'mozilla::dom::archivereader::ArchiveReader',
|
|
},
|
|
|
|
'ArchiveRequest': {
|
|
'nativeType': 'mozilla::dom::archivereader::ArchiveRequest',
|
|
},
|
|
|
|
'AudioBuffer': {
|
|
'implicitJSContext': [ 'copyToChannel' ],
|
|
},
|
|
|
|
'AudioBufferSourceNode': {
|
|
'implicitJSContext': [ 'buffer' ],
|
|
},
|
|
|
|
'AudioNode' : {
|
|
'concrete': False,
|
|
'binaryNames': {
|
|
'channelCountMode': 'channelCountModeValue',
|
|
'channelInterpretation': 'channelInterpretationValue',
|
|
},
|
|
},
|
|
|
|
'BarProp': {
|
|
'headerFile': 'mozilla/dom/BarProps.h',
|
|
},
|
|
|
|
'BaseAudioContext': {
|
|
'nativeType': 'mozilla::dom::AudioContext',
|
|
},
|
|
|
|
'BatteryManager': {
|
|
'nativeType': 'mozilla::dom::battery::BatteryManager',
|
|
'headerFile': 'BatteryManager.h'
|
|
},
|
|
|
|
'BoxObject': {
|
|
'resultNotAddRefed': ['element'],
|
|
},
|
|
|
|
'Cache': {
|
|
'implicitJSContext': [ 'add', 'addAll', 'match', 'matchAll', 'put',
|
|
'delete', 'keys' ],
|
|
'nativeType': 'mozilla::dom::cache::Cache',
|
|
},
|
|
|
|
'CacheStorage': {
|
|
'implicitJSContext': [ 'match' ],
|
|
'nativeType': 'mozilla::dom::cache::CacheStorage',
|
|
},
|
|
|
|
'CanvasRenderingContext2D': {
|
|
'implicitJSContext': [
|
|
'createImageData', 'getImageData', 'isPointInPath', 'isPointInStroke'
|
|
],
|
|
'binaryNames': {
|
|
'mozImageSmoothingEnabled': 'imageSmoothingEnabled'
|
|
}
|
|
},
|
|
|
|
'CaretPosition' : {
|
|
'nativeType': 'nsDOMCaretPosition',
|
|
},
|
|
|
|
'ChannelWrapper': {
|
|
'nativeType': 'mozilla::extensions::ChannelWrapper',
|
|
},
|
|
|
|
'CharacterData': {
|
|
'nativeType': 'nsGenericDOMDataNode',
|
|
'concrete': False
|
|
},
|
|
|
|
'ChromeWorker': {
|
|
'headerFile': 'mozilla/dom/WorkerPrivate.h',
|
|
'nativeType': 'mozilla::dom::workers::ChromeWorkerPrivate',
|
|
},
|
|
|
|
'console': {
|
|
'nativeType': 'mozilla::dom::Console',
|
|
},
|
|
|
|
'ConsoleInstance': {
|
|
'implicitJSContext': ['clear', 'count', 'groupEnd', 'time', 'timeEnd'],
|
|
},
|
|
|
|
'ConvolverNode': {
|
|
'implicitJSContext': [ 'buffer' ],
|
|
},
|
|
|
|
'Coordinates': {
|
|
'headerFile': 'nsGeoPosition.h'
|
|
},
|
|
|
|
'Crypto' : {
|
|
'headerFile': 'Crypto.h'
|
|
},
|
|
|
|
'CSS': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'CSS2Properties': {
|
|
'nativeType': 'nsDOMCSSDeclaration'
|
|
},
|
|
|
|
'CSSConditionRule': {
|
|
'concrete': False,
|
|
'nativeType': 'mozilla::css::ConditionRule',
|
|
'headerFile': 'mozilla/css/GroupRule.h',
|
|
},
|
|
|
|
'CSSCounterStyleRule': {
|
|
'nativeType': 'nsCSSCounterStyleRule',
|
|
'headerFile': 'nsCSSCounterStyleRule.h',
|
|
},
|
|
|
|
'CSSFontFaceRule': {
|
|
'nativeType': 'nsCSSFontFaceRule',
|
|
'headerFile': 'nsCSSFontFaceRule.h',
|
|
},
|
|
|
|
'CSSGroupingRule': {
|
|
'concrete': False,
|
|
'nativeType': 'mozilla::css::GroupRule',
|
|
},
|
|
|
|
'CSSLexer': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'CSSPrimitiveValue': {
|
|
'nativeType': 'nsROCSSPrimitiveValue',
|
|
},
|
|
|
|
'CSSRule': {
|
|
'concrete': False,
|
|
'nativeType': 'mozilla::css::Rule'
|
|
},
|
|
|
|
'CSSStyleDeclaration': {
|
|
'nativeType': 'nsICSSDeclaration'
|
|
},
|
|
|
|
'CSSStyleRule': {
|
|
'nativeType': 'mozilla::BindingStyleRule',
|
|
},
|
|
|
|
'CSSStyleSheet': {
|
|
'nativeType': 'mozilla::StyleSheet',
|
|
'binaryNames': { 'ownerRule': 'DOMOwnerRule' },
|
|
},
|
|
|
|
'CSSValue': {
|
|
'concrete': False
|
|
},
|
|
|
|
'CSSValueList': {
|
|
'nativeType': 'nsDOMCSSValueList'
|
|
},
|
|
|
|
'DataChannel': {
|
|
'nativeType': 'nsDOMDataChannel',
|
|
},
|
|
|
|
'DedicatedWorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
'implicitJSContext': [ 'close' ],
|
|
},
|
|
|
|
'DeviceAcceleration': {
|
|
'headerFile': 'mozilla/dom/DeviceMotionEvent.h',
|
|
},
|
|
|
|
'DeviceRotationRate': {
|
|
'headerFile': 'mozilla/dom/DeviceMotionEvent.h',
|
|
},
|
|
|
|
'Document': {
|
|
'nativeType': 'nsIDocument',
|
|
},
|
|
|
|
'DominatorTree': {
|
|
'nativeType': 'mozilla::devtools::DominatorTree'
|
|
},
|
|
|
|
'DOMException': {
|
|
'binaryNames': {
|
|
'message': 'messageMoz',
|
|
},
|
|
'implicitJSContext': [ 'filename', 'lineNumber', 'stack' ],
|
|
},
|
|
|
|
'DOMMatrixReadOnly': {
|
|
'headerFile': 'mozilla/dom/DOMMatrix.h',
|
|
'concrete': False,
|
|
},
|
|
|
|
'DOMPointReadOnly': {
|
|
'headerFile': 'mozilla/dom/DOMPoint.h',
|
|
'concrete': False,
|
|
},
|
|
|
|
'DOMRectList': {
|
|
'headerFile': 'mozilla/dom/DOMRect.h',
|
|
},
|
|
|
|
'DOMRectReadOnly': {
|
|
'headerFile': 'mozilla/dom/DOMRect.h',
|
|
},
|
|
|
|
'DOMRequest': {
|
|
'implicitJSContext': [ 'then' ],
|
|
},
|
|
|
|
'DOMStringMap': {
|
|
'nativeType': 'nsDOMStringMap'
|
|
},
|
|
|
|
'DOMTokenList': {
|
|
'nativeType': 'nsDOMTokenList',
|
|
},
|
|
|
|
'DynamicsCompressorNode': {
|
|
'binaryNames': {
|
|
'release': 'getRelease'
|
|
},
|
|
},
|
|
|
|
'Event': {
|
|
'implicitJSContext': [ 'preventDefault' ],
|
|
},
|
|
|
|
'EventTarget': {
|
|
# When we get rid of hasXPConnectImpls, we can get rid of the
|
|
# couldBeDOMBinding stuff in GetOrCreateDOMReflector.
|
|
#
|
|
# We can also get rid of the UnwrapArg bits in
|
|
# the dom QueryInterface (in BindingUtils.cpp) at that point.
|
|
'hasXPConnectImpls': True,
|
|
'jsImplParent': 'mozilla::DOMEventTargetHelper',
|
|
},
|
|
|
|
'Exception': {
|
|
'headerFile': 'mozilla/dom/DOMException.h',
|
|
'binaryNames': {
|
|
'message': 'messageMoz',
|
|
},
|
|
'implicitJSContext': [ '__stringifier', 'filename', 'lineNumber', 'stack' ],
|
|
},
|
|
|
|
'ExtendableEvent': {
|
|
'headerFile': 'mozilla/dom/ServiceWorkerEvents.h',
|
|
'nativeType': 'mozilla::dom::workers::ExtendableEvent',
|
|
'implicitJSContext': [ 'waitUntil' ],
|
|
},
|
|
|
|
'ExtendableMessageEvent': {
|
|
'headerFile': 'mozilla/dom/ServiceWorkerEvents.h',
|
|
'nativeType': 'mozilla::dom::workers::ExtendableMessageEvent',
|
|
},
|
|
|
|
'FetchEvent': {
|
|
'headerFile': 'ServiceWorkerEvents.h',
|
|
'nativeType': 'mozilla::dom::workers::FetchEvent',
|
|
'binaryNames': {
|
|
'request': 'request_'
|
|
},
|
|
'implicitJSContext': [ 'respondWith' ],
|
|
},
|
|
|
|
'FileReader': {
|
|
'implicitJSContext': [ 'readAsArrayBuffer' ],
|
|
},
|
|
|
|
'FileReaderSync': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'FontFaceSet': {
|
|
'implicitJSContext': [ 'load' ],
|
|
},
|
|
|
|
'FontFaceSetIterator': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'FrameLoader': {
|
|
'nativeType': 'nsFrameLoader',
|
|
},
|
|
|
|
'FuzzingFunctions': {
|
|
# The codegen is dumb, and doesn't understand that this interface is only a
|
|
# collection of static methods, so we have this `concrete: False` hack.
|
|
'concrete': False,
|
|
'headerFile': 'mozilla/dom/FuzzingFunctions.h',
|
|
},
|
|
|
|
'Geolocation': {
|
|
'headerFile': 'nsGeolocation.h'
|
|
},
|
|
|
|
'HeapSnapshot': {
|
|
'nativeType': 'mozilla::devtools::HeapSnapshot'
|
|
},
|
|
|
|
'History': {
|
|
'headerFile': 'nsHistory.h',
|
|
'nativeType': 'nsHistory'
|
|
},
|
|
|
|
'HTMLBaseElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLCollection': {
|
|
'nativeType': 'nsIHTMLCollection',
|
|
# nsContentList.h pulls in nsIHTMLCollection.h
|
|
'headerFile': 'nsContentList.h',
|
|
},
|
|
|
|
'HTMLDirectoryElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLDListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'HTMLDocument': {
|
|
'nativeType': 'nsHTMLDocument',
|
|
'implicitJSContext': [ 'open', 'write', 'writeln' ]
|
|
},
|
|
|
|
'HTMLElement': {
|
|
'nativeType': 'nsGenericHTMLElement',
|
|
},
|
|
|
|
'HTMLHeadElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLHtmlElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLMediaElement': {
|
|
'concrete': False
|
|
},
|
|
|
|
'HTMLOListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'HTMLParamElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLQuoteElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLTextAreaElement': {
|
|
'binaryNames': {
|
|
'textLength': 'getTextLength'
|
|
}
|
|
},
|
|
|
|
'HTMLUListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'IDBCursor': {
|
|
'implicitJSContext': [ 'delete' ],
|
|
'binaryNames': {
|
|
'direction': 'getDirection'
|
|
}
|
|
},
|
|
|
|
'IDBCursorWithValue': {
|
|
'nativeType': 'mozilla::dom::IDBCursor',
|
|
},
|
|
|
|
'IDBDatabase': {
|
|
'implicitJSContext': [ 'transaction', 'createMutableFile',
|
|
'mozCreateFileHandle' ],
|
|
},
|
|
|
|
'IDBFactory': {
|
|
'implicitJSContext': [ 'open', 'deleteDatabase', 'openForPrincipal',
|
|
'deleteForPrincipal' ],
|
|
},
|
|
|
|
'IDBIndex': {
|
|
'binaryNames': {
|
|
'mozGetAll': 'getAll',
|
|
'mozGetAllKeys': 'getAllKeys',
|
|
}
|
|
},
|
|
|
|
'IDBKeyRange': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'IDBLocaleAwareKeyRange': {
|
|
'headerFile': 'IDBKeyRange.h',
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'IDBObjectStore': {
|
|
'binaryNames': {
|
|
'mozGetAll': 'getAll'
|
|
},
|
|
'implicitJSContext': [ 'clear' ],
|
|
},
|
|
|
|
'IDBOpenDBRequest': {
|
|
'headerFile': 'IDBRequest.h'
|
|
},
|
|
|
|
'IDBVersionChangeEvent': {
|
|
'headerFile': 'IDBEvents.h',
|
|
},
|
|
|
|
'IID': {
|
|
'nativeType': 'nsIJSID',
|
|
'headerFile': 'xpcjsid.h',
|
|
},
|
|
|
|
'ImageBitmap': {
|
|
'implicitJSContext': [ 'mapDataInto' ],
|
|
},
|
|
|
|
'ImageCapture': {
|
|
'binaryNames': { 'videoStreamTrack': 'GetVideoStreamTrack' }
|
|
},
|
|
|
|
'ImageData': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'InputStream': {
|
|
'nativeType': 'nsIInputStream',
|
|
'notflattened': True
|
|
},
|
|
|
|
'IntersectionObserver': {
|
|
'nativeType': 'mozilla::dom::DOMIntersectionObserver',
|
|
},
|
|
|
|
'IntersectionObserverEntry': {
|
|
'nativeType': 'mozilla::dom::DOMIntersectionObserverEntry',
|
|
'headerFile': 'DOMIntersectionObserver.h',
|
|
},
|
|
|
|
'KeyEvent': {
|
|
'concrete': False
|
|
},
|
|
|
|
'LegacyMozTCPSocket': {
|
|
'headerFile': 'TCPSocket.h',
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'LocalMediaStream': {
|
|
'headerFile': 'DOMMediaStream.h',
|
|
'nativeType': 'mozilla::DOMLocalMediaStream'
|
|
},
|
|
|
|
'MatchGlob': {
|
|
'nativeType': 'mozilla::extensions::MatchGlob',
|
|
},
|
|
|
|
'MatchPattern': {
|
|
'nativeType': 'mozilla::extensions::MatchPattern',
|
|
},
|
|
|
|
'MatchPatternSet': {
|
|
'headerFile': 'mozilla/extensions/MatchPattern.h',
|
|
'nativeType': 'mozilla::extensions::MatchPatternSet',
|
|
},
|
|
|
|
'MediaKeys' : {
|
|
'implicitJSContext': [ 'createSession']
|
|
},
|
|
|
|
'MediaStream': {
|
|
'headerFile': 'DOMMediaStream.h',
|
|
'nativeType': 'mozilla::DOMMediaStream'
|
|
},
|
|
|
|
'MediaStreamAudioDestinationNode': {
|
|
'binaryNames': { 'stream': 'DOMStream' }
|
|
},
|
|
|
|
'MediaStreamList': {
|
|
'headerFile': 'MediaStreamList.h',
|
|
},
|
|
|
|
'MediaStreamTrack': {
|
|
'concrete': False
|
|
},
|
|
|
|
'MediaRecorder': {
|
|
'headerFile': 'MediaRecorder.h',
|
|
},
|
|
|
|
'MimeType': {
|
|
'headerFile' : 'nsMimeTypeArray.h',
|
|
'nativeType': 'nsMimeType',
|
|
},
|
|
|
|
'MimeTypeArray': {
|
|
'nativeType': 'nsMimeTypeArray',
|
|
},
|
|
|
|
'MozCanvasPrintState': {
|
|
'headerFile': 'mozilla/dom/HTMLCanvasElement.h',
|
|
'nativeType': 'mozilla::dom::HTMLCanvasPrintState',
|
|
},
|
|
|
|
'MozChannel': {
|
|
'nativeType': 'nsIChannel',
|
|
'notflattened': True
|
|
},
|
|
|
|
'MozTimeManager': {
|
|
'nativeType': 'mozilla::dom::time::TimeManager',
|
|
},
|
|
|
|
'MozStorageAsyncStatementParams': {
|
|
'headerFile': 'mozilla/storage/mozStorageAsyncStatementParams.h',
|
|
'nativeType': 'mozilla::storage::AsyncStatementParams',
|
|
},
|
|
|
|
'MozStorageStatementParams': {
|
|
'headerFile': 'mozilla/storage/mozStorageStatementParams.h',
|
|
'nativeType': 'mozilla::storage::StatementParams',
|
|
},
|
|
|
|
'MozStorageStatementRow': {
|
|
'headerFile': 'mozilla/storage/mozStorageStatementRow.h',
|
|
'nativeType': 'mozilla::storage::StatementRow',
|
|
},
|
|
|
|
'MutationObserver': {
|
|
'nativeType': 'nsDOMMutationObserver',
|
|
},
|
|
|
|
'MutationRecord': {
|
|
'nativeType': 'nsDOMMutationRecord',
|
|
'headerFile': 'nsDOMMutationObserver.h',
|
|
},
|
|
|
|
'NamedNodeMap': {
|
|
'nativeType': 'nsDOMAttributeMap',
|
|
},
|
|
|
|
'NetworkInformation': {
|
|
'nativeType': 'mozilla::dom::network::Connection',
|
|
},
|
|
|
|
'Node': {
|
|
'nativeType': 'nsINode',
|
|
'concrete': False,
|
|
},
|
|
|
|
'NodeIterator': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'NodeList': {
|
|
'nativeType': 'nsINodeList',
|
|
},
|
|
|
|
'NotificationEvent': {
|
|
'headerFile': 'mozilla/dom/NotificationEvent.h',
|
|
'nativeType': 'mozilla::dom::workers::NotificationEvent',
|
|
'binaryNames': {
|
|
'notification': 'notification_'
|
|
}
|
|
},
|
|
|
|
'OfflineAudioContext': {
|
|
'nativeType': 'mozilla::dom::AudioContext',
|
|
},
|
|
|
|
'OfflineResourceList': {
|
|
'nativeType': 'nsDOMOfflineResourceList',
|
|
},
|
|
|
|
'PaintRequestList': {
|
|
'headerFile': 'mozilla/dom/PaintRequest.h',
|
|
},
|
|
|
|
'Path2D': {
|
|
'nativeType': 'mozilla::dom::CanvasPath',
|
|
'headerFile': 'CanvasPath.h'
|
|
},
|
|
|
|
'PeerConnectionImpl': {
|
|
'nativeType': 'mozilla::PeerConnectionImpl',
|
|
'headerFile': 'PeerConnectionImpl.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'TransceiverImpl': {
|
|
'nativeType': 'mozilla::TransceiverImpl',
|
|
'headerFile': 'TransceiverImpl.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'Plugin': {
|
|
'headerFile' : 'nsPluginArray.h',
|
|
'nativeType': 'nsPluginElement',
|
|
},
|
|
|
|
'PluginArray': {
|
|
'nativeType': 'nsPluginArray',
|
|
},
|
|
|
|
'PluginTag': {
|
|
'nativeType': 'nsIPluginTag',
|
|
},
|
|
|
|
'PopupBoxObject': {
|
|
'resultNotAddRefed': ['triggerNode', 'anchorNode'],
|
|
},
|
|
|
|
'Position': {
|
|
'headerFile': 'nsGeoPosition.h'
|
|
},
|
|
|
|
'PositionError': {
|
|
'headerFile': 'nsGeolocation.h'
|
|
},
|
|
|
|
'PromiseDebugging': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'PromiseNativeHandler': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'PushEvent': {
|
|
'headerFile': 'ServiceWorkerEvents.h',
|
|
'nativeType': 'mozilla::dom::workers::PushEvent',
|
|
},
|
|
|
|
'PushMessageData': {
|
|
'headerFile': 'ServiceWorkerEvents.h',
|
|
'nativeType': 'mozilla::dom::workers::PushMessageData',
|
|
},
|
|
|
|
'Range': {
|
|
'nativeType': 'nsRange',
|
|
'binaryNames': {
|
|
'__stringifier': 'ToString'
|
|
}
|
|
},
|
|
|
|
'Rect': {
|
|
'nativeType': 'nsDOMCSSRect',
|
|
},
|
|
|
|
'Request': {
|
|
'binaryNames': {
|
|
'headers': 'headers_',
|
|
'referrerPolicy': 'referrerPolicy_'
|
|
},
|
|
'implicitJSContext': [ 'arrayBuffer', 'blob', 'formData', 'json', 'text' ],
|
|
},
|
|
|
|
'Response': {
|
|
'binaryNames': { 'headers': 'headers_' },
|
|
'implicitJSContext': [ 'arrayBuffer', 'blob', 'formData', 'json', 'text',
|
|
'clone', 'cloneUnfiltered' ],
|
|
},
|
|
|
|
'RGBColor': {
|
|
'nativeType': 'nsDOMCSSRGBColor',
|
|
},
|
|
|
|
'Screen': {
|
|
'nativeType': 'nsScreen',
|
|
},
|
|
|
|
'ServiceWorker': {
|
|
'nativeType': 'mozilla::dom::workers::ServiceWorker',
|
|
'headerFile': 'mozilla/dom/workers/bindings/ServiceWorker.h',
|
|
},
|
|
|
|
'ServiceWorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
},
|
|
|
|
'ServiceWorkerRegistration': {
|
|
'implicitJSContext': [ 'pushManager' ],
|
|
},
|
|
|
|
'SharedWorker': {
|
|
'nativeType': 'mozilla::dom::workers::SharedWorker',
|
|
'headerFile': 'mozilla/dom/workers/bindings/SharedWorker.h',
|
|
},
|
|
|
|
'SharedWorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
'implicitJSContext': [ 'close' ],
|
|
},
|
|
|
|
'StreamFilter': {
|
|
'nativeType': 'mozilla::extensions::StreamFilter',
|
|
},
|
|
|
|
'StreamFilterDataEvent': {
|
|
'nativeType': 'mozilla::extensions::StreamFilterDataEvent',
|
|
'headerFile': 'mozilla/extensions/StreamFilterEvents.h',
|
|
},
|
|
|
|
'StructuredCloneHolder': {
|
|
'nativeType': 'mozilla::dom::StructuredCloneBlob',
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'StyleSheet': {
|
|
'nativeType': 'mozilla::StyleSheet',
|
|
'headerFile': 'mozilla/StyleSheetInlines.h',
|
|
},
|
|
|
|
'SVGAnimatedLengthList': {
|
|
'nativeType': 'mozilla::DOMSVGAnimatedLengthList',
|
|
'headerFile': 'DOMSVGAnimatedLengthList.h',
|
|
},
|
|
|
|
'SVGAnimatedNumberList': {
|
|
'nativeType': 'mozilla::DOMSVGAnimatedNumberList',
|
|
'headerFile': 'DOMSVGAnimatedNumberList.h'
|
|
},
|
|
|
|
'SVGAnimatedPreserveAspectRatio': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedPreserveAspectRatio',
|
|
'headerFile': 'SVGAnimatedPreserveAspectRatio.h'
|
|
},
|
|
|
|
'SVGAnimationElement': {
|
|
'concrete': False
|
|
},
|
|
|
|
'SVGComponentTransferFunctionElement': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGElement': {
|
|
'nativeType': 'nsSVGElement',
|
|
},
|
|
|
|
'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,
|
|
},
|
|
|
|
'SVGGradientElement': {
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGLength': {
|
|
'nativeType': 'mozilla::DOMSVGLength',
|
|
'headerFile': 'DOMSVGLength.h'
|
|
},
|
|
|
|
'SVGLengthList': {
|
|
'nativeType': 'mozilla::DOMSVGLengthList',
|
|
'headerFile': 'DOMSVGLengthList.h'
|
|
},
|
|
|
|
'SVGLinearGradientElement': {
|
|
'headerFile': 'mozilla/dom/SVGGradientElement.h',
|
|
},
|
|
|
|
'SVGNumber': {
|
|
'nativeType': 'mozilla::DOMSVGNumber',
|
|
'headerFile': 'DOMSVGNumber.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': {
|
|
'binaryNames': {
|
|
"matrix": "GetMatrix"
|
|
}
|
|
},
|
|
|
|
'SVGTransformList': {
|
|
'nativeType': 'mozilla::DOMSVGTransformList',
|
|
'headerFile': 'DOMSVGTransformList.h'
|
|
},
|
|
|
|
'SVGStringList': {
|
|
'nativeType': 'mozilla::DOMSVGStringList',
|
|
'headerFile': 'DOMSVGStringList.h',
|
|
},
|
|
|
|
'SVGUnitTypes' : {
|
|
'concrete': False,
|
|
},
|
|
|
|
'SVGZoomAndPan' : {
|
|
'concrete': False,
|
|
},
|
|
|
|
'TestFunctions': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'Text': {
|
|
# Total hack to allow binding code to realize that nsTextNode can
|
|
# in fact be cast to Text.
|
|
'headerFile': 'nsTextNode.h',
|
|
},
|
|
|
|
'TextDecoder': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'TextEncoder': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'TextMetrics': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'TCPSocket': {
|
|
'implicitJSContext': ['send']
|
|
},
|
|
|
|
'TouchList': {
|
|
'headerFile': 'mozilla/dom/TouchEvent.h',
|
|
},
|
|
|
|
'TreeColumn': {
|
|
'nativeType': 'nsTreeColumn',
|
|
'headerFile': 'nsTreeColumns.h',
|
|
},
|
|
|
|
'TreeColumns': {
|
|
'nativeType': 'nsTreeColumns',
|
|
},
|
|
|
|
'TreeContentView': {
|
|
'nativeType': 'nsTreeContentView',
|
|
},
|
|
|
|
'TreeWalker': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'VTTCue': {
|
|
'nativeType': 'mozilla::dom::TextTrackCue'
|
|
},
|
|
|
|
'VTTRegion': {
|
|
'nativeType': 'mozilla::dom::TextTrackRegion',
|
|
},
|
|
|
|
'WebAuthentication': {
|
|
'implicitJSContext': 'makeCredential',
|
|
},
|
|
|
|
'WebExtensionContentScript': {
|
|
'nativeType': 'mozilla::extensions::WebExtensionContentScript',
|
|
},
|
|
|
|
'WebExtensionPolicy': {
|
|
'nativeType': 'mozilla::extensions::WebExtensionPolicy',
|
|
},
|
|
|
|
'WindowClient': {
|
|
'nativeType': 'mozilla::dom::Client',
|
|
},
|
|
|
|
'WebGLActiveInfo': {
|
|
'nativeType': 'mozilla::WebGLActiveInfo',
|
|
'headerFile': 'WebGLActiveInfo.h'
|
|
},
|
|
|
|
'WebGLBuffer': {
|
|
'nativeType': 'mozilla::WebGLBuffer',
|
|
'headerFile': 'WebGLBuffer.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_astc': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureASTC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_atc': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureATC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_etc': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureES3',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_etc1': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureETC1',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_pvrtc': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTexturePVRTC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_s3tc': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureS3TC',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_s3tc_srgb': {
|
|
'nativeType': 'mozilla::WebGLExtensionCompressedTextureS3TC_SRGB',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_depth_texture': {
|
|
'nativeType': 'mozilla::WebGLExtensionDepthTexture',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_debug_renderer_info': {
|
|
'nativeType': 'mozilla::WebGLExtensionDebugRendererInfo',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_debug_shaders': {
|
|
'nativeType': 'mozilla::WebGLExtensionDebugShaders',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_element_index_uint': {
|
|
'nativeType': 'mozilla::WebGLExtensionElementIndexUint',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_frag_depth': {
|
|
'nativeType': 'mozilla::WebGLExtensionFragDepth',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_lose_context': {
|
|
'nativeType': 'mozilla::WebGLExtensionLoseContext',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_sRGB': {
|
|
'nativeType': 'mozilla::WebGLExtensionSRGB',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_standard_derivatives': {
|
|
'nativeType': 'mozilla::WebGLExtensionStandardDerivatives',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_shader_texture_lod': {
|
|
'nativeType': 'mozilla::WebGLExtensionShaderTextureLod',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_texture_filter_anisotropic': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureFilterAnisotropic',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_float': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureFloat',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_float_linear': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureFloatLinear',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_half_float': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureHalfFloat',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_half_float_linear': {
|
|
'nativeType': 'mozilla::WebGLExtensionTextureHalfFloatLinear',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_color_buffer_float': {
|
|
'nativeType': 'mozilla::WebGLExtensionColorBufferFloat',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_color_buffer_half_float': {
|
|
'nativeType': 'mozilla::WebGLExtensionColorBufferHalfFloat',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_color_buffer_float': {
|
|
'nativeType': 'mozilla::WebGLExtensionEXTColorBufferFloat',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_draw_buffers': {
|
|
'nativeType': 'mozilla::WebGLExtensionDrawBuffers',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'OES_vertex_array_object': {
|
|
'nativeType': 'mozilla::WebGLExtensionVertexArray',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'ANGLE_instanced_arrays': {
|
|
'nativeType': 'mozilla::WebGLExtensionInstancedArrays',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_blend_minmax': {
|
|
'nativeType': 'mozilla::WebGLExtensionBlendMinMax',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_disjoint_timer_query': {
|
|
'nativeType': 'mozilla::WebGLExtensionDisjointTimerQuery',
|
|
'headerFile': 'WebGLExtensions.h'
|
|
},
|
|
|
|
'MOZ_debug': {
|
|
'nativeType': 'mozilla::WebGLExtensionMOZDebug',
|
|
'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',
|
|
},
|
|
|
|
'WebGL2RenderingContext': {
|
|
'nativeType': 'mozilla::WebGL2Context',
|
|
'headerFile': 'WebGL2Context.h',
|
|
},
|
|
|
|
'WebGLSampler': {
|
|
'nativeType': 'mozilla::WebGLSampler',
|
|
'headerFile': 'WebGLSampler.h'
|
|
},
|
|
|
|
'WebGLShader': {
|
|
'nativeType': 'mozilla::WebGLShader',
|
|
'headerFile': 'WebGLShader.h'
|
|
},
|
|
|
|
'WebGLShaderPrecisionFormat': {
|
|
'nativeType': 'mozilla::WebGLShaderPrecisionFormat',
|
|
'headerFile': 'WebGLShaderPrecisionFormat.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'WebGLSync': {
|
|
'nativeType': 'mozilla::WebGLSync',
|
|
'headerFile': 'WebGLSync.h'
|
|
},
|
|
|
|
'WebGLTexture': {
|
|
'nativeType': 'mozilla::WebGLTexture',
|
|
'headerFile': 'WebGLTexture.h'
|
|
},
|
|
|
|
'WebGLTransformFeedback': {
|
|
'nativeType': 'mozilla::WebGLTransformFeedback',
|
|
'headerFile': 'WebGLTransformFeedback.h'
|
|
},
|
|
|
|
'WebGLUniformLocation': {
|
|
'nativeType': 'mozilla::WebGLUniformLocation',
|
|
'headerFile': 'WebGLUniformLocation.h'
|
|
},
|
|
|
|
'WebGLVertexArrayObject': {
|
|
'nativeType': 'mozilla::WebGLVertexArray',
|
|
'headerFile': 'WebGLVertexArray.h'
|
|
},
|
|
|
|
'WebrtcGlobalInformation': {
|
|
'nativeType': 'mozilla::dom::WebrtcGlobalInformation',
|
|
'headerFile': 'WebrtcGlobalInformation.h',
|
|
'wrapperCache': False,
|
|
'concrete': False,
|
|
},
|
|
|
|
'Window': {
|
|
'nativeType': 'nsGlobalWindowInner',
|
|
'headerFile': 'nsGlobalWindow.h',
|
|
'binaryNames': {
|
|
'postMessage': 'postMessageMoz',
|
|
},
|
|
'implicitJSContext': [
|
|
'createImageBitmap',
|
|
'requestIdleCallback'
|
|
],
|
|
},
|
|
|
|
'WindowProxy': {
|
|
'nativeType': 'nsPIDOMWindowOuter',
|
|
'headerFile': 'nsPIDOMWindow.h',
|
|
'concrete': False
|
|
},
|
|
|
|
'WindowRoot': {
|
|
'nativeType': 'nsWindowRoot'
|
|
},
|
|
|
|
'Worker': {
|
|
'headerFile': 'mozilla/dom/WorkerPrivate.h',
|
|
'nativeType': 'mozilla::dom::workers::WorkerPrivate',
|
|
},
|
|
|
|
'WorkerDebuggerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
'implicitJSContext': [
|
|
'dump', 'global', 'reportError', 'setConsoleEventHandler',
|
|
],
|
|
},
|
|
|
|
'WorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
'implicitJSContext': [ 'createImageBitmap' ],
|
|
'concrete': False,
|
|
# Rename a few things so we don't have both classes and methods
|
|
# with the same name
|
|
'binaryNames': {
|
|
'performance': 'getPerformance',
|
|
},
|
|
},
|
|
|
|
'XMLHttpRequest': {
|
|
'implicitJSContext': [ 'send'],
|
|
},
|
|
|
|
'XMLHttpRequestEventTarget': {
|
|
'concrete': False
|
|
},
|
|
|
|
'XMLSerializer': {
|
|
'nativeType': 'nsDOMSerializer',
|
|
},
|
|
|
|
'XPathEvaluator': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'XPathExpression': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'XSLTProcessor': {
|
|
'nativeType': 'txMozillaXSLTProcessor',
|
|
},
|
|
|
|
'XULDocument': {
|
|
'headerFile': 'XULDocument.h'
|
|
},
|
|
|
|
'XULElement': {
|
|
'nativeType': 'nsXULElement',
|
|
},
|
|
|
|
'XULTemplateBuilder': {
|
|
'nativeType': 'nsXULTemplateBuilder',
|
|
},
|
|
|
|
'XULTreeBuilder': {
|
|
'nativeType': 'nsXULTreeBuilder',
|
|
},
|
|
|
|
####################################
|
|
# Test Interfaces of various sorts #
|
|
####################################
|
|
|
|
'TestInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'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,
|
|
'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
|
|
'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
|
|
'attributeRenamedFrom': 'attributeRenamedTo' }
|
|
},
|
|
|
|
'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'
|
|
},
|
|
|
|
'TestNamedDeleterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNamedDeleterWithRetvalInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestCppKeywordNamedMethodsInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestExampleInterface' : {
|
|
# Keep this in sync with TestInterface
|
|
'headerFile': 'TestExampleInterface-example.h',
|
|
'register': False,
|
|
'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo',
|
|
'attributeGetterRenamedFrom': 'attributeGetterRenamedTo',
|
|
'attributeRenamedFrom': 'attributeRenamedTo' }
|
|
},
|
|
|
|
'TestExampleWorkerInterface' : {
|
|
'headerFile': 'TestExampleWorkerInterface-example.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestExampleProxyInterface' : {
|
|
'headerFile': 'TestExampleProxyInterface-example.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestDeprecatedInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestInterfaceWithPromiseConstructorArg' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestSecureContextInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False
|
|
},
|
|
|
|
'TestNamespace' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestRenamedNamespace' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestProtoObjectHackedNamespace' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestWorkerExposedInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestHTMLConstructorInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCEReactionsInterface' : {
|
|
'headerFile': 'TestBindingHeader.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('ApplicationCache', nativeType='nsIDOMOfflineResourceList')
|
|
addExternalIface('Cookie', nativeType='nsICookie2',
|
|
headerFile='nsICookie2.h', notflattened=True)
|
|
addExternalIface('Counter')
|
|
addExternalIface('RTCDataChannel', nativeType='nsIDOMDataChannel')
|
|
addExternalIface('HitRegionOptions', nativeType='nsISupports')
|
|
addExternalIface('imgINotificationObserver', nativeType='imgINotificationObserver')
|
|
addExternalIface('imgIRequest', nativeType='imgIRequest', notflattened=True)
|
|
addExternalIface('LoadContext', nativeType='nsILoadContext', notflattened=True)
|
|
addExternalIface('LoadInfo', nativeType='nsILoadInfo',
|
|
headerFile='nsILoadInfo.h', notflattened=True)
|
|
addExternalIface('MenuBuilder', nativeType='nsIMenuBuilder', notflattened=True)
|
|
addExternalIface('XULControllers', nativeType='nsIControllers', notflattened=True)
|
|
addExternalIface('MozFrameLoader', nativeType='nsIFrameLoader', notflattened=True)
|
|
addExternalIface('MozObserver', nativeType='nsIObserver', notflattened=True)
|
|
addExternalIface('MozRDFCompositeDataSource', nativeType='nsIRDFCompositeDataSource',
|
|
notflattened=True)
|
|
addExternalIface('MozRDFResource', nativeType='nsIRDFResource', notflattened=True)
|
|
addExternalIface('MozTreeView', nativeType='nsITreeView',
|
|
headerFile='nsITreeView.h', notflattened=True)
|
|
addExternalIface('MozWakeLockListener', headerFile='nsIDOMWakeLockListener.h')
|
|
addExternalIface('nsIBrowserDOMWindow', nativeType='nsIBrowserDOMWindow',
|
|
notflattened=True)
|
|
addExternalIface('nsIDOMCrypto', nativeType='nsIDOMCrypto',
|
|
headerFile='Crypto.h')
|
|
addExternalIface('nsIFile', nativeType='nsIFile', notflattened=True)
|
|
addExternalIface('nsIGroupedSHistory', nativeType='nsIGroupedSHistory',
|
|
notflattened=True)
|
|
addExternalIface('nsILoadGroup', nativeType='nsILoadGroup',
|
|
headerFile='nsILoadGroup.h', notflattened=True)
|
|
addExternalIface('nsIMessageBroadcaster', nativeType='nsIMessageBroadcaster',
|
|
headerFile='nsIMessageManager.h', notflattened=True)
|
|
addExternalIface('nsIMessageSender', nativeType='nsIMessageSender',
|
|
headerFile='nsIMessageManager.h', notflattened=True)
|
|
addExternalIface('nsIPartialSHistory', nativeType='nsIPartialSHistory',
|
|
notflattened=True)
|
|
addExternalIface('nsIPrintSettings', nativeType='nsIPrintSettings',
|
|
notflattened=True)
|
|
addExternalIface('nsISelectionListener', nativeType='nsISelectionListener')
|
|
addExternalIface('nsIStreamListener', nativeType='nsIStreamListener', notflattened=True)
|
|
addExternalIface('nsITransportProvider', nativeType='nsITransportProvider')
|
|
addExternalIface('nsITreeSelection', nativeType='nsITreeSelection',
|
|
notflattened=True)
|
|
addExternalIface('nsISupports', nativeType='nsISupports')
|
|
addExternalIface('nsIDocShell', nativeType='nsIDocShell', notflattened=True)
|
|
addExternalIface('nsIEditor', nativeType='nsIEditor', notflattened=True)
|
|
addExternalIface('nsIVariant', nativeType='nsIVariant', notflattened=True)
|
|
addExternalIface('nsIWebBrowserPersistDocumentReceiver',
|
|
nativeType='nsIWebBrowserPersistDocumentReceiver',
|
|
headerFile='nsIWebBrowserPersistDocument.h',
|
|
notflattened=True)
|
|
addExternalIface('nsIWebProgressListener', nativeType='nsIWebProgressListener',
|
|
notflattened=True)
|
|
addExternalIface('nsIScriptableRegion', nativeType='nsIScriptableRegion', notflattened=True)
|
|
addExternalIface('OutputStream', nativeType='nsIOutputStream',
|
|
notflattened=True)
|
|
addExternalIface('Principal', nativeType='nsIPrincipal',
|
|
headerFile='nsIPrincipal.h', notflattened=True)
|
|
addExternalIface('StackFrame', nativeType='nsIStackFrame',
|
|
headerFile='nsIException.h', notflattened=True)
|
|
addExternalIface('TabParent', nativeType='nsITabParent',
|
|
notflattened=True)
|
|
addExternalIface('URI', nativeType='nsIURI', headerFile='nsIURI.h',
|
|
notflattened=True)
|
|
addExternalIface('XULCommandDispatcher', notflattened=True)
|
|
addExternalIface('XULTemplateResult', nativeType='nsIXULTemplateResult',
|
|
notflattened=True)
|
|
addExternalIface('XULTemplateRuleFilter', nativeType='nsIXULTemplateRuleFilter',
|
|
notflattened=True)
|