mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:07:46 +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
|
@ -15,7 +15,7 @@ namespace Web::WebAudio {
|
|||
// https://webaudio.github.io/web-audio-api/#dom-audiocontext-audiocontext
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<AudioContext>> AudioContext::construct_impl(JS::Realm& realm, AudioContextOptions const& context_options)
|
||||
{
|
||||
return MUST_OR_THROW_OOM(realm.heap().allocate<AudioContext>(realm, realm, context_options));
|
||||
return realm.heap().allocate<AudioContext>(realm, realm, context_options);
|
||||
}
|
||||
|
||||
AudioContext::AudioContext(JS::Realm& realm, AudioContextOptions const& context_options)
|
||||
|
@ -72,7 +72,7 @@ AudioContext::AudioContext(JS::Realm& realm, AudioContextOptions const& context_
|
|||
BaseAudioContext::set_control_state(Bindings::AudioContextState::Running);
|
||||
|
||||
// 5.3.2: queue a media element task to fire an event named statechange at the AudioContext.
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange).release_value_but_fixme_should_propagate_errors());
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -174,7 +174,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<JS::Promise>> AudioContext::resume()
|
|||
|
||||
// 7.5.4.2: queue a media element task to fire an event named statechange at the AudioContext.
|
||||
queue_a_media_element_task([&realm, this]() {
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange).release_value_but_fixme_should_propagate_errors());
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -229,7 +229,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<JS::Promise>> AudioContext::suspend()
|
|||
|
||||
// 7.3.2.2: queue a media element task to fire an event named statechange at the AudioContext.
|
||||
queue_a_media_element_task([&realm, this]() {
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange).release_value_but_fixme_should_propagate_errors());
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -280,7 +280,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<JS::Promise>> AudioContext::close()
|
|||
|
||||
// 5.4.2.2: queue a media element task to fire an event named statechange at the AudioContext.
|
||||
// FIXME: Attempting to queue another task in here causes an assertion fail at Vector.h:148
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange).release_value_but_fixme_should_propagate_errors());
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange));
|
||||
});
|
||||
|
||||
// 6. Return promise
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue