nsAutoString str;
SinkContext::DidAddContent(nsIContent* aContent, PRBool aDidNotify){  PRInt32 childCount;  // If there was a notification done for this content, update the  // parent's notification count.  if (aDidNotify && (0 < mStackPos)) {    nsIContent* parent = mStack[mStackPos-1].mContent;    parent->ChildCount(childCount);    mStack[mStackPos-1].mNumFlushed = childCount;  }  if ((2 == mStackPos) &&      (mSink->mBody == mStack[1].mContent)) {    // We just finished adding something to the body    mNotifyLevel = 0;  }  // If we just added content to a node for which  // an insertion happen, we need to do an immediate   // notification for that insertion.  if (!aDidNotify && (0 < mStackPos) &&       (mStack[mStackPos-1].mInsertionPoint != -1)) {    nsIContent* parent = mStack[mStackPos-1].mContent;#ifdef NS_DEBUG    // Tracing code    nsAutoString str;    nsCOMPtr<nsIDTD> dtd;    mSink->mParser->GetDTD(getter_AddRefs(dtd));    dtd->IntTagToStringTag(nsHTMLTag(mStack[mStackPos-1].mType), str);          SINK_TRACE(SINK_TRACE_REFLOW,               ("SinkContext::DidAddContent: Insertion notification for parent=%s at position=%d and stackPos=%d",                 NS_LossyConvertUCS2toASCII(str).get(),                mStack[mStackPos-1].mInsertionPoint-1, mStackPos-1));#endif    mSink->NotifyInsert(parent,                         aContent,                         mStack[mStackPos-1].mInsertionPoint-1);    parent->ChildCount(childCount);    mStack[mStackPos-1].mNumFlushed = childCount;  }  else if (!aDidNotify && mSink->IsTimeToNotify()) {    SINK_TRACE(SINK_TRACE_REFLOW,               ("SinkContext::DidAddContent: Notification as a result of the interval expiring; backoff count: %d", mSink->mBackoffCount));    FlushTags(PR_TRUE);  }}