--- a/layout/style/nsStyleStruct.cpp
+++ b/layout/style/nsStyleStruct.cpp
@@ -802,27 +802,27 @@ nsChangeHint nsStyleXUL::CalcDifference(
// --------------------
// nsStyleColumn
//
/* static */ const uint32_t nsStyleColumn::kMaxColumnCount = 1000;
nsStyleColumn::nsStyleColumn(StyleStructContext aContext)
: mColumnCount(NS_STYLE_COLUMN_COUNT_AUTO)
+ , mColumnWidth(eStyleUnit_Auto)
+ , mColumnGap(eStyleUnit_Normal)
, mColumnRuleColor(NS_RGB(0, 0, 0))
, mColumnRuleStyle(NS_STYLE_BORDER_STYLE_NONE)
, mColumnFill(NS_STYLE_COLUMN_FILL_BALANCE)
, mColumnRuleColorIsForeground(true)
, mColumnRuleWidth((StaticPresData::Get()
->GetBorderWidthTable())[NS_STYLE_BORDER_WIDTH_MEDIUM])
, mTwipsPerPixel(aContext.AppUnitsPerDevPixel())
{
MOZ_COUNT_CTOR(nsStyleColumn);
- mColumnWidth.SetAutoValue();
- mColumnGap.SetNormalValue();
}
nsStyleColumn::~nsStyleColumn()
{
MOZ_COUNT_DTOR(nsStyleColumn);
}
nsStyleColumn::nsStyleColumn(const nsStyleColumn& aSource)
@@ -872,16 +872,19 @@ nsChangeHint nsStyleColumn::CalcDifferen
// --------------------
// nsStyleSVG
//
nsStyleSVG::nsStyleSVG(StyleStructContext aContext)
: mFill(eStyleSVGPaintType_Color) // Will be initialized to NS_RGB(0, 0, 0)
, mStroke(eStyleSVGPaintType_None)
, mStrokeDasharray(nullptr)
+ , mStrokeDashoffset(0, nsStyleCoord::CoordConstructor)
+ , mStrokeWidth(nsPresContext::CSSPixelsToAppUnits(1),
+ nsStyleCoord::CoordConstructor)
, mFillOpacity(1.0f)
, mStrokeMiterlimit(4.0f)
, mStrokeOpacity(1.0f)
, mStrokeDasharrayLength(0)
, mClipRule(NS_STYLE_FILL_RULE_NONZERO)
, mColorInterpolation(NS_STYLE_COLOR_INTERPOLATION_SRGB)
, mColorInterpolationFilters(NS_STYLE_COLOR_INTERPOLATION_LINEARRGB)
, mFillRule(NS_STYLE_FILL_RULE_NONZERO)
@@ -892,19 +895,16 @@ nsStyleSVG::nsStyleSVG(StyleStructContex
, mTextAnchor(NS_STYLE_TEXT_ANCHOR_START)
, mFillOpacitySource(eStyleSVGOpacitySource_Normal)
, mStrokeOpacitySource(eStyleSVGOpacitySource_Normal)
, mStrokeDasharrayFromObject(false)
, mStrokeDashoffsetFromObject(false)
, mStrokeWidthFromObject(false)
{
MOZ_COUNT_CTOR(nsStyleSVG);
-
- mStrokeDashoffset.SetCoordValue(0);
- mStrokeWidth.SetCoordValue(nsPresContext::CSSPixelsToAppUnits(1));
}
nsStyleSVG::~nsStyleSVG()
{
MOZ_COUNT_DTOR(nsStyleSVG);
delete [] mStrokeDasharray;
}
@@ -1450,58 +1450,57 @@ bool nsStyleSVGPaint::operator==(const n
return mPaint.mColor == aOther.mPaint.mColor;
return true;
}
// --------------------
// nsStylePosition
//
nsStylePosition::nsStylePosition(StyleStructContext aContext)
- : mGridAutoFlow(NS_STYLE_GRID_AUTO_FLOW_ROW)
+ : mWidth(eStyleUnit_Auto)
+ , mMinWidth(eStyleUnit_Auto)
+ , mMaxWidth(eStyleUnit_None)
+ , mHeight(eStyleUnit_Auto)
+ , mMinHeight(eStyleUnit_Auto)
+ , mMaxHeight(eStyleUnit_None)
+ , mFlexBasis(eStyleUnit_Auto)
+ , mGridAutoColumnsMin(eStyleUnit_Auto)
+ , mGridAutoColumnsMax(eStyleUnit_Auto)
+ , mGridAutoRowsMin(eStyleUnit_Auto)
+ , mGridAutoRowsMax(eStyleUnit_Auto)
+ , mGridAutoFlow(NS_STYLE_GRID_AUTO_FLOW_ROW)
, mBoxSizing(StyleBoxSizing::Content)
, mAlignContent(NS_STYLE_ALIGN_NORMAL)
, mAlignItems(NS_STYLE_ALIGN_NORMAL)
, mAlignSelf(NS_STYLE_ALIGN_AUTO)
, mJustifyContent(NS_STYLE_JUSTIFY_NORMAL)
, mJustifyItems(NS_STYLE_JUSTIFY_AUTO)
, mJustifySelf(NS_STYLE_JUSTIFY_AUTO)
, mFlexDirection(NS_STYLE_FLEX_DIRECTION_ROW)
, mFlexWrap(NS_STYLE_FLEX_WRAP_NOWRAP)
, mObjectFit(NS_STYLE_OBJECT_FIT_FILL)
, mOrder(NS_STYLE_ORDER_INITIAL)
, mFlexGrow(0.0f)
, mFlexShrink(1.0f)
+ , mZIndex(eStyleUnit_Auto)
{
MOZ_COUNT_CTOR(nsStylePosition);
// positioning values not inherited
mObjectPosition.SetInitialPercentValues(0.5f);
nsStyleCoord autoCoord(eStyleUnit_Auto);
- mOffset.SetLeft(autoCoord);
- mOffset.SetTop(autoCoord);
- mOffset.SetRight(autoCoord);
- mOffset.SetBottom(autoCoord);
- mWidth.SetAutoValue();
- mMinWidth.SetAutoValue();
- mMaxWidth.SetNoneValue();
- mHeight.SetAutoValue();
- mMinHeight.SetAutoValue();
- mMaxHeight.SetNoneValue();
- mFlexBasis.SetAutoValue();
+ NS_FOR_CSS_SIDES(side) {
+ mOffset.Set(side, autoCoord);
+ }
// The initial value of grid-auto-columns and grid-auto-rows is 'auto',
// which computes to 'minmax(auto, auto)'.
- mGridAutoColumnsMin.SetAutoValue();
- mGridAutoColumnsMax.SetAutoValue();
- mGridAutoRowsMin.SetAutoValue();
- mGridAutoRowsMax.SetAutoValue();
-
- mZIndex.SetAutoValue();
+
// Other members get their default constructors
// which initialize them to representations of their respective initial value.
// mGridTemplateAreas: nullptr for 'none'
// mGridTemplate{Rows,Columns}: false and empty arrays for 'none'
// mGrid{Column,Row}{Start,End}: false/0/empty values for 'auto'
}
nsStylePosition::~nsStylePosition()
@@ -2875,45 +2874,46 @@ nsStyleDisplay::nsStyleDisplay(StyleStru
, mOrient(NS_STYLE_ORIENT_INLINE)
, mIsolation(NS_STYLE_ISOLATION_AUTO)
, mTopLayer(NS_STYLE_TOP_LAYER_NONE)
, mWillChangeBitField(0)
, mTouchAction(NS_STYLE_TOUCH_ACTION_AUTO)
, mScrollBehavior(NS_STYLE_SCROLL_BEHAVIOR_AUTO)
, mScrollSnapTypeX(NS_STYLE_SCROLL_SNAP_TYPE_NONE)
, mScrollSnapTypeY(NS_STYLE_SCROLL_SNAP_TYPE_NONE)
+ , mScrollSnapPointsX(eStyleUnit_None)
+ , mScrollSnapPointsY(eStyleUnit_None)
, mBackfaceVisibility(NS_STYLE_BACKFACE_VISIBILITY_VISIBLE)
, mTransformStyle(NS_STYLE_TRANSFORM_STYLE_FLAT)
, mTransformBox(NS_STYLE_TRANSFORM_BOX_BORDER_BOX)
, mSpecifiedTransform(nullptr)
+ , mTransformOrigin{ {0.5f, eStyleUnit_Percent}, // Transform is centered on origin
+ {0.5f, eStyleUnit_Percent},
+ {0, nsStyleCoord::CoordConstructor} }
+ , mChildPerspective(eStyleUnit_None)
+ , mPerspectiveOrigin{ {0.5f, eStyleUnit_Percent},
+ {0.5f, eStyleUnit_Percent} }
+ , mVerticalAlign(NS_STYLE_VERTICAL_ALIGN_BASELINE, eStyleUnit_Enumerated)
, mTransitions(nsStyleAutoArray<StyleTransition>::WITH_SINGLE_INITIAL_ELEMENT)
, mTransitionTimingFunctionCount(1)
, mTransitionDurationCount(1)
, mTransitionDelayCount(1)
, mTransitionPropertyCount(1)
, mAnimations(nsStyleAutoArray<StyleAnimation>::WITH_SINGLE_INITIAL_ELEMENT)
, mAnimationTimingFunctionCount(1)
, mAnimationDurationCount(1)
, mAnimationDelayCount(1)
, mAnimationNameCount(1)
, mAnimationDirectionCount(1)
, mAnimationFillModeCount(1)
, mAnimationPlayStateCount(1)
, mAnimationIterationCountCount(1)
{
MOZ_COUNT_CTOR(nsStyleDisplay);
- mTransformOrigin[0].SetPercentValue(0.5f); // Transform is centered on origin
- mTransformOrigin[1].SetPercentValue(0.5f);
- mTransformOrigin[2].SetCoordValue(0);
- mPerspectiveOrigin[0].SetPercentValue(0.5f);
- mPerspectiveOrigin[1].SetPercentValue(0.5f);
- mChildPerspective.SetNoneValue();
- mVerticalAlign.SetIntValue(NS_STYLE_VERTICAL_ALIGN_BASELINE, eStyleUnit_Enumerated);
- mScrollSnapPointsX.SetNoneValue();
- mScrollSnapPointsY.SetNoneValue();
+
// Initial value for mScrollSnapDestination is "0px 0px"
mScrollSnapDestination.SetInitialZeroValues();
mTransitions[0].SetInitialValues();
mAnimations[0].SetInitialValues();
}
nsStyleDisplay::nsStyleDisplay(const nsStyleDisplay& aSource)
@@ -2945,17 +2945,22 @@ nsStyleDisplay::nsStyleDisplay(const nsS
, mScrollSnapPointsX(aSource.mScrollSnapPointsX)
, mScrollSnapPointsY(aSource.mScrollSnapPointsY)
, mScrollSnapDestination(aSource.mScrollSnapDestination)
, mScrollSnapCoordinate(aSource.mScrollSnapCoordinate)
, mBackfaceVisibility(aSource.mBackfaceVisibility)
, mTransformStyle(aSource.mTransformStyle)
, mTransformBox(aSource.mTransformBox)
, mSpecifiedTransform(aSource.mSpecifiedTransform)
+ , mTransformOrigin{ aSource.mTransformOrigin[0],
+ aSource.mTransformOrigin[1],
+ aSource.mTransformOrigin[2] }
, mChildPerspective(aSource.mChildPerspective)
+ , mPerspectiveOrigin{ aSource.mPerspectiveOrigin[0],
+ aSource.mPerspectiveOrigin[1] }
, mVerticalAlign(aSource.mVerticalAlign)
, mTransitions(aSource.mTransitions)
, mTransitionTimingFunctionCount(aSource.mTransitionTimingFunctionCount)
, mTransitionDurationCount(aSource.mTransitionDurationCount)
, mTransitionDelayCount(aSource.mTransitionDelayCount)
, mTransitionPropertyCount(aSource.mTransitionPropertyCount)
, mAnimations(aSource.mAnimations)
, mAnimationTimingFunctionCount(aSource.mAnimationTimingFunctionCount)
@@ -2963,23 +2968,16 @@ nsStyleDisplay::nsStyleDisplay(const nsS
, mAnimationDelayCount(aSource.mAnimationDelayCount)
, mAnimationNameCount(aSource.mAnimationNameCount)
, mAnimationDirectionCount(aSource.mAnimationDirectionCount)
, mAnimationFillModeCount(aSource.mAnimationFillModeCount)
, mAnimationPlayStateCount(aSource.mAnimationPlayStateCount)
, mAnimationIterationCountCount(aSource.mAnimationIterationCountCount)
{
MOZ_COUNT_CTOR(nsStyleDisplay);
-
- /* Copy over transform origin. */
- mTransformOrigin[0] = aSource.mTransformOrigin[0];
- mTransformOrigin[1] = aSource.mTransformOrigin[1];
- mTransformOrigin[2] = aSource.mTransformOrigin[2];
- mPerspectiveOrigin[0] = aSource.mPerspectiveOrigin[0];
- mPerspectiveOrigin[1] = aSource.mPerspectiveOrigin[1];
}
nsChangeHint nsStyleDisplay::CalcDifference(const nsStyleDisplay& aOther) const
{
nsChangeHint hint = nsChangeHint(0);
if (!EqualURIs(mBinding, aOther.mBinding)
|| mPosition != aOther.mPosition
@@ -3352,25 +3350,25 @@ nsStyleContentData::UntrackImage(nsPresC
}
//-----------------------
// nsStyleContent
//
nsStyleContent::nsStyleContent(StyleStructContext aContext)
- : mContents(nullptr)
+ : mMarkerOffset(eStyleUnit_Auto)
+ , mContents(nullptr)
, mIncrements(nullptr)
, mResets(nullptr)
, mContentCount(0)
, mIncrementCount(0)
, mResetCount(0)
{
MOZ_COUNT_CTOR(nsStyleContent);
- mMarkerOffset.SetAutoValue();
}
nsStyleContent::~nsStyleContent()
{
MOZ_COUNT_DTOR(nsStyleContent);
DELETE_ARRAY_IF(mContents);
DELETE_ARRAY_IF(mIncrements);
DELETE_ARRAY_IF(mResets);
@@ -3598,29 +3596,29 @@ nsStyleText::nsStyleText(StyleStructCont
, mTextCombineUpright(NS_STYLE_TEXT_COMBINE_UPRIGHT_NONE)
, mControlCharacterVisibility(nsCSSParser::ControlCharVisibilityDefault())
, mTextEmphasisStyle(NS_STYLE_TEXT_EMPHASIS_STYLE_NONE)
, mTextRendering(NS_STYLE_TEXT_RENDERING_AUTO)
, mTabSize(NS_STYLE_TABSIZE_INITIAL)
, mTextEmphasisColor(aContext.DefaultColor())
, mWebkitTextFillColor(aContext.DefaultColor())
, mWebkitTextStrokeColor(aContext.DefaultColor())
+ , mWordSpacing(0, nsStyleCoord::CoordConstructor)
+ , mLetterSpacing(eStyleUnit_Normal)
+ , mLineHeight(eStyleUnit_Normal)
+ , mTextIndent(0, nsStyleCoord::CoordConstructor)
+ , mWebkitTextStrokeWidth(0, nsStyleCoord::CoordConstructor)
, mTextShadow(nullptr)
{
MOZ_COUNT_CTOR(nsStyleText);
nsCOMPtr<nsIAtom> language = aContext.GetContentLanguage();
mTextEmphasisPosition = language &&
nsStyleUtil::MatchesLanguagePrefix(language, MOZ_UTF16("zh")) ?
NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT_ZH :
NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT;
- mWordSpacing.SetCoordValue(0);
- mLetterSpacing.SetNormalValue();
- mLineHeight.SetNormalValue();
- mTextIndent.SetCoordValue(0);
- mWebkitTextStrokeWidth.SetCoordValue(0);
}
nsStyleText::nsStyleText(const nsStyleText& aSource)
: mTextAlign(aSource.mTextAlign)
, mTextAlignLast(aSource.mTextAlignLast)
, mTextAlignTrue(false)
, mTextAlignLastTrue(false)
, mTextEmphasisColorForeground(aSource.mTextEmphasisColorForeground)