if (aSizeChange == 1) tag = "big"; else tag = "small";
if (aSizeChange == 1) tag.AssignWithConversion("big"); else tag.AssignWithConversion("small");
nsHTMLEditor::RelativeFontChangeOnNode( PRInt32 aSizeChange,                                         nsIDOMNode *aNode){  // Can only change font size by + or - 1  if ( !( (aSizeChange==1) || (aSizeChange==-1) ) )    return NS_ERROR_ILLEGAL_VALUE;  if (!aNode) return NS_ERROR_NULL_POINTER;  nsresult res = NS_OK;  nsCOMPtr<nsIDOMNode> tmp;  nsAutoString tag;  if (aSizeChange == 1) tag = "big";  else tag = "small";    // is this node a text node?  if (IsTextNode(aNode))  {    res = InsertContainerAbove(aNode, &tmp, tag);    return res;  }  // is it the opposite of what we want?    if ( ((aSizeChange == 1) && nsHTMLEditUtils::IsSmall(aNode)) ||        ((aSizeChange == -1) &&  nsHTMLEditUtils::IsBig(aNode)) )  {    // in that case, just remove this node and pull up the children    res = RemoveContainer(aNode);    return res;  }  // can it be put inside a "big" or "small"?  if (TagCanContain(tag, aNode))  {    // ok, chuck it in.    res = InsertContainerAbove(aNode, &tmp, tag);    return res;  }  // none of the above?  then cycle through the children.  // MOOSE: we should group the children together if possible  // into a single "big" or "small".  For the moment they are  // each getting their own.    nsCOMPtr<nsIDOMNodeList> childNodes;  res = aNode->GetChildNodes(getter_AddRefs(childNodes));  if (NS_FAILED(res)) return res;  if (childNodes)  {    PRInt32 j;    PRUint32 childCount;    childNodes->GetLength(&childCount);    for (j=0 ; j < (PRInt32)childCount; j++)    {      nsCOMPtr<nsIDOMNode> childNode;      res = childNodes->Item(j, getter_AddRefs(childNode));      if ((NS_SUCCEEDED(res)) && (childNode))      {        res = RelativeFontChangeOnNode(aSizeChange, childNode);        if (NS_FAILED(res)) return res;      }    }  }  return res;}