style: Don't reject negative values at parse time in media features

Clean-up some other test expectations while at it.

Differential Revision: https://phabricator.services.mozilla.com/D170677
This commit is contained in:
Emilio Cobos Álvarez 2023-02-26 00:15:24 +00:00 committed by Martin Robinson
parent 4ed0f518fb
commit d68bd45cc3
3 changed files with 9 additions and 9 deletions

View file

@ -36,7 +36,7 @@ pub type KeywordParser = for<'a, 'i, 't> fn(
pub enum Evaluator {
Length(QueryFeatureGetter<CSSPixelLength>),
OptionalLength(QueryFeatureGetter<Option<CSSPixelLength>>),
Integer(QueryFeatureGetter<u32>),
Integer(QueryFeatureGetter<i32>),
Float(QueryFeatureGetter<f32>),
BoolInteger(QueryFeatureGetter<bool>),
/// A non-negative number ratio, such as the one from device-pixel-ratio.

View file

@ -663,8 +663,8 @@ impl QueryFeatureExpression {
pub enum QueryExpressionValue {
/// A length.
Length(Length),
/// A (non-negative) integer.
Integer(u32),
/// An integer.
Integer(i32),
/// A floating point value.
Float(CSSFloat),
/// A boolean value, specified as an integer (i.e., either 0 or 1).
@ -705,12 +705,12 @@ impl QueryExpressionValue {
) -> Result<QueryExpressionValue, ParseError<'i>> {
Ok(match for_feature.evaluator {
Evaluator::OptionalLength(..) | Evaluator::Length(..) => {
let length = Length::parse_non_negative(context, input)?;
let length = Length::parse(context, input)?;
QueryExpressionValue::Length(length)
},
Evaluator::Integer(..) => {
let integer = Integer::parse_non_negative(context, input)?;
QueryExpressionValue::Integer(integer.value() as u32)
let integer = Integer::parse(context, input)?;
QueryExpressionValue::Integer(integer.value())
},
Evaluator::BoolInteger(..) => {
let integer = Integer::parse_non_negative(context, input)?;