diff --git a/src/servo/css/select_handler.rs b/src/servo/css/select_handler.rs index 0ac1ba30b1c..e3df15afce4 100644 --- a/src/servo/css/select_handler.rs +++ b/src/servo/css/select_handler.rs @@ -66,4 +66,27 @@ impl NodeSelectHandler: SelectHandler { fn node_is_root(node: &Node) -> bool { self.parent_node(node).is_none() } + + fn node_id(node: &Node) -> Option<~str> { + do node.read |data| { + match *data.kind { + Element(ref data) => data.get_attr("id"), + _ => fail ~"attempting to style non-element node" + } + } + } + + fn node_has_id(node: &Node, id: &str) -> bool { + do node.read |data| { + match *data.kind { + Element(ref data) => { + match data.get_attr("id") { + None => false, + Some(existing_id) => str::eq_slice(id, existing_id) + } + } + _ => fail ~"attempting to style non-element node" + } + } + } }