Change MutNullableJS<T> to MutNullableHeap<JS<T>>

This commit is contained in:
Anthony Ramine 2015-04-27 01:51:28 +02:00
parent 21c38d0de8
commit afafde5191
18 changed files with 176 additions and 173 deletions

View file

@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::EventBinding;
use dom::bindings::codegen::Bindings::EventBinding::{EventConstants, EventMethods};
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::js::{MutNullableJS, JSRef, Temporary};
use dom::bindings::js::{JS, JSRef, MutNullableHeap, Temporary};
use dom::bindings::utils::{Reflector, reflect_dom_object};
use dom::eventtarget::{EventTarget, EventTargetHelpers};
use util::str::DOMString;
@ -58,8 +58,8 @@ pub enum EventCancelable {
pub struct Event {
reflector_: Reflector,
type_id: EventTypeId,
current_target: MutNullableJS<EventTarget>,
target: MutNullableJS<EventTarget>,
current_target: MutNullableHeap<JS<EventTarget>>,
target: MutNullableHeap<JS<EventTarget>>,
type_: DOMRefCell<DOMString>,
phase: Cell<EventPhase>,
canceled: Cell<bool>,
@ -124,17 +124,17 @@ impl Event {
#[inline]
pub fn clear_current_target(&self) {
self.current_target.clear();
self.current_target.set(None);
}
#[inline]
pub fn set_current_target(&self, val: JSRef<EventTarget>) {
self.current_target.assign(Some(val));
self.current_target.set(Some(JS::from_rooted(val)));
}
#[inline]
pub fn set_target(&self, val: JSRef<EventTarget>) {
self.target.assign(Some(val));
self.target.set(Some(JS::from_rooted(val)));
}
#[inline]
@ -188,12 +188,12 @@ impl<'a> EventMethods for JSRef<'a, Event> {
// https://dom.spec.whatwg.org/#dom-event-target
fn GetTarget(self) -> Option<Temporary<EventTarget>> {
self.target.get()
self.target.get().map(Temporary::new)
}
// https://dom.spec.whatwg.org/#dom-event-currenttarget
fn GetCurrentTarget(self) -> Option<Temporary<EventTarget>> {
self.current_target.get()
self.current_target.get().map(Temporary::new)
}
// https://dom.spec.whatwg.org/#dom-event-defaultprevented
@ -248,7 +248,7 @@ impl<'a> EventMethods for JSRef<'a, Event> {
self.stop_immediate.set(false);
self.canceled.set(false);
self.trusted.set(false);
self.target.clear();
self.target.set(None);
*self.type_.borrow_mut() = type_;
self.bubbles.set(bubbles);
self.cancelable.set(cancelable);