diff options
author | Yerkebulan Tulibergenov <yerkebulan@gmail.com> | 2025-02-23 04:12:21 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-23 12:12:21 +0000 |
commit | 0383ba9a5b940de76823462ebc1b95298ea50903 (patch) | |
tree | 23c9539a19729c7ec065dbe6cfb9bb2843a2721c /components/script/dom/offlineaudiocontext.rs | |
parent | adb831eefea3b98369dab56fa1ef4f668900974c (diff) | |
download | servo-0383ba9a5b940de76823462ebc1b95298ea50903.tar.gz servo-0383ba9a5b940de76823462ebc1b95298ea50903.zip |
refactor: add CanGc as argument to Promise::resolve (#35616)
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
Diffstat (limited to 'components/script/dom/offlineaudiocontext.rs')
-rw-r--r-- | components/script/dom/offlineaudiocontext.rs | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/components/script/dom/offlineaudiocontext.rs b/components/script/dom/offlineaudiocontext.rs index cedebe36e75..c31f817fcb8 100644 --- a/components/script/dom/offlineaudiocontext.rs +++ b/components/script/dom/offlineaudiocontext.rs @@ -179,36 +179,37 @@ impl OfflineAudioContextMethods<crate::DomTypeHolder> for OfflineAudioContext { .name("OfflineACResolver".to_owned()) .spawn(move || { let _ = receiver.recv(); - task_source.queue( - task!(resolve: move || { - let this = this.root(); - let processed_audio = processed_audio.lock().unwrap(); - let mut processed_audio: Vec<_> = processed_audio - .chunks(this.length as usize) - .map(|channel| channel.to_vec()) - .collect(); - // it can end up being empty if the task failed - if processed_audio.len() != this.length as usize { - processed_audio.resize(this.length as usize, Vec::new()) - } - let buffer = AudioBuffer::new( - this.global().as_window(), - this.channel_count, - this.length, - *this.context.SampleRate(), - Some(processed_audio.as_slice()), - CanGc::note()); - (*this.pending_rendering_promise.borrow_mut()).take().unwrap().resolve_native(&buffer); - let global = &this.global(); - let window = global.as_window(); - let event = OfflineAudioCompletionEvent::new(window, - atom!("complete"), - EventBubbles::DoesNotBubble, - EventCancelable::NotCancelable, - &buffer, CanGc::note()); - event.upcast::<Event>().fire(this.upcast(), CanGc::note()); - }) - ); + task_source.queue(task!(resolve: move || { + let this = this.root(); + let processed_audio = processed_audio.lock().unwrap(); + let mut processed_audio: Vec<_> = processed_audio + .chunks(this.length as usize) + .map(|channel| channel.to_vec()) + .collect(); + // it can end up being empty if the task failed + if processed_audio.len() != this.length as usize { + processed_audio.resize(this.length as usize, Vec::new()) + } + let buffer = AudioBuffer::new( + this.global().as_window(), + this.channel_count, + this.length, + *this.context.SampleRate(), + Some(processed_audio.as_slice()), + CanGc::note()); + (*this.pending_rendering_promise.borrow_mut()) + .take() + .unwrap() + .resolve_native(&buffer, CanGc::note()); + let global = &this.global(); + let window = global.as_window(); + let event = OfflineAudioCompletionEvent::new(window, + atom!("complete"), + EventBubbles::DoesNotBubble, + EventCancelable::NotCancelable, + &buffer, CanGc::note()); + event.upcast::<Event>().fire(this.upcast(), CanGc::note()); + })); }) .unwrap(); |