mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Pre-compute classes and IDs case-sensitivity
This commit is contained in:
parent
9316c41bf7
commit
b82713924c
2 changed files with 11 additions and 2 deletions
|
@ -99,6 +99,7 @@ pub struct MatchingContext<'a> {
|
|||
pub relevant_link_found: bool,
|
||||
|
||||
quirks_mode: QuirksMode,
|
||||
classes_and_ids_case_sensitivity: CaseSensitivity,
|
||||
}
|
||||
|
||||
impl<'a> MatchingContext<'a> {
|
||||
|
@ -115,6 +116,7 @@ impl<'a> MatchingContext<'a> {
|
|||
visited_handling: VisitedHandlingMode::AllLinksUnvisited,
|
||||
relevant_link_found: false,
|
||||
quirks_mode: quirks_mode,
|
||||
classes_and_ids_case_sensitivity: quirks_mode.classes_and_ids_case_sensitivity(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -132,6 +134,7 @@ impl<'a> MatchingContext<'a> {
|
|||
visited_handling: visited_handling,
|
||||
relevant_link_found: false,
|
||||
quirks_mode: quirks_mode,
|
||||
classes_and_ids_case_sensitivity: quirks_mode.classes_and_ids_case_sensitivity(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -140,4 +143,10 @@ impl<'a> MatchingContext<'a> {
|
|||
pub fn quirks_mode(&self) -> QuirksMode {
|
||||
self.quirks_mode
|
||||
}
|
||||
|
||||
/// The case-sensitivity for class and ID selectors
|
||||
#[inline]
|
||||
pub fn classes_and_ids_case_sensitivity(&self) -> CaseSensitivity {
|
||||
self.classes_and_ids_case_sensitivity
|
||||
}
|
||||
}
|
||||
|
|
|
@ -549,10 +549,10 @@ fn matches_simple_selector<E, F>(
|
|||
element.get_namespace() == ns.borrow()
|
||||
}
|
||||
Component::ID(ref id) => {
|
||||
element.has_id(id, context.shared.quirks_mode().classes_and_ids_case_sensitivity())
|
||||
element.has_id(id, context.shared.classes_and_ids_case_sensitivity())
|
||||
}
|
||||
Component::Class(ref class) => {
|
||||
element.has_class(class, context.shared.quirks_mode().classes_and_ids_case_sensitivity())
|
||||
element.has_class(class, context.shared.classes_and_ids_case_sensitivity())
|
||||
}
|
||||
Component::AttributeInNoNamespaceExists { ref local_name, ref local_name_lower } => {
|
||||
let is_html = element.is_html_element_in_html_document();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue