Skip to content

Commit

Permalink
Make MatchingContext::quirks_mode field private, add read-only accessor.
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonSapin committed Jun 12, 2017
1 parent 700aaf2 commit 9316c41
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
10 changes: 8 additions & 2 deletions components/selectors/context.rs
Expand Up @@ -97,8 +97,8 @@ pub struct MatchingContext<'a> {
/// `RelevantLinkStatus` which tracks the status for the _current_ selector
/// only.)
pub relevant_link_found: bool,
/// The quirks mode of the document.
pub quirks_mode: QuirksMode,

quirks_mode: QuirksMode,
}

impl<'a> MatchingContext<'a> {
Expand Down Expand Up @@ -134,4 +134,10 @@ impl<'a> MatchingContext<'a> {
quirks_mode: quirks_mode,
}
}

/// The quirks mode of the document.
#[inline]
pub fn quirks_mode(&self) -> QuirksMode {
self.quirks_mode
}
}
8 changes: 4 additions & 4 deletions components/selectors/matching.rs
Expand Up @@ -90,15 +90,15 @@ impl<'a, 'b, Impl> LocalMatchingContext<'a, 'b, Impl>
/// Updates offset of Selector to show new compound selector.
/// To be able to correctly re-synthesize main SelectorIter.
pub fn note_next_sequence(&mut self, selector_iter: &SelectorIter<Impl>) {
if let QuirksMode::Quirks = self.shared.quirks_mode {
if let QuirksMode::Quirks = self.shared.quirks_mode() {
self.offset = self.selector.len() - selector_iter.selector_length();
}
}

/// Returns true if current compound selector matches :active and :hover quirk.
/// https://quirks.spec.whatwg.org/#the-active-and-hover-quirk
pub fn active_hover_quirk_matches(&mut self) -> bool {
if self.shared.quirks_mode != QuirksMode::Quirks ||
if self.shared.quirks_mode() != QuirksMode::Quirks ||
self.within_functional_pseudo_class_argument {
return false;
}
Expand Down Expand Up @@ -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.quirks_mode().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.quirks_mode().classes_and_ids_case_sensitivity())
}
Component::AttributeInNoNamespaceExists { ref local_name, ref local_name_lower } => {
let is_html = element.is_html_element_in_html_document();
Expand Down

0 comments on commit 9316c41

Please sign in to comment.