diff --git a/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp b/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp index 9f7bcecdd32..94845e93a70 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp +++ b/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp @@ -8,6 +8,7 @@ #include #include #include +#include namespace Web::DOM { @@ -50,4 +51,14 @@ void AbortSignal::signal_abort() dispatch_event(Event::create(HTML::EventNames::abort)); } +void AbortSignal::set_onabort(HTML::EventHandler event_handler) +{ + set_event_handler_attribute(HTML::EventNames::abort, event_handler); +} + +HTML::EventHandler AbortSignal::onabort() +{ + return event_handler_attribute(HTML::EventNames::abort); +} + } diff --git a/Userland/Libraries/LibWeb/DOM/AbortSignal.h b/Userland/Libraries/LibWeb/DOM/AbortSignal.h index cca548e9856..c3ecfe0dcb3 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortSignal.h +++ b/Userland/Libraries/LibWeb/DOM/AbortSignal.h @@ -46,6 +46,9 @@ public: void signal_abort(); + void set_onabort(HTML::EventHandler); + HTML::EventHandler onabort(); + // ^EventTarget virtual void ref_event_target() override { ref(); } virtual void unref_event_target() override { unref(); } diff --git a/Userland/Libraries/LibWeb/DOM/AbortSignal.idl b/Userland/Libraries/LibWeb/DOM/AbortSignal.idl index 6bb9cd81a59..4fda4020276 100644 --- a/Userland/Libraries/LibWeb/DOM/AbortSignal.idl +++ b/Userland/Libraries/LibWeb/DOM/AbortSignal.idl @@ -4,5 +4,5 @@ interface AbortSignal : EventTarget { readonly attribute boolean aborted; - // FIXME: attribute EventHandler onabort; + attribute EventHandler onabort; };