aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaym Haddadi <haddadi.taym@gmail.com>2024-01-25 15:28:43 +0100
committerGitHub <noreply@github.com>2024-01-25 14:28:43 +0000
commitbb04c97f15728d14a146f29fa1bc4d23ee96ec49 (patch)
treeb229961b8cc2d42edd6666eb150aa46df88a1c13
parent50f56affe35a5565f99226daeb29843246c32b69 (diff)
downloadservo-bb04c97f15728d14a146f29fa1bc4d23ee96ec49.tar.gz
servo-bb04c97f15728d14a146f29fa1bc4d23ee96ec49.zip
Use Int8array, int16array, uint16array, int32array & uint32array in WebIDL (#31164)
<!-- Please describe your changes on the following line: --> part #31064 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors <!-- Either: --> - [x] These changes do not require tests because there is no behavior changes <!-- 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. --> 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 <haddadi.taym@gmail.com>
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py14
-rw-r--r--third_party/WebIDL/WebIDL.py17
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<f32>',
IDLType.Tags.unrestricted_double: 'f64',
IDLType.Tags.double: 'Finite<f64>',
+ 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,