From 3c56c58e38581a71db1eb3e8dea360bd404738f1 Mon Sep 17 00:00:00 2001 From: Mukilan Thiyagarajan Date: Thu, 14 May 2015 09:44:39 +0530 Subject: Fix implementation of Element::get_root_element --- components/script/dom/element.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'components/script/dom') diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index f6e34985f5c..f0ff55e2e5b 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -510,7 +510,7 @@ pub trait ElementHelpers<'a> { fn get_inline_style_declaration(self, property: &Atom) -> Option; fn get_important_inline_style_declaration(self, property: &Atom) -> Option; fn serialize(self, traversal_scope: TraversalScope) -> Fallible; - fn get_root_element(self) -> Option>; + fn get_root_element(self) -> Temporary; fn lookup_prefix(self, namespace: Option) -> Option; } @@ -663,12 +663,12 @@ impl<'a> ElementHelpers<'a> for JSRef<'a, Element> { } // https://html.spec.whatwg.org/multipage/#root-element - fn get_root_element(self) -> Option> { + fn get_root_element(self) -> Temporary { let node: JSRef = NodeCast::from_ref(self); - match node.ancestors().last().map(ElementCast::to_temporary) { - Some(n) => n, - None => Some(self).map(Temporary::from_rooted), - } + node.inclusive_ancestors() + .filter_map(ElementCast::to_temporary) + .last() + .expect("We know inclusive_ancestors will return `self` which is an element") } // https://dom.spec.whatwg.org/#locate-a-namespace-prefix -- cgit v1.2.3