mHasCachedPadding = PR_FALSE;
mHasCachedBorder = PR_FALSE;
void StyleSpacingImpl::RecalcData(nsIPresContext* aPresContext){  if (IsFixedData(mMargin, PR_FALSE)) {    nsStyleCoord  coord;    mCachedMargin.left = CalcCoord(mMargin.GetLeft(coord), nsnull, 0);    mCachedMargin.top = CalcCoord(mMargin.GetTop(coord), nsnull, 0);    mCachedMargin.right = CalcCoord(mMargin.GetRight(coord), nsnull, 0);    mCachedMargin.bottom = CalcCoord(mMargin.GetBottom(coord), nsnull, 0);    mHasCachedMargin = PR_TRUE;  }  else {    mHasCachedMargin = PR_FALSE;  }  if (IsFixedData(mPadding, PR_FALSE)) {    nsStyleCoord  coord;    mCachedPadding.left = CalcCoord(mPadding.GetLeft(coord), nsnull, 0);    mCachedPadding.top = CalcCoord(mPadding.GetTop(coord), nsnull, 0);    mCachedPadding.right = CalcCoord(mPadding.GetRight(coord), nsnull, 0);    mCachedPadding.bottom = CalcCoord(mPadding.GetBottom(coord), nsnull, 0);    mHasCachedPadding = PR_TRUE;  }  else {    mHasCachedPadding = PR_FALSE;  }  if (IsFixedData(mBorder, PR_TRUE)) {    nsStyleCoord  coord;    mCachedBorder.left = CalcCoord(mBorder.GetLeft(coord), kBorderWidths, 3);    mCachedBorder.top = CalcCoord(mBorder.GetTop(coord), kBorderWidths, 3);    mCachedBorder.right = CalcCoord(mBorder.GetRight(coord), kBorderWidths, 3);    mCachedBorder.bottom = CalcCoord(mBorder.GetBottom(coord), kBorderWidths, 3);    mHasCachedPadding = PR_TRUE;  }  else {    mHasCachedPadding = PR_FALSE;  }  if (mHasCachedBorder && mHasCachedPadding) {    mCachedBorderPadding = mCachedPadding;    mCachedBorderPadding += mCachedBorder;  }  // XXX fixup missing border colors}