diff --git a/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.cpp b/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.cpp index aeadb43745..513fc73081 100644 --- a/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.cpp +++ b/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.cpp @@ -39,4 +39,16 @@ WebIDL::CallbackType* IDBRequest::onsuccess() return event_handler_attribute(HTML::EventNames::success); } +// https://w3c.github.io/IndexedDB/#dom-idbrequest-onerror +void IDBRequest::set_onerror(WebIDL::CallbackType* event_handler) +{ + set_event_handler_attribute(HTML::EventNames::error, event_handler); +} + +// https://w3c.github.io/IndexedDB/#dom-idbrequest-onerror +WebIDL::CallbackType* IDBRequest::onerror() +{ + return event_handler_attribute(HTML::EventNames::error); +} + } diff --git a/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.h b/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.h index 858933c5fd..4c44991fc5 100644 --- a/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.h +++ b/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.h @@ -20,6 +20,8 @@ public: void set_onsuccess(WebIDL::CallbackType*); WebIDL::CallbackType* onsuccess(); + void set_onerror(WebIDL::CallbackType*); + WebIDL::CallbackType* onerror(); protected: explicit IDBRequest(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.idl b/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.idl index 934fb4ed62..808aa8867b 100644 --- a/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.idl +++ b/Userland/Libraries/LibWeb/IndexedDB/IDBRequest.idl @@ -11,7 +11,7 @@ interface IDBRequest : EventTarget { // Event handlers: attribute EventHandler onsuccess; - [FIXME] attribute EventHandler onerror; + attribute EventHandler onerror; }; enum IDBRequestReadyState {