style: Hide -moz-touch-enabled media query in Nightly and Early Beta.

This is effectively superseded by the hover / any-hover media queries, which
actually are standard, and is also causing trouble in the wild.

Not even the browser fronted uses it, so we should be able to just remove it
everywhere at once.

Differential Revision: https://phabricator.services.mozilla.com/D49506
This commit is contained in:
Emilio Cobos Álvarez 2019-10-20 13:44:16 +00:00
parent 7965ddefa6
commit b98ac61a70
3 changed files with 18 additions and 10 deletions

View file

@ -598,8 +598,7 @@ lazy_static! {
atom!("device-pixel-ratio"),
AllowsRanges::Yes,
Evaluator::Float(eval_device_pixel_ratio),
ParsingRequirements::WEBKIT_PREFIX |
ParsingRequirements::WEBKIT_DEVICE_PIXEL_RATIO_PREF_ENABLED,
ParsingRequirements::WEBKIT_PREFIX,
),
// -webkit-transform-3d.
feature!(

View file

@ -123,9 +123,6 @@ bitflags! {
const CHROME_AND_UA_ONLY = 1 << 0;
/// The feature requires a -webkit- prefix.
const WEBKIT_PREFIX = 1 << 1;
/// The feature requires the webkit-device-pixel-ratio preference to be
/// enabled.
const WEBKIT_DEVICE_PIXEL_RATIO_PREF_ENABLED = 1 << 2;
}
}

View file

@ -242,6 +242,16 @@ fn consume_operation_or_colon(input: &mut Parser) -> Result<Option<Operator>, ()
}))
}
fn disabled_by_pref(feature: &Atom) -> bool {
if *feature == atom!("device-pixel-ratio") {
return !static_prefs::pref!("layout.css.prefixes.device-pixel-ratio-webkit");
}
if *feature == atom!("-moz-touch-enabled") {
return !static_prefs::pref!("layout.css.moz-touch-enabled.enabled")
}
false
}
impl MediaFeatureExpression {
fn new(
feature_index: usize,
@ -301,11 +311,6 @@ impl MediaFeatureExpression {
if starts_with_ignore_ascii_case(feature_name, "-webkit-") {
feature_name = &feature_name[8..];
requirements.insert(ParsingRequirements::WEBKIT_PREFIX);
if static_prefs::pref!("layout.css.prefixes.device-pixel-ratio-webkit") {
requirements.insert(
ParsingRequirements::WEBKIT_DEVICE_PIXEL_RATIO_PREF_ENABLED,
);
}
}
}
@ -320,6 +325,13 @@ impl MediaFeatureExpression {
};
let atom = Atom::from(string_as_ascii_lowercase(feature_name));
if disabled_by_pref(&atom) {
return Err(location.new_custom_error(
StyleParseErrorKind::MediaQueryExpectedFeatureName(ident.clone()),
));
}
match MEDIA_FEATURES
.iter()
.enumerate()