style: Be consistent with naming and serialization of "0" with LenghtOrPercentageOrNumber.

This commit is contained in:
Emilio Cobos Álvarez 2017-03-26 20:09:56 +02:00
parent c2d9f663af
commit 5ca16a844c
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
3 changed files with 12 additions and 10 deletions

View file

@ -400,7 +400,7 @@ impl ToCss for SVGPaint {
}
/// <length> | <percentage> | <number>
pub type LoPOrNumber = Either<LengthOrPercentage, Number>;
pub type LengthOrPercentageOrNumber = Either<LengthOrPercentage, Number>;
#[derive(Clone, PartialEq, Eq, Copy, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]

View file

@ -980,18 +980,18 @@ impl ToComputedValue for SVGPaintKind {
}
/// <length> | <percentage> | <number>
pub type LoPOrNumber = Either<LengthOrPercentage, Number>;
pub type LengthOrPercentageOrNumber = Either<LengthOrPercentage, Number>;
impl LoPOrNumber {
impl LengthOrPercentageOrNumber {
/// parse a <length-percentage> | <number> enforcing that the contents aren't negative
pub fn parse_non_negative(_: &ParserContext, input: &mut Parser) -> Result<Self, ()> {
if let Ok(lop) = input.try(LengthOrPercentage::parse_non_negative) {
Ok(Either::First(lop))
} else if let Ok(num) = input.try(Number::parse_non_negative) {
Ok(Either::Second(num))
} else {
Err(())
// NB: Parse numbers before Lengths so we are consistent about how to
// recognize and serialize "0".
if let Ok(num) = input.try(Number::parse_non_negative) {
return Ok(Either::Second(num))
}
LengthOrPercentage::parse_non_negative(input).map(Either::First)
}
}