aLine->mCarriedOutBottomMargin);
aLine->GetCarriedOutBottomMargin());
nsBlockReflowState::RecoverVerticalMargins(nsLineBox* aLine,                                           PRBool aApplyTopMargin,                                           nscoord* aTopMarginResult,                                           nscoord* aBottomMarginResult){  if (aLine->IsBlock()) {    // Update band data    GetAvailableSpace();    // Setup reflow state to compute the block childs top and bottom    // margins    nsIFrame* frame = aLine->mFirstChild;    nsRect availSpaceRect;    const nsStyleDisplay* display;    frame->GetStyleData(eStyleStruct_Display,                        (const nsStyleStruct*&) display);    nsSplittableType splitType = NS_FRAME_NOT_SPLITTABLE;    frame->IsSplittable(splitType);    ComputeBlockAvailSpace(frame, splitType, display, availSpaceRect);    nsSize availSpace(availSpaceRect.width, availSpaceRect.height);    nsHTMLReflowState reflowState(*mPresContext, mReflowState,                                  frame, availSpace);    // Compute collapsed top margin    nscoord topMargin = 0;    if (aApplyTopMargin) {      topMargin =        nsBlockReflowContext::ComputeCollapsedTopMargin(mPresContext,                                                        reflowState);    }    // Compute collapsed bottom margin    nscoord bottomMargin = reflowState.mComputedMargin.bottom;    bottomMargin =      nsBlockReflowContext::MaxMargin(bottomMargin,                                      aLine->mCarriedOutBottomMargin);    *aTopMarginResult = topMargin;    *aBottomMarginResult = bottomMargin;  }  else {    // XXX_ib    *aTopMarginResult = 0;    *aBottomMarginResult = 0;  }}