From e5eaab35234b45609b2eca2f33b07bede7627edc Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 19 Jan 2017 13:46:43 -0500 Subject: Use Heap in DOM object reflector implementation to ensure GC barriers are used. --- components/script/dom/promise.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'components/script/dom/promise.rs') diff --git a/components/script/dom/promise.rs b/components/script/dom/promise.rs index 89bbd088f2c..a727e5049f5 100644 --- a/components/script/dom/promise.rs +++ b/components/script/dom/promise.rs @@ -90,12 +90,12 @@ impl Promise { #[allow(unsafe_code, unrooted_must_root)] unsafe fn new_with_js_promise(obj: HandleObject, cx: *mut JSContext) -> Rc { assert!(IsPromiseObject(obj)); - let mut promise = Promise { + let promise = Promise { reflector: Reflector::new(), permanent_js_root: MutHeapJSVal::new(), }; - promise.init_reflector(obj.get()); - let promise = Rc::new(promise); + let mut promise = Rc::new(promise); + Rc::get_mut(&mut promise).unwrap().init_reflector(obj.get()); promise.initialize(cx); promise } -- cgit v1.2.3