From 971d60c329cced524ea0e7efc88adb95f5cad64c Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Fri, 1 Oct 2021 01:09:11 +0100 Subject: [PATCH] LibWeb: Implement AbortSignal.onabort --- Userland/Libraries/LibWeb/DOM/AbortSignal.cpp | 11 +++++++++++ Userland/Libraries/LibWeb/DOM/AbortSignal.h | 3 +++ Userland/Libraries/LibWeb/DOM/AbortSignal.idl | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp b/Userland/Libraries/LibWeb/DOM/AbortSignal.cpp index 9f7bcecdd3..94845e93a7 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 cca548e985..c3ecfe0dcb 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 6bb9cd81a5..4fda402027 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; };