mirror of
https://github.com/zebrajr/ladybird.git
synced 2025-12-06 00:19:53 +01:00
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:
parent
8cfe51cef4
commit
0b403d30d7
|
|
@ -0,0 +1 @@
|
|||
PASS
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<script src="../include.js"></script>
|
||||
<iframe id="i"></iframe>
|
||||
<script>
|
||||
asyncTest((done) => {
|
||||
window.onmessage = function() {
|
||||
println("PASS");
|
||||
done();
|
||||
};
|
||||
i.src = "data:text/html,<script>top.postMessage('done', '*');</sc" + "ript>";
|
||||
});
|
||||
</script>
|
||||
|
|
@ -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, "");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user