From 72b29d3202f1808ec96291403fd28f2b72497d78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Sun, 2 Sep 2018 22:54:12 +0000 Subject: [PATCH] style: Simplify the Lang pseudo-class stuff a bit. Differential Revision: https://phabricator.services.mozilla.com/D4754 --- components/style/dom.rs | 4 +- .../style/gecko/non_ts_pseudo_class_list.rs | 16 +--- components/style/gecko/selector_parser.rs | 85 ++++++++----------- components/style/gecko/wrapper.rs | 4 +- components/style/servo/selector_parser.rs | 6 +- 5 files changed, 45 insertions(+), 70 deletions(-) diff --git a/components/style/dom.rs b/components/style/dom.rs index 7552505a752..2f65a266f01 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -19,7 +19,7 @@ use element_state::ElementState; use font_metrics::FontMetricsProvider; use media_queries::Device; use properties::{AnimationRules, ComputedValues, PropertyDeclarationBlock}; -use selector_parser::{AttrValue, PseudoClassStringArg, PseudoElement, SelectorImpl}; +use selector_parser::{AttrValue, Lang, PseudoElement, SelectorImpl}; use selectors::Element as SelectorsElement; use selectors::matching::{ElementSelectorFlags, QuirksMode, VisitedHandlingMode}; use selectors::sink::Push; @@ -895,7 +895,7 @@ pub trait TElement: fn match_element_lang( &self, override_lang: Option>, - value: &PseudoClassStringArg, + value: &Lang, ) -> bool; /// Returns whether this element is the main body element of the HTML diff --git a/components/style/gecko/non_ts_pseudo_class_list.rs b/components/style/gecko/non_ts_pseudo_class_list.rs index 04f57b73885..813250e4383 100644 --- a/components/style/gecko/non_ts_pseudo_class_list.rs +++ b/components/style/gecko/non_ts_pseudo_class_list.rs @@ -12,22 +12,13 @@ * Expected usage is as follows: * ``` * macro_rules! pseudo_class_macro{ - * (bare: [$(($css:expr, $name:ident, $gecko_type:tt, $state:tt, $flags:tt),)*], - * string: [$(($s_css:expr, $s_name:ident, $s_gecko_type:tt, $s_state:tt, $s_flags:tt),)*]) => { - * keyword: [$(($k_css:expr, $k_name:ident, $k_gecko_type:tt, $k_state:tt, $k_flags:tt),)*]) => { + * ([$(($css:expr, $name:ident, $gecko_type:tt, $state:tt, $flags:tt),)*]) => { * // do stuff * } * } * apply_non_ts_list!(pseudo_class_macro) * ``` * - * The `string` and `keyword` variables will be applied to pseudoclasses that are of the form of - * functions with string or keyword arguments. - * - * Pending pseudo-classes: - * - * :scope ->