diff --git a/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp b/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp index 062dd4df20..7ce6603371 100644 --- a/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp +++ b/Userland/Libraries/LibWeb/DOM/LiveNodeList.cpp @@ -10,9 +10,9 @@ namespace Web::DOM { -JS::NonnullGCPtr LiveNodeList::create(JS::Realm& realm, Node& root, Function filter) +WebIDL::ExceptionOr> LiveNodeList::create(JS::Realm& realm, Node& root, Function filter) { - return realm.heap().allocate(realm, realm, root, move(filter)).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, root, move(filter))); } LiveNodeList::LiveNodeList(JS::Realm& realm, Node& root, Function filter) diff --git a/Userland/Libraries/LibWeb/DOM/LiveNodeList.h b/Userland/Libraries/LibWeb/DOM/LiveNodeList.h index 7aa602059f..b5d242e0b1 100644 --- a/Userland/Libraries/LibWeb/DOM/LiveNodeList.h +++ b/Userland/Libraries/LibWeb/DOM/LiveNodeList.h @@ -18,7 +18,7 @@ class LiveNodeList final : public NodeList { WEB_PLATFORM_OBJECT(LiveNodeList, NodeList); public: - static JS::NonnullGCPtr create(JS::Realm&, Node& root, Function filter); + static WebIDL::ExceptionOr> create(JS::Realm&, Node& root, Function filter); virtual ~LiveNodeList() override; virtual u32 length() const override; diff --git a/Userland/Libraries/LibWeb/DOM/Node.cpp b/Userland/Libraries/LibWeb/DOM/Node.cpp index 4ca8818b88..9d1b2342da 100644 --- a/Userland/Libraries/LibWeb/DOM/Node.cpp +++ b/Userland/Libraries/LibWeb/DOM/Node.cpp @@ -890,7 +890,7 @@ JS::NonnullGCPtr Node::child_nodes() if (!m_child_nodes) { m_child_nodes = LiveNodeList::create(realm(), *this, [this](auto& node) { return is_parent_of(node); - }); + }).release_value_but_fixme_should_propagate_errors(); } return *m_child_nodes; }