From bb04c97f15728d14a146f29fa1bc4d23ee96ec49 Mon Sep 17 00:00:00 2001 From: Taym Haddadi Date: Thu, 25 Jan 2024 15:28:43 +0100 Subject: [PATCH] Use Int8array, int16array, uint16array, int32array & uint32array in WebIDL (#31164) part #31064 --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because there is no behavior changes There types are not used we can migrate them, in next PR I will make `HeapFloat32Array` generic and convert ArrayBufferView, ArrayBuffer, Uint8ClampedArray and Float64Array. Signed-off-by: Bentaimia Haddadi --- .../script/dom/bindings/codegen/CodegenRust.py | 14 ++++++++++++-- third_party/WebIDL/WebIDL.py | 17 +++++++++++------ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 10ccc0ef898..8220a1e5a49 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -120,8 +120,13 @@ builtinNames = { IDLType.Tags.float: 'Finite', IDLType.Tags.unrestricted_double: 'f64', IDLType.Tags.double: 'Finite', + IDLType.Tags.int8array: 'Int8Array', + IDLType.Tags.uint8array: 'Uint8Array', + IDLType.Tags.int16array: 'Int16Array', + IDLType.Tags.uint16array: 'Uint16Array', + IDLType.Tags.int32array: 'Int32Array', + IDLType.Tags.uint32array: 'Uint32Array', IDLType.Tags.float32array: 'Float32Array', - IDLType.Tags.uint8array: 'Uint8Array' } numericTags = [ @@ -6502,8 +6507,13 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries 'js::rust::define_properties', 'js::rust::get_object_class', 'js::typedarray', - 'js::typedarray::Float32Array', + 'js::typedarray::Int8Array', 'js::typedarray::Uint8Array', + 'js::typedarray::Int16Array', + 'js::typedarray::Uint16Array', + 'js::typedarray::Int32Array', + 'js::typedarray::Uint32Array', + 'js::typedarray::Float32Array', 'crate::dom', 'crate::dom::bindings', 'crate::dom::bindings::codegen::InterfaceObjectMap', diff --git a/third_party/WebIDL/WebIDL.py b/third_party/WebIDL/WebIDL.py index 6afdfc33959..5c6930cea29 100644 --- a/third_party/WebIDL/WebIDL.py +++ b/third_party/WebIDL/WebIDL.py @@ -2401,8 +2401,13 @@ class IDLType(IDLObject): "object", # Funny stuff "interface", - "float32array", + "int8array", "uint8array", + "int16array", + "uint16array", + "int32array", + "uint32array", + "float32array", "dictionary", "enum", "callback", @@ -3635,13 +3640,13 @@ class IDLBuiltinType(IDLType): Types.object: IDLType.Tags.object, Types.ArrayBuffer: IDLType.Tags.interface, Types.ArrayBufferView: IDLType.Tags.interface, - Types.Int8Array: IDLType.Tags.interface, + Types.Int8Array: IDLType.Tags.int8array, Types.Uint8Array: IDLType.Tags.uint8array, Types.Uint8ClampedArray: IDLType.Tags.interface, - Types.Int16Array: IDLType.Tags.interface, - Types.Uint16Array: IDLType.Tags.interface, - Types.Int32Array: IDLType.Tags.interface, - Types.Uint32Array: IDLType.Tags.interface, + Types.Int16Array: IDLType.Tags.int16array, + Types.Uint16Array: IDLType.Tags.uint16array, + Types.Int32Array: IDLType.Tags.int32array, + Types.Uint32Array: IDLType.Tags.uint32array, Types.Float32Array: IDLType.Tags.float32array, Types.Float64Array: IDLType.Tags.interface, Types.ReadableStream: IDLType.Tags.interface,