aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/filereader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/filereader.rs')
-rw-r--r--components/script/dom/filereader.rs9
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)
},
})