From c4d559bd372bfe3898c5f39b78bbad3480b441e2 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Tue, 14 Feb 2023 20:47:43 +0100 Subject: [PATCH] LibWeb: Make factory method of DOM::DocumentType fallible --- Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp | 2 +- Userland/Libraries/LibWeb/DOM/DocumentType.cpp | 4 ++-- Userland/Libraries/LibWeb/DOM/DocumentType.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp b/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp index afd63a80ff..fa20d546da 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMImplementation.cpp @@ -114,7 +114,7 @@ JS::NonnullGCPtr DOMImplementation::create_html_document(DeprecatedStr WebIDL::ExceptionOr> DOMImplementation::create_document_type(DeprecatedString const& qualified_name, DeprecatedString const& public_id, DeprecatedString const& system_id) { TRY(Document::validate_qualified_name(realm(), qualified_name)); - auto document_type = DocumentType::create(document()); + auto document_type = TRY(DocumentType::create(document())); document_type->set_name(qualified_name); document_type->set_public_id(public_id); document_type->set_system_id(system_id); diff --git a/Userland/Libraries/LibWeb/DOM/DocumentType.cpp b/Userland/Libraries/LibWeb/DOM/DocumentType.cpp index e84a647b4d..b707deba03 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentType.cpp +++ b/Userland/Libraries/LibWeb/DOM/DocumentType.cpp @@ -9,9 +9,9 @@ namespace Web::DOM { -JS::NonnullGCPtr DocumentType::create(Document& document) +WebIDL::ExceptionOr> DocumentType::create(Document& document) { - return document.heap().allocate(document.realm(), document).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(document.heap().allocate(document.realm(), document)); } DocumentType::DocumentType(Document& document) diff --git a/Userland/Libraries/LibWeb/DOM/DocumentType.h b/Userland/Libraries/LibWeb/DOM/DocumentType.h index fb2e511926..6808c42d3f 100644 --- a/Userland/Libraries/LibWeb/DOM/DocumentType.h +++ b/Userland/Libraries/LibWeb/DOM/DocumentType.h @@ -18,7 +18,7 @@ class DocumentType final WEB_PLATFORM_OBJECT(DocumentType, Node); public: - static JS::NonnullGCPtr create(Document&); + static WebIDL::ExceptionOr> create(Document&); virtual ~DocumentType() override = default;