Bug 1277433 - Part 5: Replace eStyleAnimType_EnumU8 to eStyleAnimType_Discrete. r=birtles draft
authorDaisuke Akatsuka <daisuke@mozilla-japan.org>
Tue, 16 Aug 2016 14:30:16 +0900
changeset 401060 97bde345a211942d627b7b1a01826153d67dac51
parent 401059 91fe9fe7c31ad5b89930bd14e121714ea950df30
child 401061 9aac6422a0f67cb4cfcf15deeb0588af61ddfb36
push id26349
push userbmo:daisuke@mozilla-japan.org
push dateTue, 16 Aug 2016 06:53:50 +0000
reviewersbirtles
bugs1277433
milestone51.0a1
Bug 1277433 - Part 5: Replace eStyleAnimType_EnumU8 to eStyleAnimType_Discrete. r=birtles MozReview-Commit-ID: IeQQ9rdcWD2
layout/style/StyleAnimationValue.cpp
layout/style/nsCSSPropList.h
--- a/layout/style/StyleAnimationValue.cpp
+++ b/layout/style/StyleAnimationValue.cpp
@@ -4216,16 +4216,22 @@ StyleAnimationValue::ExtractComputedValu
       for (uint32_t i = 0, i_end = shadowArray->Length(); i < i_end; ++i) {
         AppendCSSShadowValue(shadowArray->ShadowAt(i), resultTail);
       }
       aComputedValue.SetAndAdoptCSSValueListValue(result.forget(),
                                                   eUnit_Shadow);
       return true;
     }
     case eStyleAnimType_Discrete: {
+      if (aProperty == eCSSProperty_visibility) {
+        aComputedValue.SetIntValue(
+          static_cast<const nsStyleVisibility*>(styleStruct)->mVisible,
+          eUnit_Visibility);
+        return true;
+      }
       auto cssValue = MakeUnique<nsCSSValue>(eCSSUnit_Unset);
       aStyleContext->RuleNode()->GetDiscretelyAnimatedCSSValue(aProperty,
                                                                cssValue.get());
       aComputedValue.SetAndAdoptCSSValueValue(cssValue.release(),
                                               eUnit_DiscreteCSSValue);
       return true;
     }
     case eStyleAnimType_None:
--- a/layout/style/nsCSSPropList.h
+++ b/layout/style/nsCSSPropList.h
@@ -1429,18 +1429,18 @@ CSS_PROP_SVGRESET(
 CSS_PROP_SVG(
     clip-rule,
     clip_rule,
     ClipRule,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kFillRuleKTable,
-    offsetof(nsStyleSVG, mClipRule),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_COLOR(
     color,
     color,
     Color,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
         CSS_PROPERTY_IGNORED_WHEN_COLORS_DISABLED |
@@ -1463,28 +1463,28 @@ CSS_PROP_VISIBILITY(
 CSS_PROP_SVG(
     color-interpolation,
     color_interpolation,
     ColorInterpolation,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kColorInterpolationKTable,
-    offsetof(nsStyleSVG, mColorInterpolation),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     color-interpolation-filters,
     color_interpolation_filters,
     ColorInterpolationFilters,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kColorInterpolationKTable,
-    offsetof(nsStyleSVG, mColorInterpolationFilters),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_COLUMN(
     -moz-column-count,
     _moz_column_count,
     CSS_PROP_DOMPROP_PREFIXED(ColumnCount),
     CSS_PROPERTY_PARSE_VALUE |
         // Need to reject 0 in addition to negatives.  If we accept 0, we
         // need to change NS_STYLE_COLUMN_COUNT_AUTO to something else.
         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
@@ -1668,18 +1668,18 @@ CSS_PROP_DISPLAY(
 CSS_PROP_SVGRESET(
     dominant-baseline,
     dominant_baseline,
     DominantBaseline,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kDominantBaselineKTable,
-    offsetof(nsStyleSVGReset, mDominantBaseline),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TABLEBORDER(
     empty-cells,
     empty_cells,
     EmptyCells,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kEmptyCellsKTable,
@@ -1708,18 +1708,18 @@ CSS_PROP_SVG(
 CSS_PROP_SVG(
     fill-rule,
     fill_rule,
     FillRule,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kFillRuleKTable,
-    offsetof(nsStyleSVG, mFillRule),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_EFFECTS(
     filter,
     filter,
     Filter,
     CSS_PROPERTY_PARSE_FUNCTION |
         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
         CSS_PROPERTY_FIXPOS_CB,
     "",
@@ -1751,18 +1751,18 @@ CSS_PROP_POSITION(
 CSS_PROP_POSITION(
     flex-direction,
     flex_direction,
     FlexDirection,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kFlexDirectionKTable,
-    offsetof(nsStylePosition, mFlexDirection),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     flex-flow,
     flex_flow,
     FlexFlow,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_POSITION(
     flex-grow,
@@ -1795,18 +1795,18 @@ CSS_PROP_POSITION(
 CSS_PROP_POSITION(
     flex-wrap,
     flex_wrap,
     FlexWrap,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kFlexWrapKTable,
-    offsetof(nsStylePosition, mFlexWrap),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     float,
     float,
     CSS_PROP_PUBLIC_OR_PRIVATE(CssFloat, Float),
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER,
     "",
     VARIANT_HK,
@@ -1945,18 +1945,18 @@ CSS_PROP_FONT(
     font_style,
     FontStyle,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
     "",
     VARIANT_HK | VARIANT_SYSFONT,
     kFontStyleKTable,
-    offsetof(nsStyleFont, mFont.style),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_FONT(
     font-synthesis,
     font_synthesis,
     FontSynthesis,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
@@ -2303,18 +2303,18 @@ CSS_PROP_LIST(
 CSS_PROP_VISIBILITY(
     image-rendering,
     image_rendering,
     ImageRendering,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kImageRenderingKTable,
-    offsetof(nsStyleVisibility, mImageRendering),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_UIRESET(
     ime-mode,
     ime_mode,
     ImeMode,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kIMEModeKTable,
@@ -2804,18 +2804,18 @@ CSS_PROP_SVGRESET(
 CSS_PROP_SVGRESET(
     mask-type,
     mask_type,
     MaskType,
     CSS_PROPERTY_PARSE_VALUE,
     "layout.css.masking.enabled",
     VARIANT_HK,
     kMaskTypeKTable,
-    offsetof(nsStyleSVGReset, mMaskType),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -moz-math-display,
     math_display,
     MathDisplay,
     CSS_PROPERTY_INTERNAL |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS |
@@ -3503,18 +3503,18 @@ CSS_PROP_USERINTERFACE(
     pointer-events,
     pointer_events,
     PointerEvents,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
     "",
     VARIANT_HK,
     kPointerEventsKTable,
-    offsetof(nsStyleUserInterface, mPointerEvents),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_DISPLAY(
     position,
     position,
     Position,
     CSS_PROPERTY_PARSE_VALUE |
         // For position: sticky/fixed
         CSS_PROPERTY_CREATES_STACKING_CONTEXT |
         CSS_PROPERTY_ABSPOS_CB,
@@ -3563,28 +3563,28 @@ CSS_PROP_POSITION(
 CSS_PROP_TEXT(
     ruby-align,
     ruby_align,
     RubyAlign,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kRubyAlignKTable,
-    offsetof(nsStyleText, mRubyAlign),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     ruby-position,
     ruby_position,
     RubyPosition,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kRubyPositionKTable,
-    offsetof(nsStyleText, mRubyPosition),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_FONT(
     -moz-script-level,
     script_level,
     ScriptLevel,
     // We only allow 'script-level' when unsafe rules are enabled, because
     // otherwise it could interfere with rulenode optimizations if used in
@@ -3724,18 +3724,18 @@ CSS_PROP_DISPLAY(
 CSS_PROP_SVG(
     shape-rendering,
     shape_rendering,
     ShapeRendering,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kShapeRenderingKTable,
-    offsetof(nsStyleSVG, mShapeRendering),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 #ifndef CSS_PROP_LIST_ONLY_COMPONENTS_OF_ALL_SHORTHAND
 #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL
 CSS_PROP_TABLE(
     -x-span,
     _x_span,
     Span,
     CSS_PROPERTY_INTERNAL |
         CSS_PROPERTY_PARSE_INACCESSIBLE,
@@ -3813,28 +3813,28 @@ CSS_PROP_SVG(
 CSS_PROP_SVG(
     stroke-linecap,
     stroke_linecap,
     StrokeLinecap,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kStrokeLinecapKTable,
-    offsetof(nsStyleSVG, mStrokeLinecap),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     stroke-linejoin,
     stroke_linejoin,
     StrokeLinejoin,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kStrokeLinejoinKTable,
-    offsetof(nsStyleSVG, mStrokeLinejoin),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_SVG(
     stroke-miterlimit,
     stroke_miterlimit,
     StrokeMiterlimit,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_VALUE_AT_LEAST_ONE,
     "",
     VARIANT_HN,
@@ -3925,29 +3925,29 @@ CSS_PROP_TEXT(
 CSS_PROP_SVG(
     text-anchor,
     text_anchor,
     TextAnchor,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kTextAnchorKTable,
-    offsetof(nsStyleSVG, mTextAnchor),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-combine-upright,
     text_combine_upright,
     TextCombineUpright,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_VALUE_PARSER_FUNCTION,
     "layout.css.text-combine-upright.enabled",
     0,
     kTextCombineUprightKTable,
-    offsetof(nsStyleText, mTextCombineUpright),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_SHORTHAND(
     text-decoration,
     text_decoration,
     TextDecoration,
     CSS_PROPERTY_PARSE_FUNCTION,
     "")
 CSS_PROP_TEXTRESET(
     text-decoration-color,
@@ -3968,18 +3968,18 @@ CSS_PROP_TEXTRESET(
     TextDecorationLine,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
     "",
     0,
     kTextDecorationLineKTable,
-    offsetof(nsStyleTextReset, mTextDecorationLine),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TEXTRESET(
     text-decoration-style,
     text_decoration_style,
     TextDecorationStyle,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
     "",
@@ -4056,18 +4056,18 @@ CSS_PROP_VISIBILITY(
     text-orientation,
     text_orientation,
     TextOrientation,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "layout.css.vertical-text.enabled",
     VARIANT_HK,
     kTextOrientationKTable,
-    offsetof(nsStyleVisibility, mTextOrientation),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TEXTRESET(
     text-overflow,
     text_overflow,
     TextOverflow,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_VALUE_PARSER_FUNCTION |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
     "",
@@ -4078,18 +4078,18 @@ CSS_PROP_TEXTRESET(
 CSS_PROP_TEXT(
     text-rendering,
     text_rendering,
     TextRendering,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kTextRenderingKTable,
-    offsetof(nsStyleText, mTextRendering),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     text-shadow,
     text_shadow,
     TextShadow,
     CSS_PROPERTY_PARSE_FUNCTION |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
         CSS_PROPERTY_VALUE_LIST_USES_COMMAS |
@@ -4369,18 +4369,18 @@ CSS_PROP_UIRESET(
 CSS_PROP_SVGRESET(
     vector-effect,
     vector_effect,
     VectorEffect,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kVectorEffectKTable,
-    offsetof(nsStyleSVGReset, mVectorEffect),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 // NOTE: vertical-align is only supposed to apply to :first-letter when
 // 'float' is 'none', but we don't worry about that since it has no
 // effect otherwise
 CSS_PROP_DISPLAY(
     vertical-align,
     vertical_align,
     VerticalAlign,
     CSS_PROPERTY_PARSE_VALUE |
@@ -4397,18 +4397,18 @@ CSS_PROP_DISPLAY(
 CSS_PROP_VISIBILITY(
     visibility,
     visibility,
     Visibility,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kVisibilityKTable,
-    offsetof(nsStyleVisibility, mVisible),
-    eStyleAnimType_EnumU8)  // reflow for collapse
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)  // reflow for collapse
 CSS_PROP_TEXT(
     white-space,
     white_space,
     WhiteSpace,
     CSS_PROPERTY_PARSE_VALUE |
         // This is required by the UA stylesheet and can't be overridden.
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER,
     "",
@@ -4468,18 +4468,18 @@ CSS_PROP_UIRESET(
 CSS_PROP_TEXT(
     word-break,
     word_break,
     WordBreak,
     CSS_PROPERTY_PARSE_VALUE,
     "",
     VARIANT_HK,
     kWordBreakKTable,
-    offsetof(nsStyleText, mWordBreak),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_TEXT(
     word-spacing,
     word_spacing,
     WordSpacing,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_APPLIES_TO_FIRST_LETTER_AND_FIRST_LINE |
         CSS_PROPERTY_APPLIES_TO_PLACEHOLDER |
         CSS_PROPERTY_UNITLESS_LENGTH_QUIRK |
@@ -4503,18 +4503,18 @@ CSS_PROP_VISIBILITY(
     writing-mode,
     writing_mode,
     WritingMode,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_ENABLED_IN_UA_SHEETS,
     "layout.css.vertical-text.enabled",
     VARIANT_HK,
     kWritingModeKTable,
-    offsetof(nsStyleVisibility, mWritingMode),
-    eStyleAnimType_EnumU8)
+    CSS_PROP_NO_OFFSET,
+    eStyleAnimType_Discrete)
 CSS_PROP_POSITION(
     z-index,
     z_index,
     ZIndex,
     CSS_PROPERTY_PARSE_VALUE |
         CSS_PROPERTY_CREATES_STACKING_CONTEXT,
     "",
     VARIANT_AHI,