diff options
author | cybai <cyb.ai.815@gmail.com> | 2023-04-18 12:45:27 +0900 |
---|---|---|
committer | cybai <cyb.ai.815@gmail.com> | 2023-04-21 15:07:22 +0900 |
commit | 0f65bbd296961f3ba859274b1afd1b1dc08eb1d7 (patch) | |
tree | bd981362a661fd869ed8e5138cabd4c84bc7ebcb /components/script/dom/node.rs | |
parent | 9acb9cc5cf21d14709355a3c75af7202e9301bd5 (diff) | |
download | servo-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.rs | 12 |
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!(), } |