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

LibWeb: Generate Event and MouseEvent bindings from IDL :^)

We still have to hand-write a function to turn an Event& into a wrapper
but this is still a hue improvement. Eventually we'll find a way to
auto-generate that function as well.
This commit is contained in:
Andreas Kling 2020-06-21 16:10:48 +02:00
parent dd29ff884f
commit e1bd815a6a
12 changed files with 29 additions and 177 deletions

View file

@ -27,6 +27,7 @@
#include <LibJS/Interpreter.h>
#include <LibJS/Runtime/Function.h>
#include <LibWeb/Bindings/EventWrapper.h>
#include <LibWeb/Bindings/EventWrapperFactory.h>
#include <LibWeb/Bindings/XMLHttpRequestWrapper.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/DOM/Event.h>
@ -91,7 +92,7 @@ void XMLHttpRequest::send()
void XMLHttpRequest::dispatch_event(NonnullRefPtr<Event> event)
{
for (auto& listener : listeners()) {
if (listener.event_name == event->name()) {
if (listener.event_name == event->type()) {
auto& function = const_cast<EventListener&>(*listener.listener).function();
auto& heap = function.heap();
auto* this_value = wrap(heap, *this);