mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 23:20:20 +00:00
LibWeb: Add builtin Float16Array type and remove related FIXME
This commit is contained in:
parent
ea20545853
commit
9ee7d4d90a
Notes:
github-actions[bot]
2024-11-10 21:49:14 +00:00
Author: https://github.com/rmg-x Commit: https://github.com/LadybirdBrowser/ladybird/commit/9ee7d4d90a0 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2184 Reviewed-by: https://github.com/ADKaster ✅ Reviewed-by: https://github.com/trflynn89
3 changed files with 3 additions and 2 deletions
|
@ -51,7 +51,6 @@ WebIDL::ExceptionOr<JS::Handle<WebIDL::ArrayBufferView>> Crypto::get_random_valu
|
|||
return WebIDL::TypeMismatchError::create(realm(), "array must be one of Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array"_string);
|
||||
|
||||
auto const& typed_array = *array->bufferable_object().get<JS::NonnullGCPtr<JS::TypedArrayBase>>();
|
||||
// Still need to exclude Float32Array, and potential future siblings like Float16Array:
|
||||
if (!typed_array.element_name().is_one_of("Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "BigInt64Array", "BigUint64Array"))
|
||||
return WebIDL::TypeMismatchError::create(realm(), "array must be one of Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array"_string);
|
||||
|
||||
|
|
|
@ -121,6 +121,7 @@ static bool is_javascript_builtin(Type const& type)
|
|||
// might simply need to add another type here.
|
||||
static constexpr Array types = {
|
||||
"ArrayBuffer"sv,
|
||||
"Float16Array"sv,
|
||||
"Float32Array"sv,
|
||||
"Float64Array"sv,
|
||||
"Uint8Array"sv,
|
||||
|
@ -1256,7 +1257,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|||
// 1. If types includes a typed array type whose name is the value of V’s [[TypedArrayName]] internal slot, then return the result of converting V to that type.
|
||||
// 2. If types includes object, then return the IDL value that is a reference to the object V.
|
||||
auto has_typed_array_name = any_of(types, [](auto const& type) {
|
||||
return type->name().is_one_of("Int8Array"sv, "Int16Array"sv, "Int32Array"sv, "Uint8Array"sv, "Uint16Array"sv, "Uint32Array"sv, "Uint8ClampedArray"sv, "BigInt64Array"sv, "BigUint64Array", "Float32Array"sv, "Float64Array"sv);
|
||||
return type->name().is_one_of("Int8Array"sv, "Int16Array"sv, "Int32Array"sv, "Uint8Array"sv, "Uint16Array"sv, "Uint32Array"sv, "Uint8ClampedArray"sv, "BigInt64Array"sv, "BigUint64Array", "Float16Array"sv, "Float32Array"sv, "Float64Array"sv);
|
||||
});
|
||||
|
||||
if (has_typed_array_name || includes_object) {
|
||||
|
|
|
@ -107,6 +107,7 @@ FileList
|
|||
FileReader
|
||||
FileSystemEntry
|
||||
FinalizationRegistry
|
||||
Float16Array
|
||||
Float32Array
|
||||
Float64Array
|
||||
FocusEvent
|
||||
|
|
Loading…
Reference in a new issue