diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-08 17:33:46 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-08 17:33:46 +0530 |
commit | fc98b8e126b9f14229d677ea49b3afa819aa6910 (patch) | |
tree | 5b136d4b5b21e29a25b74b76a0561b0b9e439067 /components/script/dom | |
parent | 92f9e58310f1b7c3925882979ae9352967866b66 (diff) | |
parent | 9443b89af7f86efa2bf08f71648c1ecd02ec6363 (diff) | |
download | servo-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.rs | 13 |
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 { |