From e089607ea0f84d4414002fb1e900ac8ecc0d273b Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 3 May 2012 16:33:14 -0700 Subject: [PATCH] Move DOM nodes into dom/base --- src/servo/dom/base.rs | 33 +++++++++++++++++++++++++++++++++ src/servo/layout/base.rs | 29 +---------------------------- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/src/servo/dom/base.rs b/src/servo/dom/base.rs index e69de29bb2d..61af39f19cf 100644 --- a/src/servo/dom/base.rs +++ b/src/servo/dom/base.rs @@ -0,0 +1,33 @@ +import dom::rcu::methods; +import gfx::geom::{au, size}; +import layout::base::box; +import util::tree; + +enum node_data = { + tree: tree::fields, + kind: node_kind, + + // Points to the primary box. Note that there may be multiple + // boxes per DOM node. + mut box: option, +}; + +enum node_kind { + nk_div, + nk_img(size) +} + +type node = rcu::handle; + +impl of tree::tree for node { + fn tree_fields() -> tree::fields { + ret self.get().tree; + } +} + +fn new_node(+k: node_kind) -> node { + rcu::handle(node_data({tree: tree::empty(), + kind: k, + mut box: none})) +} + diff --git a/src/servo/layout/base.rs b/src/servo/layout/base.rs index ca3202095ee..1c226a964d9 100644 --- a/src/servo/layout/base.rs +++ b/src/servo/layout/base.rs @@ -1,3 +1,4 @@ +import dom::base::{nk_img, node_data, node_kind, node, new_node}; import dom::rcu; import dom::rcu::methods; import gfx::geom; @@ -10,40 +11,12 @@ enum box = @{ mut bounds: geom::rect }; -enum node_data = { - tree: tree::fields, - kind: node_kind, - - // Points to the primary box. Note that there may be multiple - // boxes per DOM node. - mut box: option, -}; - -enum node_kind { - nk_div, - nk_img(size) -} - -type node = rcu::handle; - impl of tree::tree for box { fn tree_fields() -> tree::fields { ret self.tree; } } -impl of tree::tree for node { - fn tree_fields() -> tree::fields { - ret self.get().tree; - } -} - -fn new_node(+k: node_kind) -> node { - rcu::handle(node_data({tree: tree::empty(), - kind: k, - mut box: none})) -} - fn new_box(n: node) -> box { box(@{tree: tree::empty(), node: n,