mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:47: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:
parent
980e7164fe
commit
72c9f56c66
337 changed files with 1229 additions and 1251 deletions
|
@ -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 this’s 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 this’s query object’s URL object to this.
|
||||
result_url->m_query->m_url = result_url;
|
||||
|
|
|
@ -19,7 +19,7 @@ class URL : public Bindings::PlatformObject {
|
|||
WEB_PLATFORM_OBJECT(URL, Bindings::PlatformObject);
|
||||
|
||||
public:
|
||||
static WebIDL::ExceptionOr<JS::NonnullGCPtr<URL>> create(JS::Realm&, AK::URL url, JS::NonnullGCPtr<URLSearchParams> query);
|
||||
[[nodiscard]] static JS::NonnullGCPtr<URL> create(JS::Realm&, AK::URL, JS::NonnullGCPtr<URLSearchParams> query);
|
||||
static WebIDL::ExceptionOr<JS::NonnullGCPtr<URL>> construct_impl(JS::Realm&, String const& url, Optional<String> const& base = {});
|
||||
|
||||
virtual ~URL() override;
|
||||
|
|
|
@ -118,7 +118,7 @@ ErrorOr<Vector<QueryParam>> url_decode(StringView input)
|
|||
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<URLSearchParams>> URLSearchParams::create(JS::Realm& realm, Vector<QueryParam> list)
|
||||
{
|
||||
return MUST_OR_THROW_OOM(realm.heap().allocate<URLSearchParams>(realm, realm, move(list)));
|
||||
return realm.heap().allocate<URLSearchParams>(realm, realm, move(list));
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlsearchparams-urlsearchparams
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace Web::Bindings {
|
|||
template<>
|
||||
void Intrinsics::create_web_prototype_and_constructor<URLSearchParamsIteratorPrototype>(JS::Realm& realm)
|
||||
{
|
||||
auto prototype = heap().allocate<URLSearchParamsIteratorPrototype>(realm, realm).release_allocated_value_but_fixme_should_propagate_errors();
|
||||
auto prototype = heap().allocate<URLSearchParamsIteratorPrototype>(realm, realm);
|
||||
m_prototypes.set("URLSearchParamsIterator"sv, prototype);
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ namespace Web::URL {
|
|||
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<URLSearchParamsIterator>> URLSearchParamsIterator::create(URLSearchParams const& url_search_params, JS::Object::PropertyKind iteration_kind)
|
||||
{
|
||||
return MUST_OR_THROW_OOM(url_search_params.heap().allocate<URLSearchParamsIterator>(url_search_params.realm(), url_search_params, iteration_kind));
|
||||
return url_search_params.heap().allocate<URLSearchParamsIterator>(url_search_params.realm(), url_search_params, iteration_kind);
|
||||
}
|
||||
|
||||
URLSearchParamsIterator::URLSearchParamsIterator(URLSearchParams const& url_search_params, JS::Object::PropertyKind iteration_kind)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue