mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
LibWeb: No longer return undefined
on null table entry in Wasm API
Return `null` instead, as per the specification.
This commit is contained in:
parent
93216a875e
commit
3c5e3eef10
Notes:
github-actions[bot]
2024-07-30 21:44:36 +00:00
Author: https://github.com/dzfrias Commit: https://github.com/LadybirdBrowser/ladybird/commit/3c5e3eef10a Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/909 Reviewed-by: https://github.com/alimpfard
2 changed files with 4 additions and 3 deletions
|
@ -106,8 +106,6 @@ WebIDL::ExceptionOr<JS::Value> Table::get(u32 index) const
|
|||
return vm.throw_completion<JS::RangeError>("Table element index out of range"sv);
|
||||
|
||||
auto& ref = table->elements()[index];
|
||||
if (!ref.ref().has<Wasm::Reference::Null>())
|
||||
return JS::js_undefined();
|
||||
|
||||
Wasm::Value wasm_value { ref };
|
||||
return Detail::to_js_value(vm, wasm_value);
|
||||
|
|
|
@ -450,7 +450,10 @@ JS::Value to_js_value(JS::VM& vm, Wasm::Value& wasm_value)
|
|||
case Wasm::ValueType::F32:
|
||||
return JS::Value(static_cast<double>(wasm_value.to<float>().value()));
|
||||
case Wasm::ValueType::FunctionReference: {
|
||||
auto address = wasm_value.to<Wasm::Reference::Func>().value().address;
|
||||
auto ref_ = *wasm_value.to<Wasm::Reference>();
|
||||
if (ref_.ref().has<Wasm::Reference::Null>())
|
||||
return JS::js_null();
|
||||
auto address = ref_.ref().get<Wasm::Reference::Func>().address;
|
||||
auto& cache = get_cache(realm);
|
||||
auto* function = cache.abstract_machine().store().get(address);
|
||||
auto name = function->visit(
|
||||
|
|
Loading…
Reference in a new issue