Remove Traceable from customevent.rs

This commit is contained in:
Manish Goregaokar 2014-09-29 03:30:03 +05:30
parent 4f574b4732
commit 63dd3070d1
2 changed files with 6 additions and 7 deletions

View file

@ -186,9 +186,9 @@ impl JSTraceable for *mut JSObject {
}
}
impl JSTraceable for Traceable<JSVal> {
impl JSTraceable for JSVal {
fn trace(&self, trc: *mut JSTracer) {
trace_jsval(trc, "val", **self);
trace_jsval(trc, "val", *self);
}
}

View file

@ -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<Cell<Traceable<JSVal>>>,
detail: Cell<JSVal>,
}
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<Event> = EventCast::from_ref(self);
event.InitEvent(type_, can_bubble, cancelable);
}