rv = CreateNextInFlow(aPresContext, this, aFrame, newFrame);
rv = CreateNextInFlow(rs.mPresContext, this, aFrame, newFrame);
nsInlineFrame::ReflowInlineFrame(nsPresContext* aPresContext,                                 const nsHTMLReflowState& aReflowState,                                 InlineReflowState& irs,                                 nsIFrame* aFrame,                                 nsReflowStatus& aStatus){  nsLineLayout* lineLayout = aReflowState.mLineLayout;  PRBool reflowingFirstLetter = lineLayout->GetFirstLetterStyleOK();  PRBool pushedFrame;  nsresult rv = lineLayout->ReflowFrame(aFrame, aStatus, nsnull, pushedFrame);  /* This next block is for bug 28811     Test the child frame for %-awareness,      and mark this frame with a bit if it is %-aware.     Don't bother if this frame is already marked  */  if (!(mState & NS_INLINE_FRAME_CONTAINS_PERCENT_AWARE_CHILD)) {      MarkPercentAwareFrame(aPresContext, this, aFrame);  }  if (NS_FAILED(rv)) {    return rv;  }  if (NS_INLINE_IS_BREAK(aStatus)) {    if (NS_INLINE_IS_BREAK_BEFORE(aStatus)) {      if (aFrame != mFrames.FirstChild()) {        // Change break-before status into break-after since we have        // already placed at least one child frame. This preserves the        // break-type so that it can be propagated upward.        aStatus = NS_FRAME_NOT_COMPLETE |          NS_INLINE_BREAK | NS_INLINE_BREAK_AFTER |          (aStatus & NS_INLINE_BREAK_TYPE_MASK);        PushFrames(aPresContext, aFrame, irs.mPrevFrame);      }      else {        // Preserve reflow status when breaking-before our first child        // and propagate it upward without modification.        // Note: if we're lazily setting the frame pointer for our child         // frames, then we need to set it now. Don't return and leave the        // remaining child frames in our child list with the wrong parent        // frame pointer...        if (irs.mSetParentPointer) {          for (nsIFrame* f = aFrame->GetNextSibling(); f; f = f->GetNextSibling()) {            f->SetParent(this);          }        }      }    }    else {      // Break-after      if (NS_FRAME_IS_NOT_COMPLETE(aStatus)) {        nsIFrame* newFrame;        rv = CreateNextInFlow(aPresContext, this, aFrame, newFrame);        if (NS_FAILED(rv)) {          return rv;        }      }      nsIFrame* nextFrame = aFrame->GetNextSibling();      if (nextFrame) {        aStatus |= NS_FRAME_NOT_COMPLETE;        PushFrames(aPresContext, nextFrame, aFrame);      }      else if (nsnull != mNextInFlow) {        // We must return an incomplete status if there are more child        // frames remaining in a next-in-flow that follows this frame.        nsInlineFrame* nextInFlow = (nsInlineFrame*) mNextInFlow;        while (nsnull != nextInFlow) {          if (nextInFlow->mFrames.NotEmpty()) {            aStatus |= NS_FRAME_NOT_COMPLETE;            break;          }          nextInFlow = (nsInlineFrame*) nextInFlow->mNextInFlow;        }      }    }  }  else if (NS_FRAME_IS_NOT_COMPLETE(aStatus)) {    if (nsLayoutAtoms::placeholderFrame == aFrame->GetType()) {      nsBlockReflowState* blockRS = lineLayout->mBlockRS;      blockRS->mBlock->SplitPlaceholder(*blockRS, aFrame);      // Allow the parent to continue reflowing      aStatus = NS_FRAME_COMPLETE;    }    else {      nsIFrame* newFrame;      rv = CreateNextInFlow(aPresContext, this, aFrame, newFrame);      if (NS_FAILED(rv)) {        return rv;      }      if (!reflowingFirstLetter) {        nsIFrame* nextFrame = aFrame->GetNextSibling();        if (nextFrame) {          PushFrames(aPresContext, nextFrame, aFrame);        }      }    }  }  return rv;}