NS_IF_RELEASE(childListName); aFrame->GetAdditionalChildListName(childListIndex++, &childListName);
childListName = aFrame->GetAdditionalChildListName(childListIndex++);
FrameManager::RestoreFrameState(nsIFrame* aFrame, nsILayoutHistoryState* aState){  nsresult rv = NS_OK;  NS_ENSURE_TRUE(mPresShell, NS_ERROR_NOT_AVAILABLE);  NS_PRECONDITION(nsnull != aFrame && nsnull != aState, "null parameters passed in");    rv = RestoreFrameStateFor(aFrame, aState);  // Now restore state recursively for the frame hierarchy rooted at aFrame  nsIAtom*  childListName = nsnull;  PRInt32   childListIndex = 0;  do {        nsIFrame* childFrame;    aFrame->FirstChild(GetPresContext(), childListName, &childFrame);    while (childFrame) {      rv = RestoreFrameState(childFrame, aState);      // Get the next sibling child frame      childFrame = childFrame->GetNextSibling();    }    NS_IF_RELEASE(childListName);    aFrame->GetAdditionalChildListName(childListIndex++, &childListName);  } while (childListName);  return rv;}