Browse Source

LibWeb: Implement AbortSignal.onabort

Luke Wilde 3 years ago
parent
commit
971d60c329

+ 11 - 0
Userland/Libraries/LibWeb/DOM/AbortSignal.cpp

@@ -8,6 +8,7 @@
 #include <LibWeb/DOM/AbortSignal.h>
 #include <LibWeb/DOM/Document.h>
 #include <LibWeb/DOM/EventDispatcher.h>
+#include <LibWeb/HTML/EventHandler.h>
 
 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);
+}
+
 }

+ 3 - 0
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(); }

+ 1 - 1
Userland/Libraries/LibWeb/DOM/AbortSignal.idl

@@ -4,5 +4,5 @@ interface AbortSignal : EventTarget {
 
     readonly attribute boolean aborted;
 
-    // FIXME: attribute EventHandler onabort;
+    attribute EventHandler onabort;
 };