diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-02-28 20:26:02 +0100 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2016-02-28 22:54:08 +0100 |
commit | c713734b4891fb58eb78ff823eaa37c99de0867e (patch) | |
tree | 1094ac3b4ce18e731c99be8d899153e6595b6f30 /components/script | |
parent | be6940db59a2e8bf4fac45911848edbc8cd3dd8d (diff) | |
download | servo-c713734b4891fb58eb78ff823eaa37c99de0867e.tar.gz servo-c713734b4891fb58eb78ff823eaa37c99de0867e.zip |
Fix step 1 of Range::InsertNode
The method needs to throw when trying to insert start node into range.
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/range.rs | 3 |
1 files changed, 3 insertions, 0 deletions
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) => (), |