1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:27:35 +00:00

LibJS: Make Heap::allocate<T>() infallible

Stop worrying about tiny OOMs. Work towards #20449.

While going through these, I also changed the function signature in many
places where returning ThrowCompletionOr<T> is no longer necessary.
This commit is contained in:
Andreas Kling 2023-08-13 13:05:26 +02:00
parent 980e7164fe
commit 72c9f56c66
337 changed files with 1229 additions and 1251 deletions

View file

@ -16,9 +16,9 @@
namespace Web::URL {
WebIDL::ExceptionOr<JS::NonnullGCPtr<URL>> URL::create(JS::Realm& realm, AK::URL url, JS::NonnullGCPtr<URLSearchParams> query)
JS::NonnullGCPtr<URL> URL::create(JS::Realm& realm, AK::URL url, JS::NonnullGCPtr<URLSearchParams> query)
{
return MUST_OR_THROW_OOM(realm.heap().allocate<URL>(realm, realm, move(url), move(query)));
return realm.heap().allocate<URL>(realm, realm, move(url), move(query));
}
// https://url.spec.whatwg.org/#api-url-parser
@ -67,7 +67,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<URL>> URL::construct_impl(JS::Realm& realm,
auto query_object = MUST(URLSearchParams::construct_impl(realm, query));
// 6. Initialize thiss query object with query.
auto result_url = TRY(URL::create(realm, parsed_url.release_value(), move(query_object)));
auto result_url = URL::create(realm, parsed_url.release_value(), move(query_object));
// 7. Set thiss query objects URL object to this.
result_url->m_query->m_url = result_url;