return PR_TRUE;
return eEnqueued;
IncrementalReflow::AddCommand(nsIPresContext      *aPresContext,                              nsHTMLReflowCommand *aCommand){  nsIFrame *frame;  aCommand->GetTarget(frame);  NS_ASSERTION(frame != nsnull, "reflow command with no target");  // Construct the reflow path by walking up the through the frames'  // parent chain until we reach either a `reflow root' or the root  // frame in the frame hierarchy.  nsAutoVoidArray path;  do {    path.AppendElement(frame);  } while (!(frame->GetStateBits() & NS_FRAME_REFLOW_ROOT) &&           (frame = frame->GetParent()) != nsnull);  // Pop off the root, add it to the set if it's not there already.  PRInt32 lastIndex = path.Count() - 1;  nsIFrame *rootFrame = NS_STATIC_CAST(nsIFrame *, path[lastIndex]);  path.RemoveElementAt(lastIndex);  nsReflowPath *root = nsnull;  PRInt32 i;  for (i = mRoots.Count() - 1; i >= 0; --i) {    nsReflowPath *path = NS_STATIC_CAST(nsReflowPath *, mRoots[i]);    if (path->mFrame == rootFrame) {      root = path;      break;    }  }  if (! root) {    root = new nsReflowPath(rootFrame);    if (! root)      return NS_ERROR_OUT_OF_MEMORY;    root->mReflowCommand = nsnull;    mRoots.AppendElement(root);  }  // Now walk the path from the root to the leaf, adding to the reflow  // tree as necessary.  nsReflowPath *target = root;  for (i = path.Count() - 1; i >= 0; --i) {    nsIFrame *frame = NS_STATIC_CAST(nsIFrame *, path[i]);    target = target->EnsureSubtreeFor(frame);    // Out of memory. Ugh.    if (! target)      return PR_FALSE;  }  // Place the reflow command in the leaf, if one isn't there already.  if (target->mReflowCommand) {    // XXXwaterson it's probably possible to have some notion of    // `promotion' here that would avoid any re-queuing; for example,    // promote a dirty reflow to a style changed. For now, let's punt    // and not worry about it.#ifdef NS_DEBUG    if (gVerifyReflowFlags & VERIFY_REFLOW_NOISY_RC)      printf("requeuing command %p because %p was already scheduled "             "for the same frame",             (void*)aCommand, (void*)target->mReflowCommand);#endif    return PR_FALSE;  }  target->mReflowCommand = aCommand;  return PR_TRUE;}