rv = NS_NewHTMLReflowCommand(&reflowCmd, target, command);
rv = NS_NewHTMLReflowCommand(&reflowCmd, target, nsIReflowCommand::ReflowDirty);
nsInlineFrame::InsertInlineFrames(nsIPresContext& aPresContext,                                  nsIPresShell& aPresShell,                                  nsIFrame* aPrevFrame,                                  nsIFrame* aFrameList){  nsresult rv = NS_OK;  PRBool generateReflowCommand = PR_FALSE;  nsIReflowCommand::ReflowType command = nsIReflowCommand::FrameInserted;  nsIFrame* target = nsnull;  if (nsnull == aPrevFrame) {    // Insert the frames at the front of our list. Since the frames    // are all inline frames we just place them there, even if our    // current first frame is the anonymous block frame. The reflow    // logic will properly push the anonymous block frame to a    // next-in-flow.    mFrames.InsertFrames(this, nsnull, aFrameList);    generateReflowCommand = PR_TRUE;    target = this;#ifdef NOISY_ANON_BLOCK    printf("InsertInlineFrames: case 1\n");#endif  }  else {    nsIFrame* prevFrameParent;    aPrevFrame->GetParent(prevFrameParent);    if (nsLineLayout::TreatFrameAsBlock(prevFrameParent)) {      nsAnonymousBlockFrame* anonymousBlock;      anonymousBlock = (nsAnonymousBlockFrame*) prevFrameParent;      // The previous frame's parent is an anonymous block (otherwise      // its parent would be this frame). We must not place the inline      // frames into the anonymous block if they should be in      // section3.      nsIFrame* nextSibling;      aPrevFrame->GetNextSibling(nextSibling);      nsIFrame* anonymousBlockNextInFlow;      prevFrameParent->GetNextInFlow(anonymousBlockNextInFlow);      if ((nsnull != nextSibling) || (nsnull != anonymousBlockNextInFlow)) {        // Easy case: there are more frames following aPrevFrame which        // means that this insertion lies in the anonymous block.        nsIFrame* frame = aFrameList;        while (nsnull != frame) {          frame->SetParent(anonymousBlock);          frame->GetNextSibling(frame);        }        anonymousBlock->InsertFrames2(aPresContext, aPresShell, nsnull,                                      aPrevFrame, aFrameList);#ifdef NOISY_ANON_BLOCK        printf("InsertInlineFrames: case 2\n");#endif      }      else {        // aPrevFrame is the last frame that should be in the        // anonymous block.        nsInlineFrame* anonymousBlockParent;        anonymousBlock->GetParent((nsIFrame*&)anonymousBlockParent);        // Place the inline frames after the anonymous block        nsIFrame* frame = aFrameList;        while (nsnull != frame) {          frame->SetParent(anonymousBlockParent);          frame->GetNextSibling(frame);        }        anonymousBlockParent->mFrames.InsertFrames(nsnull, anonymousBlock,                                                   aFrameList);        generateReflowCommand = PR_TRUE;        target = anonymousBlockParent;#ifdef NOISY_ANON_BLOCK        printf("InsertInlineFrames: case 3\n");#endif      }    }    else {      // The previous frame's parent is an inline frame. Therefore      // this is either a section1 or section3 insertion. Insert the      // frames in the proper flow block (which will be aPrevFrame's      // parent which is currently stored in anonymousBlock)      nsInlineFrame* flow = (nsInlineFrame*) prevFrameParent;      flow->mFrames.InsertFrames(flow, aPrevFrame, aFrameList);      generateReflowCommand = PR_TRUE;      target = flow;#ifdef NOISY_ANON_BLOCK      printf("InsertInlineFrames: case 4\n");#endif    }  }  if (generateReflowCommand) {    // generate a reflow command for "this"    nsIReflowCommand* reflowCmd = nsnull;    rv = NS_NewHTMLReflowCommand(&reflowCmd, target, command);    if (NS_SUCCEEDED(rv)) {      aPresShell.AppendReflowCommand(reflowCmd);      NS_RELEASE(reflowCmd);    }  }  return rv;}