aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-02-28 20:26:02 +0100
committerAnthony Ramine <n.oxyde@gmail.com>2016-02-28 22:54:08 +0100
commitc713734b4891fb58eb78ff823eaa37c99de0867e (patch)
tree1094ac3b4ce18e731c99be8d899153e6595b6f30 /components/script
parentbe6940db59a2e8bf4fac45911848edbc8cd3dd8d (diff)
downloadservo-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.rs3
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) => (),