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

@ -13,17 +13,17 @@ namespace Web::HTML {
WebIDL::ExceptionOr<JS::NonnullGCPtr<MessageChannel>> MessageChannel::construct_impl(JS::Realm& realm)
{
return MUST_OR_THROW_OOM(realm.heap().allocate<MessageChannel>(realm, realm));
return realm.heap().allocate<MessageChannel>(realm, realm);
}
MessageChannel::MessageChannel(JS::Realm& realm)
: PlatformObject(realm)
{
// 1. Set this's port 1 to a new MessagePort in this's relevant Realm.
m_port1 = MessagePort::create(realm).release_value_but_fixme_should_propagate_errors();
m_port1 = MessagePort::create(realm);
// 2. Set this's port 2 to a new MessagePort in this's relevant Realm.
m_port2 = MessagePort::create(realm).release_value_but_fixme_should_propagate_errors();
m_port2 = MessagePort::create(realm);
// 3. Entangle this's port 1 and this's port 2.
m_port1->entangle_with(*m_port2);