mirror of
https://github.com/RGBCube/serenity
synced 2025-05-25 19:15:06 +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
|
@ -37,11 +37,6 @@ bool MediaQueryList::matches() const
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MediaQueryList::dispatch_event(NonnullRefPtr<DOM::Event> event)
|
|
||||||
{
|
|
||||||
return DOM::EventDispatcher::dispatch(*this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
JS::Object* MediaQueryList::create_wrapper(JS::GlobalObject& global_object)
|
JS::Object* MediaQueryList::create_wrapper(JS::GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
return wrap(global_object, *this);
|
return wrap(global_object, *this);
|
||||||
|
|
|
@ -39,7 +39,6 @@ public:
|
||||||
// ^EventTarget
|
// ^EventTarget
|
||||||
virtual void ref_event_target() override { ref(); }
|
virtual void ref_event_target() override { ref(); }
|
||||||
virtual void unref_event_target() override { unref(); }
|
virtual void unref_event_target() override { unref(); }
|
||||||
virtual bool dispatch_event(NonnullRefPtr<DOM::Event>) override;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
void add_listener(RefPtr<DOM::EventListener> listener);
|
void add_listener(RefPtr<DOM::EventListener> listener);
|
||||||
|
|
|
@ -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)
|
JS::Object* AbortSignal::create_wrapper(JS::GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
return wrap(global_object, *this);
|
return wrap(global_object, *this);
|
||||||
|
|
|
@ -49,7 +49,6 @@ public:
|
||||||
// ^EventTarget
|
// ^EventTarget
|
||||||
virtual void ref_event_target() override { ref(); }
|
virtual void ref_event_target() override { ref(); }
|
||||||
virtual void unref_event_target() override { unref(); }
|
virtual void unref_event_target() override { unref(); }
|
||||||
virtual bool dispatch_event(NonnullRefPtr<Event>) override;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <LibWeb/Bindings/ScriptExecutionContext.h>
|
#include <LibWeb/Bindings/ScriptExecutionContext.h>
|
||||||
#include <LibWeb/DOM/Document.h>
|
#include <LibWeb/DOM/Document.h>
|
||||||
#include <LibWeb/DOM/Event.h>
|
#include <LibWeb/DOM/Event.h>
|
||||||
|
#include <LibWeb/DOM/EventDispatcher.h>
|
||||||
#include <LibWeb/DOM/EventListener.h>
|
#include <LibWeb/DOM/EventListener.h>
|
||||||
#include <LibWeb/DOM/EventTarget.h>
|
#include <LibWeb/DOM/EventTarget.h>
|
||||||
#include <LibWeb/DOM/Window.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());
|
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>);
|
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>);
|
ExceptionOr<bool> dispatch_event_binding(NonnullRefPtr<Event>);
|
||||||
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) = 0;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) = 0;
|
||||||
|
|
|
@ -163,11 +163,6 @@ bool Node::is_link() const
|
||||||
return enclosing_link_element();
|
return enclosing_link_element();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Node::dispatch_event(NonnullRefPtr<Event> event)
|
|
||||||
{
|
|
||||||
return EventDispatcher::dispatch(*this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
String Node::child_text_content() const
|
String Node::child_text_content() const
|
||||||
{
|
{
|
||||||
if (!is<ParentNode>(*this))
|
if (!is<ParentNode>(*this))
|
||||||
|
|
|
@ -51,7 +51,6 @@ public:
|
||||||
// ^EventTarget
|
// ^EventTarget
|
||||||
virtual void ref_event_target() final { ref(); }
|
virtual void ref_event_target() final { ref(); }
|
||||||
virtual void unref_event_target() final { unref(); }
|
virtual void unref_event_target() final { unref(); }
|
||||||
virtual bool dispatch_event(NonnullRefPtr<Event>) final;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
virtual ~Node();
|
virtual ~Node();
|
||||||
|
|
|
@ -84,11 +84,6 @@ void MessagePort::post_message(JS::Value message)
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MessagePort::dispatch_event(NonnullRefPtr<DOM::Event> event)
|
|
||||||
{
|
|
||||||
return DOM::EventDispatcher::dispatch(*this, move(event));
|
|
||||||
}
|
|
||||||
|
|
||||||
JS::Object* MessagePort::create_wrapper(JS::GlobalObject& global_object)
|
JS::Object* MessagePort::create_wrapper(JS::GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
return wrap(global_object, *this);
|
return wrap(global_object, *this);
|
||||||
|
|
|
@ -40,7 +40,6 @@ public:
|
||||||
// ^EventTarget
|
// ^EventTarget
|
||||||
virtual void ref_event_target() override { ref(); }
|
virtual void ref_event_target() override { ref(); }
|
||||||
virtual void unref_event_target() override { unref(); }
|
virtual void unref_event_target() override { unref(); }
|
||||||
virtual bool dispatch_event(NonnullRefPtr<DOM::Event>) override;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/web-messaging.html#entangle
|
// https://html.spec.whatwg.org/multipage/web-messaging.html#entangle
|
||||||
|
|
|
@ -207,11 +207,6 @@ void WebSocket::on_message(ByteBuffer message, bool is_text)
|
||||||
TODO();
|
TODO();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebSocket::dispatch_event(NonnullRefPtr<DOM::Event> event)
|
|
||||||
{
|
|
||||||
return DOM::EventDispatcher::dispatch(*this, move(event));
|
|
||||||
}
|
|
||||||
|
|
||||||
JS::Object* WebSocket::create_wrapper(JS::GlobalObject& global_object)
|
JS::Object* WebSocket::create_wrapper(JS::GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
return wrap(global_object, *this);
|
return wrap(global_object, *this);
|
||||||
|
|
|
@ -91,7 +91,6 @@ public:
|
||||||
private:
|
private:
|
||||||
virtual void ref_event_target() override { ref(); }
|
virtual void ref_event_target() override { ref(); }
|
||||||
virtual void unref_event_target() override { unref(); }
|
virtual void unref_event_target() override { unref(); }
|
||||||
virtual bool dispatch_event(NonnullRefPtr<DOM::Event>) override;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
void on_open();
|
void on_open();
|
||||||
|
|
|
@ -41,11 +41,6 @@ void Performance::unref_event_target()
|
||||||
m_window.unref();
|
m_window.unref();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Performance::dispatch_event(NonnullRefPtr<DOM::Event> event)
|
|
||||||
{
|
|
||||||
return DOM::EventDispatcher::dispatch(*this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
JS::Object* Performance::create_wrapper(JS::GlobalObject& global_object)
|
JS::Object* Performance::create_wrapper(JS::GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
return Bindings::wrap(global_object, *this);
|
return Bindings::wrap(global_object, *this);
|
||||||
|
|
|
@ -32,7 +32,6 @@ public:
|
||||||
virtual void ref_event_target() override;
|
virtual void ref_event_target() override;
|
||||||
virtual void unref_event_target() override;
|
virtual void unref_event_target() override;
|
||||||
|
|
||||||
virtual bool dispatch_event(NonnullRefPtr<DOM::Event>) override;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -252,11 +252,6 @@ DOM::ExceptionOr<void> XMLHttpRequest::send()
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
bool XMLHttpRequest::dispatch_event(NonnullRefPtr<DOM::Event> event)
|
|
||||||
{
|
|
||||||
return DOM::EventDispatcher::dispatch(*this, move(event));
|
|
||||||
}
|
|
||||||
|
|
||||||
JS::Object* XMLHttpRequest::create_wrapper(JS::GlobalObject& global_object)
|
JS::Object* XMLHttpRequest::create_wrapper(JS::GlobalObject& global_object)
|
||||||
{
|
{
|
||||||
return wrap(global_object, *this);
|
return wrap(global_object, *this);
|
||||||
|
|
|
@ -65,7 +65,6 @@ public:
|
||||||
private:
|
private:
|
||||||
virtual void ref_event_target() override { ref(); }
|
virtual void ref_event_target() override { ref(); }
|
||||||
virtual void unref_event_target() override { unref(); }
|
virtual void unref_event_target() override { unref(); }
|
||||||
virtual bool dispatch_event(NonnullRefPtr<DOM::Event>) override;
|
|
||||||
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
virtual JS::Object* create_wrapper(JS::GlobalObject&) override;
|
||||||
|
|
||||||
void set_ready_state(ReadyState);
|
void set_ready_state(ReadyState);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue