diff --git a/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp b/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp index fa20d546da..d327fd4a8a 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp @@ -17,10 +17,10 @@ namespace Web::DOM { -JS::NonnullGCPtr DOMImplementation::create(Document& document) +WebIDL::ExceptionOr> DOMImplementation::create(Document& document) { auto& realm = document.realm(); - return realm.heap().allocate(realm, document).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, document)); } DOMImplementation::DOMImplementation(Document& document) diff --git a/Userland/Libraries/LibWeb/DOM/DOMImplementation.h b/Userland/Libraries/LibWeb/DOM/DOMImplementation.h index e785fe373c..a74808f37b 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMImplementation.h +++ b/Userland/Libraries/LibWeb/DOM/DOMImplementation.h @@ -17,7 +17,7 @@ class DOMImplementation final : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(DOMImplementation, Bindings::PlatformObject); public: - static JS::NonnullGCPtr create(Document&); + static WebIDL::ExceptionOr> create(Document&); virtual ~DOMImplementation(); WebIDL::ExceptionOr> create_document(DeprecatedString const&, DeprecatedString const&, JS::GCPtr) const; diff --git a/Userland/Libraries/LibWeb/DOM/Document.cpp b/Userland/Libraries/LibWeb/DOM/Document.cpp index 0a76876b07..324778e6a0 100644 --- a/Userland/Libraries/LibWeb/DOM/Document.cpp +++ b/Userland/Libraries/LibWeb/DOM/Document.cpp @@ -1824,7 +1824,7 @@ void Document::evaluate_media_rules() DOMImplementation* Document::implementation() { if (!m_implementation) - m_implementation = DOMImplementation::create(*this); + m_implementation = DOMImplementation::create(*this).release_value_but_fixme_should_propagate_errors(); return m_implementation; }