DISPLAY_REFLOW(this, aReflowState, aMetrics, aStatus);
DISPLAY_REFLOW(aPresContext, this, aReflowState, aMetrics, aStatus);
SpacerFrame::Reflow(nsIPresContext*          aPresContext,                    nsHTMLReflowMetrics&     aMetrics,                    const nsHTMLReflowState& aReflowState,                    nsReflowStatus&          aStatus){  DO_GLOBAL_REFLOW_COUNT("SpacerFrame", aReflowState.reason);  DISPLAY_REFLOW(this, aReflowState, aMetrics, aStatus);  aStatus = NS_FRAME_COMPLETE;  // By default, we have no area  aMetrics.width = 0;  aMetrics.height = 0;  aMetrics.ascent = 0;  aMetrics.descent = 0;  const nsStylePosition*  position;  GetStyleData(eStyleStruct_Position, (const nsStyleStruct*&)position);  PRUint8 type = GetType();  switch (type) {  case TYPE_WORD:    break;  case TYPE_LINE:    aStatus = NS_INLINE_LINE_BREAK_AFTER(NS_FRAME_COMPLETE);    if (eStyleUnit_Coord == position->mHeight.GetUnit()) {      aMetrics.width = position->mHeight.GetCoordValue();    }    aMetrics.ascent = aMetrics.height;    break;  case TYPE_IMAGE:    // width    nsStyleUnit unit = position->mWidth.GetUnit();    if (eStyleUnit_Coord == unit) {      aMetrics.width = position->mWidth.GetCoordValue();    }    else if (eStyleUnit_Percent == unit)     {      if (NS_UNCONSTRAINEDSIZE != aReflowState.availableWidth)      {        float factor = position->mWidth.GetPercentValue();        aMetrics.width = NSToCoordRound (factor * aReflowState.availableWidth);      }    }    // height    unit = position->mHeight.GetUnit();    if (eStyleUnit_Coord == unit) {      aMetrics.height = position->mHeight.GetCoordValue();    }    else if (eStyleUnit_Percent == unit)     {      if (NS_UNCONSTRAINEDSIZE != aReflowState.availableHeight)      {        float factor = position->mHeight.GetPercentValue();        aMetrics.width = NSToCoordRound (factor * aReflowState.availableHeight);      }    }    // accent    aMetrics.ascent = aMetrics.height;    break;  }  if (aMetrics.width || aMetrics.height) {    // Make sure that the other dimension is non-zero    if (!aMetrics.width) aMetrics.width = 1;    if (!aMetrics.height) aMetrics.height = 1;  }  if (nsnull != aMetrics.maxElementSize) {    aMetrics.maxElementSize->width = aMetrics.width;    aMetrics.maxElementSize->height = aMetrics.height;  }  return NS_OK;}