From 2ed7f64c73f931228102b4e259c8cb53f8b07283 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Wed, 15 Feb 2023 18:56:00 +0100 Subject: [PATCH] LibWeb: Make factory method of HTML::CloseEvent fallible --- Userland/Libraries/LibWeb/HTML/CloseEvent.cpp | 6 +++--- Userland/Libraries/LibWeb/HTML/CloseEvent.h | 4 ++-- Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp b/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp index 7bcf7361c5..a761e47847 100644 --- a/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp +++ b/Userland/Libraries/LibWeb/HTML/CloseEvent.cpp @@ -9,12 +9,12 @@ namespace Web::HTML { -CloseEvent* CloseEvent::create(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init) +WebIDL::ExceptionOr> CloseEvent::create(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init) { - return realm.heap().allocate(realm, realm, event_name, event_init).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, event_name, event_init)); } -CloseEvent* CloseEvent::construct_impl(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init) +WebIDL::ExceptionOr> CloseEvent::construct_impl(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init) { return create(realm, event_name, event_init); } diff --git a/Userland/Libraries/LibWeb/HTML/CloseEvent.h b/Userland/Libraries/LibWeb/HTML/CloseEvent.h index fb2886bc8b..d69334eecf 100644 --- a/Userland/Libraries/LibWeb/HTML/CloseEvent.h +++ b/Userland/Libraries/LibWeb/HTML/CloseEvent.h @@ -21,8 +21,8 @@ class CloseEvent : public DOM::Event { WEB_PLATFORM_OBJECT(CloseEvent, DOM::Event); public: - static CloseEvent* create(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init = {}); - static CloseEvent* construct_impl(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init); + static WebIDL::ExceptionOr> create(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init = {}); + static WebIDL::ExceptionOr> construct_impl(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init); virtual ~CloseEvent() override; diff --git a/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp b/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp index df3b82acfa..b0557d189d 100644 --- a/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp +++ b/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp @@ -222,7 +222,7 @@ void WebSocket::on_close(u16 code, DeprecatedString reason, bool was_clean) event_init.was_clean = was_clean; event_init.code = code; event_init.reason = move(reason); - dispatch_event(*HTML::CloseEvent::create(realm(), HTML::EventNames::close, event_init)); + dispatch_event(HTML::CloseEvent::create(realm(), HTML::EventNames::close, event_init).release_value_but_fixme_should_propagate_errors()); } // https://websockets.spec.whatwg.org/#feedback-from-the-protocol