mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Use Result/Err(()) in Selector parsing.
… get rid of some custom `enum` types for parsing return values. `Option<Option<T>>` was ridiculous, but `Result<Option<T>, ()>` make perfect sense. Also, we can now take advantage of the `try!()` macro.
This commit is contained in:
parent
d9278e3f6a
commit
9564d91b5e
5 changed files with 145 additions and 173 deletions
|
@ -614,9 +614,9 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> {
|
|||
let namespace = NamespaceMap::new();
|
||||
match parse_selector_list(tokenize(selectors.as_slice()).map(|(token, _)| token).collect(), &namespace) {
|
||||
// Step 2.
|
||||
None => return Err(Syntax),
|
||||
Err(()) => return Err(Syntax),
|
||||
// Step 3.
|
||||
Some(ref selectors) => {
|
||||
Ok(ref selectors) => {
|
||||
let root = self.ancestors().last().unwrap_or(self.clone());
|
||||
for selector in selectors.iter() {
|
||||
assert!(selector.pseudo_element.is_none());
|
||||
|
@ -641,9 +641,9 @@ impl<'m, 'n> NodeHelpers<'m, 'n> for JSRef<'n, Node> {
|
|||
let namespace = NamespaceMap::new();
|
||||
match parse_selector_list(tokenize(selectors.as_slice()).map(|(token, _)| token).collect(), &namespace) {
|
||||
// Step 2.
|
||||
None => return Err(Syntax),
|
||||
Err(()) => return Err(Syntax),
|
||||
// Step 3.
|
||||
Some(ref selectors) => {
|
||||
Ok(ref selectors) => {
|
||||
for selector in selectors.iter() {
|
||||
assert!(selector.pseudo_element.is_none());
|
||||
for node in root.traverse_preorder().filter(|node| node.is_element()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue