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

LibWeb: Make wrapper factory functions take JS::GlobalObject&

Instead of taking the JS::Heap&. This allows us to get rid of some
calls to JS::Interpreter::global_object(). We're getting closer and
closer to multiple global objects. :^)
This commit is contained in:
Andreas Kling 2020-06-23 16:57:39 +02:00
parent c24f5585b2
commit fc4ed8d444
12 changed files with 33 additions and 36 deletions

View file

@ -137,13 +137,13 @@ void Node::dispatch_event(NonnullRefPtr<Event> event)
#ifdef EVENT_DEBUG
static_cast<const JS::ScriptFunction*>(function)->body().dump(0);
#endif
auto& heap = function.heap();
auto* this_value = wrap(heap, *this);
auto& global_object = function.global_object();
auto* this_value = wrap(global_object, *this);
#ifdef EVENT_DEBUG
dbg() << "calling event listener with this=" << this_value;
#endif
auto* event_wrapper = wrap(heap, *event);
JS::MarkedValueList arguments(heap);
auto* event_wrapper = wrap(global_object, *event);
JS::MarkedValueList arguments(global_object.heap());
arguments.append(event_wrapper);
document().interpreter().call(function, this_value, move(arguments));
}