NS_IMETHODIMP nsTableOuterFrame::InsertFrames(ChildListID aListID, nsIFrame* aPrevFrame, nsFrameList& aFrameList) { if (kCaptionList == aListID) { NS_ASSERTION(!aPrevFrame || aPrevFrame->GetParent() == this, "inserting after sibling frame with different parent"); NS_ASSERTION(aFrameList.IsEmpty() || aFrameList.FirstChild()->GetType() == nsGkAtoms::tableCaptionFrame, "inserting non-caption frame into captionList"); mCaptionFrames.InsertFrames(nsnull, aPrevFrame, aFrameList); // Reflow the new caption frame. It's already marked dirty, so // just tell the pres shell. PresContext()->PresShell()-> FrameNeedsReflow(this, nsIPresShell::eTreeChange, NS_FRAME_HAS_DIRTY_CHILDREN); return NS_OK; } else { NS_PRECONDITION(!aPrevFrame, "invalid previous frame"); return AppendFrames(aListID, aFrameList); } }
NS_IMETHODIMP nsCanvasFrame::InsertFrames(ChildListID aListID, nsIFrame* aPrevFrame, nsFrameList& aFrameList) { // Because we only support a single child frame inserting is the same // as appending NS_PRECONDITION(!aPrevFrame, "unexpected previous sibling frame"); if (aPrevFrame) return NS_ERROR_UNEXPECTED; return AppendFrames(aListID, aFrameList); }
NS_IMETHODIMP nsRootBoxFrame::InsertFrames(ChildListID aListID, nsIFrame* aPrevFrame, nsFrameList& aFrameList) { nsresult rv; // Because we only support a single child frame inserting is the same // as appending. NS_PRECONDITION(!aPrevFrame, "unexpected previous sibling frame"); if (aPrevFrame) { rv = NS_ERROR_UNEXPECTED; } else { rv = AppendFrames(aListID, aFrameList); } return rv; }