aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/filereader.rs
diff options
context:
space:
mode:
authorKagami Sascha Rosylight <saschanaz@outlook.com>2019-07-25 10:09:33 +0900
committerGitHub <noreply@github.com>2019-07-25 10:09:33 +0900
commitcaf7a2488eda6218ccf8dc8d81f090531b4c77e8 (patch)
tree2712b566869664297ab33495612bfbbea52365dd /components/script/dom/filereader.rs
parent16b4e3446bc466c87327fac3402736d3636a5f73 (diff)
parent82f649751c045730419f9d1704305717c4f346ec (diff)
downloadservo-caf7a2488eda6218ccf8dc8d81f090531b4c77e8.tar.gz
servo-caf7a2488eda6218ccf8dc8d81f090531b4c77e8.zip
Merge branch 'master' into tojson
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)
},
})