if (aFloaterReflowState.HaveFixedContentWidth()) {
if (reflowState.HaveConstrainedWidth()) {
nsBlockFrame::ReflowFloater(nsIPresContext& aPresContext,                            nsBlockReflowState& aState,                            nsIFrame* aFloaterFrame,                            nsHTMLReflowState& aFloaterReflowState){  // If either dimension is constrained then get the border and  // padding values in advance.  const nsMargin& bp = aFloaterReflowState.mComputedBorderPadding;  // Compute the available width for the floater  if (aFloaterReflowState.HaveFixedContentWidth()) {    // When the floater has a contrained width, give it just enough    // space for its styled width plus its borders and paddings.    aFloaterReflowState.availableWidth = aFloaterReflowState.computedWidth +      bp.left + bp.right;  }  else {    // CSS2 section 10.3.5: Floating non-replaced elements with an    // auto width have the computed value of zero. Therefore, don't    // bother reflowing them.    if (!NS_FRAME_IS_REPLACED(aFloaterReflowState.frameType)) {      // XXX Tables are weird and special, so check for them here...      const nsStyleDisplay* floaterDisplay;      aFloaterFrame->GetStyleData(eStyleStruct_Display,                                  (const nsStyleStruct*&)floaterDisplay);      if (NS_STYLE_DISPLAY_TABLE != floaterDisplay->mDisplay) {        return;      }    }    aFloaterReflowState.availableWidth = NS_UNCONSTRAINEDSIZE;  }  // Compute the available height for the floater  if (aFloaterReflowState.HaveFixedContentHeight()) {    aFloaterReflowState.availableHeight = aFloaterReflowState.computedHeight + bp.top + bp.bottom;  }  else {    aFloaterReflowState.availableHeight = NS_UNCONSTRAINEDSIZE;  }  // Resize reflow the anchored item into the available space  nsIHTMLReflow*  floaterReflow;  if (NS_OK == aFloaterFrame->QueryInterface(kIHTMLReflowIID,                                             (void**)&floaterReflow)) {    nsHTMLReflowMetrics desiredSize(nsnull);    nsReflowStatus status;    floaterReflow->WillReflow(aPresContext);    floaterReflow->Reflow(aPresContext, desiredSize, aFloaterReflowState,                          status);    aFloaterFrame->SizeTo(desiredSize.width, desiredSize.height);  }}