diff --git a/Userland/Libraries/LibWeb/URL/URL.cpp b/Userland/Libraries/LibWeb/URL/URL.cpp index ecdd6a9e67..334d9698ea 100644 --- a/Userland/Libraries/LibWeb/URL/URL.cpp +++ b/Userland/Libraries/LibWeb/URL/URL.cpp @@ -13,9 +13,9 @@ namespace Web::URL { -JS::NonnullGCPtr URL::create(JS::Realm& realm, AK::URL url, JS::NonnullGCPtr query) +WebIDL::ExceptionOr> URL::create(JS::Realm& realm, AK::URL url, JS::NonnullGCPtr query) { - return realm.heap().allocate(realm, realm, move(url), move(query)).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, move(url), move(query))); } WebIDL::ExceptionOr> URL::construct_impl(JS::Realm& realm, DeprecatedString const& url, DeprecatedString const& base) @@ -45,7 +45,7 @@ WebIDL::ExceptionOr> URL::construct_impl(JS::Realm& realm, // 7. Set this’s query object to a new URLSearchParams object. auto query_object = MUST(URLSearchParams::construct_impl(realm, query)); // 8. Initialize this’s query object with query. - auto result_url = URL::create(realm, move(parsed_url), move(query_object)); + auto result_url = TRY(URL::create(realm, move(parsed_url), move(query_object))); // 9. Set this’s query object’s URL object to this. result_url->m_query->m_url = result_url; diff --git a/Userland/Libraries/LibWeb/URL/URL.h b/Userland/Libraries/LibWeb/URL/URL.h index 389241b24b..4ed9d98df2 100644 --- a/Userland/Libraries/LibWeb/URL/URL.h +++ b/Userland/Libraries/LibWeb/URL/URL.h @@ -19,7 +19,7 @@ class URL : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(URL, Bindings::PlatformObject); public: - static JS::NonnullGCPtr create(JS::Realm&, AK::URL url, JS::NonnullGCPtr query); + static WebIDL::ExceptionOr> create(JS::Realm&, AK::URL url, JS::NonnullGCPtr query); static WebIDL::ExceptionOr> construct_impl(JS::Realm&, DeprecatedString const& url, DeprecatedString const& base); virtual ~URL() override;