nsLineLayout& aLineLayout, line_iterator aLine, nsIFrame* aFrame)
LineData* aLine, nsIFrame* aFrame, PRBool aLineWasComplete)
nsBlockFrame::SplitLine(nsBlockReflowState& aState,                        nsLineLayout& aLineLayout,                        line_iterator aLine,                        nsIFrame* aFrame){  NS_ABORT_IF_FALSE(aLine->IsInline(), "illegal SplitLine on block line");  PRInt32 pushCount = aLine->GetChildCount() - aLineLayout.GetCurrentSpanCount();  NS_ABORT_IF_FALSE(pushCount >= 0, "bad push count"); #ifdef DEBUG  if (gNoisyReflow) {    nsFrame::IndentBy(stdout, gNoiseIndent);    printf("split line: from line=%p pushCount=%d aFrame=",           NS_STATIC_CAST(void*, aLine.get()), pushCount);    if (aFrame) {      nsFrame::ListTag(stdout, aFrame);    }    else {      printf("(null)");    }    printf("\n");    if (gReallyNoisyReflow) {      aLine->List(aState.mPresContext, stdout, gNoiseIndent+1);    }  }#endif  if (0 != pushCount) {    NS_ABORT_IF_FALSE(aLine->GetChildCount() > pushCount, "bad push");    NS_ABORT_IF_FALSE(nsnull != aFrame, "whoops");    // Put frames being split out into their own line    nsLineBox* newLine = aState.NewLineBox(aFrame, pushCount, PR_FALSE);    if (!newLine) {      return NS_ERROR_OUT_OF_MEMORY;    }    mLines.after_insert(aLine, newLine);    aLine->SetChildCount(aLine->GetChildCount() - pushCount);#ifdef DEBUG    if (gReallyNoisyReflow) {      newLine->List(aState.mPresContext, stdout, gNoiseIndent+1);    }#endif    // Let line layout know that some frames are no longer part of its    // state.    aLineLayout.SplitLineTo(aLine->GetChildCount());#ifdef DEBUG    VerifyLines(PR_TRUE);#endif  }  return NS_OK;}