diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index eb0496864a3..37f147c4693 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -186,9 +186,9 @@ impl JSTraceable for *mut JSObject { } } -impl JSTraceable for Traceable { +impl JSTraceable for JSVal { fn trace(&self, trc: *mut JSTracer) { - trace_jsval(trc, "val", **self); + trace_jsval(trc, "val", *self); } } diff --git a/components/script/dom/customevent.rs b/components/script/dom/customevent.rs index a89c195b6ca..85b7162b583 100644 --- a/components/script/dom/customevent.rs +++ b/components/script/dom/customevent.rs @@ -9,7 +9,6 @@ use dom::bindings::codegen::InheritTypes::{EventCast, CustomEventDerived}; use dom::bindings::error::Fallible; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JSRef, Temporary}; -use dom::bindings::trace::Traceable; use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object}; use dom::event::{Event, EventTypeId, CustomEventTypeId}; use js::jsapi::JSContext; @@ -22,7 +21,7 @@ use std::cell::Cell; #[must_root] pub struct CustomEvent { event: Event, - detail: Traceable>>, + detail: Cell, } impl CustomEventDerived for Event { @@ -35,7 +34,7 @@ impl CustomEvent { fn new_inherited(type_id: EventTypeId) -> CustomEvent { CustomEvent { event: Event::new_inherited(type_id), - detail: Traceable::new(Cell::new(Traceable::new(NullValue()))), + detail: Cell::new(NullValue()), } } @@ -58,7 +57,7 @@ impl CustomEvent { impl<'a> CustomEventMethods for JSRef<'a, CustomEvent> { fn Detail(self, _cx: *mut JSContext) -> JSVal { - *self.detail.deref().get() + self.detail.get() } fn InitCustomEvent(self, @@ -67,7 +66,7 @@ impl<'a> CustomEventMethods for JSRef<'a, CustomEvent> { can_bubble: bool, cancelable: bool, detail: JSVal) { - self.detail.deref().set(Traceable::new(detail)); + self.detail.set(detail); let event: JSRef = EventCast::from_ref(self); event.InitEvent(type_, can_bubble, cancelable); }