1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:58:11 +00:00

LibWeb: Bypass the JS::Interpreter when invoking JS event callbacks

Use VM::call() instead of Interpreter::call().
This commit is contained in:
Andreas Kling 2020-09-27 20:15:47 +02:00
parent 063acda76e
commit 861815596f

View file

@ -45,10 +45,10 @@ void EventDispatcher::dispatch(EventTarget& target, NonnullRefPtr<Event> event)
auto& global_object = function.global_object();
auto* this_value = Bindings::wrap(global_object, target);
auto& interpreter = target.script_execution_context()->interpreter();
(void)interpreter.call(function, this_value, Bindings::wrap(global_object, target));
if (interpreter.exception())
interpreter.vm().clear_exception();
auto& vm = global_object.vm();
(void)vm.call(function, this_value, Bindings::wrap(global_object, target));
if (vm.exception())
vm.clear_exception();
}
}