diff options
author | bors-servo <release+servo@mozilla.com> | 2014-04-27 18:52:39 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-04-27 18:52:39 -0400 |
commit | 493aa2cdf30fb2ff5886c714030a20d714764b67 (patch) | |
tree | 513345ea70f134bf4a85d8e2cdbe166bfee904f6 /src/components/script | |
parent | 4942cc76bd2c88e5fdc2b4de4c1ac4576100b455 (diff) | |
parent | 948daf242278b22d7a15c1c594129785d1cff538 (diff) | |
download | servo-493aa2cdf30fb2ff5886c714030a20d714764b67.tar.gz servo-493aa2cdf30fb2ff5886c714030a20d714764b67.zip |
auto merge of #2238 : mozilla/servo/rustup_20140410c, r=Ms2ger
r? @metajack
Note that all pending submodule PRs must be landed before this should be given r+.
Diffstat (limited to 'src/components/script')
111 files changed, 365 insertions, 356 deletions
diff --git a/src/components/script/dom/attr.rs b/src/components/script/dom/attr.rs index 237806c07f8..efe68e582d8 100644 --- a/src/components/script/dom/attr.rs +++ b/src/components/script/dom/attr.rs @@ -21,15 +21,15 @@ pub enum AttrSettingType { #[deriving(Encodable)] pub struct Attr { - reflector_: Reflector, - local_name: DOMString, - value: DOMString, - name: DOMString, - namespace: Namespace, - prefix: Option<DOMString>, + pub reflector_: Reflector, + pub local_name: DOMString, + pub value: DOMString, + pub name: DOMString, + pub namespace: Namespace, + pub prefix: Option<DOMString>, /// the element that owns this attribute. - owner: JS<Element>, + pub owner: JS<Element>, } impl Reflectable for Attr { diff --git a/src/components/script/dom/attrlist.rs b/src/components/script/dom/attrlist.rs index 839043becf1..504009e0e6d 100644 --- a/src/components/script/dom/attrlist.rs +++ b/src/components/script/dom/attrlist.rs @@ -11,9 +11,9 @@ use dom::window::Window; #[deriving(Encodable)] pub struct AttrList { - reflector_: Reflector, - window: JS<Window>, - owner: JS<Element>, + pub reflector_: Reflector, + pub window: JS<Window>, + pub owner: JS<Element>, } impl AttrList { diff --git a/src/components/script/dom/bindings/callback.rs b/src/components/script/dom/bindings/callback.rs index a6d7eb6a507..1633ebb2411 100644 --- a/src/components/script/dom/bindings/callback.rs +++ b/src/components/script/dom/bindings/callback.rs @@ -8,8 +8,8 @@ use js::jsapi::{JS_GetProperty, JSTracer, JS_CallTracer}; use js::jsval::{JSVal, UndefinedValue}; use js::JSTRACE_OBJECT; +use libc; use std::cast; -use std::libc; use std::ptr; use serialize::{Encodable, Encoder}; @@ -27,11 +27,11 @@ pub enum ExceptionHandling { #[deriving(Clone,Eq)] pub struct CallbackInterface { - callback: *JSObject + pub callback: *JSObject } -impl<S: Encoder> Encodable<S> for CallbackInterface { - fn encode(&self, s: &mut S) { +impl<S: Encoder<E>, E> Encodable<S, E> for CallbackInterface { + fn encode(&self, s: &mut S) -> Result<(), E> { unsafe { let tracer: *mut JSTracer = cast::transmute(s); "callback".to_c_str().with_ref(|name| { @@ -40,7 +40,8 @@ impl<S: Encoder> Encodable<S> for CallbackInterface { (*tracer).debugPrintArg = name as *libc::c_void; JS_CallTracer(tracer as *JSTracer, self.callback, JSTRACE_OBJECT as u32); }); - } + }; + Ok(()) } } @@ -98,8 +99,8 @@ pub fn WrapCallThisObject<T: 'static + CallbackContainer + Reflectable>(cx: *JSC } pub struct CallSetup { - cx: *JSContext, - handling: ExceptionHandling + pub cx: *JSContext, + pub handling: ExceptionHandling } impl CallSetup { diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index c0b1a230bcf..cc56c606e0b 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -1394,7 +1394,7 @@ class CGImports(CGWrapper): 'dead_code', ] - statements = ['#[allow(%s)];' % ','.join(ignored_warnings)] + statements = ['#![allow(%s)]' % ','.join(ignored_warnings)] statements.extend('use %s;' % i for i in sorted(imports)) CGWrapper.__init__(self, child, @@ -4076,11 +4076,11 @@ class CGDictionary(CGThing): def struct(self): d = self.dictionary if d.parent: - inheritance = " parent: %s::%s,\n" % (self.makeModuleName(d.parent), + inheritance = " pub parent: %s::%s,\n" % (self.makeModuleName(d.parent), self.makeClassName(d.parent)) else: inheritance = "" - memberDecls = [" %s: %s," % + memberDecls = [" pub %s: %s," % (self.makeMemberName(m[0].identifier.name), self.getMemberType(m)) for m in self.memberInfo] @@ -4344,11 +4344,11 @@ class CGBindingRoot(CGThing): 'dom::bindings::proxyhandler::{_obj_toString, defineProperty}', 'dom::bindings::proxyhandler::{FillPropertyDescriptor, GetExpandoObject}', 'dom::bindings::proxyhandler::{getPropertyDescriptor}', + 'libc', 'servo_util::str::DOMString', 'servo_util::vec::zip_copies', 'std::cast', 'std::cmp', - 'std::libc', 'std::ptr', 'std::slice', 'std::str', @@ -5282,7 +5282,7 @@ class GlobalGenRoots(): def InheritTypes(config): descriptors = config.getDescriptors(register=True, hasInterfaceObject=True) - allprotos = [CGGeneric("#[allow(unused_imports)];\n"), + allprotos = [CGGeneric("#![allow(unused_imports)]\n"), CGGeneric("use dom::types::*;\n"), CGGeneric("use dom::bindings::js::JS;\n"), CGGeneric("use dom::bindings::trace::JSTraceable;\n"), diff --git a/src/components/script/dom/bindings/conversions.rs b/src/components/script/dom/bindings/conversions.rs index c658765fb27..9f97897dd20 100644 --- a/src/components/script/dom/bindings/conversions.rs +++ b/src/components/script/dom/bindings/conversions.rs @@ -18,8 +18,8 @@ use js::jsval::JSVal; use js::jsval::{UndefinedValue, NullValue, BooleanValue, Int32Value, UInt32Value}; use js::jsval::{StringValue, ObjectValue}; use js::glue::RUST_JS_NumberValue; +use libc; use std::default::Default; -use std::libc; use dom::bindings::codegen::PrototypeList; diff --git a/src/components/script/dom/bindings/js.rs b/src/components/script/dom/bindings/js.rs index 5d2640a2bdf..10aec5424bc 100644 --- a/src/components/script/dom/bindings/js.rs +++ b/src/components/script/dom/bindings/js.rs @@ -11,7 +11,7 @@ use std::cast; use std::cell::RefCell; pub struct JS<T> { - priv ptr: RefCell<*mut T> + ptr: RefCell<*mut T> } impl<T> Eq for JS<T> { diff --git a/src/components/script/dom/bindings/proxyhandler.rs b/src/components/script/dom/bindings/proxyhandler.rs index 22df6e0df86..1c819a4e568 100644 --- a/src/components/script/dom/bindings/proxyhandler.rs +++ b/src/components/script/dom/bindings/proxyhandler.rs @@ -13,8 +13,8 @@ use js::glue::{GetObjectProto, GetObjectParent, SetProxyExtra, GetProxyHandler}; use js::glue::InvokeGetOwnPropertyDescriptor; use js::{JSPROP_GETTER, JSPROP_ENUMERATE, JSPROP_READONLY, JSRESOLVE_QUALIFIED}; +use libc; use std::cast; -use std::libc; use std::ptr; use std::str; use std::mem::size_of; diff --git a/src/components/script/dom/bindings/trace.rs b/src/components/script/dom/bindings/trace.rs index 29d774b7985..554c67e8dc6 100644 --- a/src/components/script/dom/bindings/trace.rs +++ b/src/components/script/dom/bindings/trace.rs @@ -7,9 +7,9 @@ use dom::bindings::utils::{Reflectable, Reflector}; use js::jsapi::{JSObject, JSTracer, JS_CallTracer, JSTRACE_OBJECT}; +use libc; use std::cast; use std::cell::RefCell; -use std::libc; use std::ptr; use std::ptr::null; use serialize::{Encodable, Encoder}; @@ -19,20 +19,22 @@ use serialize::{Encodable, Encoder}; // we are unfortunately required to use generic types everywhere and // unsafely cast to the concrete JSTracer we actually require. -fn get_jstracer<'a, S: Encoder>(s: &'a mut S) -> &'a mut JSTracer { +fn get_jstracer<'a, S: Encoder<E>, E>(s: &'a mut S) -> &'a mut JSTracer { unsafe { cast::transmute(s) } } -impl<T: Reflectable+Encodable<S>, S: Encoder> Encodable<S> for JS<T> { - fn encode(&self, s: &mut S) { +impl<T: Reflectable+Encodable<S, E>, S: Encoder<E>, E> Encodable<S, E> for JS<T> { + fn encode(&self, s: &mut S) -> Result<(), E> { trace_reflector(get_jstracer(s), "", self.reflector()); + Ok(()) } } -impl<S: Encoder> Encodable<S> for Reflector { - fn encode(&self, _s: &mut S) { +impl<S: Encoder<E>, E> Encodable<S, E> for Reflector { + fn encode(&self, _s: &mut S) -> Result<(), E> { + Ok(()) } } @@ -61,7 +63,7 @@ pub fn trace_object(tracer: *mut JSTracer, description: &str, obj: *JSObject) { /// Use only with types that are not associated with a JS reflector and do not contain /// fields of types associated with JS reflectors. pub struct Untraceable<T> { - priv inner: T, + inner: T, } impl<T> Untraceable<T> { @@ -72,8 +74,9 @@ impl<T> Untraceable<T> { } } -impl<S: Encoder, T> Encodable<S> for Untraceable<T> { - fn encode(&self, _s: &mut S) { +impl<S: Encoder<E>, E, T> Encodable<S, E> for Untraceable<T> { + fn encode(&self, _s: &mut S) -> Result<(), E> { + Ok(()) } } @@ -93,7 +96,7 @@ impl<T> DerefMut<T> for Untraceable<T> { /// (such as RefCell). Wrap a field in Traceable and implement the Encodable trait /// for that new concrete type to achieve magic compiler-derived trace hooks. pub struct Traceable<T> { - priv inner: T + inner: T } impl<T> Traceable<T> { @@ -116,14 +119,16 @@ impl<T> DerefMut<T> for Traceable<T> { } } -impl<S: Encoder, T: Encodable<S>> Encodable<S> for Traceable<RefCell<T>> { - fn encode(&self, s: &mut S) { - self.borrow().encode(s) +impl<S: Encoder<E>, E, T: Encodable<S, E>> Encodable<S, E> for Traceable<RefCell<T>> { + fn encode(&self, s: &mut S) -> Result<(), E> { + self.borrow().encode(s); + Ok(()) } } -impl<S: Encoder> Encodable<S> for Traceable<*JSObject> { - fn encode(&self, s: &mut S) { - trace_object(get_jstracer(s), "object", **self) +impl<S: Encoder<E>, E> Encodable<S, E> for Traceable<*JSObject> { + fn encode(&self, s: &mut S) -> Result<(), E> { + trace_object(get_jstracer(s), "object", **self); + Ok(()) } } diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index c43c7f81193..61e1e0213d9 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -12,10 +12,10 @@ use dom::window; use servo_util::str::DOMString; use collections::hashmap::HashMap; -use std::libc::c_uint; +use libc; +use libc::c_uint; use std::cast; use std::cmp::Eq; -use std::libc; use std::ptr; use std::ptr::null; use std::slice; @@ -49,8 +49,8 @@ use js; #[deriving(Encodable)] pub struct GlobalStaticData { - proxy_handlers: Untraceable<HashMap<uint, *libc::c_void>>, - windowproxy_handler: Untraceable<*libc::c_void>, + pub proxy_handlers: Untraceable<HashMap<uint, *libc::c_void>>, + pub windowproxy_handler: Untraceable<*libc::c_void>, } pub fn GlobalStaticData() -> GlobalStaticData { @@ -190,19 +190,19 @@ pub enum ConstantVal { #[deriving(Clone)] pub struct ConstantSpec { - name: *libc::c_char, - value: ConstantVal + pub name: *libc::c_char, + pub value: ConstantVal } pub struct DOMClass { // A list of interfaces that this object implements, in order of decreasing // derivedness. - interface_chain: [PrototypeList::id::ID, ..MAX_PROTO_CHAIN_LENGTH] + pub interface_chain: [PrototypeList::id::ID, ..MAX_PROTO_CHAIN_LENGTH] } pub struct DOMJSClass { - base: js::Class, - dom_class: DOMClass + pub base: js::Class, + pub dom_class: DOMClass } pub fn GetProtoOrIfaceArray(global: *JSObject) -> **JSObject { @@ -398,7 +398,7 @@ pub fn reflect_dom_object<T: Reflectable> #[deriving(Eq)] pub struct Reflector { - object: *JSObject, + pub object: *JSObject, } impl Reflector { @@ -509,8 +509,8 @@ pub fn FindEnumStringIndex(cx: *JSContext, Ok(values.iter().position(|value| { value.len() == length as uint && - range(0, length as int).all(|j| { - value[j] as u16 == *chars.offset(j) + range(0, length as uint).all(|j| { + value[j] as u16 == *chars.offset(j as int) }) })) } diff --git a/src/components/script/dom/blob.rs b/src/components/script/dom/blob.rs index df665bc6d47..8d1092a2239 100644 --- a/src/components/script/dom/blob.rs +++ b/src/components/script/dom/blob.rs @@ -11,8 +11,8 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct Blob { - reflector_: Reflector, - window: JS<Window> + pub reflector_: Reflector, + pub window: JS<Window> } impl Blob { diff --git a/src/components/script/dom/browsercontext.rs b/src/components/script/dom/browsercontext.rs index 907a26f99e3..86540c12a53 100644 --- a/src/components/script/dom/browsercontext.rs +++ b/src/components/script/dom/browsercontext.rs @@ -11,14 +11,14 @@ use dom::window::Window; use js::jsapi::JSObject; use js::glue::{WrapperNew, CreateWrapperProxyHandler, ProxyTraps}; -use std::libc::c_void; +use libc::c_void; use std::ptr; #[deriving(Encodable)] pub struct BrowserContext { - priv history: Vec<SessionHistoryEntry>, - priv active_index: uint, - priv window_proxy: Traceable<*JSObject>, + history: Vec<SessionHistoryEntry>, + active_index: uint, + window_proxy: Traceable<*JSObject>, } impl BrowserContext { @@ -66,8 +66,8 @@ impl BrowserContext { #[deriving(Encodable)] pub struct SessionHistoryEntry { - priv document: JS<Document>, - priv children: Vec<BrowserContext> + document: JS<Document>, + children: Vec<BrowserContext> } impl SessionHistoryEntry { diff --git a/src/components/script/dom/characterdata.rs b/src/components/script/dom/characterdata.rs index 3cc503a50fd..f85246ee12c 100644 --- a/src/components/script/dom/characterdata.rs +++ b/src/components/script/dom/characterdata.rs @@ -15,8 +15,8 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct CharacterData { - node: Node, - data: DOMString, + pub node: Node, + pub data: DOMString, } impl CharacterDataDerived for EventTarget { diff --git a/src/components/script/dom/clientrect.rs b/src/components/script/dom/clientrect.rs index 2e68044c115..b215d3df314 100644 --- a/src/components/script/dom/clientrect.rs +++ b/src/components/script/dom/clientrect.rs @@ -10,12 +10,12 @@ use servo_util::geometry::Au; #[deriving(Encodable)] pub struct ClientRect { - reflector_: Reflector, - top: f32, - bottom: f32, - left: f32, - right: f32, - window: JS<Window>, + pub reflector_: Reflector, + pub top: f32, + pub bottom: f32, + pub left: f32, + pub right: f32, + pub window: JS<Window>, } impl ClientRect { diff --git a/src/components/script/dom/clientrectlist.rs b/src/components/script/dom/clientrectlist.rs index 3d8ade6031f..9095819edbf 100644 --- a/src/components/script/dom/clientrectlist.rs +++ b/src/components/script/dom/clientrectlist.rs @@ -10,9 +10,9 @@ use dom::window::Window; #[deriving(Encodable)] pub struct ClientRectList { - reflector_: Reflector, - rects: ~[JS<ClientRect>], - window: JS<Window>, + pub reflector_: Reflector, + pub rects: ~[JS<ClientRect>], + pub window: JS<Window>, } impl ClientRectList { @@ -37,7 +37,7 @@ impl ClientRectList { pub fn Item(&self, index: u32) -> Option<JS<ClientRect>> { if index < self.rects.len() as u32 { - Some(self.rects[index].clone()) + Some(self.rects[index as uint].clone()) } else { None } diff --git a/src/components/script/dom/comment.rs b/src/components/script/dom/comment.rs index 515d414297d..67f92147f36 100644 --- a/src/components/script/dom/comment.rs +++ b/src/components/script/dom/comment.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; /// An HTML comment. #[deriving(Encodable)] pub struct Comment { - characterdata: CharacterData, + pub characterdata: CharacterData, } impl CommentDerived for EventTarget { diff --git a/src/components/script/dom/console.rs b/src/components/script/dom/console.rs index 8a7a935e918..a3aad82a914 100644 --- a/src/components/script/dom/console.rs +++ b/src/components/script/dom/console.rs @@ -10,7 +10,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct Console { - reflector_: Reflector + pub reflector_: Reflector } impl Console { diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index b9a892a4e64..4e953a42629 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -55,16 +55,16 @@ pub enum IsHTMLDocument { #[deriving(Encodable)] pub struct Document { - node: Node, - reflector_: Reflector, - window: JS<Window>, - idmap: HashMap<DOMString, ~[JS<Element>]>, - implementation: Option<JS<DOMImplementation>>, - content_type: DOMString, - encoding_name: DOMString, - is_html_document: bool, - url: Untraceable<Url>, - quirks_mode: Untraceable<QuirksMode>, + pub node: Node, + pub reflector_: Reflector, + pub window: JS<Window>, + pub idmap: HashMap<DOMString, ~[JS<Element>]>, + pub implementation: Option<JS<DOMImplementation>>, + pub content_type: DOMString, + pub encoding_name: DOMString, + pub is_html_document: bool, + pub url: Untraceable<Url>, + pub quirks_mode: Untraceable<QuirksMode>, } impl DocumentDerived for EventTarget { diff --git a/src/components/script/dom/documentfragment.rs b/src/components/script/dom/documentfragment.rs index bd9afa7d97f..b51eae6eaf0 100644 --- a/src/components/script/dom/documentfragment.rs +++ b/src/components/script/dom/documentfragment.rs @@ -14,7 +14,7 @@ use dom::window::Window; #[deriving(Encodable)] pub struct DocumentFragment { - node: Node, + pub node: Node, } impl DocumentFragmentDerived for EventTarget { diff --git a/src/components/script/dom/documenttype.rs b/src/components/script/dom/documenttype.rs index 3892f2a3235..505431492dc 100644 --- a/src/components/script/dom/documenttype.rs +++ b/src/components/script/dom/documenttype.rs @@ -13,10 +13,10 @@ use servo_util::str::DOMString; /// The `DOCTYPE` tag. #[deriving(Encodable)] pub struct DocumentType { - node: Node, - name: DOMString, - public_id: DOMString, - system_id: DOMString, + pub node: Node, + pub name: DOMString, + pub public_id: DOMString, + pub system_id: DOMString, } impl DocumentTypeDerived for EventTarget { diff --git a/src/components/script/dom/domexception.rs b/src/components/script/dom/domexception.rs index 1c44a88af1f..dcf807c9eb0 100644 --- a/src/components/script/dom/domexception.rs +++ b/src/components/script/dom/domexception.rs @@ -37,8 +37,8 @@ pub enum DOMErrorName { #[deriving(Encodable)] pub struct DOMException { - code: DOMErrorName, - reflector_: Reflector + pub code: DOMErrorName, + pub reflector_: Reflector } impl DOMException { diff --git a/src/components/script/dom/domimplementation.rs b/src/components/script/dom/domimplementation.rs index aaf4d427b9f..0974570c34c 100644 --- a/src/components/script/dom/domimplementation.rs +++ b/src/components/script/dom/domimplementation.rs @@ -21,8 +21,8 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct DOMImplementation { - owner: JS<Window>, - reflector_: Reflector, + pub owner: JS<Window>, + pub reflector_: Reflector, } impl DOMImplementation { diff --git a/src/components/script/dom/domparser.rs b/src/components/script/dom/domparser.rs index 1ab00d1f14d..6d45867f594 100644 --- a/src/components/script/dom/domparser.rs +++ b/src/components/script/dom/domparser.rs @@ -13,8 +13,8 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct DOMParser { - owner: JS<Window>, //XXXjdm Document instead? - reflector_: Reflector + pub owner: JS<Window>, //XXXjdm Document instead? + pub reflector_: Reflector } impl DOMParser { diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 156f49f67a3..cb21e05b786 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -32,13 +32,13 @@ use std::cast; #[deriving(Encodable)] pub struct Element { - node: Node, - local_name: DOMString, // TODO: This should be an atom, not a DOMString. - namespace: Namespace, - prefix: Option<DOMString>, - attrs: ~[JS<Attr>], - style_attribute: Option<style::PropertyDeclarationBlock>, - attr_list: Option<JS<AttrList>> + pub node: Node, + pub local_name: DOMString, // TODO: This should be an atom, not a DOMString. + pub namespace: Namespace, + pub prefix: Option<DOMString>, + pub attrs: ~[JS<Attr>], + pub style_attribute: Option<style::PropertyDeclarationBlock>, + pub attr_list: Option<JS<AttrList>> } impl ElementDerived for EventTarget { @@ -605,14 +605,14 @@ impl Element { let win = &doc.get().window; let node: JS<Node> = NodeCast::from(abstract_self); let rects = node.get_content_boxes(); - let rects = rects.map(|r| { + let rects = rects.iter().map(|r| { ClientRect::new( win, r.origin.y, r.origin.y + r.size.height, r.origin.x, r.origin.x + r.size.width) - }); + }).collect(); ClientRectList::new(win, rects) } diff --git a/src/components/script/dom/event.rs b/src/components/script/dom/event.rs index 7df07149846..898e6a3700e 100644 --- a/src/components/script/dom/event.rs +++ b/src/components/script/dom/event.rs @@ -40,20 +40,20 @@ pub enum EventTypeId { #[deriving(Encodable)] pub struct Event { - type_id: EventTypeId, - reflector_: Reflector, - current_target: Option<JS<EventTarget>>, - target: Option<JS<EventTarget>>, - type_: DOMString, - phase: EventPhase, - canceled: bool, - stop_propagation: bool, - stop_immediate: bool, - cancelable: bool, - bubbles: bool, - trusted: bool, - dispatching: bool, - initialized: bool, + pub type_id: EventTypeId, + pub reflector_: Reflector, + pub current_target: Option<JS<EventTarget>>, + pub target: Option<JS<EventTarget>>, + pub type_: DOMString, + pub phase: EventPhase, + pub canceled: bool, + pub stop_propagation: bool, + pub stop_immediate: bool, + pub cancelable: bool, + pub bubbles: bool, + pub trusted: bool, + pub dispatching: bool, + pub initialized: bool, } impl Event { diff --git a/src/components/script/dom/eventtarget.rs b/src/components/script/dom/eventtarget.rs index 1a3346db360..62057d8e116 100644 --- a/src/components/script/dom/eventtarget.rs +++ b/src/components/script/dom/eventtarget.rs @@ -29,15 +29,15 @@ pub enum EventTargetTypeId { #[deriving(Eq,Encodable)] pub struct EventListenerEntry { - phase: ListenerPhase, - listener: EventListener + pub phase: ListenerPhase, + pub listener: EventListener } #[deriving(Encodable)] pub struct EventTarget { - type_id: EventTargetTypeId, - reflector_: Reflector, - handlers: HashMap<DOMString, ~[EventListenerEntry]>, + pub type_id: EventTargetTypeId, + pub reflector_: Reflector, + pub handlers: HashMap<DOMString, ~[EventListenerEntry]>, } impl EventTarget { diff --git a/src/components/script/dom/formdata.rs b/src/components/script/dom/formdata.rs index db380af6a55..8bba1ab6de0 100644 --- a/src/components/script/dom/formdata.rs +++ b/src/components/script/dom/formdata.rs @@ -21,10 +21,10 @@ pub enum FormDatum { #[deriving(Encodable)] pub struct FormData { - data: HashMap<DOMString, FormDatum>, - reflector_: Reflector, - window: JS<Window>, - form: Option<JS<HTMLFormElement>> + pub data: HashMap<DOMString, FormDatum>, + pub reflector_: Reflector, + pub window: JS<Window>, + pub form: Option<JS<HTMLFormElement>> } impl FormData { diff --git a/src/components/script/dom/htmlanchorelement.rs b/src/components/script/dom/htmlanchorelement.rs index 4191a8bccfa..d23ad51804b 100644 --- a/src/components/script/dom/htmlanchorelement.rs +++ b/src/components/script/dom/htmlanchorelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLAnchorElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLAnchorElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlappletelement.rs b/src/components/script/dom/htmlappletelement.rs index 462be40a898..5d3fabc9edf 100644 --- a/src/components/script/dom/htmlappletelement.rs +++ b/src/components/script/dom/htmlappletelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLAppletElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLAppletElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlareaelement.rs b/src/components/script/dom/htmlareaelement.rs index 40226962db6..91e9e3e408d 100644 --- a/src/components/script/dom/htmlareaelement.rs +++ b/src/components/script/dom/htmlareaelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLAreaElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLAreaElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlaudioelement.rs b/src/components/script/dom/htmlaudioelement.rs index 0575d3a49f2..fd8fadfead0 100644 --- a/src/components/script/dom/htmlaudioelement.rs +++ b/src/components/script/dom/htmlaudioelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLAudioElement { - htmlmediaelement: HTMLMediaElement + pub htmlmediaelement: HTMLMediaElement } impl HTMLAudioElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlbaseelement.rs b/src/components/script/dom/htmlbaseelement.rs index 2a697bd019d..d1a92b22b93 100644 --- a/src/components/script/dom/htmlbaseelement.rs +++ b/src/components/script/dom/htmlbaseelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLBaseElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLBaseElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlbodyelement.rs b/src/components/script/dom/htmlbodyelement.rs index 5d41a3bd6c9..5d3f4b2f695 100644 --- a/src/components/script/dom/htmlbodyelement.rs +++ b/src/components/script/dom/htmlbodyelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLBodyElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLBodyElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlbrelement.rs b/src/components/script/dom/htmlbrelement.rs index 38798106026..64cddaddbe2 100644 --- a/src/components/script/dom/htmlbrelement.rs +++ b/src/components/script/dom/htmlbrelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLBRElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLBRElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlbuttonelement.rs b/src/components/script/dom/htmlbuttonelement.rs index 6e6a84bfb36..e4b73c48c74 100644 --- a/src/components/script/dom/htmlbuttonelement.rs +++ b/src/components/script/dom/htmlbuttonelement.rs @@ -17,7 +17,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLButtonElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLButtonElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlcanvaselement.rs b/src/components/script/dom/htmlcanvaselement.rs index 6be5dfc6e65..d13e8b24a70 100644 --- a/src/components/script/dom/htmlcanvaselement.rs +++ b/src/components/script/dom/htmlcanvaselement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLCanvasElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLCanvasElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlcollection.rs b/src/components/script/dom/htmlcollection.rs index 06d693cce77..70a94b04f43 100644 --- a/src/components/script/dom/htmlcollection.rs +++ b/src/components/script/dom/htmlcollection.rs @@ -18,8 +18,10 @@ pub trait CollectionFilter { fn filter(&self, elem: &JS<Element>, root: &JS<Node>) -> bool; } -impl<S: Encoder> Encodable<S> for ~CollectionFilter { - fn encode(&self, _s: &mut S) {} +impl<S: Encoder<E>, E> Encodable<S, E> for ~CollectionFilter { + fn encode(&self, _s: &mut S) -> Result<(), E> { + Ok(()) + } } #[deriving(Encodable)] @@ -30,9 +32,9 @@ pub enum CollectionTypeId { #[deriving(Encodable)] pub struct HTMLCollection { - collection: CollectionTypeId, - reflector_: Reflector, - window: JS<Window>, + pub collection: CollectionTypeId, + pub reflector_: Reflector, + pub window: JS<Window>, } impl HTMLCollection { @@ -100,7 +102,7 @@ impl HTMLCollection { } } let filter = ClassNameFilter { - classes: split_html_space_chars(classes).map(|class| class.into_owned()).to_owned_vec() + classes: split_html_space_chars(classes).map(|class| class.into_owned()).collect() }; HTMLCollection::create(window, root, ~filter) } diff --git a/src/components/script/dom/htmldataelement.rs b/src/components/script/dom/htmldataelement.rs index 84a13869c81..4534cb10599 100644 --- a/src/components/script/dom/htmldataelement.rs +++ b/src/components/script/dom/htmldataelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLDataElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLDataElementDerived for EventTarget { diff --git a/src/components/script/dom/htmldatalistelement.rs b/src/components/script/dom/htmldatalistelement.rs index bc2c59dcf17..b79616a0d30 100644 --- a/src/components/script/dom/htmldatalistelement.rs +++ b/src/components/script/dom/htmldatalistelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLDataListElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLDataListElementDerived for EventTarget { diff --git a/src/components/script/dom/htmldirectoryelement.rs b/src/components/script/dom/htmldirectoryelement.rs index 989019b3aee..dbebfd35756 100644 --- a/src/components/script/dom/htmldirectoryelement.rs +++ b/src/components/script/dom/htmldirectoryelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLDirectoryElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLDirectoryElementDerived for EventTarget { diff --git a/src/components/script/dom/htmldivelement.rs b/src/components/script/dom/htmldivelement.rs index f3346d0b049..1d8298e22b8 100644 --- a/src/components/script/dom/htmldivelement.rs +++ b/src/components/script/dom/htmldivelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLDivElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLDivElementDerived for EventTarget { diff --git a/src/components/script/dom/htmldlistelement.rs b/src/components/script/dom/htmldlistelement.rs index fe8294daf46..7644226db1e 100644 --- a/src/components/script/dom/htmldlistelement.rs +++ b/src/components/script/dom/htmldlistelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLDListElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLDListElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlelement.rs b/src/components/script/dom/htmlelement.rs index b3442304fcc..a69879b3e31 100644 --- a/src/components/script/dom/htmlelement.rs +++ b/src/components/script/dom/htmlelement.rs @@ -19,7 +19,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLElement { - element: Element + pub element: Element } impl HTMLElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlembedelement.rs b/src/components/script/dom/htmlembedelement.rs index 68a60d243fc..980339688af 100644 --- a/src/components/script/dom/htmlembedelement.rs +++ b/src/components/script/dom/htmlembedelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLEmbedElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLEmbedElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlfieldsetelement.rs b/src/components/script/dom/htmlfieldsetelement.rs index 91e24711fee..f5826e9c9fa 100644 --- a/src/components/script/dom/htmlfieldsetelement.rs +++ b/src/components/script/dom/htmlfieldsetelement.rs @@ -18,7 +18,7 @@ use servo_util::str::{DOMString, StaticStringVec}; #[deriving(Encodable)] pub struct HTMLFieldSetElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLFieldSetElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlfontelement.rs b/src/components/script/dom/htmlfontelement.rs index aad93fb79e7..0dfa1b4cd86 100644 --- a/src/components/script/dom/htmlfontelement.rs +++ b/src/components/script/dom/htmlfontelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLFontElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLFontElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlformelement.rs b/src/components/script/dom/htmlformelement.rs index 9bbbb8089db..c054d9232d9 100644 --- a/src/components/script/dom/htmlformelement.rs +++ b/src/components/script/dom/htmlformelement.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLFormElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLFormElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlframeelement.rs b/src/components/script/dom/htmlframeelement.rs index f1cae62ca67..8f998d2b687 100644 --- a/src/components/script/dom/htmlframeelement.rs +++ b/src/components/script/dom/htmlframeelement.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLFrameElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLFrameElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlframesetelement.rs b/src/components/script/dom/htmlframesetelement.rs index 5ab1db437d2..6a29cc92094 100644 --- a/src/components/script/dom/htmlframesetelement.rs +++ b/src/components/script/dom/htmlframesetelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLFrameSetElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLFrameSetElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlheadelement.rs b/src/components/script/dom/htmlheadelement.rs index 91266180c27..5a0c0e3415f 100644 --- a/src/components/script/dom/htmlheadelement.rs +++ b/src/components/script/dom/htmlheadelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLHeadElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLHeadElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlheadingelement.rs b/src/components/script/dom/htmlheadingelement.rs index ecae9910b6d..3fa8ab4b911 100644 --- a/src/components/script/dom/htmlheadingelement.rs +++ b/src/components/script/dom/htmlheadingelement.rs @@ -24,8 +24,8 @@ pub enum HeadingLevel { #[deriving(Encodable)] pub struct HTMLHeadingElement { - htmlelement: HTMLElement, - level: HeadingLevel, + pub htmlelement: HTMLElement, + pub level: HeadingLevel, } impl HTMLHeadingElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlhrelement.rs b/src/components/script/dom/htmlhrelement.rs index e0b5d054024..9530caf7ed5 100644 --- a/src/components/script/dom/htmlhrelement.rs +++ b/src/components/script/dom/htmlhrelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLHRElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLHRElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlhtmlelement.rs b/src/components/script/dom/htmlhtmlelement.rs index 9a406da7d90..85b978ef2de 100644 --- a/src/components/script/dom/htmlhtmlelement.rs +++ b/src/components/script/dom/htmlhtmlelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLHtmlElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLHtmlElementDerived for EventTarget { diff --git a/src/components/script/dom/htmliframeelement.rs b/src/components/script/dom/htmliframeelement.rs index 0b54fe3e3bb..44427b13c7c 100644 --- a/src/components/script/dom/htmliframeelement.rs +++ b/src/components/script/dom/htmliframeelement.rs @@ -33,10 +33,10 @@ enum SandboxAllowance { #[deriving(Encodable)] pub struct HTMLIFrameElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, frame: Untraceable<Option<Url>>, - size: Option<IFrameSize>, - sandbox: Option<u8> + pub size: Option<IFrameSize>, + pub sandbox: Option<u8> } impl HTMLIFrameElementDerived for EventTarget { @@ -50,8 +50,8 @@ impl HTMLIFrameElementDerived for EventTarget { #[deriving(Encodable)] pub struct IFrameSize { - pipeline_id: PipelineId, - subpage_id: SubpageId, + pub pipeline_id: PipelineId, + pub subpage_id: SubpageId, } impl HTMLIFrameElement { diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs index dedf78948fc..d99b446c85a 100644 --- a/src/components/script/dom/htmlimageelement.rs +++ b/src/components/script/dom/htmlimageelement.rs @@ -23,7 +23,7 @@ use url::Url; #[deriving(Encodable)] pub struct HTMLImageElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, image: Untraceable<Option<Url>>, } diff --git a/src/components/script/dom/htmlinputelement.rs b/src/components/script/dom/htmlinputelement.rs index 162006a1413..f15507b5635 100644 --- a/src/components/script/dom/htmlinputelement.rs +++ b/src/components/script/dom/htmlinputelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLInputElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLInputElementDerived for EventTarget { diff --git a/src/components/script/dom/htmllabelelement.rs b/src/components/script/dom/htmllabelelement.rs index e4da3eb661c..828ef766def 100644 --- a/src/components/script/dom/htmllabelelement.rs +++ b/src/components/script/dom/htmllabelelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLLabelElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLLabelElementDerived for EventTarget { diff --git a/src/components/script/dom/htmllegendelement.rs b/src/components/script/dom/htmllegendelement.rs index cf751f3ec8c..3d89046f760 100644 --- a/src/components/script/dom/htmllegendelement.rs +++ b/src/components/script/dom/htmllegendelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLLegendElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLLegendElementDerived for EventTarget { diff --git a/src/components/script/dom/htmllielement.rs b/src/components/script/dom/htmllielement.rs index 19e9789eb97..655994251e5 100644 --- a/src/components/script/dom/htmllielement.rs +++ b/src/components/script/dom/htmllielement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLLIElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLLIElementDerived for EventTarget { diff --git a/src/components/script/dom/htmllinkelement.rs b/src/components/script/dom/htmllinkelement.rs index caa7649624f..6477e45bec9 100644 --- a/src/components/script/dom/htmllinkelement.rs +++ b/src/components/script/dom/htmllinkelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLLinkElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLLinkElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlmainelement.rs b/src/components/script/dom/htmlmainelement.rs index b0fc11c2781..84b0bb574e5 100644 --- a/src/components/script/dom/htmlmainelement.rs +++ b/src/components/script/dom/htmlmainelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLMainElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLMainElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlmapelement.rs b/src/components/script/dom/htmlmapelement.rs index c439225362c..8f853386473 100644 --- a/src/components/script/dom/htmlmapelement.rs +++ b/src/components/script/dom/htmlmapelement.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLMapElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLMapElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlmediaelement.rs b/src/components/script/dom/htmlmediaelement.rs index d41e53d0081..179c8e97407 100644 --- a/src/components/script/dom/htmlmediaelement.rs +++ b/src/components/script/dom/htmlmediaelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLMediaElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLMediaElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlmetaelement.rs b/src/components/script/dom/htmlmetaelement.rs index a0c753fb62b..7daf2eb635f 100644 --- a/src/components/script/dom/htmlmetaelement.rs +++ b/src/components/script/dom/htmlmetaelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLMetaElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLMetaElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlmeterelement.rs b/src/components/script/dom/htmlmeterelement.rs index fbdd1ddcddf..8f118e845bc 100644 --- a/src/components/script/dom/htmlmeterelement.rs +++ b/src/components/script/dom/htmlmeterelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLMeterElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLMeterElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlmodelement.rs b/src/components/script/dom/htmlmodelement.rs index fe95f503843..bc30cfdb775 100644 --- a/src/components/script/dom/htmlmodelement.rs +++ b/src/components/script/dom/htmlmodelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLModElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLModElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlobjectelement.rs b/src/components/script/dom/htmlobjectelement.rs index c98432b99a0..60b6326dd2f 100644 --- a/src/components/script/dom/htmlobjectelement.rs +++ b/src/components/script/dom/htmlobjectelement.rs @@ -28,7 +28,7 @@ use url::Url; #[deriving(Encodable)] pub struct HTMLObjectElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLObjectElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlolistelement.rs b/src/components/script/dom/htmlolistelement.rs index cd0bb64ef0f..cb4896f5f6d 100644 --- a/src/components/script/dom/htmlolistelement.rs +++ b/src/components/script/dom/htmlolistelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLOListElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLOListElementDerived for EventTarget { diff --git a/src/components/script/dom/htmloptgroupelement.rs b/src/components/script/dom/htmloptgroupelement.rs index c775a2f95e8..571df28f689 100644 --- a/src/components/script/dom/htmloptgroupelement.rs +++ b/src/components/script/dom/htmloptgroupelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLOptGroupElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLOptGroupElementDerived for EventTarget { diff --git a/src/components/script/dom/htmloptionelement.rs b/src/components/script/dom/htmloptionelement.rs index 136ff75eef5..43c6daa6c33 100644 --- a/src/components/script/dom/htmloptionelement.rs +++ b/src/components/script/dom/htmloptionelement.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLOptionElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLOptionElementDerived for EventTarget { diff --git a/src/components/script/dom/htmloutputelement.rs b/src/components/script/dom/htmloutputelement.rs index 59f3938f4f2..15d6a4e1e77 100644 --- a/src/components/script/dom/htmloutputelement.rs +++ b/src/components/script/dom/htmloutputelement.rs @@ -17,7 +17,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLOutputElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLOutputElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlparagraphelement.rs b/src/components/script/dom/htmlparagraphelement.rs index 753a1089c18..b837a6dc8b7 100644 --- a/src/components/script/dom/htmlparagraphelement.rs +++ b/src/components/script/dom/htmlparagraphelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLParagraphElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLParagraphElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlparamelement.rs b/src/components/script/dom/htmlparamelement.rs index 6dbcf24a9d9..767fa66a0d8 100644 --- a/src/components/script/dom/htmlparamelement.rs +++ b/src/components/script/dom/htmlparamelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLParamElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLParamElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlpreelement.rs b/src/components/script/dom/htmlpreelement.rs index fbe7ac49832..a6a7497a7ac 100644 --- a/src/components/script/dom/htmlpreelement.rs +++ b/src/components/script/dom/htmlpreelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLPreElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLPreElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlprogresselement.rs b/src/components/script/dom/htmlprogresselement.rs index 6c380d76226..1ff9caae205 100644 --- a/src/components/script/dom/htmlprogresselement.rs +++ b/src/components/script/dom/htmlprogresselement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLProgressElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLProgressElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlquoteelement.rs b/src/components/script/dom/htmlquoteelement.rs index 66c863aed2b..c7519250da7 100644 --- a/src/components/script/dom/htmlquoteelement.rs +++ b/src/components/script/dom/htmlquoteelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLQuoteElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLQuoteElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlscriptelement.rs b/src/components/script/dom/htmlscriptelement.rs index 18830c35bbd..f7f0451a0c2 100644 --- a/src/components/script/dom/htmlscriptelement.rs +++ b/src/components/script/dom/htmlscriptelement.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLScriptElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLScriptElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlselectelement.rs b/src/components/script/dom/htmlselectelement.rs index 1208a0e0112..f53fed1dba8 100644 --- a/src/components/script/dom/htmlselectelement.rs +++ b/src/components/script/dom/htmlselectelement.rs @@ -19,7 +19,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLSelectElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLSelectElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlsourceelement.rs b/src/components/script/dom/htmlsourceelement.rs index 5542d5bf038..b9f53bad808 100644 --- a/src/components/script/dom/htmlsourceelement.rs +++ b/src/components/script/dom/htmlsourceelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLSourceElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLSourceElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlspanelement.rs b/src/components/script/dom/htmlspanelement.rs index 8b827bbf234..921f92b30b6 100644 --- a/src/components/script/dom/htmlspanelement.rs +++ b/src/components/script/dom/htmlspanelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLSpanElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLSpanElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlstyleelement.rs b/src/components/script/dom/htmlstyleelement.rs index 32e4276a2a1..651114f2f7a 100644 --- a/src/components/script/dom/htmlstyleelement.rs +++ b/src/components/script/dom/htmlstyleelement.rs @@ -18,7 +18,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLStyleElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLStyleElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltablecaptionelement.rs b/src/components/script/dom/htmltablecaptionelement.rs index d92e87dd199..ce6fbbc5694 100644 --- a/src/components/script/dom/htmltablecaptionelement.rs +++ b/src/components/script/dom/htmltablecaptionelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableCaptionElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLTableCaptionElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltablecellelement.rs b/src/components/script/dom/htmltablecellelement.rs index dd91a284c71..b00c1d78fcd 100644 --- a/src/components/script/dom/htmltablecellelement.rs +++ b/src/components/script/dom/htmltablecellelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableCellElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTableCellElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltablecolelement.rs b/src/components/script/dom/htmltablecolelement.rs index aaf373bedce..7ab2e9a86a8 100644 --- a/src/components/script/dom/htmltablecolelement.rs +++ b/src/components/script/dom/htmltablecolelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableColElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTableColElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltabledatacellelement.rs b/src/components/script/dom/htmltabledatacellelement.rs index f245f209513..c5c0e967d77 100644 --- a/src/components/script/dom/htmltabledatacellelement.rs +++ b/src/components/script/dom/htmltabledatacellelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableDataCellElement { - htmltablecellelement: HTMLTableCellElement, + pub htmltablecellelement: HTMLTableCellElement, } impl HTMLTableDataCellElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltableelement.rs b/src/components/script/dom/htmltableelement.rs index 484fd7d8100..a3dfa97c7dd 100644 --- a/src/components/script/dom/htmltableelement.rs +++ b/src/components/script/dom/htmltableelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTableElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltableheadercellelement.rs b/src/components/script/dom/htmltableheadercellelement.rs index 66b94da6b4c..0902f0d7b37 100644 --- a/src/components/script/dom/htmltableheadercellelement.rs +++ b/src/components/script/dom/htmltableheadercellelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableHeaderCellElement { - htmltablecellelement: HTMLTableCellElement, + pub htmltablecellelement: HTMLTableCellElement, } impl HTMLTableHeaderCellElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltablerowelement.rs b/src/components/script/dom/htmltablerowelement.rs index dacae2f73d9..c3ce5aa9f72 100644 --- a/src/components/script/dom/htmltablerowelement.rs +++ b/src/components/script/dom/htmltablerowelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableRowElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTableRowElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltablesectionelement.rs b/src/components/script/dom/htmltablesectionelement.rs index ec95d9f996d..8b6e0abd964 100644 --- a/src/components/script/dom/htmltablesectionelement.rs +++ b/src/components/script/dom/htmltablesectionelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTableSectionElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTableSectionElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltemplateelement.rs b/src/components/script/dom/htmltemplateelement.rs index ffb7cd7e771..3061a0cbd60 100644 --- a/src/components/script/dom/htmltemplateelement.rs +++ b/src/components/script/dom/htmltemplateelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTemplateElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTemplateElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltextareaelement.rs b/src/components/script/dom/htmltextareaelement.rs index 78e3977b74e..aee0a60abd7 100644 --- a/src/components/script/dom/htmltextareaelement.rs +++ b/src/components/script/dom/htmltextareaelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTextAreaElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTextAreaElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltimeelement.rs b/src/components/script/dom/htmltimeelement.rs index 5e6f3113842..305c2edd103 100644 --- a/src/components/script/dom/htmltimeelement.rs +++ b/src/components/script/dom/htmltimeelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTimeElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLTimeElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltitleelement.rs b/src/components/script/dom/htmltitleelement.rs index b47bb4063eb..121d4fe1354 100644 --- a/src/components/script/dom/htmltitleelement.rs +++ b/src/components/script/dom/htmltitleelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTitleElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTitleElementDerived for EventTarget { diff --git a/src/components/script/dom/htmltrackelement.rs b/src/components/script/dom/htmltrackelement.rs index bd3129745ca..edf933a7b5d 100644 --- a/src/components/script/dom/htmltrackelement.rs +++ b/src/components/script/dom/htmltrackelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLTrackElement { - htmlelement: HTMLElement, + pub htmlelement: HTMLElement, } impl HTMLTrackElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlulistelement.rs b/src/components/script/dom/htmlulistelement.rs index 207b0866b7c..0d5cc6f212f 100644 --- a/src/components/script/dom/htmlulistelement.rs +++ b/src/components/script/dom/htmlulistelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLUListElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLUListElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlunknownelement.rs b/src/components/script/dom/htmlunknownelement.rs index 3c353acdb25..8a0acfad796 100644 --- a/src/components/script/dom/htmlunknownelement.rs +++ b/src/components/script/dom/htmlunknownelement.rs @@ -14,7 +14,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLUnknownElement { - htmlelement: HTMLElement + pub htmlelement: HTMLElement } impl HTMLUnknownElementDerived for EventTarget { diff --git a/src/components/script/dom/htmlvideoelement.rs b/src/components/script/dom/htmlvideoelement.rs index c34fb415084..f24ca8ce6b4 100644 --- a/src/components/script/dom/htmlvideoelement.rs +++ b/src/components/script/dom/htmlvideoelement.rs @@ -15,7 +15,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct HTMLVideoElement { - htmlmediaelement: HTMLMediaElement + pub htmlmediaelement: HTMLMediaElement } impl HTMLVideoElementDerived for EventTarget { diff --git a/src/components/script/dom/location.rs b/src/components/script/dom/location.rs index f813b375eca..feae1acddd8 100644 --- a/src/components/script/dom/location.rs +++ b/src/components/script/dom/location.rs @@ -17,8 +17,8 @@ use serialize::{Encoder, Encodable}; #[deriving(Encodable)] pub struct Location { - reflector_: Reflector, //XXXjdm cycle: window->Location->window - page: Rc<Page>, + pub reflector_: Reflector, //XXXjdm cycle: window->Location->window + pub page: Rc<Page>, } impl Location { diff --git a/src/components/script/dom/mouseevent.rs b/src/components/script/dom/mouseevent.rs index ff3c261684c..6032a4a36d5 100644 --- a/src/components/script/dom/mouseevent.rs +++ b/src/components/script/dom/mouseevent.rs @@ -15,17 +15,17 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct MouseEvent { - mouseevent: UIEvent, - screen_x: i32, - screen_y: i32, - client_x: i32, - client_y: i32, - ctrl_key: bool, - shift_key: bool, - alt_key: bool, - meta_key: bool, - button: u16, - related_target: Option<JS<EventTarget>> + pub mouseevent: UIEvent, + pub screen_x: i32, + pub screen_y: i32, + pub client_x: i32, + pub client_y: i32, + pub ctrl_key: bool, + pub shift_key: bool, + pub alt_key: bool, + pub meta_key: bool, + pub button: u16, + pub related_target: Option<JS<EventTarget>> } impl MouseEventDerived for Event { diff --git a/src/components/script/dom/navigator.rs b/src/components/script/dom/navigator.rs index 140fa082f91..0378b3c3507 100644 --- a/src/components/script/dom/navigator.rs +++ b/src/components/script/dom/navigator.rs @@ -11,7 +11,7 @@ use servo_util::str::DOMString; #[deriving(Encodable)] pub struct Navigator { - reflector_: Reflector //XXXjdm cycle: window->navigator->window + pub reflector_: Reflector //XXXjdm cycle: window->navigator->window } impl Navigator { diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index d1c8aa41341..f87d8ea6dae 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -35,12 +35,12 @@ use servo_util::str::{DOMString, null_str_as_empty}; use js::jsapi::{JSContext, JSObject, JSRuntime}; use js::jsfriendapi; +use libc; +use libc::uintptr_t; use std::cast::transmute; use std::cast; use std::cell::{RefCell, Ref, RefMut}; use std::iter::{Map, Filter}; -use std::libc; -use std::libc::uintptr_t; use std::mem; use serialize::{Encoder, Encodable}; @@ -53,44 +53,45 @@ use serialize::{Encoder, Encodable}; #[deriving(Encodable)] pub struct Node { /// The JavaScript reflector for this node. - eventtarget: EventTarget, + pub eventtarget: EventTarget, /// The type of node that this is. - type_id: NodeTypeId, + pub type_id: NodeTypeId, /// The parent of this node. - parent_node: Option<JS<Node>>, + pub parent_node: Option<JS<Node>>, /// The first child of this node. - first_child: Option<JS<Node>>, + pub first_child: Option<JS<Node>>, /// The last child of this node. - last_child: Option<JS<Node>>, + pub last_child: Option<JS<Node>>, /// The next sibling of this node. - next_sibling: Option<JS<Node>>, + pub next_sibling: Option<JS<Node>>, /// The previous sibling of this node. - prev_sibling: Option<JS<Node>>, + pub prev_sibling: Option<JS<Node>>, /// The document that this node belongs to. - priv owner_doc: Option<JS<Document>>, + owner_doc: Option<JS<Document>>, /// The live list of children return by .childNodes. - child_list: Option<JS<NodeList>>, + pub child_list: Option<JS<NodeList>>, /// A bitfield of flags for node items. - priv flags: NodeFlags, + flags: NodeFlags, /// Layout information. Only the layout task may touch this data. /// /// FIXME(pcwalton): We need to send these back to the layout task to be destroyed when this /// node is finalized. - layout_data: LayoutDataRef, + pub layout_data: LayoutDataRef, } -impl<S: Encoder> Encodable<S> for LayoutDataRef { - fn encode(&self, _s: &mut S) { +impl<S: Encoder<E>, E> Encodable<S, E> for LayoutDataRef { + fn encode(&self, _s: &mut S) -> Result<(), E> { + Ok(()) } } @@ -105,7 +106,7 @@ impl NodeDerived for EventTarget { /// Flags for node items. #[deriving(Encodable)] -pub struct NodeFlags(u8); +pub struct NodeFlags(pub u8); impl NodeFlags { pub fn new(type_id: NodeTypeId) -> NodeFlags { @@ -142,12 +143,12 @@ enum SuppressObserver { /// Encapsulates the abstract layout data. pub struct LayoutData { - priv chan: Option<LayoutChan>, - priv data: *(), + chan: Option<LayoutChan>, + data: *(), } pub struct LayoutDataRef { - data_cell: RefCell<Option<LayoutData>>, + pub data_cell: RefCell<Option<LayoutData>>, } impl LayoutDataRef { @@ -599,7 +600,7 @@ pub type ChildElementIterator<'a> = Map<'a, JS<Node>, Filter<'a, JS<Node>, AbstractNodeChildrenIterator>>; pub struct AbstractNodeChildrenIterator { - priv current_node: Option<JS<Node>>, + current_node: Option<JS<Node>>, } impl Iterator<JS<Node>> for AbstractNodeChildrenIterator { @@ -613,7 +614,7 @@ impl Iterator<JS<Node>> for AbstractNodeChildrenIterator { } pub struct AncestorIterator { - priv current: Option<JS<Node>>, + current: Option<JS<Node>>, } impl Iterator<JS<Node>> for AncestorIterator { @@ -632,8 +633,8 @@ impl Iterator<JS<Node>> for AncestorIterator { // FIXME: Do this without precomputing a vector of refs. // Easy for preorder; harder for postorder. pub struct TreeIterator { - priv nodes: ~[JS<Node>], - priv index: uint, + nodes: ~[JS<Node>], + index: uint, } impl TreeIterator { @@ -658,11 +659,11 @@ impl Iterator<JS<Node>> for TreeIterator { } pub struct NodeIterator { - start_node: JS<Node>, - current_node: Option<JS<Node>>, - depth: uint, - priv include_start: bool, - priv include_descendants_of_void: bool + pub start_node: JS<Node>, + pub current_node: Option<JS<Node>>, + pub depth: uint, + include_start: bool, + include_descendants_of_void: bool } impl NodeIterator { diff --git a/src/components/script/dom/nodelist.rs b/src/components/script/dom/nodelist.rs index 396fbad9c82..266be79ae68 100644 --- a/src/components/script/dom/nodelist.rs +++ b/src/components/script/dom/nodelist.rs @@ -16,9 +16,9 @@ pub enum NodeListType { #[deriving(Encodable)] pub struct NodeList { - list_type: NodeListType, - reflector_: Reflector, - window: JS<Window> + pub list_type: NodeListType, + pub reflector_: Reflector, + pub window: JS<Window> } impl NodeList { @@ -55,7 +55,7 @@ impl NodeList { pub fn Item(&self, index: u32) -> Option<JS<Node>> { match self.list_type { _ if index >= self.Length() => None, - Simple(ref elems) => Some(elems[index].clone()), + Simple(ref elems) => Some(elems[index as uint].clone()), Children(ref node) => node.children().nth(index as uint) } } diff --git a/src/components/script/dom/processinginstruction.rs b/src/components/script/dom/processinginstruction.rs index 85d247fe94a..89d8524fa3a 100644 --- a/src/components/script/dom/processinginstruction.rs +++ b/src/components/script/dom/processinginstruction.rs @@ -14,8 +14,8 @@ use servo_util::str::DOMString; /// An HTML processing instruction node. #[deriving(Encodable)] pub struct ProcessingInstruction { - characterdata: CharacterData, - target: DOMString, + pub characterdata: CharacterData, + pub target: DOMString, } impl ProcessingInstructionDerived for EventTarget { diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs index 6a2b2bba8a7..1995221ddc9 100644 --- a/src/components/script/dom/testbinding.rs +++ b/src/components/script/dom/testbinding.rs @@ -16,8 +16,8 @@ use js::jsval::{JSVal, NullValue}; #[deriving(Encodable)] pub struct TestBinding { - reflector: Reflector, - window: JS<Window>, + pub reflector: Reflector, + pub window: JS<Window>, } impl TestBinding { diff --git a/src/components/script/dom/text.rs b/src/components/script/dom/text.rs index 391c2bcf02a..a0945480295 100644 --- a/src/components/script/dom/text.rs +++ b/src/components/script/dom/text.rs @@ -16,7 +16,7 @@ use servo_util::str::DOMString; /// An HTML text node. #[deriving(Encodable)] pub struct Text { - characterdata: CharacterData, + pub characterdata: CharacterData, } impl TextDerived for EventTarget { diff --git a/src/components/script/dom/uievent.rs b/src/components/script/dom/uievent.rs index 7411c678e55..a5addd478f7 100644 --- a/src/components/script/dom/uievent.rs +++ b/src/components/script/dom/uievent.rs @@ -16,9 +16,9 @@ use serialize::{Encoder, Encodable}; #[deriving(Encodable)] pub struct UIEvent { - event: Event, - view: Option<JS<Window>>, - detail: i32 + pub event: Event, + pub view: Option<JS<Window>>, + pub detail: i32 } impl UIEventDerived for Event { diff --git a/src/components/script/dom/validitystate.rs b/src/components/script/dom/validitystate.rs index 4ad6d8657e4..5622b939286 100644 --- a/src/components/script/dom/validitystate.rs +++ b/src/components/script/dom/validitystate.rs @@ -9,9 +9,9 @@ use dom::window::Window; #[deriving(Encodable)] pub struct ValidityState { - reflector_: Reflector, - window: JS<Window>, - state: u8, + pub reflector_: Reflector, + pub window: JS<Window>, + pub state: u8, } impl ValidityState { diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs index e29a2ceb886..26cccc7f6d8 100644 --- a/src/components/script/dom/window.rs +++ b/src/components/script/dom/window.rs @@ -36,12 +36,13 @@ use serialize::{Encoder, Encodable}; use url::Url; pub struct TimerHandle { - handle: i32, - cancel_chan: Option<Sender<()>>, + pub handle: i32, + pub cancel_chan: Option<Sender<()>>, } -impl<S: Encoder> Encodable<S> for TimerHandle { - fn encode(&self, _: &mut S) { +impl<S: Encoder<E>, E> Encodable<S, E> for TimerHandle { + fn encode(&self, _s: &mut S) -> Result<(), E> { + Ok(()) } } @@ -57,11 +58,7 @@ impl Eq for TimerHandle { } } -impl TotalEq for TimerHandle { - fn equals(&self, other: &TimerHandle) -> bool { - self.eq(other) - } -} +impl TotalEq for TimerHandle { } impl TimerHandle { fn cancel(&self) { @@ -71,17 +68,17 @@ impl TimerHandle { #[deriving(Encodable)] pub struct Window { - eventtarget: EventTarget, - script_chan: ScriptChan, - console: Option<JS<Console>>, - location: Option<JS<Location>>, - navigator: Option<JS<Navigator>>, - image_cache_task: ImageCacheTask, - active_timers: ~HashMap<i32, TimerHandle>, - next_timer_handle: i32, - compositor: Untraceable<~ScriptListener>, - browser_context: Option<BrowserContext>, - page: Rc<Page>, + pub eventtarget: EventTarget, + pub script_chan: ScriptChan, + pub console: Option<JS<Console>>, + pub location: Option<JS<Location>>, + pub navigator: Option<JS<Navigator>>, + pub image_cache_task: ImageCacheTask, + pub active_timers: ~HashMap<i32, TimerHandle>, + pub next_timer_handle: i32, + pub compositor: Untraceable<~ScriptListener>, + pub browser_context: Option<BrowserContext>, + pub page: Rc<Page>, } impl Window { @@ -111,10 +108,10 @@ impl Drop for Window { // (ie. function value to invoke and all arguments to pass // to the function when calling it) pub struct TimerData { - handle: i32, - is_interval: bool, - funval: JSVal, - args: ~[JSVal], + pub handle: i32, + pub is_interval: bool, + pub funval: JSVal, + pub args: ~[JSVal], } impl Window { diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index 0811f54ace5..64f61825859 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -46,8 +46,8 @@ macro_rules! handle_element( pub struct JSFile { - data: ~str, - url: Url + pub data: ~str, + pub url: Url } pub type JSResult = ~[JSFile]; @@ -71,7 +71,7 @@ pub enum HtmlDiscoveryMessage { } pub struct HtmlParserResult { - discovery_port: Receiver<HtmlDiscoveryMessage>, + pub discovery_port: Receiver<HtmlDiscoveryMessage>, } trait NodeWrapping { @@ -375,7 +375,7 @@ pub fn parse_html(page: &Page, // Subpage Id let subpage_id = *next_subpage_id.borrow(); let SubpageId(id_num) = subpage_id; - next_subpage_id.set(SubpageId(id_num + 1)); + *next_subpage_id.borrow_mut() = SubpageId(id_num + 1); iframe_element.get_mut().size = Some(IFrameSize { pipeline_id: pipeline_id, diff --git a/src/components/script/layout_interface.rs b/src/components/script/layout_interface.rs index a29aa2fa08e..224c51918a8 100644 --- a/src/components/script/layout_interface.rs +++ b/src/components/script/layout_interface.rs @@ -12,11 +12,11 @@ use dom::node::{Node, LayoutDataRef}; use geom::point::Point2D; use geom::rect::Rect; use geom::size::Size2D; +use libc::c_void; use script_task::{ScriptChan}; use servo_util::geometry::Au; use std::cmp; use std::comm::{channel, Receiver, Sender}; -use std::libc::c_void; use style::Stylesheet; use url::Url; @@ -65,15 +65,16 @@ pub enum LayoutQuery { /// The address of a node known to be valid. These must only be sent from content -> layout, /// because we do not trust layout. -pub struct TrustedNodeAddress(*c_void); +pub struct TrustedNodeAddress(pub *c_void); -impl<S: Encoder> Encodable<S> for TrustedNodeAddress { - fn encode(&self, s: &mut S) { +impl<S: Encoder<E>, E> Encodable<S, E> for TrustedNodeAddress { + fn encode(&self, s: &mut S) -> Result<(), E> { let TrustedNodeAddress(addr) = *self; let node = addr as *Node as *mut Node; unsafe { JS::from_raw(node).encode(s) - } + }; + Ok(()) } } @@ -81,10 +82,10 @@ impl<S: Encoder> Encodable<S> for TrustedNodeAddress { /// `from_untrusted_node_address` before they can be used, because we do not trust layout. pub type UntrustedNodeAddress = *c_void; -pub struct ContentBoxResponse(Rect<Au>); -pub struct ContentBoxesResponse(~[Rect<Au>]); -pub struct HitTestResponse(UntrustedNodeAddress); -pub struct MouseOverResponse(~[UntrustedNodeAddress]); +pub struct ContentBoxResponse(pub Rect<Au>); +pub struct ContentBoxesResponse(pub ~[Rect<Au>]); +pub struct HitTestResponse(pub UntrustedNodeAddress); +pub struct MouseOverResponse(pub ~[UntrustedNodeAddress]); /// Determines which part of the #[deriving(Eq, Ord, TotalEq, TotalOrd, Encodable)] @@ -110,9 +111,9 @@ impl DocumentDamageLevel { #[deriving(Encodable)] pub struct DocumentDamage { /// The topmost node in the tree that has changed. - root: TrustedNodeAddress, + pub root: TrustedNodeAddress, /// The amount of damage that occurred. - level: DocumentDamageLevel, + pub level: DocumentDamageLevel, } /// Why we're doing reflow. @@ -127,26 +128,26 @@ pub enum ReflowGoal { /// Information needed for a reflow. pub struct Reflow { /// The document node. - document_root: TrustedNodeAddress, + pub document_root: TrustedNodeAddress, /// The style changes that need to be done. - damage: DocumentDamage, + pub damage: DocumentDamage, /// The goal of reflow: either to render to the screen or to flush layout info for script. - goal: ReflowGoal, + pub goal: ReflowGoal, /// The URL of the page. - url: Url, + pub url: Url, /// The channel through which messages can be sent back to the script task. - script_chan: ScriptChan, + pub script_chan: ScriptChan, /// The current window size. - window_size: Size2D<uint>, + pub window_size: Size2D<uint>, /// The channel that we send a notification to. - script_join_chan: Sender<()>, + pub script_join_chan: Sender<()>, /// Unique identifier - id: uint + pub id: uint } /// Encapsulates a channel to the layout task. #[deriving(Clone)] -pub struct LayoutChan(Sender<Msg>); +pub struct LayoutChan(pub Sender<Msg>); impl LayoutChan { pub fn new() -> (Receiver<Msg>, LayoutChan) { diff --git a/src/components/script/script.rs b/src/components/script/script.rs index 7cbb2c28d1f..e72dc8af372 100644 --- a/src/components/script/script.rs +++ b/src/components/script/script.rs @@ -2,17 +2,17 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#[crate_id = "github.com/mozilla/servo#script:0.1"]; -#[crate_type = "lib"]; -#[crate_type = "dylib"]; -#[crate_type = "rlib"]; +#![crate_id = "github.com/mozilla/servo#script:0.1"] +#![crate_type = "lib"] +#![crate_type = "dylib"] +#![crate_type = "rlib"] -#[comment = "The Servo Parallel Browser Project"]; -#[license = "MPL"]; +#![comment = "The Servo Parallel Browser Project"] +#![license = "MPL"] -#[feature(globs, macro_rules, struct_variant, phase)]; +#![feature(globs, macro_rules, struct_variant, phase)] -#[feature(phase)]; +#![feature(phase)] #[phase(syntax, link)] extern crate log; @@ -21,6 +21,7 @@ extern crate geom; extern crate hubbub; extern crate encoding; extern crate js; +extern crate libc; extern crate native; extern crate serialize; #[phase(syntax)] diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs index ee1aa22f1ba..44312b3312c 100644 --- a/src/components/script/script_task.rs +++ b/src/components/script/script_task.rs @@ -85,17 +85,18 @@ pub enum ScriptMsg { } pub struct NewLayoutInfo { - old_id: PipelineId, - new_id: PipelineId, - layout_chan: LayoutChan, + pub old_id: PipelineId, + pub new_id: PipelineId, + pub layout_chan: LayoutChan, } /// Encapsulates external communication with the script task. #[deriving(Clone)] -pub struct ScriptChan(Sender<ScriptMsg>); +pub struct ScriptChan(pub Sender<ScriptMsg>); -impl<S: Encoder> Encodable<S> for ScriptChan { - fn encode(&self, _s: &mut S) { +impl<S: Encoder<E>, E> Encodable<S, E> for ScriptChan { + fn encode(&self, _s: &mut S) -> Result<(), E> { + Ok(()) } } @@ -111,50 +112,50 @@ impl ScriptChan { #[deriving(Encodable)] pub struct Page { /// Pipeline id associated with this page. - id: PipelineId, + pub id: PipelineId, /// Unique id for last reflow request; used for confirming completion reply. - last_reflow_id: Traceable<RefCell<uint>>, + pub last_reflow_id: Traceable<RefCell<uint>>, /// The outermost frame containing the document, window, and page URL. - frame: Traceable<RefCell<Option<Frame>>>, + pub frame: Traceable<RefCell<Option<Frame>>>, /// A handle for communicating messages to the layout task. - layout_chan: Untraceable<LayoutChan>, + pub layout_chan: Untraceable<LayoutChan>, /// The port that we will use to join layout. If this is `None`, then layout is not running. - layout_join_port: Untraceable<RefCell<Option<Receiver<()>>>>, + pub layout_join_port: Untraceable<RefCell<Option<Receiver<()>>>>, /// What parts of the document are dirty, if any. - damage: Traceable<RefCell<Option<DocumentDamage>>>, + pub damage: Traceable<RefCell<Option<DocumentDamage>>>, /// The current size of the window, in pixels. - window_size: Untraceable<RefCell<Size2D<uint>>>, + pub window_size: Untraceable<RefCell<Size2D<uint>>>, - js_info: Traceable<RefCell<Option<JSPageInfo>>>, + pub js_info: Traceable<RefCell<Option<JSPageInfo>>>, /// Cached copy of the most recent url loaded by the script /// TODO(tkuehn): this currently does not follow any particular caching policy /// and simply caches pages forever (!). The bool indicates if reflow is required /// when reloading. - url: Untraceable<RefCell<Option<(Url, bool)>>>, + pub url: Untraceable<RefCell<Option<(Url, bool)>>>, - next_subpage_id: Untraceable<RefCell<SubpageId>>, + pub next_subpage_id: Untraceable<RefCell<SubpageId>>, /// Pending resize event, if any. - resize_event: Untraceable<RefCell<Option<Size2D<uint>>>>, + pub resize_event: Untraceable<RefCell<Option<Size2D<uint>>>>, /// Pending scroll to fragment event, if any - fragment_node: Traceable<RefCell<Option<JS<Element>>>> + pub fragment_node: Traceable<RefCell<Option<JS<Element>>>> } pub struct PageTree { - page: Rc<Page>, - inner: ~[PageTree], + pub page: Rc<Page>, + pub inner: ~[PageTree], } pub struct PageTreeIterator<'a> { - priv stack: ~[&'a mut PageTree], + stack: ~[&'a mut PageTree], } impl PageTree { @@ -483,18 +484,18 @@ impl Page { #[deriving(Encodable)] pub struct Frame { /// The document for this frame. - document: JS<Document>, + pub document: JS<Document>, /// The window object for this frame. - window: JS<Window>, + pub window: JS<Window>, } /// Encapsulation of the javascript information associated with each frame. #[deriving(Encodable)] pub struct JSPageInfo { /// Global static data related to the DOM. - dom_static: GlobalStaticData, + pub dom_static: GlobalStaticData, /// The JavaScript context. - js_context: Untraceable<Rc<Cx>>, + pub js_context: Untraceable<Rc<Cx>>, } /// Information for an entire page. Pages are top-level browsing contexts and can contain multiple @@ -503,27 +504,27 @@ pub struct JSPageInfo { /// FIXME: Rename to `Page`, following WebKit? pub struct ScriptTask { /// A handle to the information pertaining to page layout - page_tree: RefCell<PageTree>, + pub page_tree: RefCell<PageTree>, /// A handle to the image cache task. - image_cache_task: ImageCacheTask, + pub image_cache_task: ImageCacheTask, /// A handle to the resource task. - resource_task: ResourceTask, + pub resource_task: ResourceTask, /// The port on which the script task receives messages (load URL, exit, etc.) - port: Receiver<ScriptMsg>, + pub port: Receiver<ScriptMsg>, /// A channel to hand out when some other task needs to be able to respond to a message from /// the script task. - chan: ScriptChan, + pub chan: ScriptChan, /// For communicating load url messages to the constellation - constellation_chan: ConstellationChan, + pub constellation_chan: ConstellationChan, /// A handle to the compositor for communicating ready state messages. - compositor: ~ScriptListener, + pub compositor: ~ScriptListener, /// The JavaScript runtime. - js_runtime: js::rust::rt, + pub js_runtime: js::rust::rt, - mouse_over_targets: RefCell<Option<~[JS<Node>]>> + pub mouse_over_targets: RefCell<Option<~[JS<Node>]>> } /// In the event of task failure, all data on the stack runs its destructor. However, there @@ -927,7 +928,7 @@ impl ScriptTask { } Some(HtmlDiscoveredIFrame((iframe_url, subpage_id, sandboxed))) => { let SubpageId(num) = subpage_id; - page.next_subpage_id.deref().set(SubpageId(num + 1)); + *page.next_subpage_id.deref().borrow_mut() = SubpageId(num + 1); let sandboxed = if sandboxed { IFrameSandboxed } else { |