1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 20:58:11 +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

@ -49,7 +49,7 @@ EventTarget::~EventTarget() = default;
WebIDL::ExceptionOr<JS::NonnullGCPtr<EventTarget>> EventTarget::construct_impl(JS::Realm& realm)
{
// The new EventTarget() constructor steps are to do nothing.
return MUST_OR_THROW_OOM(realm.heap().allocate<EventTarget>(realm, realm));
return realm.heap().allocate<EventTarget>(realm, realm);
}
void EventTarget::initialize(JS::Realm& realm)
@ -581,7 +581,7 @@ void EventTarget::activate_event_handler(FlyString const& name, HTML::EventHandl
// 5. Let listener be a new event listener whose type is the event handler event type corresponding to eventHandler and callback is callback.
auto listener = realm.heap().allocate_without_realm<DOMEventListener>();
listener->type = name;
listener->callback = IDLEventListener::create(realm, *callback).release_value_but_fixme_should_propagate_errors();
listener->callback = IDLEventListener::create(realm, *callback);
// 6. Add an event listener with eventTarget and listener.
add_an_event_listener(*listener);