selectors: Reformat some signatures in selectors::matching.

This commit is contained in:
Emilio Cobos Álvarez 2017-10-14 11:53:09 +02:00
parent 6a5576085c
commit bcfe523c99
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -159,11 +159,13 @@ impl<'a, 'b, Impl> LocalMatchingContext<'a, 'b, Impl>
}
}
pub fn matches_selector_list<E>(selector_list: &SelectorList<E::Impl>,
pub fn matches_selector_list<E>(
selector_list: &SelectorList<E::Impl>,
element: &E,
context: &mut MatchingContext)
-> bool
where E: Element
context: &mut MatchingContext,
) -> bool
where
E: Element
{
selector_list.0.iter().any(|selector| {
matches_selector(selector,
@ -176,10 +178,9 @@ pub fn matches_selector_list<E>(selector_list: &SelectorList<E::Impl>,
}
#[inline(always)]
fn may_match<E>(hashes: &AncestorHashes,
bf: &BloomFilter)
-> bool
where E: Element,
fn may_match<E>(hashes: &AncestorHashes, bf: &BloomFilter) -> bool
where
E: Element,
{
// Check the first three hashes. Note that we can check for zero before
// masking off the high bits, since if any of the first three hashes is
@ -370,14 +371,16 @@ enum SelectorMatchingResult {
/// unncessary cache miss for cases when we can fast-reject with AncestorHashes
/// (which the caller can store inline with the selector pointer).
#[inline(always)]
pub fn matches_selector<E, F>(selector: &Selector<E::Impl>,
pub fn matches_selector<E, F>(
selector: &Selector<E::Impl>,
offset: usize,
hashes: Option<&AncestorHashes>,
element: &E,
context: &mut MatchingContext,
flags_setter: &mut F)
-> bool
where E: Element,
flags_setter: &mut F,
) -> bool
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
// Use the bloom filter to fast-reject.
@ -457,12 +460,14 @@ where
}
/// Matches a complex selector.
pub fn matches_complex_selector<E, F>(mut iter: SelectorIter<E::Impl>,
pub fn matches_complex_selector<E, F>(
mut iter: SelectorIter<E::Impl>,
element: &E,
context: &mut LocalMatchingContext<E::Impl>,
flags_setter: &mut F)
-> bool
where E: Element,
flags_setter: &mut F,
) -> bool
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
if cfg!(debug_assertions) {
@ -499,23 +504,29 @@ pub fn matches_complex_selector<E, F>(mut iter: SelectorIter<E::Impl>,
context.note_position(&iter);
}
match matches_complex_selector_internal(iter,
let result = matches_complex_selector_internal(
iter,
element,
context,
&mut RelevantLinkStatus::Looking,
flags_setter) {
flags_setter,
);
match result {
SelectorMatchingResult::Matched => true,
_ => false
}
}
fn matches_complex_selector_internal<E, F>(mut selector_iter: SelectorIter<E::Impl>,
fn matches_complex_selector_internal<E, F>(
mut selector_iter: SelectorIter<E::Impl>,
element: &E,
context: &mut LocalMatchingContext<E::Impl>,
relevant_link: &mut RelevantLinkStatus,
flags_setter: &mut F)
-> SelectorMatchingResult
where E: Element,
flags_setter: &mut F
) -> SelectorMatchingResult
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
*relevant_link = relevant_link.examine_potential_link(element, &mut context.shared);
@ -618,9 +629,10 @@ fn matches_simple_selector<E, F>(
element: &E,
context: &mut LocalMatchingContext<E::Impl>,
relevant_link: &RelevantLinkStatus,
flags_setter: &mut F)
-> bool
where E: Element,
flags_setter: &mut F,
) -> bool
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
match *selector {
@ -773,15 +785,17 @@ fn select_name<'a, T>(is_html: bool, local_name: &'a T, local_name_lower: &'a T)
}
#[inline]
fn matches_generic_nth_child<E, F>(element: &E,
fn matches_generic_nth_child<E, F>(
element: &E,
context: &mut LocalMatchingContext<E::Impl>,
a: i32,
b: i32,
is_of_type: bool,
is_from_end: bool,
flags_setter: &mut F)
-> bool
where E: Element,
flags_setter: &mut F,
) -> bool
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
if element.ignores_nth_child_selectors() {
@ -880,7 +894,8 @@ where
#[inline]
fn matches_first_child<E, F>(element: &E, flags_setter: &mut F) -> bool
where E: Element,
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
flags_setter(element, HAS_EDGE_CHILD_SELECTOR);
@ -889,7 +904,8 @@ fn matches_first_child<E, F>(element: &E, flags_setter: &mut F) -> bool
#[inline]
fn matches_last_child<E, F>(element: &E, flags_setter: &mut F) -> bool
where E: Element,
where
E: Element,
F: FnMut(&E, ElementSelectorFlags),
{
flags_setter(element, HAS_EDGE_CHILD_SELECTOR);