From c713734b4891fb58eb78ff823eaa37c99de0867e Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Sun, 28 Feb 2016 20:26:02 +0100 Subject: Fix step 1 of Range::InsertNode The method needs to throw when trying to insert start node into range. --- components/script/dom/range.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'components/script/dom/range.rs') diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs index 88fc9ad35bc..c7bdb7063f8 100644 --- a/components/script/dom/range.rs +++ b/components/script/dom/range.rs @@ -658,6 +658,9 @@ impl RangeMethods for Range { let start_offset = self.StartOffset(); // Step 1. + if &*start_node == node { + return Err(Error::HierarchyRequest); + } match start_node.type_id() { // Handled under step 2. NodeTypeId::CharacterData(CharacterDataTypeId::Text) => (), -- cgit v1.2.3