aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2015-04-18 13:43:33 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2015-04-30 12:53:36 +0200
commitbc8b7952b80fc34a4651ecbf6551e21c391293ad (patch)
tree1c37c8a7bdcf16c79c2ae60308538d50606fefbd /components/script/dom
parentd8c5092a6e73d80ed24499e99abd66f3736589a6 (diff)
downloadservo-bc8b7952b80fc34a4651ecbf6551e21c391293ad.tar.gz
servo-bc8b7952b80fc34a4651ecbf6551e21c391293ad.zip
Implement NodeHelpers::index()
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/node.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index dfe91b6e17e..9143677d1e0 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -428,6 +428,7 @@ pub trait NodeHelpers {
fn type_id(self) -> NodeTypeId;
fn len(self) -> u32;
+ fn index(self) -> u32;
fn parent_node(self) -> Option<Temporary<Node>>;
fn first_child(self) -> Option<Temporary<Node>>;
@@ -579,6 +580,11 @@ impl<'a> NodeHelpers for JSRef<'a, Node> {
}
}
+ // https://dom.spec.whatwg.org/#concept-tree-index
+ fn index(self) -> u32 {
+ self.preceding_siblings().count() as u32
+ }
+
fn parent_node(self) -> Option<Temporary<Node>> {
self.parent_node.get().map(Temporary::from_rooted)
}