diff --git a/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp b/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp
index 1371d63877..55eb3f5fa5 100644
--- a/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp
+++ b/Userland/Libraries/LibWeb/HTML/MessageChannel.cpp
@@ -11,9 +11,9 @@
namespace Web::HTML {
-JS::NonnullGCPtr MessageChannel::construct_impl(JS::Realm& realm)
+WebIDL::ExceptionOr> MessageChannel::construct_impl(JS::Realm& realm)
{
- return realm.heap().allocate(realm, realm).release_allocated_value_but_fixme_should_propagate_errors();
+ return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm));
}
MessageChannel::MessageChannel(JS::Realm& realm)
diff --git a/Userland/Libraries/LibWeb/HTML/MessageChannel.h b/Userland/Libraries/LibWeb/HTML/MessageChannel.h
index ac472971cb..61b5ea47c3 100644
--- a/Userland/Libraries/LibWeb/HTML/MessageChannel.h
+++ b/Userland/Libraries/LibWeb/HTML/MessageChannel.h
@@ -16,7 +16,7 @@ class MessageChannel final : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(MessageChannel, Bindings::PlatformObject);
public:
- static JS::NonnullGCPtr construct_impl(JS::Realm&);
+ static WebIDL::ExceptionOr> construct_impl(JS::Realm&);
virtual ~MessageChannel() override;
MessagePort* port1();