if (display->IsFloating() || display->IsPositioned()) {
if (display->IsFloating() || display->IsAbsolutelyPositioned()) {
FindNextSibling(nsIPresShell* aPresShell,                nsIContent*   aContainer,                PRInt32       aIndexInContainer){  ChildIterator iter, last;  ChildIterator::Init(aContainer, &iter, &last);  iter.seek(aIndexInContainer);  // Catch the case where someone tries to append  if (iter == last)    return nsnull;  while (++iter != last) {    nsIFrame* nextSibling = nsnull;    aPresShell->GetPrimaryFrameFor(nsCOMPtr<nsIContent>(*iter), &nextSibling);    if (nextSibling) {#ifdef DEBUG      // The frame primary frame should never be a continuation      nsIFrame* prevInFlow;      nextSibling->GetPrevInFlow(&prevInFlow);      NS_ASSERTION(!prevInFlow, "primary frame is a continuation!?");#endif      // If the frame is out-of-flow, GPFF() will have returned the      // out-of-flow frame; we want the placeholder.      const nsStyleDisplay* display;      nextSibling->GetStyleData(eStyleStruct_Display,                                (const nsStyleStruct*&)display);      if (display->IsFloating() || display->IsPositioned()) {        // Nope. Get the place-holder instead        nsIFrame* placeholderFrame;        aPresShell->GetPlaceholderFrameFor(nextSibling, &placeholderFrame);        NS_ASSERTION(placeholderFrame, "no placeholder for out-of-flow frame");        nextSibling = placeholderFrame;      }      // We found a next sibling, we're done!      return nextSibling;    }  }  return nsnull;}