From 52026f602b9c15f4a854512f6d79a447dc85e048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Fri, 19 Apr 2019 04:41:17 +0000 Subject: [PATCH] style: Don't allow to parse XUL tree pseudo-elements with a single colon. Now that they're not exposed to the web we can remove this special case. Differential Revision: https://phabricator.services.mozilla.com/D28071 --- components/selectors/parser.rs | 10 ++-------- components/style/gecko/selector_parser.rs | 5 ----- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/components/selectors/parser.rs b/components/selectors/parser.rs index afb7280508d..e3afab57e16 100644 --- a/components/selectors/parser.rs +++ b/components/selectors/parser.rs @@ -191,12 +191,6 @@ pub trait Parser<'i> { type Impl: SelectorImpl; type Error: 'i + From>; - /// Whether the name is a pseudo-element that can be specified with - /// the single colon syntax in addition to the double-colon syntax. - fn pseudo_element_allows_single_colon(name: &str) -> bool { - is_css2_pseudo_element(name) - } - /// Whether to parse the `::slotted()` pseudo-element. fn parse_slotted(&self) -> bool { false @@ -2038,7 +2032,7 @@ where /// Returns whether the name corresponds to a CSS2 pseudo-element that /// can be specified with the single colon syntax (in addition to the /// double-colon syntax, which can be used for all pseudo-elements). -pub fn is_css2_pseudo_element(name: &str) -> bool { +fn is_css2_pseudo_element(name: &str) -> bool { // ** Do not add to this list! ** match_ignore_ascii_case! { name, "before" | "after" | "first-line" | "first-letter" => true, @@ -2114,7 +2108,7 @@ where }, }; let is_pseudo_element = - !is_single_colon || P::pseudo_element_allows_single_colon(&name); + !is_single_colon || is_css2_pseudo_element(&name); if is_pseudo_element { if state.intersects(SelectorParsingState::AFTER_PSEUDO_ELEMENT) { return Err(input.new_custom_error(SelectorParseErrorKind::InvalidState)); diff --git a/components/style/gecko/selector_parser.rs b/components/style/gecko/selector_parser.rs index 36558b9f5db..ec0db9286ec 100644 --- a/components/style/gecko/selector_parser.rs +++ b/components/style/gecko/selector_parser.rs @@ -351,11 +351,6 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { self.parse_slotted() } - fn pseudo_element_allows_single_colon(name: &str) -> bool { - // FIXME: -moz-tree check should probably be ascii-case-insensitive. - ::selectors::parser::is_css2_pseudo_element(name) || name.starts_with("-moz-tree-") - } - fn parse_non_ts_pseudo_class( &self, location: SourceLocation,