mutation->mNewAttrValue = getter_AddRefs(NS_NewAtom(aNewValueArg));
mutation->mNewAttrValue = do_GetAtom(aNewValueArg);
nsDOMMutationEvent::InitMutationEvent(const nsAString& aTypeArg, PRBool aCanBubbleArg,                                       PRBool aCancelableArg, nsIDOMNode* aRelatedNodeArg,                                       const nsAString& aPrevValueArg,                                       const nsAString& aNewValueArg,                                       const nsAString& aAttrNameArg,                                      PRUint16 aAttrChangeArg){  NS_ENSURE_SUCCESS(SetEventType(aTypeArg), NS_ERROR_FAILURE);  mEvent->flags |= aCanBubbleArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_BUBBLE;  mEvent->flags |= aCancelableArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_CANCEL;    nsMutationEvent* mutation = NS_STATIC_CAST(nsMutationEvent*, mEvent);  if (mutation) {    mutation->mRelatedNode = aRelatedNodeArg;    if (!aPrevValueArg.IsEmpty())      mutation->mPrevAttrValue = getter_AddRefs(NS_NewAtom(aPrevValueArg));    if (!aNewValueArg.IsEmpty())      mutation->mNewAttrValue = getter_AddRefs(NS_NewAtom(aNewValueArg));    if (!aAttrNameArg.IsEmpty()) {      mutation->mAttrName = getter_AddRefs(NS_NewAtom(aAttrNameArg));    }    mutation->mAttrChange = aAttrChangeArg;  }      return NS_OK;};