mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Remove helper traits
Now that JSRef<T> is gone, there is no need to have helper traits. On components/script/*.rs: # Remove imports. /^ *use dom::[a-z]+::\{.*Helpers/ { s/\{(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers, /\{/ s/, (Raw[^L]|[^L][^a])[a-zA-Z]+Helpers([,}])/\2/g s/\{([a-zA-Z]+)\}/\1/ /\{\}/d s/::self;$/;/ } /^ *use dom::[a-z]+::\{?(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers\}?;$/d On components/script/dom/*.rs: # Ignore layout things. /^(pub )?(impl|trait).*Layout.* \{/,/^}$/ { P; D; } # Delete helpers traits. /^(pub )?trait ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? \{$/,/^\}$/D # Patch private helpers. /^impl.*Private.*Helpers/,/^\}$/ { s/^impl<'a> Private([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for &'a ([^ ]+) \{$/impl \3 {/ /^ *(unsafe )?fn .*\(self.*[<&]'a/ { s/&'a /\&/g s/<'a, /</g } /^ *(unsafe )?fn /s/\(self([,)])/\(\&self\1/ } # Patch public helpers. /^impl.*Helpers/,/^\}$/ { s/^impl(<'a>)? ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for (&'a )?([^ ]+) \{$/impl \5 {/ /^ *(unsafe )?fn .*\(self.*[<&]'a/ { s/&'a /\&/g s/<'a, /</g } /^ *(unsafe )?fn .*\(&?self[,)]/s/(unsafe )?fn/pub &/ /^ *pub (unsafe )?fn /s/\(self([,)])/\(\&self\1/ } The few error cases were then fixed by hand.
This commit is contained in:
parent
1384ff5e9f
commit
c831c2c0a5
90 changed files with 597 additions and 1284 deletions
|
@ -13,7 +13,7 @@ use dom::bindings::global::GlobalRef;
|
|||
use dom::bindings::js::Root;
|
||||
use dom::bindings::js::{JS, MutHeap};
|
||||
use dom::bindings::utils::{Reflector, reflect_dom_object};
|
||||
use dom::document::{Document, DocumentHelpers};
|
||||
use dom::document::Document;
|
||||
use dom::node::Node;
|
||||
use std::rc::Rc;
|
||||
|
||||
|
@ -255,29 +255,10 @@ impl<'a> TreeWalkerMethods for &'a TreeWalker {
|
|||
|
||||
type NodeAdvancer<'a> = Fn(&Node) -> Option<Root<Node>> + 'a;
|
||||
|
||||
trait PrivateTreeWalkerHelpers {
|
||||
fn traverse_children<F, G>(self,
|
||||
next_child: F,
|
||||
next_sibling: G)
|
||||
-> Fallible<Option<Root<Node>>>
|
||||
where F: Fn(&Node) -> Option<Root<Node>>,
|
||||
G: Fn(&Node) -> Option<Root<Node>>;
|
||||
fn traverse_siblings<F, G>(self,
|
||||
next_child: F,
|
||||
next_sibling: G)
|
||||
-> Fallible<Option<Root<Node>>>
|
||||
where F: Fn(&Node) -> Option<Root<Node>>,
|
||||
G: Fn(&Node) -> Option<Root<Node>>;
|
||||
fn is_root_node(self, node: &Node) -> bool;
|
||||
fn is_current_node(self, node: &Node) -> bool;
|
||||
fn first_following_node_not_following_root(self, node: &Node)
|
||||
-> Option<Root<Node>>;
|
||||
fn accept_node(self, node: &Node) -> Fallible<u16>;
|
||||
}
|
||||
|
||||
impl<'a> PrivateTreeWalkerHelpers for &'a TreeWalker {
|
||||
impl TreeWalker {
|
||||
// https://dom.spec.whatwg.org/#concept-traverse-children
|
||||
fn traverse_children<F, G>(self,
|
||||
fn traverse_children<F, G>(&self,
|
||||
next_child: F,
|
||||
next_sibling: G)
|
||||
-> Fallible<Option<Root<Node>>>
|
||||
|
@ -352,7 +333,7 @@ impl<'a> PrivateTreeWalkerHelpers for &'a TreeWalker {
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-traverse-siblings
|
||||
fn traverse_siblings<F, G>(self,
|
||||
fn traverse_siblings<F, G>(&self,
|
||||
next_child: F,
|
||||
next_sibling: G)
|
||||
-> Fallible<Option<Root<Node>>>
|
||||
|
@ -414,7 +395,7 @@ impl<'a> PrivateTreeWalkerHelpers for &'a TreeWalker {
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-tree-following
|
||||
fn first_following_node_not_following_root(self, node: &Node)
|
||||
fn first_following_node_not_following_root(&self, node: &Node)
|
||||
-> Option<Root<Node>> {
|
||||
// "An object A is following an object B if A and B are in the same tree
|
||||
// and A comes after B in tree order."
|
||||
|
@ -441,7 +422,7 @@ impl<'a> PrivateTreeWalkerHelpers for &'a TreeWalker {
|
|||
}
|
||||
|
||||
// https://dom.spec.whatwg.org/#concept-node-filter
|
||||
fn accept_node(self, node: &Node) -> Fallible<u16> {
|
||||
fn accept_node(&self, node: &Node) -> Fallible<u16> {
|
||||
// "To filter node run these steps:"
|
||||
// "1. Let n be node's nodeType attribute value minus 1."
|
||||
let n = node.NodeType() - 1;
|
||||
|
@ -461,11 +442,11 @@ impl<'a> PrivateTreeWalkerHelpers for &'a TreeWalker {
|
|||
}
|
||||
}
|
||||
|
||||
fn is_root_node(self, node: &Node) -> bool {
|
||||
fn is_root_node(&self, node: &Node) -> bool {
|
||||
JS::from_ref(node) == self.root_node
|
||||
}
|
||||
|
||||
fn is_current_node(self, node: &Node) -> bool {
|
||||
fn is_current_node(&self, node: &Node) -> bool {
|
||||
JS::from_ref(node) == self.current_node.get()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue