aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2015-11-08 17:33:46 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2015-11-08 17:33:46 +0530
commitfc98b8e126b9f14229d677ea49b3afa819aa6910 (patch)
tree5b136d4b5b21e29a25b74b76a0561b0b9e439067 /components/script/dom
parent92f9e58310f1b7c3925882979ae9352967866b66 (diff)
parent9443b89af7f86efa2bf08f71648c1ecd02ec6363 (diff)
downloadservo-fc98b8e126b9f14229d677ea49b3afa819aa6910.tar.gz
servo-fc98b8e126b9f14229d677ea49b3afa819aa6910.zip
Auto merge of #8403 - frewsxcv:node-from-nodes-and-strings, r=nox
Minor 'node_from_nodes_and_strings' cleanup <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8403) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/document.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index e47b7f36186..dc3225bba04 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -930,15 +930,14 @@ impl Document {
ReflowReason::KeyEvent);
}
- pub fn node_from_nodes_and_strings(&self, nodes: Vec<NodeOrString>)
+ // https://dom.spec.whatwg.org/#converting-nodes-into-a-node
+ pub fn node_from_nodes_and_strings(&self, mut nodes: Vec<NodeOrString>)
-> Fallible<Root<Node>> {
if nodes.len() == 1 {
- match nodes.into_iter().next().unwrap() {
- NodeOrString::eNode(node) => Ok(node),
- NodeOrString::eString(string) => {
- Ok(Root::upcast(self.CreateTextNode(string)))
- },
- }
+ Ok(match nodes.pop().unwrap() {
+ NodeOrString::eNode(node) => node,
+ NodeOrString::eString(string) => Root::upcast(self.CreateTextNode(string)),
+ })
} else {
let fragment = Root::upcast::<Node>(self.CreateDocumentFragment());
for node in nodes {