diff options
Diffstat (limited to 'components/script/dom/filereader.rs')
-rw-r--r-- | components/script/dom/filereader.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/components/script/dom/filereader.rs b/components/script/dom/filereader.rs index 31a87c712d6..fdba0e0aa75 100644 --- a/components/script/dom/filereader.rs +++ b/components/script/dom/filereader.rs @@ -22,6 +22,7 @@ use crate::dom::event::{Event, EventBubbles, EventCancelable}; use crate::dom::eventtarget::EventTarget; use crate::dom::globalscope::GlobalScope; use crate::dom::progressevent::ProgressEvent; +use crate::script_runtime::JSContext as SafeJSContext; use crate::task::TaskCanceller; use crate::task_source::file_reading::{FileReadingTask, FileReadingTaskSource}; use crate::task_source::{TaskSource, TaskSourceName}; @@ -265,7 +266,7 @@ impl FileReader { let _ac = enter_realm(&*fr); FileReader::perform_readasarraybuffer( &fr.result, - fr.global().get_cx(), + *fr.global().get_cx(), data, &blob_contents, ) @@ -391,12 +392,14 @@ impl FileReaderMethods for FileReader { #[allow(unsafe_code)] // https://w3c.github.io/FileAPI/#dfn-result - unsafe fn GetResult(&self, _: *mut JSContext) -> Option<StringOrObject> { + fn GetResult(&self, _: SafeJSContext) -> Option<StringOrObject> { self.result.borrow().as_ref().map(|r| match *r { FileReaderResult::String(ref string) => StringOrObject::String(string.clone()), FileReaderResult::ArrayBuffer(ref arr_buffer) => { let result = RootedTraceableBox::new(Heap::default()); - result.set((*arr_buffer.ptr.get()).to_object()); + unsafe { + result.set((*arr_buffer.ptr.get()).to_object()); + } StringOrObject::Object(result) }, }) |