else { aState.mPrevMarginFlags = firstDirtyLine->GetMarginFlags(); }
nsBlockFrame::FrameAppendedReflow(nsBlockReflowState& aState){  nsresult  rv = NS_OK;  // Get the first of the newly appended frames  nsIFrame* firstAppendedFrame;  aState.reflowCommand->GetChildFrame(firstAppendedFrame);  // Add the new frames to the child list, and create new lines. Each  // impacted line will be marked dirty  AppendNewFrames(aState.mPresContext, firstAppendedFrame);#if 0  // Generate text-run information  rv = FindTextRuns(aState);  if (NS_OK != rv) {    return rv;  }#endif  // Recover our reflow state  LineData* firstDirtyLine = mLines;  LineData* lastCleanLine = nsnull;  while (nsnull != firstDirtyLine) {    if (firstDirtyLine->IsDirty()) {      break;    }    // Recover xmost    nscoord xmost = firstDirtyLine->mBounds.XMost();    if (xmost > aState.mKidXMost) {      aState.mKidXMost = xmost;    }    // Recover the mPrevBottomMargin and the mCollapsedTopMargin values    nscoord topMargin, bottomMargin;    RecoverLineMargins(aState, firstDirtyLine, topMargin, bottomMargin);    if (0 == firstDirtyLine->mBounds.height) {      // For zero height lines, collapse the lines top and bottom      // margins together to produce the effective bottomMargin value.      bottomMargin = nsInlineReflow::MaxMargin(topMargin, bottomMargin);      bottomMargin = nsInlineReflow::MaxMargin(aState.mPrevBottomMargin,                                               bottomMargin);    }    aState.mPrevBottomMargin = bottomMargin;    // Advance Y to be below the line.    aState.mY = firstDirtyLine->mBounds.YMost();    // Advance to the next line    lastCleanLine = firstDirtyLine;    firstDirtyLine = firstDirtyLine->mNext;  }  if (nsnull != lastCleanLine) {    // Place any floaters the line has    if (nsnull != lastCleanLine->mFloaters) {      aState.mCurrentLine = lastCleanLine;      aState.PlaceFloaters(lastCleanLine->mFloaters);    }  }  aState.GetAvailableSpace();  NS_FRAME_TRACE(NS_FRAME_TRACE_CALLS,     ("nsBlockReflowState::FrameAppendedReflow: y=%d firstDirtyLine=%p",      aState.mY, firstDirtyLine));  // Reflow lines from there forward  aState.mPrevLine = lastCleanLine;  return ReflowLinesAt(aState, firstDirtyLine);}