diff --git a/Userland/Libraries/LibWeb/Fetch/Request.cpp b/Userland/Libraries/LibWeb/Fetch/Request.cpp index 93d6e1fc17..a746461137 100644 --- a/Userland/Libraries/LibWeb/Fetch/Request.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Request.cpp @@ -81,18 +81,18 @@ Optional Request::body_impl() } // https://fetch.spec.whatwg.org/#request-create -JS::NonnullGCPtr Request::create(JS::Realm& realm, JS::NonnullGCPtr request, Headers::Guard guard) +WebIDL::ExceptionOr> Request::create(JS::Realm& realm, JS::NonnullGCPtr request, Headers::Guard guard) { // 1. Let requestObject be a new Request object with realm. // 2. Set requestObject’s request to request. - auto request_object = realm.heap().allocate(realm, realm, request).release_allocated_value_but_fixme_should_propagate_errors(); + auto request_object = MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, request)); // 3. Set requestObject’s headers to a new Headers object with realm, whose headers list is request’s headers list and guard is guard. - request_object->m_headers = realm.heap().allocate(realm, realm, request->header_list()).release_allocated_value_but_fixme_should_propagate_errors(); + request_object->m_headers = MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, request->header_list())); request_object->m_headers->set_guard(guard); // 4. Set requestObject’s signal to a new AbortSignal object with realm. - request_object->m_signal = realm.heap().allocate(realm, realm).release_allocated_value_but_fixme_should_propagate_errors(); + request_object->m_signal = MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm)); // 5. Return requestObject. return request_object; @@ -639,7 +639,7 @@ WebIDL::ExceptionOr> Request::clone() const auto cloned_request = TRY(m_request->clone(vm)); // 3. Let clonedRequestObject be the result of creating a Request object, given clonedRequest, this’s headers’s guard, and this’s relevant Realm. - auto cloned_request_object = Request::create(HTML::relevant_realm(*this), cloned_request, m_headers->guard()); + auto cloned_request_object = TRY(Request::create(HTML::relevant_realm(*this), cloned_request, m_headers->guard())); // 4. Make clonedRequestObject’s signal follow this’s signal. cloned_request_object->m_signal->follow(*m_signal); diff --git a/Userland/Libraries/LibWeb/Fetch/Request.h b/Userland/Libraries/LibWeb/Fetch/Request.h index 41780a2421..55c49611a4 100644 --- a/Userland/Libraries/LibWeb/Fetch/Request.h +++ b/Userland/Libraries/LibWeb/Fetch/Request.h @@ -65,7 +65,7 @@ class Request final WEB_PLATFORM_OBJECT(Request, Bindings::PlatformObject); public: - [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::NonnullGCPtr, Headers::Guard); + [[nodiscard]] static WebIDL::ExceptionOr> create(JS::Realm&, JS::NonnullGCPtr, Headers::Guard); static WebIDL::ExceptionOr> construct_impl(JS::Realm&, RequestInfo const& input, RequestInit const& init = {}); virtual ~Request() override;