Make Reflector #[must_root], propagate to non-HTMLElements

This commit is contained in:
Manish Goregaokar 2014-09-17 00:51:20 +05:30
parent f0b8391762
commit 30014c3919
40 changed files with 53 additions and 12 deletions

View file

@ -83,6 +83,7 @@ pub fn trace_jsval(tracer: *mut JSTracer, description: &str, val: JSVal) {
}
/// Trace the `JSObject` held by `reflector`.
#[allow(unrooted_must_root)]
pub fn trace_reflector(tracer: *mut JSTracer, description: &str, reflector: &Reflector) {
trace_object(tracer, description, reflector.get_jsobject())
}

View file

@ -455,8 +455,9 @@ pub fn reflect_dom_object<T: Reflectable>
}
/// A struct to store a reference to the reflector of a DOM object.
#[allow(raw_pointer_deriving)]
#[allow(raw_pointer_deriving, unrooted_must_root)]
#[deriving(PartialEq)]
#[must_root]
pub struct Reflector {
object: Cell<*mut JSObject>,
}