diff options
author | marmeladema <xademax@gmail.com> | 2019-07-22 01:09:24 +0100 |
---|---|---|
committer | marmeladema <xademax@gmail.com> | 2019-07-24 08:24:50 +0100 |
commit | 2c5d0a6ebc39ad263e2bbe623e357a11b4cec5aa (patch) | |
tree | c1c93f26ab047bb010d1781511a750a302cc5636 /components/script/dom/filereadersync.rs | |
parent | 808fa65aef163879b82baddc4af0a5445f806c81 (diff) | |
download | servo-2c5d0a6ebc39ad263e2bbe623e357a11b4cec5aa.tar.gz servo-2c5d0a6ebc39ad263e2bbe623e357a11b4cec5aa.zip |
Convert CGTraitInterface to use safe JSContext instead of raw JSContext
Diffstat (limited to 'components/script/dom/filereadersync.rs')
-rw-r--r-- | components/script/dom/filereadersync.rs | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/components/script/dom/filereadersync.rs b/components/script/dom/filereadersync.rs index 82f479b0b80..1ed9c6c8007 100644 --- a/components/script/dom/filereadersync.rs +++ b/components/script/dom/filereadersync.rs @@ -13,8 +13,9 @@ use crate::dom::bindings::str::DOMString; use crate::dom::blob::Blob; use crate::dom::filereader::FileReaderSharedFunctionality; use crate::dom::globalscope::GlobalScope; +use crate::script_runtime::JSContext; use dom_struct::dom_struct; -use js::jsapi::{JSContext, JSObject}; +use js::jsapi::JSObject; use js::typedarray::{ArrayBuffer, CreateWith}; use std::ptr; use std::ptr::NonNull; @@ -87,23 +88,21 @@ impl FileReaderSyncMethods for FileReaderSync { #[allow(unsafe_code)] // https://w3c.github.io/FileAPI/#readAsArrayBufferSyncSection - unsafe fn ReadAsArrayBuffer( - &self, - cx: *mut JSContext, - blob: &Blob, - ) -> Fallible<NonNull<JSObject>> { + fn ReadAsArrayBuffer(&self, cx: JSContext, blob: &Blob) -> Fallible<NonNull<JSObject>> { // step 1 let blob_contents = FileReaderSync::get_blob_bytes(blob)?; // step 2 - rooted!(in(cx) let mut array_buffer = ptr::null_mut::<JSObject>()); - assert!(ArrayBuffer::create( - cx, - CreateWith::Slice(&blob_contents), - array_buffer.handle_mut() - ) - .is_ok()); - - Ok(NonNull::new_unchecked(array_buffer.get())) + unsafe { + rooted!(in(*cx) let mut array_buffer = ptr::null_mut::<JSObject>()); + assert!(ArrayBuffer::create( + *cx, + CreateWith::Slice(&blob_contents), + array_buffer.handle_mut() + ) + .is_ok()); + + Ok(NonNull::new_unchecked(array_buffer.get())) + } } } |