NS_IF_RELEASE(childList); aFrame->GetAdditionalChildListName(listIndex++, &childList);
childList = aFrame->GetAdditionalChildListName(listIndex++);
UpdateViewsForTree(nsIPresContext* aPresContext, nsIFrame* aFrame,                    nsIViewManager* aViewManager, nsIFrameManager* aFrameManager,                   nsRect& aBoundsRect, nsChangeHint aChange){  NS_PRECONDITION(gInApplyRenderingChangeToTree,                  "should only be called within ApplyRenderingChangeToTree");  nsIView* view = aFrame->GetView();  if (view) {    if (aChange & nsChangeHint_RepaintFrame) {      aViewManager->UpdateView(view, NS_VMREFRESH_NO_SYNC);    }    if (aChange & nsChangeHint_SyncFrameView) {      nsContainerFrame::SyncFrameViewProperties(aPresContext, aFrame, nsnull, view);    }  }  nsRect bounds = aFrame->GetRect();  nsPoint parentOffset(bounds.x, bounds.y);  bounds.x = 0;  bounds.y = 0;  // now do children of frame  PRInt32 listIndex = 0;  nsIAtom* childList = nsnull;  do {    nsIFrame* child = nsnull;    aFrame->FirstChild(aPresContext, childList, &child);    while (child) {      if (!(child->GetStateBits() & NS_FRAME_OUT_OF_FLOW)) {        // only do frames that are in flow        if (nsLayoutAtoms::placeholderFrame == child->GetType()) { // placeholder          // get out of flow frame and start over there          nsIFrame* outOfFlowFrame = ((nsPlaceholderFrame*)child)->GetOutOfFlowFrame();          NS_ASSERTION(outOfFlowFrame, "no out-of-flow frame");          DoApplyRenderingChangeToTree(aPresContext, outOfFlowFrame,                                       aViewManager, aFrameManager, aChange);        }        else {  // regular frame          nsRect  childBounds;          UpdateViewsForTree(aPresContext, child, aViewManager, aFrameManager, childBounds, aChange);          bounds.UnionRect(bounds, childBounds);        }      }      child = child->GetNextSibling();    }    NS_IF_RELEASE(childList);    aFrame->GetAdditionalChildListName(listIndex++, &childList);  } while (childList);  NS_IF_RELEASE(childList);  aBoundsRect = bounds;  aBoundsRect += parentOffset;}