diff options
Diffstat (limited to 'components/script/dom/offlineaudiocontext.rs')
-rw-r--r-- | components/script/dom/offlineaudiocontext.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/offlineaudiocontext.rs b/components/script/dom/offlineaudiocontext.rs index 2fba02bc88a..c526ae9a890 100644 --- a/components/script/dom/offlineaudiocontext.rs +++ b/components/script/dom/offlineaudiocontext.rs @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +use crate::compartments::{AlreadyInCompartment, InCompartment}; use crate::dom::audiobuffer::{AudioBuffer, MAX_SAMPLE_RATE, MIN_SAMPLE_RATE}; use crate::dom::audionode::MAX_CHANNEL_COUNT; use crate::dom::baseaudiocontext::{BaseAudioContext, BaseAudioContextOptions}; @@ -113,9 +114,12 @@ impl OfflineAudioContextMethods for OfflineAudioContext { } // https://webaudio.github.io/web-audio-api/#dom-offlineaudiocontext-startrendering - #[allow(unsafe_code)] fn StartRendering(&self) -> Rc<Promise> { - let promise = unsafe { Promise::new_in_current_compartment(&self.global()) }; + let in_compartment_proof = AlreadyInCompartment::assert(&self.global()); + let promise = Promise::new_in_current_compartment( + &self.global(), + &InCompartment::Already(&in_compartment_proof), + ); if self.rendering_started.get() { promise.reject_error(Error::InvalidState); return promise; |