NS_FRAME_TRACE(NS_FRAME_TRACE_CALLS, ("nsBlockFrame::PushLines: line=%p prevInFlow=%p nextInFlow=%p", mOverflowLines, mPrevInFlow, mNextInFlow)); #ifdef NS_DEBUG if (GetVerifyTreeEnable()) { VerifyChildCount(mLines); VerifyChildCount(mOverflowLines, PR_TRUE); }
nsBlockFrame::PushLines(nsBlockReflowState& aState,                        nsLineList::iterator aLineBefore){  nsLineList::iterator overBegin(aLineBefore.next());  NS_ASSERTION(overBegin != begin_lines(), "bad push");  if (overBegin != end_lines()) {    // XXXldb use presshell arena!    nsLineList* overflowLines = new nsLineList();    overflowLines->splice(overflowLines->end(), mLines, overBegin,                          end_lines());    NS_ASSERTION(!overflowLines->empty(), "should not be empty");      // this takes ownership but it won't delete it immediately so we      // can keep using it.    SetOverflowLines(aState.mPresContext, overflowLines);      // Mark all the overflow lines dirty so that they get reflowed when    // they are pulled up by our next-in-flow.    // XXXldb Can this get called O(N) times making the whole thing O(N^2)?    for (line_iterator line = overflowLines->begin(),                   line_end = overflowLines->end();         line != line_end;         ++line)    {      line->MarkDirty();    }  }  // Break frame sibling list  aLineBefore->LastChild()->SetNextSibling(nsnull);#ifdef DEBUG  VerifyOverflowSituation(aState.mPresContext);#endif}