rv = NS_NewFrameContentIterator(mPresContext, firstChildFrame, aIterator);
rv = NS_NewFrameContentIterator(mPresContext, beforeFrame, aIterator);
PresShell::GetGeneratedContentIterator(nsIContent*          aContent,                                       GeneratedContentType aType,                                       nsIContentIterator** aIterator) const{  nsIFrame* primaryFrame;  nsresult  rv = NS_OK;  // Initialize OUT parameter  *aIterator = nsnull;  // Get the primary frame associated with the content object  GetPrimaryFrameFor(aContent, &primaryFrame);  if (primaryFrame) {    // See whether it's a request for the before or after generated content    if (Before == aType) {      // The most efficient thing to do is to get the first child frame,      // and see if it is associated with generated content      nsIFrame* firstChildFrame = GetFirstChildFrame(mPresContext, primaryFrame, aContent);      if (firstChildFrame && IsGeneratedContentFrame(firstChildFrame)) {        // Create an iterator        rv = NS_NewFrameContentIterator(mPresContext, firstChildFrame, aIterator);      }          } else {      // Avoid finding the last child frame unless we need to. Instead probe      // for the existence of the pseudo-element      nsCOMPtr<nsIStyleContext> styleContext;      nsCOMPtr<nsIStyleContext> pseudoStyleContext;            primaryFrame->GetStyleContext(getter_AddRefs(styleContext));      mPresContext->ProbePseudoStyleContextFor(aContent,                                               nsCSSPseudoElements::after,                                               styleContext,                                               getter_AddRefs(pseudoStyleContext));      if (pseudoStyleContext) {        nsIFrame* lastChildFrame = GetLastChildFrame(mPresContext, primaryFrame, aContent);        if (lastChildFrame)        { // it is now legal for GetLastChildFrame to return null.  see bug 52307 (a regression from bug 18754)          // in the case of a null child frame, we treat the frame as having no "after" style          // the "before" handler above already does this check          NS_ASSERTION(IsGeneratedContentFrame(lastChildFrame),                       "can't find generated content frame");          // Create an iterator          rv = NS_NewFrameContentIterator(mPresContext, lastChildFrame, aIterator);        }      }    }  }  return rv;}