aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/range.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/range.rs')
-rw-r--r--components/script/dom/range.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs
index 7044746ddf1..235a4dbcc9b 100644
--- a/components/script/dom/range.rs
+++ b/components/script/dom/range.rs
@@ -564,8 +564,9 @@ impl RangeMethods for Range {
} else {
// Step 14.1-2.
let reference_node = start_node.ancestors()
- .find(|n| n.is_inclusive_ancestor_of(end_node.r()))
- .unwrap();
+ .take_while(|n| !n.is_inclusive_ancestor_of(&end_node))
+ .last()
+ .unwrap_or(Root::from_ref(&start_node));
// Step 14.3.
(reference_node.GetParentNode().unwrap(), reference_node.index() + 1)
};