aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-08-28 21:50:23 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2016-08-30 19:06:41 +0200
commit3e32948a39ced28c12f38ce115abcb56e67e72d9 (patch)
tree1225a25c2008232785132e08e160f8edd13f25c3 /components/script
parent897a81e95bb0cfd165d1bd2b417dc967dc5199c8 (diff)
downloadservo-3e32948a39ced28c12f38ce115abcb56e67e72d9.tar.gz
servo-3e32948a39ced28c12f38ce115abcb56e67e72d9.zip
Root js_object in TextEncoder::Encode
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/textencoder.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/components/script/dom/textencoder.rs b/components/script/dom/textencoder.rs
index 84100e723ba..69ce6048ae3 100644
--- a/components/script/dom/textencoder.rs
+++ b/components/script/dom/textencoder.rs
@@ -74,12 +74,13 @@ impl TextEncoderMethods for TextEncoder {
unsafe {
let encoded = self.encoder.encode(&input.0, EncoderTrap::Strict).unwrap();
let length = encoded.len() as u32;
- let js_object: *mut JSObject = JS_NewUint8Array(cx, length);
+ rooted!(in(cx) let js_object = JS_NewUint8Array(cx, length));
+ assert!(!js_object.is_null());
let mut is_shared = false;
- let js_object_data: *mut uint8_t = JS_GetUint8ArrayData(js_object, &mut is_shared, ptr::null());
+ let js_object_data: *mut uint8_t = JS_GetUint8ArrayData(js_object.get(), &mut is_shared, ptr::null());
assert!(!is_shared);
ptr::copy_nonoverlapping(encoded.as_ptr(), js_object_data, length as usize);
- js_object
+ js_object.get()
}
}
}