From ef7d593463e9a2108740c3d40d0ff65b9af8110c Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Sat, 22 Jun 2024 11:34:09 +0100 Subject: [PATCH] LibWeb: Implement IDBRequest.onerror (cherry picked from commit 68d84755f4b745351d3d494759d59ba6719b8ad8) --- Userland/Libraries/LibWeb/IndexedDB/IDBRequest.cpp | 12 ++++++++++++ Userland/Libraries/LibWeb/IndexedDB/IDBRequest.h | 2 ++ Userland/Libraries/LibWeb/IndexedDB/IDBRequest.idl | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) 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 {