Use Traceable for primitive types and DOMString

This commit is contained in:
Manish Goregaokar 2014-06-16 21:59:01 +05:30
parent dae6ad409d
commit ee56b45a8c
5 changed files with 31 additions and 31 deletions

View file

@ -7,7 +7,7 @@
use dom::bindings::codegen::InheritTypes::{CharacterDataDerived, NodeCast};
use dom::bindings::error::{Fallible, ErrorResult, IndexSize};
use dom::bindings::js::JSRef;
use dom::bindings::trace::Untraceable;
use dom::bindings::trace::Traceable;
use dom::bindings::utils::{Reflectable, Reflector};
use dom::document::Document;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
@ -19,7 +19,7 @@ use std::cell::RefCell;
#[deriving(Encodable)]
pub struct CharacterData {
pub node: Node,
pub data: Untraceable<RefCell<DOMString>>,
pub data: Traceable<RefCell<DOMString>>,
}
impl CharacterDataDerived for EventTarget {
@ -37,7 +37,7 @@ impl CharacterData {
pub fn new_inherited(id: NodeTypeId, data: DOMString, document: &JSRef<Document>) -> CharacterData {
CharacterData {
node: Node::new_inherited(id, document),
data: Untraceable::new(RefCell::new(data)),
data: Traceable::new(RefCell::new(data)),
}
}
}

View file

@ -66,7 +66,7 @@ pub struct Document {
idmap: Traceable<RefCell<HashMap<DOMString, Vec<JS<Element>>>>>,
pub implementation: Cell<Option<JS<DOMImplementation>>>,
pub content_type: DOMString,
pub encoding_name: Untraceable<RefCell<DOMString>>,
pub encoding_name: Traceable<RefCell<DOMString>>,
pub is_html_document: bool,
pub url: Untraceable<Url>,
pub quirks_mode: Untraceable<Cell<QuirksMode>>,
@ -231,7 +231,7 @@ impl Document {
// http://dom.spec.whatwg.org/#concept-document-quirks
quirks_mode: Untraceable::new(Cell::new(NoQuirks)),
// http://dom.spec.whatwg.org/#concept-document-encoding
encoding_name: Untraceable::new(RefCell::new("utf-8".to_string())),
encoding_name: Traceable::new(RefCell::new("utf-8".to_string())),
is_html_document: is_html_document == HTMLDocument,
}
}

View file

@ -6,7 +6,7 @@ use dom::bindings::codegen::Bindings::EventBinding;
use dom::bindings::codegen::Bindings::EventBinding::EventConstants;
use dom::bindings::error::Fallible;
use dom::bindings::js::{JS, JSRef, Temporary};
use dom::bindings::trace::Untraceable;
use dom::bindings::trace::Traceable;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::eventtarget::EventTarget;
use dom::window::Window;
@ -52,16 +52,16 @@ pub struct Event {
pub reflector_: Reflector,
pub current_target: Cell<Option<JS<EventTarget>>>,
pub target: Cell<Option<JS<EventTarget>>>,
type_: Untraceable<RefCell<DOMString>>,
pub phase: Untraceable<Cell<EventPhase>>,
pub canceled: Untraceable<Cell<bool>>,
pub stop_propagation: Untraceable<Cell<bool>>,
pub stop_immediate: Untraceable<Cell<bool>>,
pub cancelable: Untraceable<Cell<bool>>,
pub bubbles: Untraceable<Cell<bool>>,
pub trusted: Untraceable<Cell<bool>>,
pub dispatching: Untraceable<Cell<bool>>,
pub initialized: Untraceable<Cell<bool>>,
type_: Traceable<RefCell<DOMString>>,
pub phase: Traceable<Cell<EventPhase>>,
pub canceled: Traceable<Cell<bool>>,
pub stop_propagation: Traceable<Cell<bool>>,
pub stop_immediate: Traceable<Cell<bool>>,
pub cancelable: Traceable<Cell<bool>>,
pub bubbles: Traceable<Cell<bool>>,
pub trusted: Traceable<Cell<bool>>,
pub dispatching: Traceable<Cell<bool>>,
pub initialized: Traceable<Cell<bool>>,
pub timestamp: u64,
}
@ -72,16 +72,16 @@ impl Event {
reflector_: Reflector::new(),
current_target: Cell::new(None),
target: Cell::new(None),
phase: Untraceable::new(Cell::new(PhaseNone)),
type_: Untraceable::new(RefCell::new("".to_string())),
canceled: Untraceable::new(Cell::new(false)),
cancelable: Untraceable::new(Cell::new(true)),
bubbles: Untraceable::new(Cell::new(false)),
trusted: Untraceable::new(Cell::new(false)),
dispatching: Untraceable::new(Cell::new(false)),
stop_propagation: Untraceable::new(Cell::new(false)),
stop_immediate: Untraceable::new(Cell::new(false)),
initialized: Untraceable::new(Cell::new(false)),
phase: Traceable::new(Cell::new(PhaseNone)),
type_: Traceable::new(RefCell::new("".to_string())),
canceled: Traceable::new(Cell::new(false)),
cancelable: Traceable::new(Cell::new(true)),
bubbles: Traceable::new(Cell::new(false)),
trusted: Traceable::new(Cell::new(false)),
dispatching: Traceable::new(Cell::new(false)),
stop_propagation: Traceable::new(Cell::new(false)),
stop_immediate: Traceable::new(Cell::new(false)),
initialized: Traceable::new(Cell::new(false)),
timestamp: time::get_time().sec as u64,
}
}

View file

@ -6,7 +6,7 @@ use dom::bindings::codegen::Bindings::UIEventBinding;
use dom::bindings::codegen::InheritTypes::{EventCast, UIEventDerived};
use dom::bindings::error::Fallible;
use dom::bindings::js::{JS, JSRef, RootedReference, Temporary, OptionalSettable};
use dom::bindings::trace::Untraceable;
use dom::bindings::trace::Traceable;
use dom::bindings::utils::{Reflectable, Reflector, reflect_dom_object};
use dom::event::{Event, EventMethods, EventTypeId, UIEventTypeId};
use dom::window::Window;
@ -19,7 +19,7 @@ use std::cell::Cell;
pub struct UIEvent {
pub event: Event,
pub view: Cell<Option<JS<Window>>>,
pub detail: Untraceable<Cell<i32>>
pub detail: Traceable<Cell<i32>>
}
impl UIEventDerived for Event {
@ -33,7 +33,7 @@ impl UIEvent {
UIEvent {
event: Event::new_inherited(type_id),
view: Cell::new(None),
detail: Untraceable::new(Cell::new(0)),
detail: Traceable::new(Cell::new(0)),
}
}

View file

@ -75,7 +75,7 @@ pub struct Window {
pub navigator: Cell<Option<JS<Navigator>>>,
pub image_cache_task: ImageCacheTask,
pub active_timers: Traceable<RefCell<HashMap<TimerId, TimerHandle>>>,
pub next_timer_handle: Untraceable<Cell<i32>>,
pub next_timer_handle: Traceable<Cell<i32>>,
pub compositor: Untraceable<Box<ScriptListener>>,
pub browser_context: Traceable<RefCell<Option<BrowserContext>>>,
pub page: Rc<Page>,
@ -399,7 +399,7 @@ impl Window {
navigator: Cell::new(None),
image_cache_task: image_cache_task,
active_timers: Traceable::new(RefCell::new(HashMap::new())),
next_timer_handle: Untraceable::new(Cell::new(0)),
next_timer_handle: Traceable::new(Cell::new(0)),
browser_context: Traceable::new(RefCell::new(None)),
performance: Cell::new(None),
navigationStart: time::get_time().sec as u64,