Bug 1477533 - Convert NS_STYLE_COLUMN_SPAN_* to an enum class. draft
authorTing-Yu Lin <tlin@mozilla.com>
Sat, 21 Jul 2018 19:53:44 -0700
changeset 821235 518d2bb913c963babdeee358efd4535bf0a2c782
parent 821234 ad345ba5ec8ad7263c11d16bd4434e9015e82f2b
push id117042
push userbmo:aethanyc@gmail.com
push dateSun, 22 Jul 2018 05:26:30 +0000
bugs1477533
milestone63.0a1
Bug 1477533 - Convert NS_STYLE_COLUMN_SPAN_* to an enum class. MozReview-Commit-ID: F8M1DlpBop2
layout/style/ServoBindings.toml
layout/style/nsStyleConsts.h
layout/style/nsStyleStruct.cpp
layout/style/nsStyleStruct.h
servo/components/style/properties/longhands/column.mako.rs
--- 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",