This is a huge patch, but it is only really refactoring of RFPTarget enum. We used to use RFPTarget as a bitset and now we ran out of bits, so now we need a workaround. Differential Revision: https://phabricator.services.mozilla.com/D233182
2065 lines
51 KiB
Plaintext
2065 lines
51 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 for leaf interfaces and
|
|
# interfaces with constructors, false 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.
|
|
# * 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.
|
|
# * implicitJSContext - Llist of names of 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.
|
|
|
|
import buildconfig
|
|
|
|
DOMInterfaces = {
|
|
|
|
'AbortSignal': {
|
|
'implicitJSContext': [ 'throwIfAborted' ],
|
|
'concrete': True,
|
|
},
|
|
|
|
'AnonymousContent': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'AudioBuffer': {
|
|
'implicitJSContext': [ 'copyToChannel' ],
|
|
},
|
|
|
|
'AudioBufferSourceNode': {
|
|
'implicitJSContext': [ 'buffer' ],
|
|
},
|
|
|
|
'AudioWorklet': {
|
|
'nativeType': 'mozilla::dom::Worklet',
|
|
},
|
|
|
|
'AudioWorkletGlobalScope': {
|
|
'implicitJSContext': [ 'registerProcessor' ],
|
|
},
|
|
|
|
'BarProp': {
|
|
'headerFile': 'mozilla/dom/BarProps.h',
|
|
},
|
|
|
|
'BaseAudioContext': {
|
|
'nativeType': 'mozilla::dom::AudioContext',
|
|
},
|
|
|
|
'BatteryManager': {
|
|
'nativeType': 'mozilla::dom::battery::BatteryManager',
|
|
'headerFile': 'BatteryManager.h'
|
|
},
|
|
|
|
'Blob': {
|
|
'implicitJSContext': [ 'stream' ],
|
|
},
|
|
|
|
'BrowsingContext': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'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'
|
|
],
|
|
},
|
|
|
|
'CaretPosition' : {
|
|
'nativeType': 'nsDOMCaretPosition',
|
|
},
|
|
|
|
'ChannelWrapper': {
|
|
'nativeType': 'mozilla::extensions::ChannelWrapper',
|
|
},
|
|
|
|
'Client' : {
|
|
'concrete': True,
|
|
},
|
|
|
|
'ClonedErrorHolder': {
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'console': {
|
|
'nativeType': 'mozilla::dom::Console',
|
|
},
|
|
|
|
'ConsoleInstance': {
|
|
'implicitJSContext': ['clear', 'count', 'countReset', 'groupEnd', 'time', 'timeEnd'],
|
|
},
|
|
|
|
'ConvolverNode': {
|
|
'implicitJSContext': [ 'buffer' ],
|
|
},
|
|
|
|
'Credential' : {
|
|
'concrete': True,
|
|
},
|
|
|
|
'Crypto' : {
|
|
'headerFile': 'Crypto.h'
|
|
},
|
|
|
|
'CSS2Properties': {
|
|
'nativeType': 'nsDOMCSSDeclaration'
|
|
},
|
|
|
|
'CSSPageDescriptors': {
|
|
'nativeType': 'mozilla::dom::CSSPageRuleDeclaration',
|
|
'headerFile': 'mozilla/dom/CSSPageRule.h',
|
|
},
|
|
|
|
'CSSConditionRule': {
|
|
'nativeType': 'mozilla::css::ConditionRule',
|
|
'headerFile': 'mozilla/css/GroupRule.h',
|
|
},
|
|
|
|
'CSSGroupingRule': {
|
|
'nativeType': 'mozilla::css::GroupRule',
|
|
},
|
|
|
|
'CSSRule': {
|
|
'nativeType': 'mozilla::css::Rule'
|
|
},
|
|
|
|
'CSSStyleDeclaration': {
|
|
'nativeType': 'nsICSSDeclaration',
|
|
# Concrete because of the font-face mess.
|
|
'concrete': True,
|
|
},
|
|
|
|
'CSSStyleSheet': {
|
|
'nativeType': 'mozilla::StyleSheet',
|
|
},
|
|
|
|
'CSSPositionTryDescriptors': {
|
|
'nativeType': 'mozilla::dom::CSSPositionTryRuleDeclaration',
|
|
'headerFile': 'mozilla/dom/CSSPositionTryRule.h',
|
|
},
|
|
|
|
'CustomElementRegistry': {
|
|
'implicitJSContext': ['define', 'getName'],
|
|
},
|
|
|
|
'DebuggerNotification': {
|
|
'concrete': True,
|
|
},
|
|
'CallbackDebuggerNotification': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'DedicatedWorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
},
|
|
|
|
'DeviceAcceleration': {
|
|
'headerFile': 'mozilla/dom/DeviceMotionEvent.h',
|
|
},
|
|
|
|
'DeviceRotationRate': {
|
|
'headerFile': 'mozilla/dom/DeviceMotionEvent.h',
|
|
},
|
|
|
|
'DominatorTree': {
|
|
'nativeType': 'mozilla::devtools::DominatorTree'
|
|
},
|
|
|
|
'DOMException': {
|
|
'implicitJSContext': [ 'filename', 'lineNumber', 'stack' ],
|
|
},
|
|
|
|
'DOMMatrixReadOnly': {
|
|
'headerFile': 'mozilla/dom/DOMMatrix.h',
|
|
},
|
|
|
|
'DOMPointReadOnly': {
|
|
'headerFile': 'mozilla/dom/DOMPoint.h',
|
|
},
|
|
|
|
'DOMRectList': {
|
|
'headerFile': 'mozilla/dom/DOMRect.h',
|
|
},
|
|
|
|
'DOMRectReadOnly': {
|
|
'headerFile': 'mozilla/dom/DOMRect.h',
|
|
},
|
|
|
|
'DOMStringMap': {
|
|
'nativeType': 'nsDOMStringMap'
|
|
},
|
|
|
|
'DOMTokenList': {
|
|
'nativeType': 'nsDOMTokenList',
|
|
},
|
|
|
|
'Element': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'Event': {
|
|
'implicitJSContext': [ 'preventDefault' ],
|
|
},
|
|
|
|
'EventTarget': {
|
|
'jsImplParent': 'mozilla::DOMEventTargetHelper',
|
|
},
|
|
|
|
'Exception': {
|
|
'headerFile': 'mozilla/dom/DOMException.h',
|
|
'implicitJSContext': [ '__stringifier', 'filename', 'lineNumber', 'stack' ],
|
|
},
|
|
|
|
'ExtendableEvent': {
|
|
'headerFile': 'mozilla/dom/ServiceWorkerEvents.h',
|
|
'implicitJSContext': [ 'waitUntil' ],
|
|
},
|
|
|
|
'ExtendableMessageEvent': {
|
|
'headerFile': 'mozilla/dom/ServiceWorkerEvents.h',
|
|
},
|
|
|
|
'FetchEvent': {
|
|
'headerFile': 'ServiceWorkerEvents.h',
|
|
'implicitJSContext': [ 'respondWith' ],
|
|
},
|
|
|
|
'FileReader': {
|
|
'implicitJSContext': [ 'readAsArrayBuffer' ],
|
|
},
|
|
|
|
'FileReaderSync': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'FileSystemEntry': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'FileSystemHandle': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'FluentBundle': {
|
|
'nativeType': 'mozilla::intl::FluentBundle',
|
|
},
|
|
|
|
'FluentBundleAsyncIterator': {
|
|
'headerFile': 'mozilla/intl/L10nRegistry.h',
|
|
'nativeType': 'mozilla::intl::FluentBundleAsyncIterator',
|
|
},
|
|
|
|
'FluentBundleIterator': {
|
|
'headerFile': 'mozilla/intl/L10nRegistry.h',
|
|
'nativeType': 'mozilla::intl::FluentBundleIterator',
|
|
},
|
|
|
|
'FluentPattern': {
|
|
'headerFile': 'mozilla/intl/FluentBundle.h',
|
|
'nativeType': 'mozilla::intl::FluentPattern',
|
|
},
|
|
|
|
'FluentResource': {
|
|
'headerFile': 'mozilla/intl/FluentResource.h',
|
|
'nativeType': 'mozilla::intl::FluentResource',
|
|
},
|
|
|
|
'FontFaceSet': {
|
|
'implicitJSContext': [ 'load' ],
|
|
},
|
|
|
|
'FontFaceSetIterator': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'FrameLoader': {
|
|
'nativeType': 'nsFrameLoader',
|
|
},
|
|
|
|
'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',
|
|
'concrete': True,
|
|
},
|
|
|
|
'HTMLDirectoryElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLDListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'HTMLDocument': {
|
|
'nativeType': 'nsHTMLDocument',
|
|
'concrete': True,
|
|
},
|
|
|
|
'HTMLElement': {
|
|
'nativeType': 'nsGenericHTMLElement',
|
|
},
|
|
|
|
'HTMLHeadElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLHtmlElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLOListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'HTMLParamElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLQuoteElement': {
|
|
'nativeType': 'mozilla::dom::HTMLSharedElement'
|
|
},
|
|
|
|
'HTMLUListElement': {
|
|
'nativeType' : 'mozilla::dom::HTMLSharedListElement'
|
|
},
|
|
|
|
'IDBCursor': {
|
|
'implicitJSContext': [ 'delete' ],
|
|
'concrete': True,
|
|
},
|
|
|
|
'IDBCursorWithValue': {
|
|
'nativeType': 'mozilla::dom::IDBCursor',
|
|
},
|
|
|
|
'IDBDatabase': {
|
|
'implicitJSContext': [ 'transaction' ],
|
|
},
|
|
|
|
'IDBFactory': {
|
|
'implicitJSContext': [ 'open', 'deleteDatabase', 'databases',
|
|
'openForPrincipal', 'deleteForPrincipal' ],
|
|
},
|
|
|
|
'IDBKeyRange': {
|
|
'wrapperCache': False,
|
|
'concrete': True,
|
|
},
|
|
|
|
'IDBObjectStore': {
|
|
'implicitJSContext': [ 'clear' ],
|
|
},
|
|
|
|
'IDBOpenDBRequest': {
|
|
'headerFile': 'IDBRequest.h'
|
|
},
|
|
|
|
'IDBRequest': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'IDBVersionChangeEvent': {
|
|
'headerFile': 'IDBEvents.h',
|
|
},
|
|
|
|
'ImageData': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'InspectorFontFace': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'InspectorCSSParser': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'IntersectionObserver': {
|
|
'nativeType': 'mozilla::dom::DOMIntersectionObserver',
|
|
},
|
|
|
|
'IntersectionObserverEntry': {
|
|
'nativeType': 'mozilla::dom::DOMIntersectionObserverEntry',
|
|
'headerFile': 'DOMIntersectionObserver.h',
|
|
},
|
|
|
|
'KeyEvent' : {
|
|
'concrete': False,
|
|
},
|
|
|
|
'L10nFileSource': {
|
|
'headerFile': 'mozilla/intl/FileSource.h',
|
|
'nativeType': 'mozilla::intl::L10nFileSource',
|
|
},
|
|
|
|
'L10nRegistry': {
|
|
'nativeType': 'mozilla::intl::L10nRegistry',
|
|
},
|
|
|
|
'LegacyMozTCPSocket': {
|
|
'headerFile': 'TCPSocket.h',
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'Localization': {
|
|
'nativeType': 'mozilla::intl::Localization',
|
|
},
|
|
|
|
'MatchGlob': {
|
|
'nativeType': 'mozilla::extensions::MatchGlob',
|
|
},
|
|
|
|
'MatchPattern': {
|
|
'nativeType': 'mozilla::extensions::MatchPattern',
|
|
},
|
|
|
|
'MatchPatternSet': {
|
|
'headerFile': 'mozilla/extensions/MatchPattern.h',
|
|
'nativeType': 'mozilla::extensions::MatchPatternSet',
|
|
},
|
|
|
|
'MediaStream': {
|
|
'headerFile': 'DOMMediaStream.h',
|
|
'nativeType': 'mozilla::DOMMediaStream'
|
|
},
|
|
|
|
'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
|
|
},
|
|
|
|
'MozDocumentMatcher': {
|
|
'nativeType': 'mozilla::extensions::MozDocumentMatcher',
|
|
'headerFile': 'mozilla/extensions/WebExtensionContentScript.h',
|
|
},
|
|
|
|
'MozDocumentObserver': {
|
|
'nativeType': 'mozilla::extensions::DocumentObserver',
|
|
},
|
|
|
|
'MozSharedMap': {
|
|
'nativeType': 'mozilla::dom::ipc::SharedMap',
|
|
'concrete': True,
|
|
},
|
|
|
|
'MozWritableSharedMap': {
|
|
'headerFile': 'mozilla/dom/ipc/SharedMap.h',
|
|
'nativeType': 'mozilla::dom::ipc::WritableSharedMap',
|
|
},
|
|
|
|
'MozSharedMapChangeEvent': {
|
|
'nativeType': 'mozilla::dom::ipc::SharedMapChangeEvent',
|
|
},
|
|
|
|
'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',
|
|
},
|
|
|
|
'MozQueryInterface': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'MutationObserver': {
|
|
'nativeType': 'nsDOMMutationObserver',
|
|
},
|
|
|
|
'MutationRecord': {
|
|
'nativeType': 'nsDOMMutationRecord',
|
|
'headerFile': 'nsDOMMutationObserver.h',
|
|
},
|
|
|
|
'NamedNodeMap': {
|
|
'nativeType': 'nsDOMAttributeMap',
|
|
},
|
|
|
|
'NetworkInformation': {
|
|
'nativeType': 'mozilla::dom::network::Connection',
|
|
},
|
|
|
|
'Node': {
|
|
'nativeType': 'nsINode',
|
|
# Some WebIDL APIs that return Node use nsIContent internally (which doesn't
|
|
# have a direct correspondence with any WebIDL interface), so we need to use
|
|
# nsIContent.h so that the compiler knows nsIContent and nsINode are related
|
|
# by inheritance.
|
|
'headerFile': 'nsIContent.h',
|
|
},
|
|
|
|
'NodeIterator': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'NodeList': {
|
|
'nativeType': 'nsINodeList',
|
|
'concrete': True,
|
|
},
|
|
|
|
'OfflineAudioContext': {
|
|
'nativeType': 'mozilla::dom::AudioContext',
|
|
},
|
|
|
|
'OffscreenCanvasRenderingContext2D': {
|
|
'implicitJSContext': [
|
|
'createImageData', 'getImageData', 'isPointInPath', 'isPointInStroke'
|
|
],
|
|
},
|
|
|
|
'PaintRequestList': {
|
|
'headerFile': 'mozilla/dom/PaintRequest.h',
|
|
},
|
|
|
|
'Path2D': {
|
|
'nativeType': 'mozilla::dom::CanvasPath',
|
|
'headerFile': 'CanvasPath.h'
|
|
},
|
|
|
|
'Performance' : {
|
|
'implicitJSContext': [
|
|
'mark'
|
|
],
|
|
},
|
|
|
|
'PerformanceResourceTiming' : {
|
|
'concrete': True,
|
|
},
|
|
|
|
'TaskController' : {
|
|
'nativeType' : 'mozilla::dom::WebTaskController',
|
|
'headerFile' : 'mozilla/dom/WebTaskController.h'
|
|
},
|
|
|
|
'TransformStreamDefaultController': {
|
|
'implicitJSContext': ['terminate'],
|
|
},
|
|
|
|
'Plugin': {
|
|
'headerFile' : 'nsPluginArray.h',
|
|
'nativeType': 'nsPluginElement',
|
|
},
|
|
|
|
'PluginArray': {
|
|
'nativeType': 'nsPluginArray',
|
|
},
|
|
|
|
'PromiseNativeHandler': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'PushEvent': {
|
|
'headerFile': 'ServiceWorkerEvents.h',
|
|
},
|
|
|
|
'PushMessageData': {
|
|
'headerFile': 'ServiceWorkerEvents.h',
|
|
},
|
|
|
|
'Range': {
|
|
'nativeType': 'nsRange',
|
|
},
|
|
|
|
# Bug 1734174: We should validate ReadableStream usage of implicitJSContext.
|
|
'ReadableByteStreamController': {
|
|
'implicitJSContext': ['byobRequest', 'close', 'enqueue'],
|
|
},
|
|
|
|
'ReadableStream': {
|
|
'implicitJSContext': ['tee'],
|
|
},
|
|
|
|
'ReadableStreamBYOBRequest': {
|
|
'implicitJSContext': ['respond', 'respondWithNewView'],
|
|
},
|
|
|
|
'ReadableStreamDefaultController': {
|
|
'implicitJSContext': ['close'],
|
|
},
|
|
|
|
'Request': {
|
|
'implicitJSContext': [ 'arrayBuffer', 'blob', 'bytes', 'formData', 'json',
|
|
'text' ],
|
|
},
|
|
|
|
'ResizeObserverEntry': {
|
|
'nativeType': 'mozilla::dom::ResizeObserverEntry',
|
|
'headerFile': 'mozilla/dom/ResizeObserver.h',
|
|
},
|
|
|
|
'ResizeObserverSize': {
|
|
'nativeType': 'mozilla::dom::ResizeObserverSize',
|
|
'headerFile': 'mozilla/dom/ResizeObserver.h',
|
|
},
|
|
|
|
'Response': {
|
|
'implicitJSContext': [ 'arrayBuffer', 'blob', 'bytes', 'body', 'formData',
|
|
'json', 'text', 'clone', 'cloneUnfiltered' ],
|
|
},
|
|
|
|
'Scheduler': {
|
|
'nativeType': 'mozilla::dom::WebTaskScheduler',
|
|
'headerFile': 'mozilla/dom/WebTaskScheduler.h',
|
|
},
|
|
|
|
'Screen': {
|
|
'nativeType': 'nsScreen',
|
|
},
|
|
|
|
'ServiceWorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
},
|
|
|
|
'ServiceWorkerRegistration': {
|
|
'implicitJSContext': [ 'pushManager' ],
|
|
},
|
|
|
|
'ShadowRealmGlobalScope': {
|
|
'hasOrdinaryObjectPrototype': True,
|
|
},
|
|
|
|
'SharedWorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
},
|
|
|
|
'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',
|
|
},
|
|
|
|
'SVGAnimatedAngle': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedAngle',
|
|
'headerFile': 'DOMSVGAnimatedAngle.h',
|
|
},
|
|
|
|
'SVGAnimatedBoolean': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedBoolean',
|
|
'headerFile': 'DOMSVGAnimatedBoolean.h',
|
|
},
|
|
|
|
'SVGAnimatedEnumeration': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedEnumeration',
|
|
'headerFile': 'DOMSVGAnimatedEnumeration.h',
|
|
},
|
|
|
|
'SVGAnimatedInteger': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedInteger',
|
|
'headerFile': 'DOMSVGAnimatedInteger.h',
|
|
},
|
|
|
|
'SVGAnimatedPreserveAspectRatio': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedPreserveAspectRatio',
|
|
'headerFile': 'SVGAnimatedPreserveAspectRatio.h'
|
|
},
|
|
|
|
'SVGAnimatedLength': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedLength',
|
|
'headerFile': 'DOMSVGAnimatedLength.h',
|
|
},
|
|
|
|
'SVGAnimatedLengthList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedLengthList',
|
|
'headerFile': 'DOMSVGAnimatedLengthList.h',
|
|
},
|
|
|
|
'SVGAnimatedNumber': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedNumber',
|
|
'headerFile': 'DOMSVGAnimatedNumber.h',
|
|
},
|
|
|
|
'SVGAnimatedNumberList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedNumberList',
|
|
'headerFile': 'DOMSVGAnimatedNumberList.h'
|
|
},
|
|
|
|
'SVGAnimatedString': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedString',
|
|
'headerFile': 'DOMSVGAnimatedString.h',
|
|
},
|
|
|
|
'SVGAnimatedTransformList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAnimatedTransformList',
|
|
'headerFile': 'DOMSVGAnimatedTransformList.h'
|
|
},
|
|
|
|
'SVGAngle': {
|
|
'nativeType': 'mozilla::dom::DOMSVGAngle',
|
|
'headerFile': 'DOMSVGAngle.h'
|
|
},
|
|
|
|
'SVGElement': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'SVGFEFuncAElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGFEFuncBElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGFEFuncGElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGFEFuncRElement': {
|
|
'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h',
|
|
},
|
|
|
|
'SVGLength': {
|
|
'nativeType': 'mozilla::dom::DOMSVGLength',
|
|
'headerFile': 'DOMSVGLength.h'
|
|
},
|
|
|
|
'SVGLengthList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGLengthList',
|
|
'headerFile': 'DOMSVGLengthList.h'
|
|
},
|
|
|
|
'SVGLinearGradientElement': {
|
|
'headerFile': 'mozilla/dom/SVGGradientElement.h',
|
|
},
|
|
|
|
'SVGNumber': {
|
|
'nativeType': 'mozilla::dom::DOMSVGNumber',
|
|
'headerFile': 'DOMSVGNumber.h',
|
|
},
|
|
|
|
'SVGNumberList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGNumberList',
|
|
'headerFile': 'DOMSVGNumberList.h'
|
|
},
|
|
|
|
'SVGPoint': {
|
|
'nativeType': 'mozilla::dom::DOMSVGPoint',
|
|
'headerFile': 'DOMSVGPoint.h'
|
|
},
|
|
|
|
'SVGPointList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGPointList',
|
|
'headerFile': 'DOMSVGPointList.h'
|
|
},
|
|
|
|
'SVGPreserveAspectRatio': {
|
|
'nativeType': 'mozilla::dom::DOMSVGPreserveAspectRatio',
|
|
'headerFile': 'SVGPreserveAspectRatio.h'
|
|
},
|
|
|
|
'SVGRadialGradientElement': {
|
|
'headerFile': 'mozilla/dom/SVGGradientElement.h',
|
|
},
|
|
|
|
'SVGStringList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGStringList',
|
|
'headerFile': 'DOMSVGStringList.h',
|
|
},
|
|
|
|
'SVGTransform': {
|
|
'nativeType': 'mozilla::dom::DOMSVGTransform',
|
|
'headerFile': 'DOMSVGTransform.h',
|
|
},
|
|
|
|
'SVGTransformList': {
|
|
'nativeType': 'mozilla::dom::DOMSVGTransformList',
|
|
'headerFile': 'DOMSVGTransformList.h'
|
|
},
|
|
|
|
'SVGUnitTypes' : {
|
|
# Maybe should be a namespace.
|
|
'concrete': False,
|
|
},
|
|
|
|
'SyncReadFile': {
|
|
'headerFile': 'mozilla/dom/IOUtils.h',
|
|
},
|
|
|
|
'TelemetryStopwatch': {
|
|
'nativeType': 'mozilla::telemetry::Stopwatch',
|
|
},
|
|
|
|
'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
|
|
},
|
|
|
|
'TouchList': {
|
|
'headerFile': 'mozilla/dom/TouchEvent.h',
|
|
},
|
|
|
|
'TreeColumn': {
|
|
'nativeType': 'nsTreeColumn',
|
|
'headerFile': 'nsTreeColumns.h',
|
|
},
|
|
|
|
'TreeColumns': {
|
|
'nativeType': 'nsTreeColumns',
|
|
},
|
|
|
|
'TreeContentView': {
|
|
'nativeType': 'nsTreeContentView',
|
|
},
|
|
|
|
'TreeWalker': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'TrustedHTML': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'TrustedScript': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'TrustedScriptURL': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'TrustedTypePolicyFactory': {
|
|
'implicitJSContext': ['createPolicy'],
|
|
},
|
|
|
|
'UserInteraction': {
|
|
'nativeType': 'mozilla::telemetry::UserInteractionStopwatch',
|
|
'headerFile': 'mozilla/telemetry/Stopwatch.h',
|
|
},
|
|
|
|
'VisualViewport': {
|
|
'nativeType': 'mozilla::dom::VisualViewport',
|
|
},
|
|
|
|
'VTTCue': {
|
|
'nativeType': 'mozilla::dom::TextTrackCue'
|
|
},
|
|
|
|
'VTTRegion': {
|
|
'nativeType': 'mozilla::dom::TextTrackRegion',
|
|
},
|
|
|
|
'WakeLock': {
|
|
'nativeType': 'mozilla::dom::WakeLockJS'
|
|
},
|
|
|
|
'WebExtensionContentScript': {
|
|
'nativeType': 'mozilla::extensions::WebExtensionContentScript',
|
|
},
|
|
|
|
'WebExtensionPolicy': {
|
|
'nativeType': 'mozilla::extensions::WebExtensionPolicy',
|
|
},
|
|
|
|
'WindowClient': {
|
|
'nativeType': 'mozilla::dom::Client',
|
|
},
|
|
|
|
'WindowGlobalChild': {
|
|
'implicitJSContext': ['getActor'],
|
|
},
|
|
|
|
'WindowGlobalParent': {
|
|
'implicitJSContext': ['getActor'],
|
|
},
|
|
|
|
'WebGLActiveInfo': {
|
|
'nativeType': 'mozilla::WebGLActiveInfoJS',
|
|
'headerFile': 'ClientWebGLContext.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'WebGLBuffer': {
|
|
'nativeType': 'mozilla::WebGLBufferJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'EXT_float_blend': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionFloatBlend',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_texture_compression_bptc': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureBPTC',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_texture_compression_rgtc': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureRGTC',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_texture_norm16': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionTextureNorm16',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_fbo_render_mipmap': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionFBORenderMipmap',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OVR_multiview2': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionMultiview',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_astc': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureASTC',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_etc': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureES3',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_etc1': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureETC1',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_pvrtc': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTexturePVRTC',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_s3tc': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureS3TC',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_compressed_texture_s3tc_srgb': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionCompressedTextureS3TC_SRGB',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_depth_texture': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDepthTexture',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_debug_renderer_info': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDebugRendererInfo',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_debug_shaders': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDebugShaders',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_explicit_present': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionExplicitPresent',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_provoking_vertex': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionProvokingVertex',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_draw_buffers_indexed': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDrawBuffersIndexed',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_element_index_uint': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionElementIndexUint',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_frag_depth': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionFragDepth',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_lose_context': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionLoseContext',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_sRGB': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionSRGB',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_standard_derivatives': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionStandardDerivatives',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_shader_texture_lod': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionShaderTextureLod',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_texture_filter_anisotropic': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionTextureFilterAnisotropic',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_float': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionTextureFloat',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_float_linear': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionTextureFloatLinear',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_half_float': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionTextureHalfFloat',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_texture_half_float_linear': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionTextureHalfFloatLinear',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_color_buffer_float': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionColorBufferFloat',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_color_buffer_half_float': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionColorBufferHalfFloat',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_color_buffer_float': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionEXTColorBufferFloat',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WEBGL_draw_buffers': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDrawBuffers',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'OES_vertex_array_object': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionVertexArray',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'ANGLE_instanced_arrays': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionInstancedArrays',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_blend_minmax': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionBlendMinMax',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_depth_clamp': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDepthClamp',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'EXT_disjoint_timer_query': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionDisjointTimerQuery',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'MOZ_debug': {
|
|
'nativeType': 'mozilla::ClientWebGLExtensionMOZDebug',
|
|
'headerFile': 'ClientWebGLExtensions.h'
|
|
},
|
|
|
|
'WebGLFramebuffer': {
|
|
'nativeType': 'mozilla::WebGLFramebufferJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLProgram': {
|
|
'nativeType': 'mozilla::WebGLProgramJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLQuery': {
|
|
'nativeType': 'mozilla::WebGLQueryJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLRenderbuffer': {
|
|
'nativeType': 'mozilla::WebGLRenderbufferJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLRenderingContext': {
|
|
'nativeType': 'mozilla::ClientWebGLContext',
|
|
'headerFile': 'ClientWebGLContext.h',
|
|
},
|
|
|
|
'WebGL2RenderingContext': {
|
|
'nativeType': 'mozilla::ClientWebGLContext',
|
|
'headerFile': 'ClientWebGLContext.h',
|
|
},
|
|
|
|
'WebGLSampler': {
|
|
'nativeType': 'mozilla::WebGLSamplerJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLShader': {
|
|
'nativeType': 'mozilla::WebGLShaderJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLShaderPrecisionFormat': {
|
|
'nativeType': 'mozilla::WebGLShaderPrecisionFormatJS',
|
|
'headerFile': 'ClientWebGLContext.h',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'WebGLSync': {
|
|
'nativeType': 'mozilla::WebGLSyncJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLTexture': {
|
|
'nativeType': 'mozilla::WebGLTextureJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLTransformFeedback': {
|
|
'nativeType': 'mozilla::WebGLTransformFeedbackJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLUniformLocation': {
|
|
'nativeType': 'mozilla::WebGLUniformLocationJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
'WebGLVertexArrayObject': {
|
|
'nativeType': 'mozilla::WebGLVertexArrayJS',
|
|
'headerFile': 'ClientWebGLContext.h'
|
|
},
|
|
|
|
# WebGPU
|
|
|
|
'GPU': {
|
|
'nativeType': 'mozilla::webgpu::Instance',
|
|
},
|
|
'GPUAdapter': {
|
|
'nativeType': 'mozilla::webgpu::Adapter',
|
|
},
|
|
'GPUAdapterInfo': {
|
|
'nativeType': 'mozilla::webgpu::AdapterInfo',
|
|
'headerFile': 'mozilla/webgpu/Adapter.h',
|
|
},
|
|
'GPUBindGroup': {
|
|
'nativeType': 'mozilla::webgpu::BindGroup',
|
|
},
|
|
'GPUBindGroupLayout': {
|
|
'nativeType': 'mozilla::webgpu::BindGroupLayout',
|
|
},
|
|
'GPUBuffer': {
|
|
'nativeType': 'mozilla::webgpu::Buffer',
|
|
'implicitJSContext': [ 'unmap', 'destroy' ],
|
|
},
|
|
'GPUCanvasContext': {
|
|
'nativeType': 'mozilla::webgpu::CanvasContext',
|
|
},
|
|
'GPUCommandBuffer': {
|
|
'nativeType': 'mozilla::webgpu::CommandBuffer',
|
|
},
|
|
'GPUCommandEncoder': {
|
|
'nativeType': 'mozilla::webgpu::CommandEncoder',
|
|
},
|
|
'GPUCompilationInfo': {
|
|
'nativeType': 'mozilla::webgpu::CompilationInfo',
|
|
},
|
|
'GPUCompilationMessage': {
|
|
'nativeType': 'mozilla::webgpu::CompilationMessage',
|
|
},
|
|
'GPUComputePassEncoder': {
|
|
'nativeType': 'mozilla::webgpu::ComputePassEncoder',
|
|
},
|
|
'GPUComputePipeline': {
|
|
'nativeType': 'mozilla::webgpu::ComputePipeline',
|
|
},
|
|
'GPUDevice': {
|
|
'nativeType': 'mozilla::webgpu::Device',
|
|
},
|
|
'GPUDeviceLostInfo': {
|
|
'nativeType': 'mozilla::webgpu::DeviceLostInfo',
|
|
},
|
|
'GPUError': {
|
|
'nativeType': 'mozilla::webgpu::Error',
|
|
},
|
|
'GPUInternalError': {
|
|
'nativeType': 'mozilla::webgpu::InternalError',
|
|
},
|
|
'GPUOutOfMemoryError': {
|
|
'nativeType': 'mozilla::webgpu::OutOfMemoryError',
|
|
},
|
|
'GPUPipelineLayout': {
|
|
'nativeType': 'mozilla::webgpu::PipelineLayout',
|
|
},
|
|
'GPUQuerySet': {
|
|
'nativeType': 'mozilla::webgpu::QuerySet',
|
|
},
|
|
'GPUQueue': {
|
|
'nativeType': 'mozilla::webgpu::Queue',
|
|
},
|
|
'GPURenderBundle': {
|
|
'nativeType': 'mozilla::webgpu::RenderBundle',
|
|
},
|
|
'GPURenderBundleEncoder': {
|
|
'nativeType': 'mozilla::webgpu::RenderBundleEncoder',
|
|
},
|
|
'GPURenderPassEncoder': {
|
|
'nativeType': 'mozilla::webgpu::RenderPassEncoder',
|
|
},
|
|
'GPURenderPipeline': {
|
|
'nativeType': 'mozilla::webgpu::RenderPipeline',
|
|
},
|
|
'GPUSampler': {
|
|
'nativeType': 'mozilla::webgpu::Sampler',
|
|
},
|
|
'GPUShaderModule': {
|
|
'nativeType': 'mozilla::webgpu::ShaderModule',
|
|
},
|
|
'GPUSupportedFeatures': {
|
|
'nativeType': 'mozilla::webgpu::SupportedFeatures',
|
|
},
|
|
'GPUSupportedLimits': {
|
|
'nativeType': 'mozilla::webgpu::SupportedLimits',
|
|
},
|
|
'GPUTexture': {
|
|
'nativeType': 'mozilla::webgpu::Texture',
|
|
},
|
|
'GPUTextureView': {
|
|
'nativeType': 'mozilla::webgpu::TextureView',
|
|
},
|
|
'GPUValidationError': {
|
|
'nativeType': 'mozilla::webgpu::ValidationError',
|
|
},
|
|
|
|
'GPUBufferUsage': {
|
|
'concrete': False,
|
|
},
|
|
'GPUColorWrite': {
|
|
'concrete': False,
|
|
},
|
|
'GPUMapMode': {
|
|
'concrete': False,
|
|
},
|
|
'GPUShaderStage': {
|
|
'concrete': False,
|
|
},
|
|
'GPUTextureUsage': {
|
|
'concrete': False,
|
|
},
|
|
'WGSLLanguageFeatures': {
|
|
'nativeType': 'mozilla::webgpu::WGSLLanguageFeatures',
|
|
'headerFile': 'mozilla/webgpu/Instance.h',
|
|
},
|
|
|
|
# Glean
|
|
|
|
'GleanImpl': {
|
|
'nativeType': 'mozilla::glean::Glean',
|
|
'headerFile': 'mozilla/glean/bindings/Glean.h',
|
|
},
|
|
'GleanCategory': {
|
|
'nativeType': 'mozilla::glean::Category',
|
|
'headerFile': 'mozilla/glean/bindings/Category.h',
|
|
},
|
|
'GleanPingsImpl': {
|
|
'nativeType': 'mozilla::glean::GleanPings',
|
|
'headerFile': 'mozilla/glean/bindings/GleanPings.h',
|
|
},
|
|
'GleanLabeled': {
|
|
'nativeType': 'mozilla::glean::GleanLabeled',
|
|
'headerFile': 'mozilla/glean/bindings/Labeled.h',
|
|
},
|
|
'GleanMetric': {
|
|
'nativeType': 'mozilla::glean::GleanMetric',
|
|
'headerFile': 'mozilla/glean/bindings/GleanMetric.h',
|
|
},
|
|
'GleanBoolean': {
|
|
'nativeType': 'mozilla::glean::GleanBoolean',
|
|
'headerFile': 'mozilla/glean/bindings/Boolean.h',
|
|
},
|
|
'GleanCounter': {
|
|
'nativeType': 'mozilla::glean::GleanCounter',
|
|
'headerFile': 'mozilla/glean/bindings/Counter.h',
|
|
},
|
|
'GleanCustomDistribution': {
|
|
'nativeType': 'mozilla::glean::GleanCustomDistribution',
|
|
'headerFile': 'mozilla/glean/bindings/CustomDistribution.h',
|
|
},
|
|
'GleanDatetime': {
|
|
'nativeType': 'mozilla::glean::GleanDatetime',
|
|
'headerFile': 'mozilla/glean/bindings/Datetime.h',
|
|
},
|
|
'GleanString': {
|
|
'nativeType': 'mozilla::glean::GleanString',
|
|
'headerFile': 'mozilla/glean/bindings/String.h',
|
|
},
|
|
'GleanStringList': {
|
|
'nativeType': 'mozilla::glean::GleanStringList',
|
|
'headerFile': 'mozilla/glean/bindings/StringList.h',
|
|
},
|
|
'GleanTimespan': {
|
|
'nativeType': 'mozilla::glean::GleanTimespan',
|
|
'headerFile': 'mozilla/glean/bindings/Timespan.h',
|
|
},
|
|
'GleanUuid': {
|
|
'nativeType': 'mozilla::glean::GleanUuid',
|
|
'headerFile': 'mozilla/glean/bindings/Uuid.h',
|
|
},
|
|
'GleanEvent': {
|
|
'nativeType': 'mozilla::glean::GleanEvent',
|
|
'headerFile': 'mozilla/glean/bindings/Event.h',
|
|
},
|
|
'GleanQuantity': {
|
|
'nativeType': 'mozilla::glean::GleanQuantity',
|
|
'headerFile': 'mozilla/glean/bindings/Quantity.h',
|
|
},
|
|
'GleanUrl': {
|
|
'nativeType': 'mozilla::glean::GleanUrl',
|
|
'headerFile': 'mozilla/glean/bindings/Url.h',
|
|
},
|
|
'GleanTimingDistribution': {
|
|
'nativeType': 'mozilla::glean::GleanTimingDistribution',
|
|
'headerFile': 'mozilla/glean/bindings/TimingDistribution.h',
|
|
},
|
|
'GleanMemoryDistribution': {
|
|
'nativeType': 'mozilla::glean::GleanMemoryDistribution',
|
|
'headerFile': 'mozilla/glean/bindings/MemoryDistribution.h',
|
|
},
|
|
'GleanNumerator': {
|
|
'nativeType': 'mozilla::glean::GleanNumerator',
|
|
'headerFile': 'mozilla/glean/bindings/Numerator.h',
|
|
},
|
|
'GleanDenominator': {
|
|
'nativeType': 'mozilla::glean::GleanDenominator',
|
|
'headerFile': 'mozilla/glean/bindings/Denominator.h',
|
|
},
|
|
'GleanRate': {
|
|
'nativeType': 'mozilla::glean::GleanRate',
|
|
'headerFile': 'mozilla/glean/bindings/Rate.h',
|
|
},
|
|
'GleanText': {
|
|
'nativeType': 'mozilla::glean::GleanText',
|
|
'headerFile': 'mozilla/glean/bindings/Text.h',
|
|
},
|
|
'GleanObject': {
|
|
'nativeType': 'mozilla::glean::GleanObject',
|
|
'headerFile': 'mozilla/glean/bindings/Object.h',
|
|
},
|
|
|
|
'Window': {
|
|
'nativeType': 'nsGlobalWindowInner',
|
|
'headerFile': 'nsGlobalWindowInner.h',
|
|
'implicitJSContext': [
|
|
'requestIdleCallback', 'indexedDB'
|
|
],
|
|
},
|
|
|
|
'WindowContext': {
|
|
'concrete': True
|
|
},
|
|
|
|
'WindowProxy': {
|
|
'nativeType': 'mozilla::dom::WindowProxyHolder',
|
|
'headerFile': 'mozilla/dom/WindowProxyHolder.h',
|
|
'concrete': False
|
|
},
|
|
|
|
'WindowRoot': {
|
|
'nativeType': 'nsWindowRoot'
|
|
},
|
|
|
|
'WorkerDebuggerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
'implicitJSContext': [
|
|
'dump', 'clearConsoleEvents', 'reportError', 'setConsoleEventHandler',
|
|
],
|
|
},
|
|
|
|
'WorkerGlobalScope': {
|
|
'headerFile': 'mozilla/dom/WorkerScope.h',
|
|
'implicitJSContext': [ 'importScripts', 'indexedDB' ],
|
|
},
|
|
|
|
'Worklet': {
|
|
# Paint worklets just use the Worklet interface.
|
|
'concrete': True,
|
|
'implicitJSContext': [ 'addModule' ],
|
|
},
|
|
|
|
# Bug 1734174: We should validate ReadableStream usage of implicitJSContext.
|
|
'WritableStream': {
|
|
'implicitJSContext': ['close'],
|
|
},
|
|
|
|
'WritableStreamDefaultWriter': {
|
|
'implicitJSContext': ['close', 'releaseLock'],
|
|
},
|
|
|
|
'XMLSerializer': {
|
|
'nativeType': 'nsDOMSerializer',
|
|
'wrapperCache': False
|
|
},
|
|
|
|
'XPathEvaluator': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'XPathExpression': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'XRPose': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'XRReferenceSpace': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'XRSpace': {
|
|
'concrete': True,
|
|
},
|
|
|
|
'XSLTProcessor': {
|
|
'nativeType': 'txMozillaXSLTProcessor',
|
|
},
|
|
|
|
'XULElement': {
|
|
'nativeType': 'nsXULElement',
|
|
},
|
|
|
|
# WebExtension API
|
|
|
|
'ExtensionBrowser': {
|
|
'headerFile': 'mozilla/extensions/ExtensionBrowser.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionBrowser',
|
|
},
|
|
|
|
'ExtensionMockAPI': {
|
|
'headerFile': 'mozilla/extensions/ExtensionMockAPI.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionMockAPI',
|
|
},
|
|
|
|
'ExtensionBrowserSettings': {
|
|
'headerFile': 'mozilla/extensions/ExtensionBrowserSettings.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionBrowserSettings',
|
|
},
|
|
|
|
'ExtensionBrowserSettingsColorManagement': {
|
|
'headerFile': 'mozilla/extensions/ExtensionBrowserSettingsColorManagement.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionBrowserSettingsColorManagement',
|
|
},
|
|
|
|
'ExtensionDns': {
|
|
'headerFile': 'mozilla/extensions/ExtensionDns.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionDns',
|
|
},
|
|
|
|
'ExtensionEventManager': {
|
|
'headerFile': 'mozilla/extensions/ExtensionEventManager.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionEventManager',
|
|
},
|
|
|
|
'ExtensionPort': {
|
|
'headerFile': 'mozilla/extensions/ExtensionPort.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionPort',
|
|
},
|
|
|
|
'ExtensionProxy': {
|
|
'headerFile': 'mozilla/extensions/ExtensionProxy.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionProxy',
|
|
},
|
|
|
|
'ExtensionRuntime': {
|
|
'headerFile': 'mozilla/extensions/ExtensionRuntime.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionRuntime',
|
|
},
|
|
|
|
'ExtensionScripting': {
|
|
'headerFile': 'mozilla/extensions/ExtensionScripting.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionScripting',
|
|
},
|
|
|
|
'ExtensionSetting': {
|
|
'headerFile': 'mozilla/extensions/ExtensionSetting.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionSetting',
|
|
},
|
|
|
|
'ExtensionTest': {
|
|
'headerFile': 'mozilla/extensions/ExtensionTest.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionTest',
|
|
},
|
|
|
|
'ExtensionAlarms': {
|
|
'headerFile': 'mozilla/extensions/ExtensionAlarms.h',
|
|
'nativeType': 'mozilla::extensions::ExtensionAlarms',
|
|
},
|
|
|
|
}
|
|
|
|
if buildconfig.substs.get("MOZ_WEBRTC", False):
|
|
DOMInterfaces.update({
|
|
|
|
'PeerConnectionImpl': {
|
|
'nativeType': 'mozilla::PeerConnectionImpl',
|
|
'headerFile': 'PeerConnectionImpl.h',
|
|
},
|
|
|
|
'RTCDataChannel': {
|
|
'nativeType': 'nsDOMDataChannel',
|
|
},
|
|
|
|
'WebrtcGlobalInformation': {
|
|
'headerFile': 'WebrtcGlobalInformation.h',
|
|
},
|
|
|
|
})
|
|
|
|
####################################
|
|
# Test Interfaces of various sorts #
|
|
####################################
|
|
|
|
if buildconfig.substs.get("ENABLE_TESTS", False):
|
|
DOMInterfaces.update({
|
|
|
|
'OnlyForUseInConstructor' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestAttributesOnTypes' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCEReactionsInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestChildInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCImplementedInterface' : {
|
|
'headerFile': 'TestCImplementedInterface.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCImplementedInterface2' : {
|
|
'headerFile': 'TestCImplementedInterface.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestConstructorForFuncInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestConstructorForPrefInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestConstructorForSCInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCppKeywordNamedMethodsInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestDeprecatedInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestExampleInterface' : {
|
|
# Keep this in sync with TestInterface
|
|
'headerFile': 'TestExampleInterface-example.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestExampleProxyInterface' : {
|
|
'headerFile': 'TestExampleProxyInterface-example.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestExampleThrowingConstructorInterface' : {
|
|
'headerFile': 'TestExampleThrowingConstructorInterface-example.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestExampleWorkerInterface' : {
|
|
'headerFile': 'TestExampleWorkerInterface-example.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestExternalInterface' : {
|
|
'nativeType': 'mozilla::dom::TestExternalInterface',
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestFuncConstructorForDifferentFuncInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestFuncConstructorForInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestHTMLConstructorInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestIndexedAndNamedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestIndexedAndNamedGetterAndSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestIndexedAndNamedSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestIndexedGetterAndSetterAndNamedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestIndexedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestIndexedSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestInterfaceWithPromiseConstructorArg' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'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,
|
|
},
|
|
|
|
'TestLegacyFactoryFunctionInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestLegacyFactoryFunctionInterface2' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestNamedDeleterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestNamedDeleterWithRetvalInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestNamedGetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestNamedSetterInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestNamespace' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestNonWrapperCacheInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
'TestParentInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestPrefChromeOnlySCFuncConstructorForInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestPrefConstructorForDifferentPrefInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestPrefConstructorForInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestProtoObjectHackedNamespace' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestRenamedInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
'nativeType': 'nsRenamedInterface'
|
|
},
|
|
|
|
'TestRenamedNamespace' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestSCConstructorForInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestSecureContextInterface' : {
|
|
# Keep this in sync with TestExampleInterface
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestThrowingConstructorInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestWorkerExposedInterface' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
'TestCallbackDictUnionOverload' : {
|
|
'headerFile': 'TestBindingHeader.h',
|
|
'register': False,
|
|
},
|
|
|
|
})
|
|
|
|
if buildconfig.substs.get("MOZ_DEBUG", False):
|
|
DOMInterfaces.update({
|
|
|
|
'TestFunctions': {
|
|
'wrapperCache': False,
|
|
},
|
|
|
|
})
|
|
|
|
|
|
# These probably won't be 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('Cookie', nativeType='nsICookie',
|
|
headerFile='nsICookie.h', notflattened=True)
|
|
addExternalIface('ContentSecurityPolicy', nativeType='nsIContentSecurityPolicy',
|
|
notflattened=True)
|
|
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('XULControllers', nativeType='nsIControllers', notflattened=True)
|
|
addExternalIface('MozTreeView', nativeType='nsITreeView',
|
|
headerFile='nsITreeView.h', notflattened=True)
|
|
addExternalIface('nsIBrowserDOMWindow', nativeType='nsIBrowserDOMWindow',
|
|
notflattened=True)
|
|
addExternalIface('nsIDOMWindowUtils', nativeType='nsIDOMWindowUtils', notflattened=True)
|
|
addExternalIface('nsIEventTarget', nativeType='nsIEventTarget', notflattened=True)
|
|
addExternalIface('nsIFile', nativeType='nsIFile', notflattened=True)
|
|
addExternalIface('nsILoadGroup', nativeType='nsILoadGroup',
|
|
headerFile='nsILoadGroup.h', notflattened=True)
|
|
addExternalIface('nsIMediaDevice', nativeType='nsIMediaDevice',
|
|
notflattened=True)
|
|
addExternalIface('nsIPrintSettings', nativeType='nsIPrintSettings',
|
|
notflattened=True)
|
|
addExternalIface('nsISelectionListener', nativeType='nsISelectionListener')
|
|
addExternalIface('nsIStreamListener', nativeType='nsIStreamListener', notflattened=True)
|
|
addExternalIface('nsISocketTransport', nativeType='nsISocketTransport',
|
|
notflattened=True)
|
|
addExternalIface('nsITransportProvider', nativeType='nsITransportProvider')
|
|
addExternalIface('nsITreeSelection', nativeType='nsITreeSelection',
|
|
notflattened=True)
|
|
addExternalIface('nsISupports', nativeType='nsISupports')
|
|
addExternalIface('nsIDocShell', nativeType='nsIDocShell', notflattened=True)
|
|
addExternalIface('nsIDOMProcessChild', nativeType='nsIDOMProcessChild', notflattened=True)
|
|
addExternalIface('nsIDOMProcessParent', nativeType='nsIDOMProcessParent', notflattened=True)
|
|
addExternalIface('nsIReferrerInfo', nativeType='nsIReferrerInfo', notflattened=True)
|
|
addExternalIface('nsISecureBrowserUI', nativeType='nsISecureBrowserUI', notflattened=True)
|
|
addExternalIface('nsIWebProgress', nativeType='nsIWebProgress', notflattened=True)
|
|
addExternalIface('nsIWebNavigation', nativeType='nsIWebNavigation', notflattened=True)
|
|
addExternalIface('nsIEditor', nativeType='nsIEditor', notflattened=True)
|
|
addExternalIface('nsIWebBrowserPersistDocumentReceiver',
|
|
nativeType='nsIWebBrowserPersistDocumentReceiver',
|
|
headerFile='nsIWebBrowserPersistDocument.h',
|
|
notflattened=True)
|
|
addExternalIface('nsIWebProgressListener', nativeType='nsIWebProgressListener',
|
|
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('RemoteTab', nativeType='nsIRemoteTab',
|
|
notflattened=True)
|
|
addExternalIface('URI', nativeType='nsIURI', headerFile='nsIURI.h',
|
|
notflattened=True)
|
|
addExternalIface('XULCommandDispatcher', notflattened=True)
|
|
addExternalIface('nsISHistory', nativeType='nsISHistory', notflattened=True)
|
|
addExternalIface('nsISHEntry', nativeType='nsISHEntry', notflattened=True)
|
|
addExternalIface('ReferrerInfo', nativeType='nsIReferrerInfo')
|
|
addExternalIface('nsIPermissionDelegateHandler',
|
|
nativeType='nsIPermissionDelegateHandler',
|
|
notflattened=True)
|
|
addExternalIface('nsIOpenWindowInfo', nativeType='nsIOpenWindowInfo',
|
|
notflattened=True)
|
|
addExternalIface('nsICookieJarSettings', nativeType='nsICookieJarSettings',
|
|
notflattened=True)
|
|
addExternalIface('nsIGleanPing', headerFile='mozilla/glean/bindings/Ping.h',
|
|
nativeType='nsIGleanPing', notflattened=True)
|
|
addExternalIface('nsISessionStoreRestoreData',
|
|
nativeType='nsISessionStoreRestoreData',
|
|
headerFile='nsISessionStoreRestoreData.h', notflattened=True)
|
|
addExternalIface('nsIScreen', nativeType='nsIScreen',
|
|
headerFile='nsIScreen.h', notflattened=True)
|
|
addExternalIface('InputStream',
|
|
nativeType='nsIInputStream', notflattened=True)
|
|
addExternalIface('nsIRFPTargetSetIDL', nativeType='nsIRFPTargetSetIDL')
|
|
|
|
# The TemplatedAttributes dictionary has the interface name where the template
|
|
# should be generated as the key. The values are lists of dictionaries, where
|
|
# each dictionary corresponds to one template. The dictionary contains:
|
|
#
|
|
# template the template's name
|
|
# getter the name for the native getter to call
|
|
# setter the name for the native setter to call
|
|
# argument a tuple for the additional argument that should be passed to the
|
|
# native getter and setter, containing the type for the argument
|
|
# and a name for the argument. The value will be supplied by the
|
|
# [BindingTemplate] extended attribute.
|
|
# attrName a string which in the generated C++ code would yield a
|
|
# |const char*| that contains the attribute's name
|
|
|
|
TemplatedAttributes = {
|
|
|
|
'CSS2Properties': [
|
|
{
|
|
'template': 'CSS2Property',
|
|
'getter': 'GetPropertyValue',
|
|
'setter': 'SetPropertyValue',
|
|
'argument': ('nsCSSPropertyID', 'id'),
|
|
'attrName': 'nsCSSProps::PropertyIDLName(id)',
|
|
},
|
|
],
|
|
|
|
'CSSPageDescriptors': [
|
|
{
|
|
'template': 'CSSPageDescriptor',
|
|
'getter': 'GetPropertyValue',
|
|
'setter': 'SetPropertyValue',
|
|
'argument': ('nsCSSPropertyID', 'id'),
|
|
'attrName': 'nsCSSProps::PropertyIDLName(id)',
|
|
},
|
|
],
|
|
|
|
'CSSPositionTryDescriptors': [
|
|
{
|
|
'template': 'CSSPositionTryDescriptor',
|
|
'getter': 'GetPropertyValue',
|
|
'setter': 'SetPropertyValue',
|
|
'argument': ('nsCSSPropertyID', 'id'),
|
|
'attrName': 'nsCSSProps::PropertyIDLName(id)',
|
|
},
|
|
],
|
|
|
|
}
|