NS_PRECONDITION(nsLayoutAtoms::fixedList == aListName, "unexpected child list"); if (aListName != nsLayoutAtoms::fixedList) {
if (mFixedContainer.GetChildListName() == aListName) { rv = mFixedContainer.RemoveFrame(this, aPresContext, aPresShell, aListName, aOldFrame); } else {
ViewportFrame::RemoveFrame(nsIPresContext* aPresContext,                         nsIPresShell&   aPresShell,                         nsIAtom*        aListName,                         nsIFrame*       aOldFrame){  nsresult  rv;  NS_PRECONDITION(nsLayoutAtoms::fixedList == aListName, "unexpected child list");  if (aListName != nsLayoutAtoms::fixedList) {    // We only expect incremental changes for our fixed frames    rv = NS_ERROR_INVALID_ARG;  } else {    PRBool result = mFixedFrames.DestroyFrame(aPresContext, aOldFrame);    NS_ASSERTION(result, "didn't find frame to delete");    // Because fixed frames aren't part of a flow, there's no additional    // work to do, e.g. reflowing sibling frames. And because fixed frames    // have a view, we don't need to repaint    rv = result ? NS_OK : NS_ERROR_FAILURE;  }  return rv;}