aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorTaym Haddadi <haddadi.taym@gmail.com>2024-02-13 08:58:48 +0100
committerGitHub <noreply@github.com>2024-02-13 07:58:48 +0000
commit9be989146d5b958cafcc930385e63595a885cb20 (patch)
tree6001d262d8f3b79618c867685281d9c32a22665b /components/script/dom/bindings/codegen/CodegenRust.py
parente6baa26ff8bcf44f22fce2f4be70a42e037e9e3b (diff)
downloadservo-9be989146d5b958cafcc930385e63595a885cb20.tar.gz
servo-9be989146d5b958cafcc930385e63595a885cb20.zip
WebIDL: Use `ArrayBuffer` instead of raw `JSObject` in bindings (#31202)
* WebIDL: Use ArrayBuffer instead of raw JSObject in bindings Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Convert GPUBufferMapInfo mapping to Arc<Mutex> * Remove #[allow(unsafe_code)] from GPUBuffer * Add doc comments * Implement trace for Arc<Mutex<Vec<T>>> Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Use #[no_trace] for GPUBufferMapInfo.mapping * Make create_new_external_array_buffer generic Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Address review comments * Remove HeapTypedArray::new and avoid cloning Arc Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Use expect for GetMappedRange and ReadAsArrayBuffer Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Use doc comments for FileReaderSyncMethods Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Return for Error::JsFailed GetMappedRange and ReadAsArrayBuffer Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Fix detached_internal implementation and comments Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * format code Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> * Update expectations --------- Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com> Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
Diffstat (limited to 'components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 1207543de90..3b474a543b0 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -128,6 +128,7 @@ builtinNames = {
IDLType.Tags.uint32array: 'Uint32Array',
IDLType.Tags.float32array: 'Float32Array',
IDLType.Tags.float64array: 'Float64Array',
+ IDLType.Tags.arrayBuffer: 'ArrayBuffer',
}
numericTags = [
@@ -1481,7 +1482,7 @@ def getRetvalDeclarationForType(returnType, descriptorProvider):
return CGGeneric("()")
if returnType.isPrimitive() and returnType.tag() in builtinNames:
return builtin_return_type(returnType)
- if returnType.isTypedArray() and returnType.tag() in builtinNames:
+ if is_typed_array(returnType) and returnType.tag() in builtinNames:
return builtin_return_type(returnType)
if returnType.isDOMString():
result = CGGeneric("DOMString")
@@ -6516,6 +6517,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
'js::typedarray::Uint32Array',
'js::typedarray::Float32Array',
'js::typedarray::Float64Array',
+ 'js::typedarray::ArrayBuffer',
'crate::dom',
'crate::dom::bindings',
'crate::dom::bindings::codegen::InterfaceObjectMap',