if (aFrameList) {
SectionData sd(aFrameList);  if (sd.HasABlock()) { nsFrameList section1, section2, section3; sd.SplitFrameList(section1, section2, section3);    nsInlineFrame* prevInline; nsAnonymousBlockFrame* anonymousBlock; anonymousBlock = FindPrevAnonymousBlock(&prevInline); if (nsnull != anonymousBlock) {                 nsIFrame* inlineSiblings; anonymousBlock->GetNextSibling(inlineSiblings); nsFrameList newBlockFrames; if (nsnull != inlineSiblings) { newBlockFrames.AppendFrames(anonymousBlock, inlineSiblings); } nsInlineFrame* tmp = (nsInlineFrame*) prevInline->mNextInFlow; while ((nsnull != tmp) && (this != tmp)) { newBlockFrames.AppendFrames(anonymousBlock, tmp->mFrames); tmp = (nsInlineFrame*) tmp->mNextInFlow; }    if (this != prevInline) { newBlockFrames.AppendFrames(anonymousBlock, mFrames); }   if (section1.NotEmpty()) { newBlockFrames.AppendFrames(anonymousBlock, section1); } newBlockFrames.AppendFrames(anonymousBlock, section2);      anonymousBlock->SetNextSibling(section3.FirstChild());    rv = anonymousBlock->AppendFrames2(aPresContext, aPresShell, nsnull, newBlockFrames.FirstChild()); #ifdef NOISY_ANON_BLOCK printf("AppendFrames: case 1\n"); #endif } else {        nsIFrame* anonymousBlock; rv = CreateAnonymousBlock(aPresContext, section2.FirstChild(), &anonymousBlock); if (NS_FAILED(rv)) { return rv; } if (section1.NotEmpty()) { mFrames.AppendFrames(nsnull, section1); } mFrames.AppendFrame(nsnull, anonymousBlock); if (section3.NotEmpty()) { mFrames.AppendFrames(nsnull, section3); } #ifdef NOISY_ANON_BLOCK printf("AppendFrames: case 2\n"); #endif  if (aGenerateReflowCommands) {  nsIReflowCommand* reflowCmd = nsnull; rv = NS_NewHTMLReflowCommand(&reflowCmd, this, nsIReflowCommand::ReflowDirty); if (NS_SUCCEEDED(rv)) { aPresShell.AppendReflowCommand(reflowCmd); NS_RELEASE(reflowCmd); } } } } else {
nsInlineFrame::AppendFrames(nsIAtom*        aListName,                            nsIFrame*       aFrameList){  if (nsnull != aListName) {    return NS_ERROR_INVALID_ARG;  }  if (aFrameList) {    mFrames.AppendFrames(this, aFrameList);    // Ask the parent frame to reflow me.    ReflowDirtyChild(GetPresContext()->PresShell(), nsnull);  }  return NS_OK;}