rv = ConstructFrame(aPresContext, aChild, parentFrame, absoluteItems, frameItems);
nsAbsoluteItems fixedItems(mFixedContainingBlock); rv = ConstructFrame(aPresContext, aChild, parentFrame, absoluteItems, frameItems, fixedItems);
HTMLStyleSheetImpl::ContentInserted(nsIPresContext* aPresContext,                                    nsIContent*     aContainer,                                    nsIContent*     aChild,                                    PRInt32         aIndexInContainer){  nsIPresShell* shell = aPresContext->GetShell();  // Find the frame that precedes the insertion point.  nsIFrame* prevSibling = FindPreviousSibling(shell, aContainer, aIndexInContainer);  nsIFrame* nextSibling = nsnull;  PRBool    isAppend = PR_FALSE;  // If there is no previous sibling, then find the frame that follows  if (nsnull == prevSibling) {    nextSibling = FindNextSibling(shell, aContainer, aIndexInContainer);  }  // Get the geometric parent.  nsIFrame* parentFrame;  if ((nsnull == prevSibling) && (nsnull == nextSibling)) {    // No previous or next sibling so treat this like an appended frame.    // XXX This won't always be true if there's auto-generated before/after    // content    isAppend = PR_TRUE;    shell->GetPrimaryFrameFor(aContainer, parentFrame);  } else {    // Use the prev sibling if we have it; otherwise use the next sibling    if (nsnull != prevSibling) {      prevSibling->GetParent(parentFrame);    } else {      nextSibling->GetParent(parentFrame);    }  }  // Construct a new frame  nsresult  rv = NS_OK;  if (nsnull != parentFrame) {    // Get the containing block for absolutely positioned elements    nsIFrame* absoluteContainingBlock = GetAbsoluteContainingBlock(aPresContext,                                                                   parentFrame);    nsAbsoluteItems absoluteItems(absoluteContainingBlock);    nsFrameItems    frameItems;    rv = ConstructFrame(aPresContext, aChild, parentFrame, absoluteItems, frameItems);    nsIFrame* newFrame = frameItems.childList;    if (NS_SUCCEEDED(rv) && (nsnull != newFrame)) {      nsIReflowCommand* reflowCmd = nsnull;      // Notify the parent frame with a reflow command.      if (isAppend) {        // Generate a FrameAppended reflow command        rv = parentFrame->AppendFrames(*aPresContext, *shell,                                       nsnull, newFrame);      } else {        // Generate a FrameInserted reflow command        rv = parentFrame->InsertFrames(*aPresContext, *shell, nsnull,                                       prevSibling, newFrame);      }      // XXX update the comment and code!      // If there are new absolutely positioned child frames then send a reflow      // command for them, too.      // XXX We can't just assume these frames are being appended, we need to      // determine where in the list they should be inserted...      if (NS_SUCCEEDED(rv) && (nsnull != absoluteItems.childList)) {        rv = absoluteItems.containingBlock->AppendFrames(*aPresContext, *shell,                                                         nsLayoutAtoms::absoluteList,                                                         absoluteItems.childList);      }    }  }  NS_RELEASE(shell);  return rv;}