Issue #1838 - Follow-up: Prevent grid shorthand from resetting gutter properties

This also fixes crashing when using the grid shorthand property.
This commit is contained in:
FranklinDM 2022-04-17 18:23:41 +08:00 committed by roytam1
commit e16a340a33
2 changed files with 0 additions and 19 deletions

View file

@ -1248,18 +1248,6 @@ Declaration::GetPropertyValueInternal(
// #2 <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?
// #3 [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
case eCSSProperty_grid: {
const nsCSSValue& columnGapValue =
*data->ValueFor(eCSSProperty_column_gap);
if (columnGapValue.GetUnit() != eCSSUnit_Pixel ||
columnGapValue.GetFloatValue() != 0.0f) {
return; // Not serializable, bail.
}
const nsCSSValue& rowGapValue =
*data->ValueFor(eCSSProperty_row_gap);
if (rowGapValue.GetUnit() != eCSSUnit_Pixel ||
rowGapValue.GetFloatValue() != 0.0f) {
return; // Not serializable, bail.
}
const nsCSSValue& areasValue =
*data->ValueFor(eCSSProperty_grid_template_areas);
const nsCSSValue& columnsValue =

View file

@ -9728,13 +9728,6 @@ CSSParserImpl::ParseGrid()
return true;
}
// https://drafts.csswg.org/css-grid/#grid-shorthand
// "Also, the gutter properties are reset by this shorthand,
// even though they can't be set by it."
value.SetFloatValue(0.0f, eCSSUnit_Pixel);
AppendValue(eCSSProperty_row_gap, value);
AppendValue(eCSSProperty_column_gap, value);
// [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
auto res = ParseGridShorthandAutoProps(NS_STYLE_GRID_AUTO_FLOW_ROW);
if (res == CSSParseResult::Error) {