mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
Remove use of RootedVec in NodeList
This commit is contained in:
parent
913c5677ab
commit
81cacdf820
3 changed files with 11 additions and 19 deletions
|
@ -1028,17 +1028,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>> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue