diff --git a/src/components/main/layout/text.rs b/src/components/main/layout/text.rs index 5b7e0dc466d..457b014ed9c 100644 --- a/src/components/main/layout/text.rs +++ b/src/components/main/layout/text.rs @@ -228,7 +228,7 @@ impl TextRunScanner { debug!("--- Elem ranges: ---"); for (i, nr) in inline.elems.eachi() { - debug!("{:u}: {} --> {:s}", i, nr.range, nr.node.debug_str()); () + debug!("{:u}: {} --> {:?}", i, nr.range, nr.node.id()); () } debug!("--------------------"); diff --git a/src/components/main/layout/util.rs b/src/components/main/layout/util.rs index 712ba97ec54..22763308da6 100644 --- a/src/components/main/layout/util.rs +++ b/src/components/main/layout/util.rs @@ -18,12 +18,12 @@ use style::{ComputedValues, PropertyDeclaration}; /// A range of nodes. pub struct NodeRange { - node: AbstractNode, + node: OpaqueNode, range: Range, } impl NodeRange { - pub fn new(node: AbstractNode, range: &Range) -> NodeRange { + pub fn new(node: OpaqueNode, range: &Range) -> NodeRange { NodeRange { node: node, range: (*range).clone() @@ -37,10 +37,12 @@ struct ElementMapping { impl ElementMapping { pub fn new() -> ElementMapping { - ElementMapping { entries: ~[] } + ElementMapping { + entries: ~[], + } } - pub fn add_mapping(&mut self, node: AbstractNode, range: &Range) { + pub fn add_mapping(&mut self, node: OpaqueNode, range: &Range) { self.entries.push(NodeRange::new(node, range)) } @@ -74,7 +76,7 @@ impl ElementMapping { debug!("--- Elem ranges before repair: ---"); for (i, nr) in entries.iter().enumerate() { - debug!("{:u}: {} --> {:s}", i, nr.range, nr.node.debug_str()); + debug!("{:u}: {} --> {:?}", i, nr.range, nr.node.id()); } debug!("----------------------------------"); @@ -116,7 +118,7 @@ impl ElementMapping { } debug!("--- Elem ranges after repair: ---"); for (i, nr) in entries.iter().enumerate() { - debug!("{:u}: {} --> {:s}", i, nr.range, nr.node.debug_str()); + debug!("{:u}: {} --> {:?}", i, nr.range, nr.node.id()); } debug!("----------------------------------"); } @@ -213,5 +215,12 @@ impl OpaqueNode { pub unsafe fn to_node(&self) -> AbstractNode { cast::transmute(**self) } + + /// Returns the address of this node, for debugging purposes. + pub fn id(&self) -> uintptr_t { + unsafe { + cast::transmute_copy(self) + } + } }