From 9be989146d5b958cafcc930385e63595a885cb20 Mon Sep 17 00:00:00 2001 From: Taym Haddadi Date: Tue, 13 Feb 2024 08:58:48 +0100 Subject: WebIDL: Use `ArrayBuffer` instead of raw `JSObject` in bindings (#31202) * WebIDL: Use ArrayBuffer instead of raw JSObject in bindings Signed-off-by: Bentaimia Haddadi * Convert GPUBufferMapInfo mapping to Arc * Remove #[allow(unsafe_code)] from GPUBuffer * Add doc comments * Implement trace for Arc>> Signed-off-by: Bentaimia Haddadi * Use #[no_trace] for GPUBufferMapInfo.mapping * Make create_new_external_array_buffer generic Signed-off-by: Bentaimia Haddadi * Address review comments * Remove HeapTypedArray::new and avoid cloning Arc Signed-off-by: Bentaimia Haddadi * Use expect for GetMappedRange and ReadAsArrayBuffer Signed-off-by: Bentaimia Haddadi * Use doc comments for FileReaderSyncMethods Signed-off-by: Bentaimia Haddadi * Return for Error::JsFailed GetMappedRange and ReadAsArrayBuffer Signed-off-by: Bentaimia Haddadi * Fix detached_internal implementation and comments Signed-off-by: Bentaimia Haddadi * format code Signed-off-by: Bentaimia Haddadi * Update expectations --------- Signed-off-by: Bentaimia Haddadi Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com> --- components/script/dom/bindings/codegen/CodegenRust.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'components/script/dom/bindings/codegen/CodegenRust.py') 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', -- cgit v1.2.3