aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/audiobuffer.rs
diff options
context:
space:
mode:
authormarmeladema <xademax@gmail.com>2019-07-22 01:09:24 +0100
committermarmeladema <xademax@gmail.com>2019-07-24 08:24:50 +0100
commit2c5d0a6ebc39ad263e2bbe623e357a11b4cec5aa (patch)
treec1c93f26ab047bb010d1781511a750a302cc5636 /components/script/dom/audiobuffer.rs
parent808fa65aef163879b82baddc4af0a5445f806c81 (diff)
downloadservo-2c5d0a6ebc39ad263e2bbe623e357a11b4cec5aa.tar.gz
servo-2c5d0a6ebc39ad263e2bbe623e357a11b4cec5aa.zip
Convert CGTraitInterface to use safe JSContext instead of raw JSContext
Diffstat (limited to 'components/script/dom/audiobuffer.rs')
-rw-r--r--components/script/dom/audiobuffer.rs21
1 files changed, 10 insertions, 11 deletions
diff --git a/components/script/dom/audiobuffer.rs b/components/script/dom/audiobuffer.rs
index b3f18f319ad..a5b8dfbc8c8 100644
--- a/components/script/dom/audiobuffer.rs
+++ b/components/script/dom/audiobuffer.rs
@@ -13,6 +13,7 @@ use crate::dom::bindings::num::Finite;
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
use crate::dom::bindings::root::DomRoot;
use crate::dom::window::Window;
+use crate::script_runtime::JSContext as SafeJSContext;
use dom_struct::dom_struct;
use js::jsapi::JS_GetArrayBufferViewBuffer;
use js::jsapi::{Heap, JSContext, JSObject};
@@ -230,22 +231,20 @@ impl AudioBufferMethods for AudioBuffer {
// https://webaudio.github.io/web-audio-api/#dom-audiobuffer-getchanneldata
#[allow(unsafe_code)]
- unsafe fn GetChannelData(
- &self,
- cx: *mut JSContext,
- channel: u32,
- ) -> Fallible<NonNull<JSObject>> {
+ fn GetChannelData(&self, cx: SafeJSContext, channel: u32) -> Fallible<NonNull<JSObject>> {
if channel >= self.number_of_channels {
return Err(Error::IndexSize);
}
- if !self.restore_js_channel_data(cx) {
- return Err(Error::JSFailed);
- }
+ unsafe {
+ if !self.restore_js_channel_data(*cx) {
+ return Err(Error::JSFailed);
+ }
- Ok(NonNull::new_unchecked(
- self.js_channels.borrow()[channel as usize].get(),
- ))
+ Ok(NonNull::new_unchecked(
+ self.js_channels.borrow()[channel as usize].get(),
+ ))
+ }
}
// https://webaudio.github.io/web-audio-api/#dom-audiobuffer-copyfromchannel