Issue #1838 - Part 2: Remove grid- prefix from grid-(column|row)-gap properties

This removes the `grid` prefix from the gap-related properties of grid since they are now part of the box alignment specification. Former grid-gap* properties were aliased to the unprefixed properties to maintain compatibility.

The previously multi-column layout only `column-gap` property has been modified to apply to the Grid layout (and Flexbox in a following commit), moving the `mColumnGap` member variable from `nsStyleColumn` to `nsStylePosition`.

Notes:
* Bug 1398537 - support for percent values in column-gap for multi-column layout landed as part of Issue #1230. However, it was incomplete because it did not update `nsRuleNode` to allow transformation of percentage values for `column-gap`. This was consequently fixed as part of this commit.
* Bug 1456166 - this might not apply because we don't have that devtools test in UXP
* `nsRuleNode`, `nsCSSParser`, `Declaration`, and other related classes were merged into Stylo. These should be taken into consideration when porting patches from Mozilla.

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1398482
This commit is contained in:
FranklinDM 2022-04-02 13:46:07 +08:00 committed by roytam1
commit b4f2c83687
13 changed files with 103 additions and 121 deletions

View file

@ -1092,21 +1092,6 @@ nsComputedDOMStyle::DoGetColumnWidth()
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetColumnGap()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
const nsStyleColumn* column = StyleColumn();
if (column->mColumnGap.GetUnit() == eStyleUnit_Normal) {
val->SetAppUnits(StyleFont()->mFont.size);
} else {
SetValueToCoord(val, StyleColumn()->mColumnGap, true);
}
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetColumnFill()
{
@ -3003,18 +2988,32 @@ nsComputedDOMStyle::DoGetGridRowEnd()
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetGridColumnGap()
nsComputedDOMStyle::DoGetColumnGap()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
SetValueToCoord(val, StylePosition()->mGridColumnGap, true);
const nsStylePosition* positionData = StylePosition();
if (positionData->mColumnGap.GetUnit() == eStyleUnit_Normal) {
val->SetIdent(eCSSKeyword_normal);
} else {
SetValueToCoord(val, positionData->mColumnGap, true);
}
return val.forget();
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetGridRowGap()
nsComputedDOMStyle::DoGetRowGap()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
SetValueToCoord(val, StylePosition()->mGridRowGap, true);
const nsStylePosition* positionData = StylePosition();
if (positionData->mRowGap.GetUnit() == eStyleUnit_Normal) {
val->SetIdent(eCSSKeyword_normal);
} else {
SetValueToCoord(val, positionData->mRowGap, true);
}
return val.forget();
}