mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Move Document and Node to own files.
This commit is contained in:
parent
789398ddc2
commit
719310615e
16 changed files with 44 additions and 39 deletions
|
@ -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;
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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<CSSBackgroundColor>,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
17
src/servo/dom/document.rs
Normal file
17
src/servo/dom/document.rs
Normal file
|
@ -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<Stylesheet>,
|
||||
}
|
||||
|
||||
fn Document(root: Node, scope: NodeScope, -css_rules: Stylesheet) -> Document {
|
||||
Document {
|
||||
root : root,
|
||||
scope : scope,
|
||||
css_rules : ARC(css_rules),
|
||||
}
|
||||
}
|
|
@ -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<Stylesheet>,
|
||||
}
|
||||
|
||||
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<Node>,
|
||||
kind: ~NodeKind,
|
|
@ -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};
|
||||
|
|
|
@ -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;
|
||||
|
||||
/*
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue