mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
* Update IDLs and Bindings conf Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add AES crate Signed-off-by: Daniel Adams <msub2official@gmail.com> * Implement DOM interfaces Signed-off-by: Daniel Adams <msub2official@gmail.com> * IDL tidy Signed-off-by: Daniel Adams <msub2official@gmail.com> * Remove deriveKey from inRealms for now until implemented Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix CryptoKey rustdoc comments Signed-off-by: Daniel Adams <msub2official@gmail.com> * Move string constants to top of file Signed-off-by: Daniel Adams <msub2official@gmail.com> * Use properly rooted CryptoKey Signed-off-by: Daniel Adams <msub2official@gmail.com> * Code clarity Signed-off-by: Daniel Adams <msub2official@gmail.com> * Rework NormalizedAlgorithm to not hold a DOMString Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add Rustdoc for CryptoKey interface Signed-off-by: Daniel Adams <msub2official@gmail.com> * Move ignore mallocsizeof to rand crate, remove from crypto Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update cargo lock Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix key handling, implement exportKey with JWK TODO Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add missing spec link Signed-off-by: Daniel Adams <msub2official@gmail.com> * Use create_buffer_source, remove aes dep from libservo Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix crash when running in worker Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * fmt Signed-off-by: Daniel Adams <msub2official@gmail.com> * Move CryptoKey and SubtleCrypto behind pref for now Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * Readd timeout expectation Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
225 lines
4.5 KiB
Text
225 lines
4.5 KiB
Text
# 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 https://mozilla.org/MPL/2.0/.
|
|
|
|
# DOM Bindings Configuration.
|
|
#
|
|
# The WebIDL interfaces are defined in dom/webidls. For each such interface,
|
|
# there is a corresponding entry in the configuration table below.
|
|
# The configuration table maps each interface name to a |descriptor|.
|
|
#
|
|
# Valid fields for all descriptors:
|
|
# * outerObjectHook: string to use in place of default value for outerObject and thisObject
|
|
# JS class hooks
|
|
|
|
DOMInterfaces = {
|
|
|
|
'AbstractRange': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'AudioContext': {
|
|
'inRealms': ['Close', 'Suspend'],
|
|
},
|
|
|
|
'BaseAudioContext': {
|
|
'inRealms': ['DecodeAudioData', 'Resume'],
|
|
},
|
|
|
|
'Blob': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'Bluetooth': {
|
|
'inRealms': ['GetAvailability', 'RequestDevice'],
|
|
},
|
|
|
|
'BluetoothDevice': {
|
|
'inRealms': ['WatchAdvertisements'],
|
|
},
|
|
|
|
'BluetoothRemoteGATTCharacteristic': {
|
|
'inRealms': ['ReadValue', 'StartNotifications', 'StopNotifications', 'WriteValue'],
|
|
},
|
|
|
|
'BluetoothRemoteGATTDescriptor': {
|
|
'inRealms': ['ReadValue', 'WriteValue'],
|
|
},
|
|
|
|
'BluetoothRemoteGATTServer': {
|
|
'inRealms': ['Connect'],
|
|
},
|
|
|
|
'CustomElementRegistry': {
|
|
'inRealms': ['WhenDefined'],
|
|
},
|
|
|
|
'DOMImplementation': {
|
|
'canGc': ['CreateDocument', 'CreateHTMLDocument'],
|
|
},
|
|
|
|
'DOMParser': {
|
|
'canGc': ['ParseFromString'],
|
|
},
|
|
|
|
'Document': {
|
|
'canGc': ['Close', 'CreateElement', 'CreateElementNS', 'ImportNode', 'SetTitle', 'Write', 'Writeln'],
|
|
},
|
|
|
|
'DynamicModuleOwner': {
|
|
'inRealms': ['PromiseAttribute'],
|
|
},
|
|
|
|
'Element': {
|
|
'canGc': ['InsertAdjacentHTML', 'SetInnerHTML', 'SetOuterHTML'],
|
|
},
|
|
|
|
'EventSource': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'File': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'GPU': {
|
|
'inRealms': ['RequestAdapter'],
|
|
},
|
|
|
|
'GPUAdapter': {
|
|
'inRealms': ['RequestAdapterInfo', 'RequestDevice'],
|
|
},
|
|
|
|
'GPUBuffer': {
|
|
'inRealms': ['MapAsync'],
|
|
},
|
|
|
|
'GPUDevice': {
|
|
'inRealms': [
|
|
'CreateComputePipelineAsync',
|
|
'CreateRenderPipelineAsync',
|
|
'CreateShaderModule', # Creates promise for compilation info
|
|
'PopErrorScope'
|
|
],
|
|
'weakReferenceable': True, # for usage in GlobalScope https://github.com/servo/servo/issues/32519
|
|
},
|
|
|
|
'GamepadHapticActuator': {
|
|
'inRealms': ['PlayEffect', 'Reset']
|
|
},
|
|
|
|
'HTMLMediaElement': {
|
|
'canGc': ['Load', 'Pause', 'Play', 'SetSrcObject'],
|
|
'inRealms': ['Play'],
|
|
},
|
|
|
|
'HTMLTemplateElement': {
|
|
'canGc': ['Content'],
|
|
},
|
|
|
|
'MediaDevices': {
|
|
'inRealms': ['GetUserMedia'],
|
|
},
|
|
|
|
'MediaQueryList': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'MessagePort': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'NavigationPreloadManager': {
|
|
'inRealms': ['Disable', 'Enable', 'GetState', 'SetHeaderValue'],
|
|
},
|
|
|
|
'Navigator': {
|
|
'inRealms': ['GetVRDisplays'],
|
|
},
|
|
|
|
'Node': {
|
|
'canGc': ['CloneNode'],
|
|
},
|
|
|
|
'OfflineAudioContext': {
|
|
'inRealms': ['StartRendering'],
|
|
},
|
|
|
|
'Promise': {
|
|
'spiderMonkeyInterface': True,
|
|
},
|
|
|
|
'RTCPeerConnection': {
|
|
'inRealms': ['AddIceCandidate', 'CreateAnswer', 'CreateOffer', 'SetLocalDescription', 'SetRemoteDescription'],
|
|
},
|
|
|
|
'Range': {
|
|
'canGc': ['CloneContents', 'CloneRange', 'CreateContextualFragment', 'ExtractContents', 'SurroundContents'],
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'Selection': {
|
|
'canGc': ['Collapse', 'CollapseToEnd', 'CollapseToStart', 'Extend', 'SelectAllChildren', 'SetBaseAndExtent', 'SetPosition'],
|
|
},
|
|
|
|
|
|
'ServiceWorkerContainer': {
|
|
'inRealms': ['Register'],
|
|
},
|
|
|
|
'StaticRange': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
#FIXME(jdm): This should be 'register': False, but then we don't generate enum types
|
|
'TestBinding': {
|
|
'inRealms': ['PromiseAttribute', 'PromiseNativeHandler'],
|
|
},
|
|
|
|
'TestWorklet': {
|
|
'inRealms': ['AddModule'],
|
|
},
|
|
|
|
'URL': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'VRDisplay': {
|
|
'inRealms': ['ExitPresent', 'RequestPresent'],
|
|
},
|
|
|
|
'Window': {
|
|
'canGc': ['Stop'],
|
|
'inRealms': ['Fetch', 'GetOpener'],
|
|
},
|
|
|
|
'WindowProxy' : {
|
|
'path': 'crate::dom::windowproxy::WindowProxy',
|
|
'register': False,
|
|
},
|
|
|
|
'WorkerGlobalScope': {
|
|
'inRealms': ['Fetch'],
|
|
},
|
|
|
|
'Worklet': {
|
|
'inRealms': ['AddModule'],
|
|
},
|
|
|
|
'XMLHttpRequest': {
|
|
'canGc': ['GetResponseXML', 'Response'],
|
|
},
|
|
|
|
'XRSession': {
|
|
'inRealms': ['RequestReferenceSpace', 'UpdateRenderState', 'UpdateTargetFrameRate'],
|
|
},
|
|
|
|
'XRSystem': {
|
|
'inRealms': ['RequestSession', 'SupportsSessionMode'],
|
|
},
|
|
|
|
'SubtleCrypto': {
|
|
'inRealms': ['GenerateKey', 'ExportKey']
|
|
}
|
|
|
|
}
|