LibWeb: Don't swallow args when forwarding cross-origin WindowProxy call

Fixes at least one WPT test that was previously timing out:
- html/semantics/document-metadata/the-base-element/base_target_does_not_affect_iframe_src_navigation.html
This commit is contained in:
Andreas Kling 2024-10-03 15:48:35 +02:00 committed by Andreas Kling
parent 8cfe51cef4
commit 0b403d30d7
Notes: github-actions[bot] 2024-10-03 18:50:34 +00:00
3 changed files with 15 additions and 3 deletions

View file

@ -135,7 +135,7 @@ Optional<JS::PropertyDescriptor> cross_origin_get_own_property_helper(Variant<HT
if (value->is_function()) {
value = JS::NativeFunction::create(
realm, [function = JS::make_handle(*value)](auto& vm) {
return JS::call(vm, function.value(), JS::js_undefined());
return JS::call(vm, function.value(), JS::js_undefined(), vm.running_execution_context().arguments.span());
},
0, "");
}
@ -152,7 +152,7 @@ Optional<JS::PropertyDescriptor> cross_origin_get_own_property_helper(Variant<HT
if (*entry.needs_get) {
cross_origin_get = JS::NativeFunction::create(
realm, [object_ptr, getter = JS::make_handle(*original_descriptor->get)](auto& vm) {
return JS::call(vm, getter.cell(), object_ptr);
return JS::call(vm, getter.cell(), object_ptr, vm.running_execution_context().arguments.span());
},
0, "");
}
@ -164,7 +164,7 @@ Optional<JS::PropertyDescriptor> cross_origin_get_own_property_helper(Variant<HT
if (*entry.needs_set) {
cross_origin_set = JS::NativeFunction::create(
realm, [object_ptr, setter = JS::make_handle(*original_descriptor->set)](auto& vm) {
return JS::call(vm, setter.cell(), object_ptr);
return JS::call(vm, setter.cell(), object_ptr, vm.running_execution_context().arguments.span());
},
0, "");
}