aParentFrame, rootPseudoStyle, newChild);
aParentFrame, rootPseudoStyle, newChild, fixedItems);
HTMLStyleSheetImpl::ReconstructFrames(nsIPresContext* aPresContext,                                      nsIContent*     aContent,                                      nsIFrame*       aParentFrame,                                      nsIFrame*       aFrameSubTree){  nsresult rv = NS_OK;  nsIDocument* document;  rv = aContent->GetDocument(document);  if (NS_FAILED(rv)) {    return rv;  }    if (nsnull != document) {    nsIPresShell* shell = aPresContext->GetShell();    if (NS_SUCCEEDED(rv)) {      // XXX This API needs changing, because it appears to be designed for      // an arbitrary content element, but yet it always constructs the document      // element's frame. Plus it has the problem noted above in the previous XXX      rv = aParentFrame->RemoveFrame(*aPresContext, *shell,                                     nsnull, aFrameSubTree);      if (NS_SUCCEEDED(rv)) {        nsIFrame*         newChild;        nsIStyleContext*  rootPseudoStyle;        aParentFrame->GetStyleContext(rootPseudoStyle);        rv = ConstructDocElementFrame(aPresContext, aContent,                                      aParentFrame, rootPseudoStyle, newChild);        NS_RELEASE(rootPseudoStyle);        if (NS_SUCCEEDED(rv)) {          rv = aParentFrame->InsertFrames(*aPresContext, *shell,                                          nsnull, nsnull, newChild);        }      }    }      NS_RELEASE(document);    NS_RELEASE(shell);  }  return rv;}