mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 11:17:35 +00:00
LibWeb: Provide a default DOM::EventTarget::dispatch_event()
All EventTarget subclasses except Window do the same exact thing in their overrides, so let's just share an implementation in the base.
This commit is contained in:
parent
8dcf4e0346
commit
0ee457dfdf
16 changed files with 8 additions and 43 deletions
|
@ -20,11 +20,6 @@ AbortSignal::~AbortSignal()
|
|||
{
|
||||
}
|
||||
|
||||
bool AbortSignal::dispatch_event(NonnullRefPtr<Event> event)
|
||||
{
|
||||
return EventDispatcher::dispatch(*this, event);
|
||||
}
|
||||
|
||||
JS::Object* AbortSignal::create_wrapper(JS::GlobalObject& global_object)
|
||||
{
|
||||
return wrap(global_object, *this);
|
||||
|
|
|
@ -49,7 +49,6 @@ public:
|
|||
// ^EventTarget
|
||||
virtual void ref_event_target() override { ref(); }
|
||||
virtual void unref_event_target() override { unref(); }
|
||||
virtual bool dispatch_event(NonnullRefPtr<Event>) override;
|
||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||
|
||||
private:
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <LibWeb/Bindings/ScriptExecutionContext.h>
|
||||
#include <LibWeb/DOM/Document.h>
|
||||
#include <LibWeb/DOM/Event.h>
|
||||
#include <LibWeb/DOM/EventDispatcher.h>
|
||||
#include <LibWeb/DOM/EventListener.h>
|
||||
#include <LibWeb/DOM/EventTarget.h>
|
||||
#include <LibWeb/DOM/Window.h>
|
||||
|
@ -147,4 +148,10 @@ void EventTarget::set_event_handler_attribute(FlyString const& name, HTML::Event
|
|||
target->add_event_listener(name, listener.release_nonnull());
|
||||
}
|
||||
}
|
||||
|
||||
bool EventTarget::dispatch_event(NonnullRefPtr<Event> event)
|
||||
{
|
||||
return EventDispatcher::dispatch(*this, move(event));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
|
||||
void remove_from_event_listener_list(NonnullRefPtr<EventListener>);
|
||||
|
||||
virtual bool dispatch_event(NonnullRefPtr<Event>) = 0;
|
||||
virtual bool dispatch_event(NonnullRefPtr<Event>);
|
||||
ExceptionOr<bool> dispatch_event_binding(NonnullRefPtr<Event>);
|
||||
|
||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) = 0;
|
||||
|
|
|
@ -163,11 +163,6 @@ bool Node::is_link() const
|
|||
return enclosing_link_element();
|
||||
}
|
||||
|
||||
bool Node::dispatch_event(NonnullRefPtr<Event> event)
|
||||
{
|
||||
return EventDispatcher::dispatch(*this, event);
|
||||
}
|
||||
|
||||
String Node::child_text_content() const
|
||||
{
|
||||
if (!is<ParentNode>(*this))
|
||||
|
|
|
@ -51,7 +51,6 @@ public:
|
|||
// ^EventTarget
|
||||
virtual void ref_event_target() final { ref(); }
|
||||
virtual void unref_event_target() final { unref(); }
|
||||
virtual bool dispatch_event(NonnullRefPtr<Event>) final;
|
||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||
|
||||
virtual ~Node();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue