diff options
Diffstat (limited to 'components/script/dom/range.rs')
-rw-r--r-- | components/script/dom/range.rs | 5 |
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) }; |