mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-27 14:58:46 +00:00
LibGC+Everywhere: Factor out a LibGC from LibJS
Resulting in a massive rename across almost everywhere! Alongside the namespace change, we now have the following names: * JS::NonnullGCPtr -> GC::Ref * JS::GCPtr -> GC::Ptr * JS::HeapFunction -> GC::Function * JS::CellImpl -> GC::Cell * JS::Handle -> GC::Root
This commit is contained in:
parent
ce23efc5f6
commit
f87041bf3a
Notes:
github-actions[bot]
2024-11-15 13:50:17 +00:00
Author: https://github.com/shannonbooth
Commit: f87041bf3a
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2345
1722 changed files with 9939 additions and 9906 deletions
|
@ -15,10 +15,10 @@
|
|||
|
||||
namespace Web::WebAudio {
|
||||
|
||||
JS_DEFINE_ALLOCATOR(AudioContext);
|
||||
GC_DEFINE_ALLOCATOR(AudioContext);
|
||||
|
||||
// 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)
|
||||
WebIDL::ExceptionOr<GC::Ref<AudioContext>> AudioContext::construct_impl(JS::Realm& realm, AudioContextOptions const& context_options)
|
||||
{
|
||||
return realm.create<AudioContext>(realm, context_options);
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ AudioContext::AudioContext(JS::Realm& realm, AudioContextOptions const& context_
|
|||
BaseAudioContext::set_rendering_state(Bindings::AudioContextState::Running);
|
||||
|
||||
// 5.3: queue a media element task to execute the following steps:
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, this]() {
|
||||
// 5.3.1: Set the state attribute of the AudioContext to "running".
|
||||
BaseAudioContext::set_control_state(Bindings::AudioContextState::Running);
|
||||
|
||||
|
@ -104,7 +104,7 @@ AudioTimestamp AudioContext::get_output_timestamp()
|
|||
}
|
||||
|
||||
// https://www.w3.org/TR/webaudio/#dom-audiocontext-resume
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::resume()
|
||||
WebIDL::ExceptionOr<GC::Ref<WebIDL::Promise>> AudioContext::resume()
|
||||
{
|
||||
auto& realm = this->realm();
|
||||
|
||||
|
@ -145,7 +145,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::resume()
|
|||
// 7.3: Start rendering the audio graph.
|
||||
if (!start_rendering_audio_graph()) {
|
||||
// 7.4: In case of failure, queue a media element task to execute the following steps:
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, this]() {
|
||||
HTML::TemporaryExecutionContext context(realm, HTML::TemporaryExecutionContext::CallbacksEnabled::Yes);
|
||||
|
||||
// 7.4.1: Reject all promises from [[pending resume promises]] in order, then clear [[pending resume promises]].
|
||||
|
@ -162,7 +162,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::resume()
|
|||
}
|
||||
|
||||
// 7.5: queue a media element task to execute the following steps:
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, promise, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, promise, this]() {
|
||||
HTML::TemporaryExecutionContext context(realm, HTML::TemporaryExecutionContext::CallbacksEnabled::Yes);
|
||||
|
||||
// 7.5.1: Resolve all promises from [[pending resume promises]] in order.
|
||||
|
@ -185,7 +185,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::resume()
|
|||
set_control_state(Bindings::AudioContextState::Running);
|
||||
|
||||
// 7.5.4.2: queue a media element task to fire an event named statechange at the AudioContext.
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, this]() {
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange));
|
||||
}));
|
||||
}
|
||||
|
@ -196,7 +196,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::resume()
|
|||
}
|
||||
|
||||
// https://www.w3.org/TR/webaudio/#dom-audiocontext-suspend
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::suspend()
|
||||
WebIDL::ExceptionOr<GC::Ref<WebIDL::Promise>> AudioContext::suspend()
|
||||
{
|
||||
auto& realm = this->realm();
|
||||
|
||||
|
@ -232,7 +232,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::suspend()
|
|||
set_rendering_state(Bindings::AudioContextState::Suspended);
|
||||
|
||||
// 7.3: queue a media element task to execute the following steps:
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, promise, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, promise, this]() {
|
||||
HTML::TemporaryExecutionContext context(realm, HTML::TemporaryExecutionContext::CallbacksEnabled::Yes);
|
||||
|
||||
// 7.3.1: Resolve promise.
|
||||
|
@ -244,7 +244,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::suspend()
|
|||
set_control_state(Bindings::AudioContextState::Suspended);
|
||||
|
||||
// 7.3.2.2: queue a media element task to fire an event named statechange at the AudioContext.
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, this]() {
|
||||
this->dispatch_event(DOM::Event::create(realm, HTML::EventNames::statechange));
|
||||
}));
|
||||
}
|
||||
|
@ -255,7 +255,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::suspend()
|
|||
}
|
||||
|
||||
// https://www.w3.org/TR/webaudio/#dom-audiocontext-close
|
||||
WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::close()
|
||||
WebIDL::ExceptionOr<GC::Ref<WebIDL::Promise>> AudioContext::close()
|
||||
{
|
||||
auto& realm = this->realm();
|
||||
|
||||
|
@ -287,7 +287,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> AudioContext::close()
|
|||
// FIXME: 5.3: If this control message is being run in a reaction to the document being unloaded, abort this algorithm.
|
||||
|
||||
// 5.4: queue a media element task to execute the following steps:
|
||||
queue_a_media_element_task(JS::create_heap_function(heap(), [&realm, promise, this]() {
|
||||
queue_a_media_element_task(GC::create_function(heap(), [&realm, promise, this]() {
|
||||
HTML::TemporaryExecutionContext context(realm, HTML::TemporaryExecutionContext::CallbacksEnabled::Yes);
|
||||
|
||||
// 5.4.1: Resolve promise.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue