mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
auto merge of #1426 : pcwalton/servo/opaque-node-range, r=larsbergstrom
These were stored in inline flows. This was caught by my WIP changes to harden layout (yay for Rust!) r? @larsbergstrom
This commit is contained in:
commit
0e14745762
2 changed files with 16 additions and 7 deletions
|
@ -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!("--------------------");
|
||||
|
||||
|
|
|
@ -18,12 +18,12 @@ use style::{ComputedValues, PropertyDeclaration};
|
|||
|
||||
/// A range of nodes.
|
||||
pub struct NodeRange {
|
||||
node: AbstractNode<LayoutView>,
|
||||
node: OpaqueNode,
|
||||
range: Range,
|
||||
}
|
||||
|
||||
impl NodeRange {
|
||||
pub fn new(node: AbstractNode<LayoutView>, 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<LayoutView>, 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<T>(&self) -> AbstractNode<T> {
|
||||
cast::transmute(**self)
|
||||
}
|
||||
|
||||
/// Returns the address of this node, for debugging purposes.
|
||||
pub fn id(&self) -> uintptr_t {
|
||||
unsafe {
|
||||
cast::transmute_copy(self)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue