mirror of
https://github.com/servo/servo.git
synced 2025-06-18 22:34:30 +01:00
Restructure Blob, structured serialization <!-- Please describe your changes on the following line: --> FIX #24052 and also address the "cloning" half of FIX #23917 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24123) <!-- Reviewable:end -->
155 lines
3 KiB
Text
155 lines
3 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 = {
|
|
|
|
'Blob': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'File': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'MediaQueryList': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'Promise': {
|
|
'spiderMonkeyInterface': True,
|
|
},
|
|
|
|
'Range': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'EventSource': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'MessagePort': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
#FIXME(jdm): This should be 'register': False, but then we don't generate enum types
|
|
'TestBinding': {
|
|
'inCompartments': ['PromiseAttribute', 'PromiseNativeHandler'],
|
|
},
|
|
|
|
'URL': {
|
|
'weakReferenceable': True,
|
|
},
|
|
|
|
'WindowProxy' : {
|
|
'path': 'crate::dom::windowproxy::WindowProxy',
|
|
'register': False,
|
|
},
|
|
|
|
'Window': {
|
|
'inCompartments': ['Fetch'],
|
|
},
|
|
|
|
'WorkerGlobalScope': {
|
|
'inCompartments': ['Fetch'],
|
|
},
|
|
|
|
'CustomElementRegistry': {
|
|
'inCompartments': ['WhenDefined'],
|
|
},
|
|
|
|
'AudioContext': {
|
|
'inCompartments': ['Suspend', 'Close'],
|
|
},
|
|
|
|
'NavigationPreloadManager': {
|
|
'inCompartments': ['Enable', 'Disable', 'SetHeaderValue', 'GetState'],
|
|
},
|
|
|
|
'HTMLMediaElement': {
|
|
'inCompartments': ['Play'],
|
|
},
|
|
|
|
'BluetoothRemoteGATTDescriptor': {
|
|
'inCompartments': ['ReadValue', 'WriteValue'],
|
|
},
|
|
|
|
'OfflineAudioContext': {
|
|
'inCompartments': ['StartRendering'],
|
|
},
|
|
|
|
'BluetoothRemoteGATTServer': {
|
|
'inCompartments': ['Connect'],
|
|
},
|
|
|
|
'ServiceWorkerContainer': {
|
|
'inCompartments': ['Register'],
|
|
},
|
|
|
|
'Navigator': {
|
|
'inCompartments': ['GetVRDisplays'],
|
|
},
|
|
|
|
'MediaDevices': {
|
|
'inCompartments': ['GetUserMedia'],
|
|
},
|
|
|
|
'XRSession': {
|
|
'inCompartments': ['UpdateRenderState', 'RequestReferenceSpace'],
|
|
},
|
|
|
|
'Bluetooth': {
|
|
'inCompartments': ['RequestDevice', 'GetAvailability'],
|
|
},
|
|
|
|
'BaseAudioContext': {
|
|
'inCompartments': ['Resume', 'DecodeAudioData'],
|
|
},
|
|
|
|
'RTCPeerConnection': {
|
|
'inCompartments': ['AddIceCandidate', 'CreateOffer', 'CreateAnswer', 'SetLocalDescription', 'SetRemoteDescription'],
|
|
},
|
|
|
|
'BluetoothRemoteGATTCharacteristic': {
|
|
'inCompartments': ['ReadValue', 'WriteValue', 'StartNotifications', 'StopNotifications'],
|
|
},
|
|
|
|
'VRDisplay': {
|
|
'inCompartments': ['RequestPresent', 'ExitPresent'],
|
|
},
|
|
|
|
'Worklet': {
|
|
'inCompartments': ['AddModule'],
|
|
},
|
|
|
|
'TestWorklet': {
|
|
'inCompartments': ['AddModule'],
|
|
},
|
|
|
|
'BluetoothDevice': {
|
|
'inCompartments': ['WatchAdvertisements'],
|
|
},
|
|
|
|
'XR': {
|
|
'inCompartments': ['SupportsSessionMode', 'RequestSession'],
|
|
},
|
|
|
|
'GPU': {
|
|
'inCompartments': ['RequestAdapter'],
|
|
},
|
|
|
|
'GPUAdapter': {
|
|
'inCompartments': ['RequestDevice'],
|
|
}
|
|
|
|
}
|