Auto merge of #6140 - nox:cleanup-rootedvec, r=Manishearth

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6140)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-05-26 08:36:29 -05:00
commit 7d0409b842
6 changed files with 27 additions and 39 deletions

View file

@ -1045,17 +1045,11 @@ trait PrivateDocumentHelpers {
impl<'a> PrivateDocumentHelpers for JSRef<'a, Document> {
fn create_node_list<F: Fn(JSRef<Node>) -> bool>(self, callback: F) -> Temporary<NodeList> {
let window = self.window.root();
let document_element = self.GetDocumentElement().root();
let mut nodes = RootedVec::new();
if let Some(ref root) = document_element {
for node in NodeCast::from_ref(root.r()).traverse_preorder() {
let node = node.root();
if callback(node.r()) {
nodes.push(JS::from_rooted(node.r()));
}
}
};
NodeList::new_simple_list(window.r(), &nodes)
let doc = self.GetDocumentElement().root();
let maybe_node = doc.r().map(NodeCast::from_ref);
let iter = maybe_node.iter().flat_map(|node| node.traverse_preorder())
.filter(|node| callback(node.root().r()));
NodeList::new_simple_list(window.r(), iter)
}
fn get_html_element(self) -> Option<Temporary<HTMLHtmlElement>> {