Bug 1477533 - Convert NS_STYLE_COLUMN_SPAN_* to an enum class.
MozReview-Commit-ID: F8M1DlpBop2
--- a/layout/style/ServoBindings.toml
+++ b/layout/style/ServoBindings.toml
@@ -149,16 +149,17 @@ rusty-enums = [
"mozilla::StyleDisplay",
"mozilla::StyleFloatEdge",
"mozilla::StyleShapeRadius",
"mozilla::StyleWindowDragging",
"mozilla::StyleOrient",
"mozilla::StyleBoxSizing",
"mozilla::StyleClear",
"mozilla::StyleColumnFill",
+ "mozilla::StyleColumnSpan",
"mozilla::StyleComplexColor_Tag",
"mozilla::StyleFloat",
"mozilla::StyleImageOrientation",
"mozilla::StyleUserModify",
"mozilla::StyleUserInput",
"mozilla::StyleBoxDirection",
"mozilla::StyleTextJustify",
"mozilla::StyleHyphens",
--- a/layout/style/nsStyleConsts.h
+++ b/layout/style/nsStyleConsts.h
@@ -87,16 +87,21 @@ enum class StyleClear : uint8_t {
Max = 13 // Max = (Both | Line)
};
enum class StyleColumnFill : uint8_t {
Balance,
Auto,
};
+enum class StyleColumnSpan : uint8_t {
+ None,
+ All,
+};
+
// Counters and generated content.
enum class StyleContentType : uint8_t {
String = 1,
Image = 10,
Attr = 20,
Counter = 30,
Counters = 31,
OpenQuote = 40,
@@ -979,19 +984,16 @@ enum class StyleWhiteSpace : uint8_t {
// See nsStyleBreaks
#define NS_STYLE_PAGE_BREAK_AUTO 0
#define NS_STYLE_PAGE_BREAK_ALWAYS 1
#define NS_STYLE_PAGE_BREAK_AVOID 2
#define NS_STYLE_PAGE_BREAK_LEFT 3
#define NS_STYLE_PAGE_BREAK_RIGHT 4
-#define NS_STYLE_COLUMN_SPAN_NONE 0
-#define NS_STYLE_COLUMN_SPAN_ALL 1
-
// See nsStyleUIReset
#define NS_STYLE_IME_MODE_AUTO 0
#define NS_STYLE_IME_MODE_NORMAL 1
#define NS_STYLE_IME_MODE_ACTIVE 2
#define NS_STYLE_IME_MODE_DISABLED 3
#define NS_STYLE_IME_MODE_INACTIVE 4
// See nsStyleGradient
--- a/layout/style/nsStyleStruct.cpp
+++ b/layout/style/nsStyleStruct.cpp
@@ -754,17 +754,16 @@ nsStyleXUL::CalcDifference(const nsStyle
//
/* static */ const uint32_t nsStyleColumn::kMaxColumnCount;
/* static */ const uint32_t nsStyleColumn::kColumnCountAuto;
nsStyleColumn::nsStyleColumn(const nsPresContext* aContext)
: mColumnWidth(eStyleUnit_Auto)
, mColumnRuleColor(StyleComplexColor::CurrentColor())
, mColumnRuleStyle(NS_STYLE_BORDER_STYLE_NONE)
- , mColumnSpan(NS_STYLE_COLUMN_SPAN_NONE)
, mColumnRuleWidth((StaticPresData::Get()
->GetBorderWidthTable())[NS_STYLE_BORDER_WIDTH_MEDIUM])
, mTwipsPerPixel(aContext->AppUnitsPerDevPixel())
{
MOZ_COUNT_CTOR(nsStyleColumn);
}
nsStyleColumn::~nsStyleColumn()
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -2814,17 +2814,17 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsSt
static const uint32_t kColumnCountAuto = 0;
uint32_t mColumnCount = kColumnCountAuto;
nsStyleCoord mColumnWidth; // coord, auto
mozilla::StyleComplexColor mColumnRuleColor;
uint8_t mColumnRuleStyle; // NS_STYLE_BORDER_STYLE_*
mozilla::StyleColumnFill mColumnFill = mozilla::StyleColumnFill::Balance;
- uint8_t mColumnSpan; // NS_STYLE_COLUMN_SPAN_*
+ mozilla::StyleColumnSpan mColumnSpan = mozilla::StyleColumnSpan::None;
void SetColumnRuleWidth(nscoord aWidth) {
mColumnRuleWidth = NS_ROUND_BORDER_TO_PIXELS(aWidth, mTwipsPerPixel);
}
nscoord GetComputedColumnRuleWidth() const {
return (IsVisibleBorderStyle(mColumnRuleStyle) ? mColumnRuleWidth : 0);
}
--- a/servo/components/style/properties/longhands/column.mako.rs
+++ b/servo/components/style/properties/longhands/column.mako.rs
@@ -56,16 +56,17 @@
animation_value_type="AnimatedColor",
extra_prefixes="moz",
ignored_when_colors_disabled=True,
spec="https://drafts.csswg.org/css-multicol/#propdef-column-rule-color",
)}
${helpers.single_keyword("column-span", "none all",
products="gecko", animation_value_type="discrete",
+ gecko_enum_prefix="StyleColumnSpan",
gecko_pref="layout.css.column-span.enabled",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-span",
extra_prefixes="moz:layout.css.column-span.enabled")}
${helpers.single_keyword("column-rule-style",
"none hidden dotted dashed solid double groove ridge inset outset",
products="gecko", extra_prefixes="moz",
gecko_constant_prefix="NS_STYLE_BORDER_STYLE",