aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/node.rs
diff options
context:
space:
mode:
authorcybai <cyb.ai.815@gmail.com>2023-04-18 12:45:27 +0900
committercybai <cyb.ai.815@gmail.com>2023-04-21 15:07:22 +0900
commit0f65bbd296961f3ba859274b1afd1b1dc08eb1d7 (patch)
treebd981362a661fd869ed8e5138cabd4c84bc7ebcb /components/script/dom/node.rs
parent9acb9cc5cf21d14709355a3c75af7202e9301bd5 (diff)
downloadservo-0f65bbd296961f3ba859274b1afd1b1dc08eb1d7.tar.gz
servo-0f65bbd296961f3ba859274b1afd1b1dc08eb1d7.zip
Throw HierarchyRequest error for Attr in pre-insert and replacechild
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r--components/script/dom/node.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index e05306986c0..a7186806785 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -1872,8 +1872,7 @@ impl Node {
NodeTypeId::Element(_) |
NodeTypeId::CharacterData(CharacterDataTypeId::ProcessingInstruction) |
NodeTypeId::CharacterData(CharacterDataTypeId::Comment) => (),
- NodeTypeId::Document(_) => return Err(Error::HierarchyRequest),
- NodeTypeId::Attr => unreachable!(),
+ NodeTypeId::Document(_) | NodeTypeId::Attr => return Err(Error::HierarchyRequest),
}
// Step 6.
@@ -1942,8 +1941,9 @@ impl Node {
}
},
NodeTypeId::CharacterData(_) => (),
- NodeTypeId::Document(_) => unreachable!(),
- NodeTypeId::Attr => unreachable!(),
+ // Because Document and Attr should already throw `HierarchyRequest`
+ // error, both of them are unreachable here.
+ NodeTypeId::Document(_) | NodeTypeId::Attr => unreachable!(),
}
}
Ok(())
@@ -2628,7 +2628,7 @@ impl NodeMethods for Node {
NodeTypeId::DocumentType if !self.is::<Document>() => {
return Err(Error::HierarchyRequest);
},
- NodeTypeId::Document(_) => return Err(Error::HierarchyRequest),
+ NodeTypeId::Document(_) | NodeTypeId::Attr => return Err(Error::HierarchyRequest),
_ => (),
}
@@ -2679,6 +2679,8 @@ impl NodeMethods for Node {
}
},
NodeTypeId::CharacterData(..) => (),
+ // Because Document and Attr should already throw `HierarchyRequest`
+ // error, both of them are unreachable here.
NodeTypeId::Document(_) => unreachable!(),
NodeTypeId::Attr => unreachable!(),
}