aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/node.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-11-03 16:05:14 -0500
committerGitHub <noreply@github.com>2016-11-03 16:05:14 -0500
commit74a3ea9135b13683a9e223790fe573a46cc6a141 (patch)
tree32cda9fd7fdf158c5f95d73e4d292b741a31c451 /components/script/dom/node.rs
parent738f0eb97428f6b24c26df7e64a8328e0575b05c (diff)
parent927d44753b249a2716b721d7398f4dc4a208b82f (diff)
downloadservo-74a3ea9135b13683a9e223790fe573a46cc6a141.tar.gz
servo-74a3ea9135b13683a9e223790fe573a46cc6a141.zip
Auto merge of #14027 - frewsxcv:htmlcollection-iter-refactor, r=emilio
Remove unnecessary `Box` around `HTMLCollectionElementsIter::node_iter`. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14027) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/node.rs')
-rw-r--r--components/script/dom/node.rs27
1 files changed, 14 insertions, 13 deletions
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 824cb671240..5fcfd74f1f6 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -853,22 +853,23 @@ impl Node {
let tr = new_child();
- let after_node = if index == -1 {
- None
- } else {
- match get_items().elements_iter()
- .map(Root::upcast::<Node>)
- .map(Some)
- .chain(iter::once(None))
- .nth(index as usize) {
- None => return Err(Error::IndexSize),
- Some(node) => node,
- }
- };
{
let tr_node = tr.upcast::<Node>();
- try!(self.InsertBefore(tr_node, after_node.r()));
+ if index == -1 {
+ try!(self.InsertBefore(tr_node, None));
+ } else {
+ let items = get_items();
+ let node = match items.elements_iter()
+ .map(Root::upcast::<Node>)
+ .map(Some)
+ .chain(iter::once(None))
+ .nth(index as usize) {
+ None => return Err(Error::IndexSize),
+ Some(node) => node,
+ };
+ try!(self.InsertBefore(tr_node, node.r()));
+ }
}
Ok(Root::upcast::<HTMLElement>(tr))