From f1098b4226bde9e574995a63eb3580be537d563d Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Sun, 25 Aug 2024 12:13:24 +0100 Subject: [PATCH] LibWeb: Implement ServiceWorkerContainer.onmessageerror --- .../Libraries/LibWeb/HTML/ServiceWorkerContainer.cpp | 12 ++++++++++++ .../Libraries/LibWeb/HTML/ServiceWorkerContainer.h | 2 ++ .../Libraries/LibWeb/HTML/ServiceWorkerContainer.idl | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.cpp b/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.cpp index 7f6fd502b19..7f0f0c622c2 100644 --- a/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.cpp +++ b/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.cpp @@ -43,4 +43,16 @@ void ServiceWorkerContainer::set_onmessage(WebIDL::CallbackType* event_handler) set_event_handler_attribute(HTML::EventNames::message, event_handler); } +// https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-onmessageerror +WebIDL::CallbackType* ServiceWorkerContainer::onmessageerror() +{ + return event_handler_attribute(HTML::EventNames::messageerror); +} + +// https://w3c.github.io/ServiceWorker/#dom-serviceworkercontainer-onmessageerror +void ServiceWorkerContainer::set_onmessageerror(WebIDL::CallbackType* event_handler) +{ + set_event_handler_attribute(HTML::EventNames::messageerror, event_handler); +} + } diff --git a/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.h b/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.h index 66a658cf53b..164de1fc53a 100644 --- a/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.h +++ b/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.h @@ -21,6 +21,8 @@ public: WebIDL::CallbackType* onmessage(); void set_onmessage(WebIDL::CallbackType*); + WebIDL::CallbackType* onmessageerror(); + void set_onmessageerror(WebIDL::CallbackType*); private: explicit ServiceWorkerContainer(JS::Realm&); diff --git a/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.idl b/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.idl index dad3b0f975a..ecf5163dd7b 100644 --- a/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.idl +++ b/Userland/Libraries/LibWeb/HTML/ServiceWorkerContainer.idl @@ -19,7 +19,7 @@ interface ServiceWorkerContainer : EventTarget { // events [FIXME] attribute EventHandler oncontrollerchange; attribute EventHandler onmessage; // event.source of message events is ServiceWorker object - [FIXME] attribute EventHandler onmessageerror; + attribute EventHandler onmessageerror; }; dictionary RegistrationOptions {