mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-04 09:22:53 +00: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
Notes:
github-actions[bot]
2024-10-03 18:50:34 +00:00
Author: https://github.com/awesomekling
Commit: 0b403d30d7
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1615
3 changed files with 15 additions and 3 deletions
|
@ -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()) {
|
if (value->is_function()) {
|
||||||
value = JS::NativeFunction::create(
|
value = JS::NativeFunction::create(
|
||||||
realm, [function = JS::make_handle(*value)](auto& vm) {
|
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, "");
|
0, "");
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ Optional<JS::PropertyDescriptor> cross_origin_get_own_property_helper(Variant<HT
|
||||||
if (*entry.needs_get) {
|
if (*entry.needs_get) {
|
||||||
cross_origin_get = JS::NativeFunction::create(
|
cross_origin_get = JS::NativeFunction::create(
|
||||||
realm, [object_ptr, getter = JS::make_handle(*original_descriptor->get)](auto& vm) {
|
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, "");
|
0, "");
|
||||||
}
|
}
|
||||||
|
@ -164,7 +164,7 @@ Optional<JS::PropertyDescriptor> cross_origin_get_own_property_helper(Variant<HT
|
||||||
if (*entry.needs_set) {
|
if (*entry.needs_set) {
|
||||||
cross_origin_set = JS::NativeFunction::create(
|
cross_origin_set = JS::NativeFunction::create(
|
||||||
realm, [object_ptr, setter = JS::make_handle(*original_descriptor->set)](auto& vm) {
|
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, "");
|
0, "");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue