diff --git a/src/servo/content/content_task.rs b/src/servo/content/content_task.rs index 47fa9a1bc74..ed417e39d8b 100644 --- a/src/servo/content/content_task.rs +++ b/src/servo/content/content_task.rs @@ -12,7 +12,8 @@ use comm::{Port, Chan, listen, select2}; use task::{spawn, spawn_listener}; use io::{read_whole_file, println}; -use dom::base::{Document, Node, NodeScope, define_bindings}; +use dom::document::Document; +use dom::node::{Node, NodeScope, define_bindings}; use dom::event::{Event, ResizeEvent, ReflowEvent}; use dom::window::Window; use gfx::compositor::Compositor; diff --git a/src/servo/css/resolve/apply.rs b/src/servo/css/resolve/apply.rs index 88a8bae79d5..7a1dbda0a21 100644 --- a/src/servo/css/resolve/apply.rs +++ b/src/servo/css/resolve/apply.rs @@ -120,7 +120,7 @@ impl StyleApplicator { // Right now, we only handle images. do self.box.node.read |node| { match node.kind { - ~dom::base::Element(element) => { + ~dom::node::Element(element) => { match element.kind { ~HTMLImageElement(*) => { let url = element.get_attr(~"src"); diff --git a/src/servo/css/resolve/matching.rs b/src/servo/css/resolve/matching.rs index 611fce679ab..86c85086c49 100644 --- a/src/servo/css/resolve/matching.rs +++ b/src/servo/css/resolve/matching.rs @@ -1,9 +1,7 @@ #[doc="Performs CSS selector matching."] -use dom::base::{LayoutData}; -use dom::base; +use dom::node::{LayoutData, Node, Text}; use dom::element::ElementData; -use base::{Node, Text}; use values::*; use styles::{SpecifiedStyle}; @@ -67,7 +65,7 @@ impl Node : PrivMatchingMethods { Child(_, _) | Descendant(_, _) | Sibling(_, _) => { return false; } Element(tag, attrs) => { match self.read(|n| copy *n.kind) { - base::Element(elmt) => { + dom::node::Element(elmt) => { if !(tag == ~"*" || tag == elmt.tag_name) { return false; } @@ -209,8 +207,8 @@ impl Node : MatchingMethods { #[cfg(test)] mod test { - use dom::base::{Attr, HTMLDivElement, HTMLHeadElement, HTMLImageElement}; - use dom::base::{NodeScope, UnknownElement}; + use dom::element::{Attr, HTMLDivElement, HTMLHeadElement, HTMLImageElement, UnknownElement}; + use dom::node::NodeScope; use dvec::DVec; #[allow(non_implicitly_copyable_typarams)] @@ -218,7 +216,7 @@ mod test { let elmt = ElementData(~"div", ~HTMLDivElement); let attr = ~Attr(name, val); elmt.attrs.push(attr); - return scope.new_node(base::Element(elmt)); + return scope.new_node(dom::node::Element(elmt)); } #[test] diff --git a/src/servo/css/styles.rs b/src/servo/css/styles.rs index 4e598579720..d07ae8e1ee1 100644 --- a/src/servo/css/styles.rs +++ b/src/servo/css/styles.rs @@ -5,11 +5,10 @@ use std::arc::{ARC, get, clone}; use css::values::*; use css::values::Stylesheet; use dom::element::{HTMLDivElement, HTMLHeadElement, HTMLImageElement, UnknownElement, HTMLScriptElement}; -use dom::base::{Comment, Doctype, Element, Node, NodeKind, Text}; -use dom::base::{LayoutData}; +use dom::node::{Comment, Doctype, Element, Text, + Node, NodeKind, NodeTree, LayoutData}; use util::color::{Color, rgb}; use util::color::css_colors::{white, black}; -use dom::base::NodeTree; use layout::context::LayoutContext; type SpecifiedStyle = {mut background_color : CSSValue, diff --git a/src/servo/dom/bindings/document.rs b/src/servo/dom/bindings/document.rs index 0c0093aaf72..036ad799a43 100644 --- a/src/servo/dom/bindings/document.rs +++ b/src/servo/dom/bindings/document.rs @@ -12,7 +12,8 @@ use ptr::null; use libc::c_uint; use utils::{DOMString, domstring_to_jsval, rust_box, squirrel_away, str}; use bindings::node::create; -use base::Document; + +use dom::document::Document; enum DOMException { INVALID_CHARACTER_ERR diff --git a/src/servo/dom/bindings/element.rs b/src/servo/dom/bindings/element.rs index e0562b36a32..933838b96cc 100644 --- a/src/servo/dom/bindings/element.rs +++ b/src/servo/dom/bindings/element.rs @@ -11,7 +11,7 @@ use js::jsapi::bindgen::*; use js::glue::bindgen::*; use js::crust::{JS_PropertyStub, JS_StrictPropertyStub, JS_EnumerateStub, JS_ConvertStub}; -use dom::base::{Node, NodeScope, Element}; +use dom::node::{Node, NodeScope, Element}; use dom::element::*; use node::NodeBundle; use utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval, str}; diff --git a/src/servo/dom/bindings/node.rs b/src/servo/dom/bindings/node.rs index 3731913e362..0158ac2a3f8 100644 --- a/src/servo/dom/bindings/node.rs +++ b/src/servo/dom/bindings/node.rs @@ -9,7 +9,7 @@ use js::jsapi::bindgen::*; use js::glue::bindgen::*; use js::crust::{JS_PropertyStub, JS_StrictPropertyStub, JS_EnumerateStub, JS_ConvertStub}; -use dom::base::{Node, NodeScope, Element, Text, Doctype, Comment}; +use dom::node::{Node, NodeScope, Text, Doctype, Comment, Element}; use utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval, str}; use libc::c_uint; use ptr::null; diff --git a/src/servo/dom/bindings/window.rs b/src/servo/dom/bindings/window.rs index 60a192a78f6..aeec2b670a9 100644 --- a/src/servo/dom/bindings/window.rs +++ b/src/servo/dom/bindings/window.rs @@ -14,7 +14,7 @@ use libc::c_uint; use utils::{rust_box, squirrel_away, jsval_to_str}; use bindings::node::create; use dom::window::{Window, TimerMessage_Fire}; -use dom::base::Node; +use dom::node::Node; use dvec::DVec; extern fn alert(cx: *JSContext, argc: c_uint, vp: *jsval) -> JSBool { diff --git a/src/servo/dom/document.rs b/src/servo/dom/document.rs new file mode 100644 index 00000000000..a07ae5f9c6f --- /dev/null +++ b/src/servo/dom/document.rs @@ -0,0 +1,17 @@ +use css::values::Stylesheet; +use dom::node::{NodeScope, Node}; +use std::arc::ARC; + +struct Document { + root: Node, + scope: NodeScope, + css_rules: ARC, +} + +fn Document(root: Node, scope: NodeScope, -css_rules: Stylesheet) -> Document { + Document { + root : root, + scope : scope, + css_rules : ARC(css_rules), + } +} diff --git a/src/servo/dom/base.rs b/src/servo/dom/node.rs similarity index 93% rename from src/servo/dom/base.rs rename to src/servo/dom/node.rs index b02a3a5323b..f67b890a298 100644 --- a/src/servo/dom/base.rs +++ b/src/servo/dom/node.rs @@ -1,6 +1,7 @@ /* The core DOM types. Defines the basic DOM hierarchy as well as all the HTML elements. */ use css::styles::SpecifiedStyle; use css::values::Stylesheet; +use dom::document::Document; use dom::element::{Attr, ElementData}; use dom::window::Window; use dom::bindings; @@ -17,20 +18,6 @@ use ptr::null; use std::arc::ARC; use util::tree; -struct Document { - root: Node, - scope: NodeScope, - css_rules: ARC, -} - -fn Document(root: Node, scope: NodeScope, -css_rules: Stylesheet) -> Document { - Document { - root : root, - scope : scope, - css_rules : ARC(css_rules), - } -} - enum NodeData = { tree: tree::Tree, kind: ~NodeKind, diff --git a/src/servo/html/hubbub_html_parser.rs b/src/servo/html/hubbub_html_parser.rs index 0dc61abb8d8..b684f2fb226 100644 --- a/src/servo/html/hubbub_html_parser.rs +++ b/src/servo/html/hubbub_html_parser.rs @@ -1,7 +1,8 @@ use au = gfx::geometry; -use dom::base::{Comment, Doctype, DoctypeData, Element}; +use dom::element::UnknownElement; +use dom::node::{Comment, Doctype, DoctypeData, Text, + Element, Node, NodeScope}; use dom::element::*; -use dom::base::{Node, NodeScope, Text, UnknownElement}; use css::values::Stylesheet; use geom::size::Size2D; use resource::resource_task::{Done, Load, Payload, ResourceTask}; diff --git a/src/servo/layout/base.rs b/src/servo/layout/base.rs index 71062a44f9f..31a182b9990 100644 --- a/src/servo/layout/base.rs +++ b/src/servo/layout/base.rs @@ -11,7 +11,7 @@ use css::styles::SpecifiedStyle; use css::values::{BoxSizing, Length, Px, CSSDisplay, Specified, BgColor, BgTransparent}; use dl = gfx::display_list; use dom::element::{ElementKind, HTMLDivElement, HTMLImageElement}; -use dom::base::{Element, Node, NodeData, NodeKind, NodeTree}; +use dom::node::{Element, Node, NodeData, NodeKind, NodeTree}; use dom::rcu; use geom::rect::Rect; use geom::size::Size2D; @@ -527,8 +527,8 @@ impl @RenderBox : DebugMethods { #[cfg(test)] mod test { - use dom::base::{Element, ElementData, HTMLDivElement, HTMLImageElement, Node, NodeKind}; - use dom::base::{NodeScope}; + use dom::element::{ElementData, HTMLDivElement, HTMLImageElement}; + use dom::node::{Element, NodeScope, Node, NodeKind}; use dom::rcu::Scope; /* diff --git a/src/servo/layout/box_builder.rs b/src/servo/layout/box_builder.rs index 1181964818f..51278d2c5d7 100644 --- a/src/servo/layout/box_builder.rs +++ b/src/servo/layout/box_builder.rs @@ -4,8 +4,8 @@ use core::dvec::DVec; use css::styles::SpecifiedStyle; use css::values::{CSSDisplay, DisplayBlock, DisplayInline, DisplayInlineBlock, DisplayNone}; use css::values::{Inherit, Initial, Specified}; -use dom::base::{Node, Comment, Text, Element, Doctype, NodeTree}; use dom::element::*; +use dom::node::{Comment, Doctype, Element, Text, Node, NodeTree}; use layout::base::{RenderBox, BoxData, GenericBox, ImageBox, TextBox, RenderBoxTree}; use layout::base::{FlowContext, FlowContextData, BlockFlow, InlineFlow, InlineBlockFlow, RootFlow, FlowTree}; use layout::block::BlockFlowData; diff --git a/src/servo/layout/display_list_builder.rs b/src/servo/layout/display_list_builder.rs index b62a5756d28..723e3c5d630 100644 --- a/src/servo/layout/display_list_builder.rs +++ b/src/servo/layout/display_list_builder.rs @@ -4,7 +4,7 @@ use au = gfx::geometry; use base::{RenderBox, RenderBoxTree}; use css::values::{BgColor, BgTransparent, Specified}; use dl = gfx::display_list; -use dom::base::{Text, NodeScope}; +use dom::node::{Text, NodeScope}; use dom::rcu::Scope; use dvec::DVec; use either::{Left, Right}; diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs index 9aa88977e6c..7143bc237e2 100644 --- a/src/servo/layout/layout_task.rs +++ b/src/servo/layout/layout_task.rs @@ -10,7 +10,7 @@ use core::dvec::DVec; use css::resolve::apply::apply_style; use css::values::Stylesheet; use dl = gfx::display_list; -use dom::base::Node; +use dom::node::Node; use dom::event::{Event, ReflowEvent}; use geom::point::Point2D; use geom::rect::Rect; diff --git a/src/servo/servo.rc b/src/servo/servo.rc index 15d4c218384..8be9be5e94f 100755 --- a/src/servo/servo.rc +++ b/src/servo/servo.rc @@ -23,7 +23,6 @@ extern mod hubbub; mod engine; mod dom { - mod base; mod bindings { mod document; mod element; @@ -31,8 +30,10 @@ mod dom { mod node; mod window; } + mod document; mod element; mod event; + mod node; mod rcu; mod window; }