gecko-dev/dom/bindings/Bindings.conf

1763 строки
41 KiB
Plaintext
Исходник Обычный вид История

# -*- Mode:Python; tab-width:8; indent-tabs-mode:nil -*- */
# vim: set ts=8 sts=4 et sw=4 tw=80: */
2012-05-21 15:12:37 +04:00
# 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': {
Bug 975696 - Split ArchiveReader and FileHandle implementation into separate dirs. r=bent f=baku --HG-- rename : dom/file/ArchiveEvent.cpp => dom/archivereader/ArchiveEvent.cpp rename : dom/file/ArchiveEvent.h => dom/archivereader/ArchiveEvent.h rename : dom/file/ArchiveReader.cpp => dom/archivereader/ArchiveReader.cpp rename : dom/file/ArchiveReader.h => dom/archivereader/ArchiveReader.h rename : dom/file/ArchiveRequest.cpp => dom/archivereader/ArchiveRequest.cpp rename : dom/file/ArchiveRequest.h => dom/archivereader/ArchiveRequest.h rename : dom/file/ArchiveZipEvent.cpp => dom/archivereader/ArchiveZipEvent.cpp rename : dom/file/ArchiveZipEvent.h => dom/archivereader/ArchiveZipEvent.h rename : dom/file/ArchiveZipFile.cpp => dom/archivereader/ArchiveZipFile.cpp rename : dom/file/ArchiveZipFile.h => dom/archivereader/ArchiveZipFile.h rename : dom/file/test/test_archivereader.html => dom/archivereader/test/test_basic.html rename : dom/file/test/test_archivereader_nonUnicode.html => dom/archivereader/test/test_nonUnicode.html rename : dom/file/test/test_archivereader_zip_in_zip.html => dom/archivereader/test/test_zip_in_zip.html rename : dom/file/test/test_bug_793311.html => dom/base/test/test_bug793311.html rename : dom/file/AsyncHelper.cpp => dom/filehandle/AsyncHelper.cpp rename : dom/file/AsyncHelper.h => dom/filehandle/AsyncHelper.h rename : dom/file/File.cpp => dom/filehandle/File.cpp rename : dom/file/File.h => dom/filehandle/File.h rename : dom/file/FileHandle.cpp => dom/filehandle/FileHandle.cpp rename : dom/file/FileHandle.h => dom/filehandle/FileHandle.h rename : dom/file/FileHelper.cpp => dom/filehandle/FileHelper.cpp rename : dom/file/FileHelper.h => dom/filehandle/FileHelper.h rename : dom/file/FileRequest.cpp => dom/filehandle/FileRequest.cpp rename : dom/file/FileRequest.h => dom/filehandle/FileRequest.h rename : dom/file/FileService.cpp => dom/filehandle/FileService.cpp rename : dom/file/FileService.h => dom/filehandle/FileService.h rename : dom/file/FileStreamWrappers.cpp => dom/filehandle/FileStreamWrappers.cpp rename : dom/file/FileStreamWrappers.h => dom/filehandle/FileStreamWrappers.h rename : dom/file/LockedFile.cpp => dom/filehandle/LockedFile.cpp rename : dom/file/LockedFile.h => dom/filehandle/LockedFile.h rename : dom/file/MemoryStreams.cpp => dom/filehandle/MemoryStreams.cpp rename : dom/file/MemoryStreams.h => dom/filehandle/MemoryStreams.h rename : dom/file/MetadataHelper.cpp => dom/filehandle/MetadataHelper.cpp rename : dom/file/MetadataHelper.h => dom/filehandle/MetadataHelper.h rename : dom/file/moz.build => dom/filehandle/moz.build rename : dom/file/nsIFileStorage.h => dom/filehandle/nsIFileStorage.h rename : dom/file/test/dummy_worker.js => dom/filehandle/test/dummy_worker.js rename : dom/file/test/helpers.js => dom/filehandle/test/helpers.js rename : dom/file/test/mochitest.ini => dom/filehandle/test/mochitest.ini rename : dom/file/test/moz.build => dom/filehandle/test/moz.build rename : dom/file/test/test_append_read_data.html => dom/filehandle/test/test_append_read_data.html rename : dom/file/test/test_getFile.html => dom/filehandle/test/test_getFile.html rename : dom/file/test/test_getFileId.html => dom/filehandle/test/test_getFileId.html rename : dom/file/test/test_location.html => dom/filehandle/test/test_location.html rename : dom/file/test/test_lockedfile_lifetimes.html => dom/filehandle/test/test_lockedfile_lifetimes.html rename : dom/file/test/test_lockedfile_lifetimes_nested.html => dom/filehandle/test/test_lockedfile_lifetimes_nested.html rename : dom/file/test/test_lockedfile_ordering.html => dom/filehandle/test/test_lockedfile_ordering.html rename : dom/file/test/test_overlapping_lockedfiles.html => dom/filehandle/test/test_overlapping_lockedfiles.html rename : dom/file/test/test_progress_events.html => dom/filehandle/test/test_progress_events.html rename : dom/file/test/test_readonly_lockedfiles.html => dom/filehandle/test/test_readonly_lockedfiles.html rename : dom/file/test/test_request_readyState.html => dom/filehandle/test/test_request_readyState.html rename : dom/file/test/test_stream_tracking.html => dom/filehandle/test/test_stream_tracking.html rename : dom/file/test/test_success_events_after_abort.html => dom/filehandle/test/test_success_events_after_abort.html rename : dom/file/test/test_truncate.html => dom/filehandle/test/test_truncate.html rename : dom/file/test/test_workers.html => dom/filehandle/test/test_workers.html rename : dom/file/test/test_write_read_data.html => dom/filehandle/test/test_write_read_data.html
2014-05-07 18:32:12 +04:00
'nativeType': 'mozilla::dom::archivereader::ArchiveReader',
},
'ArchiveRequest': {
Bug 975696 - Split ArchiveReader and FileHandle implementation into separate dirs. r=bent f=baku --HG-- rename : dom/file/ArchiveEvent.cpp => dom/archivereader/ArchiveEvent.cpp rename : dom/file/ArchiveEvent.h => dom/archivereader/ArchiveEvent.h rename : dom/file/ArchiveReader.cpp => dom/archivereader/ArchiveReader.cpp rename : dom/file/ArchiveReader.h => dom/archivereader/ArchiveReader.h rename : dom/file/ArchiveRequest.cpp => dom/archivereader/ArchiveRequest.cpp rename : dom/file/ArchiveRequest.h => dom/archivereader/ArchiveRequest.h rename : dom/file/ArchiveZipEvent.cpp => dom/archivereader/ArchiveZipEvent.cpp rename : dom/file/ArchiveZipEvent.h => dom/archivereader/ArchiveZipEvent.h rename : dom/file/ArchiveZipFile.cpp => dom/archivereader/ArchiveZipFile.cpp rename : dom/file/ArchiveZipFile.h => dom/archivereader/ArchiveZipFile.h rename : dom/file/test/test_archivereader.html => dom/archivereader/test/test_basic.html rename : dom/file/test/test_archivereader_nonUnicode.html => dom/archivereader/test/test_nonUnicode.html rename : dom/file/test/test_archivereader_zip_in_zip.html => dom/archivereader/test/test_zip_in_zip.html rename : dom/file/test/test_bug_793311.html => dom/base/test/test_bug793311.html rename : dom/file/AsyncHelper.cpp => dom/filehandle/AsyncHelper.cpp rename : dom/file/AsyncHelper.h => dom/filehandle/AsyncHelper.h rename : dom/file/File.cpp => dom/filehandle/File.cpp rename : dom/file/File.h => dom/filehandle/File.h rename : dom/file/FileHandle.cpp => dom/filehandle/FileHandle.cpp rename : dom/file/FileHandle.h => dom/filehandle/FileHandle.h rename : dom/file/FileHelper.cpp => dom/filehandle/FileHelper.cpp rename : dom/file/FileHelper.h => dom/filehandle/FileHelper.h rename : dom/file/FileRequest.cpp => dom/filehandle/FileRequest.cpp rename : dom/file/FileRequest.h => dom/filehandle/FileRequest.h rename : dom/file/FileService.cpp => dom/filehandle/FileService.cpp rename : dom/file/FileService.h => dom/filehandle/FileService.h rename : dom/file/FileStreamWrappers.cpp => dom/filehandle/FileStreamWrappers.cpp rename : dom/file/FileStreamWrappers.h => dom/filehandle/FileStreamWrappers.h rename : dom/file/LockedFile.cpp => dom/filehandle/LockedFile.cpp rename : dom/file/LockedFile.h => dom/filehandle/LockedFile.h rename : dom/file/MemoryStreams.cpp => dom/filehandle/MemoryStreams.cpp rename : dom/file/MemoryStreams.h => dom/filehandle/MemoryStreams.h rename : dom/file/MetadataHelper.cpp => dom/filehandle/MetadataHelper.cpp rename : dom/file/MetadataHelper.h => dom/filehandle/MetadataHelper.h rename : dom/file/moz.build => dom/filehandle/moz.build rename : dom/file/nsIFileStorage.h => dom/filehandle/nsIFileStorage.h rename : dom/file/test/dummy_worker.js => dom/filehandle/test/dummy_worker.js rename : dom/file/test/helpers.js => dom/filehandle/test/helpers.js rename : dom/file/test/mochitest.ini => dom/filehandle/test/mochitest.ini rename : dom/file/test/moz.build => dom/filehandle/test/moz.build rename : dom/file/test/test_append_read_data.html => dom/filehandle/test/test_append_read_data.html rename : dom/file/test/test_getFile.html => dom/filehandle/test/test_getFile.html rename : dom/file/test/test_getFileId.html => dom/filehandle/test/test_getFileId.html rename : dom/file/test/test_location.html => dom/filehandle/test/test_location.html rename : dom/file/test/test_lockedfile_lifetimes.html => dom/filehandle/test/test_lockedfile_lifetimes.html rename : dom/file/test/test_lockedfile_lifetimes_nested.html => dom/filehandle/test/test_lockedfile_lifetimes_nested.html rename : dom/file/test/test_lockedfile_ordering.html => dom/filehandle/test/test_lockedfile_ordering.html rename : dom/file/test/test_overlapping_lockedfiles.html => dom/filehandle/test/test_overlapping_lockedfiles.html rename : dom/file/test/test_progress_events.html => dom/filehandle/test/test_progress_events.html rename : dom/file/test/test_readonly_lockedfiles.html => dom/filehandle/test/test_readonly_lockedfiles.html rename : dom/file/test/test_request_readyState.html => dom/filehandle/test/test_request_readyState.html rename : dom/file/test/test_stream_tracking.html => dom/filehandle/test/test_stream_tracking.html rename : dom/file/test/test_success_events_after_abort.html => dom/filehandle/test/test_success_events_after_abort.html rename : dom/file/test/test_truncate.html => dom/filehandle/test/test_truncate.html rename : dom/file/test/test_workers.html => dom/filehandle/test/test_workers.html rename : dom/file/test/test_write_read_data.html => dom/filehandle/test/test_write_read_data.html
2014-05-07 18:32:12 +04:00
'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': {
'concrete': False
},
'console': {
'nativeType': 'mozilla::dom::Console',
},
'ConsoleInstance': {
'implicitJSContext': ['clear', 'count', 'groupEnd', 'time', 'timeEnd'],
},
'ContentProcessMessageManager': {
'nativeType': 'mozilla::dom::ProcessGlobal'
},
'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': 'mozilla::ServoCounterStyleRule',
'headerFile': 'mozilla/ServoCounterStyleRule.h',
},
'CSSFontFaceRule': {
Bug 1449087 part 2 - Use Servo data to back @font-face rule. r=emilio This patch does the following things: * Create a new class ServoFontFaceRule for CSSOM of @font-face rule which mostly follows how nsCSSFontFaceRule was implemented. * Remove the old nsCSSFontFaceRule and binding code to create it. * Have FontFace backed by Servo data via making mRule and mDescriptors of the class hold RawServoFontFaceRule like ServoFontFaceRule. To keep this patch small, it effectively just delays the conversion from Servo data to nsCSSValue from parsing to using. This may cause worse performance if the font set is flushed repeatedly. Supposing we don't flush font set very frequently, it may not be a big deal. We may still want to remove the intermediate nsCSSValue conversion at some point, and have everything converted to their final form directly when used, but that can happen in followups. There are some unfortunate bits from this change: * We lose style sheet for logging in FontFaceSet. This is probably not all that worse, because we wouldn't have that before either if the page doesn't use CSSOM to visit it. But we should figure out some approach to fix it anyway. * InspectorFontFace no longer shares the same rule object as CSSOM. This isn't really a problem if the @font-face rule isn't very mutable. Unless we want to make the rule returned from InspectorFontFace to be mutable (i.e. via inspector), not using the same object probably isn't too bad. This patch switches the code we use to serialize stuff in FontFace and CSSFontFaceRule, which leads to some failures in tests. Specifically, the expected changes including: * Value of font-family now can be serialized to identifier sequence like font-family property. The old code always serializes it to string, but it doesn't seem to have different requirement than the property. Blink can serialize to identifier as well. * Family name inside local() is also changed to use the same way as family names elsewhere (i.e. can be identifier sequence). Blink has the same behavior as the old code, but I don't think it's a big deal. * The order of descriptors serialized gets changed. I don't think it matters at all. * Empty string as font-family via using string syntax is no longer considered invalid for FontFace. I don't find it is mentioned anywhere that it should be specifically treated invalid. MozReview-Commit-ID: 32Fk3Fi9uTs --HG-- extra : rebase_source : 6221ec8fc56de357b06dd27e770fb175348a2f77
2018-04-04 01:42:10 +03:00
'nativeType': 'mozilla::ServoFontFaceRule',
'headerFile': 'mozilla/ServoFontFaceRule.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'
},
'DedicatedWorkerGlobalScope': {
'headerFile': 'mozilla/dom/WorkerScope.h',
},
'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': {
'jsImplParent': 'mozilla::DOMEventTargetHelper',
},
'Exception': {
'headerFile': 'mozilla/dom/DOMException.h',
'binaryNames': {
'message': 'messageMoz',
},
'implicitJSContext': [ '__stringifier', 'filename', 'lineNumber', 'stack' ],
},
'ExtendableEvent': {
'headerFile': 'mozilla/dom/ServiceWorkerEvents.h',
'implicitJSContext': [ 'waitUntil' ],
},
'ExtendableMessageEvent': {
'headerFile': 'mozilla/dom/ServiceWorkerEvents.h',
},
'FetchEvent': {
'headerFile': 'ServiceWorkerEvents.h',
'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',
Bug 1029209 - Extract IndexedDB FileHandle from core FileHandle implementation (WebIDL changes: merge MutableFile into IDBMutableFile, rename FileHandle to IDBFileHandle, DOMFileMetadataParameters to IDBFileMetadataParameters and FileRequest to IDBFileRequest); r=bent --HG-- rename : dom/filehandle/File.cpp => dom/indexedDB/FileSnapshot.cpp rename : dom/filehandle/File.h => dom/indexedDB/FileSnapshot.h rename : dom/filehandle/test/dummy_worker.js => dom/indexedDB/test/dummy_worker.js rename : dom/filehandle/test/test_append_read_data.html => dom/indexedDB/test/test_filehandle_append_read_data.html rename : dom/filehandle/test/test_compat.html => dom/indexedDB/test/test_filehandle_compat.html rename : dom/filehandle/test/test_getFile.html => dom/indexedDB/test/test_filehandle_getFile.html rename : dom/filehandle/test/test_filehandle_lifetimes.html => dom/indexedDB/test/test_filehandle_lifetimes.html rename : dom/filehandle/test/test_filehandle_lifetimes_nested.html => dom/indexedDB/test/test_filehandle_lifetimes_nested.html rename : dom/filehandle/test/test_location.html => dom/indexedDB/test/test_filehandle_location.html rename : dom/filehandle/test/test_filehandle_ordering.html => dom/indexedDB/test/test_filehandle_ordering.html rename : dom/filehandle/test/test_overlapping_filehandles.html => dom/indexedDB/test/test_filehandle_overlapping.html rename : dom/filehandle/test/test_progress_events.html => dom/indexedDB/test/test_filehandle_progress_events.html rename : dom/filehandle/test/test_readonly_filehandles.html => dom/indexedDB/test/test_filehandle_readonly_exceptions.html rename : dom/filehandle/test/test_request_readyState.html => dom/indexedDB/test/test_filehandle_request_readyState.html rename : dom/filehandle/test/test_stream_tracking.html => dom/indexedDB/test/test_filehandle_stream_tracking.html rename : dom/filehandle/test/test_success_events_after_abort.html => dom/indexedDB/test/test_filehandle_success_events_after_abort.html rename : dom/filehandle/test/test_truncate.html => dom/indexedDB/test/test_filehandle_truncate.html rename : dom/filehandle/test/test_workers.html => dom/indexedDB/test/test_filehandle_workers.html rename : dom/filehandle/test/test_write_read_data.html => dom/indexedDB/test/test_filehandle_write_read_data.html rename : dom/filehandle/test/test_getFileId.html => dom/indexedDB/test/test_getFileId.html rename : dom/webidl/FileHandle.webidl => dom/webidl/IDBFileHandle.webidl rename : dom/webidl/FileRequest.webidl => dom/webidl/IDBFileRequest.webidl
2014-07-17 20:40:54 +04:00
},
'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
},
'InspectorFontFace': {
'wrapperCache': False,
},
'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',
},
'MessageBroadcaster': {
'concrete': False
},
'MessageListenerManager': {
'concrete': False
},
'MessageSender': {
'concrete': False
},
'MimeType': {
'headerFile' : 'nsMimeTypeArray.h',
'nativeType': 'nsMimeType',
},
'MimeTypeArray': {
'nativeType': 'nsMimeTypeArray',
},
'MozCanvasPrintState': {
'headerFile': 'mozilla/dom/HTMLCanvasElement.h',
'nativeType': 'mozilla::dom::HTMLCanvasPrintState',
},
'MozChannel': {
'nativeType': 'nsIChannel',
'notflattened': True
},
'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,
'implicitJSContext': [ 'localize' ],
},
'NodeIterator': {
'wrapperCache': False,
},
'NodeList': {
'nativeType': 'nsINodeList',
},
'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',
},
'PushMessageData': {
'headerFile': 'ServiceWorkerEvents.h',
},
'Range': {
'nativeType': 'nsRange',
'binaryNames': {
'__stringifier': 'ToString'
}
},
2012-12-26 16:26:36 +04:00
'Rect': {
'nativeType': 'nsDOMCSSRect',
2012-12-26 16:26:36 +04:00
},
'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',
},
'RTCDataChannel': {
'nativeType': 'nsDOMDataChannel',
},
'Screen': {
'nativeType': 'nsScreen',
},
'ServiceWorkerGlobalScope': {
'headerFile': 'mozilla/dom/WorkerScope.h',
},
'ServiceWorkerRegistration': {
'implicitJSContext': [ 'pushManager' ],
},
'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',
},
'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,
},
'SyncMessageSender' : {
'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'
},
'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',
'wrapperCache': False
},
'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('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('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('nsIEventTarget', nativeType='nsIEventTarget', notflattened=True)
addExternalIface('nsIFile', nativeType='nsIFile', notflattened=True)
addExternalIface('nsILoadGroup', nativeType='nsILoadGroup',
headerFile='nsILoadGroup.h', 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)