style: Don't unconditionally generate Calc values when converting background-size from Gecko.

Bug: 1385140
MozReview-Commit-ID: ERwq50WSvLV
This commit is contained in:
Emilio Cobos Álvarez 2017-07-28 14:06:37 +02:00
parent 3ab6b1cf8f
commit 23369aee6d
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
2 changed files with 11 additions and 1 deletions

View file

@ -102,6 +102,16 @@ impl From<nsStyleCoord_CalcValue> for LengthOrPercentage {
} }
} }
impl From<nsStyleCoord_CalcValue> for LengthOrPercentageOrAuto {
fn from(other: nsStyleCoord_CalcValue) -> LengthOrPercentageOrAuto {
match (other.mHasPercent, other.mLength) {
(false, _) => LengthOrPercentageOrAuto::Length(Au(other.mLength)),
(true, 0) => LengthOrPercentageOrAuto::Percentage(Percentage(other.mPercent)),
_ => LengthOrPercentageOrAuto::Calc(other.into()),
}
}
}
impl From<Angle> for CoordDataValue { impl From<Angle> for CoordDataValue {
fn from(reference: Angle) -> Self { fn from(reference: Angle) -> Self {
match reference { match reference {

View file

@ -3434,7 +3434,7 @@ fn static_assert() {
LengthOrPercentageOrAuto::Auto LengthOrPercentageOrAuto::Auto
} else { } else {
debug_assert!(ty == DimensionType::eLengthPercentage as u8); debug_assert!(ty == DimensionType::eLengthPercentage as u8);
LengthOrPercentageOrAuto::Calc(value.into()) value.into()
} }
} }