mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
Auto merge of #19822 - emilio:less-match-public, r=KiChjang
style: More tiny selector-matching cleanup See each commit individually. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19822) <!-- Reviewable:end -->
This commit is contained in:
commit
6fc71a7644
4 changed files with 47 additions and 36 deletions
|
@ -100,7 +100,7 @@ where
|
|||
Impl: SelectorImpl,
|
||||
{
|
||||
/// Input with the matching mode we should use when matching selectors.
|
||||
pub matching_mode: MatchingMode,
|
||||
matching_mode: MatchingMode,
|
||||
/// Input with the bloom filter used to fast-reject selectors.
|
||||
pub bloom_filter: Option<&'a BloomFilter>,
|
||||
/// An optional cache to speed up nth-index-like selectors.
|
||||
|
@ -204,6 +204,12 @@ where
|
|||
self.quirks_mode
|
||||
}
|
||||
|
||||
/// The matching-mode for this selector-matching operation.
|
||||
#[inline]
|
||||
pub fn matching_mode(&self) -> MatchingMode {
|
||||
self.matching_mode
|
||||
}
|
||||
|
||||
/// The case-sensitivity for class and ID selectors
|
||||
#[inline]
|
||||
pub fn classes_and_ids_case_sensitivity(&self) -> CaseSensitivity {
|
||||
|
|
|
@ -285,7 +285,7 @@ where
|
|||
{
|
||||
// If this is the special pseudo-element mode, consume the ::pseudo-element
|
||||
// before proceeding, since the caller has already handled that part.
|
||||
if context.matching_mode == MatchingMode::ForStatelessPseudoElement &&
|
||||
if context.matching_mode() == MatchingMode::ForStatelessPseudoElement &&
|
||||
!context.is_nested() {
|
||||
// Consume the pseudo.
|
||||
match *iter.next().unwrap() {
|
||||
|
@ -349,7 +349,7 @@ fn matches_hover_and_active_quirk<Impl: SelectorImpl>(
|
|||
// This compound selector had a pseudo-element to the right that we
|
||||
// intentionally skipped.
|
||||
if rightmost == Rightmost::Yes &&
|
||||
context.matching_mode == MatchingMode::ForStatelessPseudoElement {
|
||||
context.matching_mode() == MatchingMode::ForStatelessPseudoElement {
|
||||
return MatchesHoverAndActiveQuirk::No;
|
||||
}
|
||||
|
||||
|
|
|
@ -159,7 +159,6 @@ impl SelectorMap<Rule> {
|
|||
rule_hash_target: E,
|
||||
matching_rules_list: &mut ApplicableDeclarationList,
|
||||
context: &mut MatchingContext<E::Impl>,
|
||||
quirks_mode: QuirksMode,
|
||||
flags_setter: &mut F,
|
||||
cascade_level: CascadeLevel,
|
||||
)
|
||||
|
@ -171,45 +170,56 @@ impl SelectorMap<Rule> {
|
|||
return
|
||||
}
|
||||
|
||||
// At the end, we're going to sort the rules that we added, so remember where we began.
|
||||
let quirks_mode = context.quirks_mode();
|
||||
|
||||
// At the end, we're going to sort the rules that we added, so remember
|
||||
// where we began.
|
||||
let init_len = matching_rules_list.len();
|
||||
if let Some(id) = rule_hash_target.get_id() {
|
||||
if let Some(rules) = self.id_hash.get(&id, quirks_mode) {
|
||||
SelectorMap::get_matching_rules(element,
|
||||
rules,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level)
|
||||
SelectorMap::get_matching_rules(
|
||||
element,
|
||||
rules,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
rule_hash_target.each_class(|class| {
|
||||
if let Some(rules) = self.class_hash.get(&class, quirks_mode) {
|
||||
SelectorMap::get_matching_rules(element,
|
||||
rules,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level)
|
||||
SelectorMap::get_matching_rules(
|
||||
element,
|
||||
rules,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level,
|
||||
)
|
||||
}
|
||||
});
|
||||
|
||||
if let Some(rules) = self.local_name_hash.get(rule_hash_target.get_local_name()) {
|
||||
SelectorMap::get_matching_rules(element,
|
||||
rules,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level)
|
||||
SelectorMap::get_matching_rules(
|
||||
element,
|
||||
rules,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level,
|
||||
)
|
||||
}
|
||||
|
||||
SelectorMap::get_matching_rules(element,
|
||||
&self.other,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level);
|
||||
SelectorMap::get_matching_rules(
|
||||
element,
|
||||
&self.other,
|
||||
matching_rules_list,
|
||||
context,
|
||||
flags_setter,
|
||||
cascade_level,
|
||||
);
|
||||
|
||||
// Sort only the rules we just added.
|
||||
matching_rules_list[init_len..].sort_unstable_by_key(|block| (block.specificity, block.source_order()));
|
||||
|
@ -247,7 +257,7 @@ impl<T: SelectorMapEntry> SelectorMap<T> {
|
|||
pub fn insert(
|
||||
&mut self,
|
||||
entry: T,
|
||||
quirks_mode: QuirksMode
|
||||
quirks_mode: QuirksMode,
|
||||
) -> Result<(), FailedAllocationError> {
|
||||
self.count += 1;
|
||||
|
||||
|
|
|
@ -1236,7 +1236,6 @@ impl Stylist {
|
|||
rule_hash_target,
|
||||
applicable_declarations,
|
||||
context,
|
||||
self.quirks_mode,
|
||||
flags_setter,
|
||||
CascadeLevel::UANormal
|
||||
);
|
||||
|
@ -1274,7 +1273,6 @@ impl Stylist {
|
|||
rule_hash_target,
|
||||
applicable_declarations,
|
||||
context,
|
||||
self.quirks_mode,
|
||||
flags_setter,
|
||||
CascadeLevel::UserNormal,
|
||||
);
|
||||
|
@ -1305,7 +1303,6 @@ impl Stylist {
|
|||
rule_hash_target,
|
||||
applicable_declarations,
|
||||
context,
|
||||
self.quirks_mode,
|
||||
flags_setter,
|
||||
CascadeLevel::AuthorNormal
|
||||
);
|
||||
|
@ -1327,7 +1324,7 @@ impl Stylist {
|
|||
// as `context`, write a test-case of :visited not working on
|
||||
// Shadow DOM and fix it!
|
||||
let mut matching_context = MatchingContext::new(
|
||||
context.matching_mode,
|
||||
context.matching_mode(),
|
||||
context.bloom_filter,
|
||||
context.nth_index_cache.as_mut().map(|s| &mut **s),
|
||||
stylist.quirks_mode,
|
||||
|
@ -1339,7 +1336,6 @@ impl Stylist {
|
|||
rule_hash_target,
|
||||
applicable_declarations,
|
||||
&mut matching_context,
|
||||
stylist.quirks_mode,
|
||||
flags_setter,
|
||||
CascadeLevel::AuthorNormal,
|
||||
);
|
||||
|
@ -1356,7 +1352,6 @@ impl Stylist {
|
|||
rule_hash_target,
|
||||
applicable_declarations,
|
||||
context,
|
||||
self.quirks_mode,
|
||||
flags_setter,
|
||||
CascadeLevel::AuthorNormal
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue