mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Auto merge of #17073 - upsuper:flex-basis-zero, r=emilio
Set flex-basis to 0% when omitted in flex shorthand. This should fix [bug 1331530](https://bugzilla.mozilla.org/show_bug.cgi?id=1331530). <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17073) <!-- Reviewable:end -->
This commit is contained in:
commit
76daf46295
4 changed files with 34 additions and 4 deletions
|
@ -1099,9 +1099,14 @@
|
||||||
|
|
||||||
/// Returns a value representing a `0` length.
|
/// Returns a value representing a `0` length.
|
||||||
pub fn zero() -> Self {
|
pub fn zero() -> Self {
|
||||||
use values::specified::length::{LengthOrPercentageOrAuto, NoCalcLength};
|
use values::specified::length::LengthOrPercentageOrAuto;
|
||||||
SpecifiedValue(MozLength::LengthOrPercentageOrAuto(
|
SpecifiedValue(MozLength::LengthOrPercentageOrAuto(LengthOrPercentageOrAuto::zero()))
|
||||||
LengthOrPercentageOrAuto::Length(NoCalcLength::zero())))
|
}
|
||||||
|
|
||||||
|
/// Returns a value representing a `0%` length.
|
||||||
|
pub fn zero_percent() -> Self {
|
||||||
|
use values::specified::length::LengthOrPercentageOrAuto;
|
||||||
|
SpecifiedValue(MozLength::LengthOrPercentageOrAuto(LengthOrPercentageOrAuto::zero_percent()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
% endif
|
% endif
|
||||||
|
|
|
@ -92,7 +92,11 @@
|
||||||
Ok(expanded! {
|
Ok(expanded! {
|
||||||
flex_grow: grow.unwrap_or(Number::new(1.0)),
|
flex_grow: grow.unwrap_or(Number::new(1.0)),
|
||||||
flex_shrink: shrink.unwrap_or(Number::new(1.0)),
|
flex_shrink: shrink.unwrap_or(Number::new(1.0)),
|
||||||
flex_basis: basis.unwrap_or(longhands::flex_basis::SpecifiedValue::zero()),
|
// Per spec, this should be SpecifiedValue::zero(), but all
|
||||||
|
// browsers currently agree on using `0%`. This is a spec
|
||||||
|
// change which hasn't been adopted by browsers:
|
||||||
|
// https://github.com/w3c/csswg-drafts/commit/2c446befdf0f686217905bdd7c92409f6bd3921b
|
||||||
|
flex_basis: basis.unwrap_or(longhands::flex_basis::SpecifiedValue::zero_percent()),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -735,6 +735,12 @@ impl Percentage {
|
||||||
Self::parse_with_clamping_mode(input, AllowedNumericType::NonNegative)
|
Self::parse_with_clamping_mode(input, AllowedNumericType::NonNegative)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 0%
|
||||||
|
#[inline]
|
||||||
|
pub fn zero() -> Self {
|
||||||
|
Percentage(0.)
|
||||||
|
}
|
||||||
|
|
||||||
/// 100%
|
/// 100%
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn hundred() -> Self {
|
pub fn hundred() -> Self {
|
||||||
|
@ -999,6 +1005,11 @@ impl LengthOrPercentageOrAuto {
|
||||||
pub fn zero() -> Self {
|
pub fn zero() -> Self {
|
||||||
LengthOrPercentageOrAuto::Length(NoCalcLength::zero())
|
LengthOrPercentageOrAuto::Length(NoCalcLength::zero())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns a value representing `0%`.
|
||||||
|
pub fn zero_percent() -> Self {
|
||||||
|
LengthOrPercentageOrAuto::Percentage(Percentage::zero())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Parse for LengthOrPercentageOrAuto {
|
impl Parse for LengthOrPercentageOrAuto {
|
||||||
|
@ -1157,6 +1168,11 @@ impl LengthOrPercentageOrAutoOrContent {
|
||||||
pub fn zero() -> Self {
|
pub fn zero() -> Self {
|
||||||
LengthOrPercentageOrAutoOrContent::Length(NoCalcLength::zero())
|
LengthOrPercentageOrAutoOrContent::Length(NoCalcLength::zero())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns a value representing `0%`.
|
||||||
|
pub fn zero_percent() -> Self {
|
||||||
|
LengthOrPercentageOrAutoOrContent::Percentage(Percentage::zero())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ToCss for LengthOrPercentageOrAutoOrContent {
|
impl ToCss for LengthOrPercentageOrAutoOrContent {
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[flexbox_computedstyle_flex-shorthand-number.htm]
|
||||||
|
type: testharness
|
||||||
|
[flexbox | computed style | flex: number]
|
||||||
|
expected: FAIL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue