return mFrame?mFrame->InternalContentChanged():NS_ERROR_NULL_POINTER;
nsCOMPtr<nsIEditor> editor; mFrame->GetEditor(getter_AddRefs(editor));  nsCOMPtr<nsITransactionManager> manager; editor->GetTransactionManager(getter_AddRefs(manager)); NS_ENSURE_TRUE(manager, NS_ERROR_FAILURE);   PRInt32 numUndoItems = 0; PRInt32 numRedoItems = 0; manager->GetNumberOfUndoItems(&numUndoItems); manager->GetNumberOfRedoItems(&numRedoItems); if (numUndoItems && !mHadUndoItems || !numUndoItems && mHadUndoItems || numRedoItems && !mHadRedoItems || !numRedoItems && mHadRedoItems) {  UpdateTextInputCommands(NS_LITERAL_STRING("undo"));  mHadUndoItems = numUndoItems != 0; mHadRedoItems = numRedoItems != 0; }    mFrame->SetValueChanged(PR_TRUE);   mFrame->FireOnInput();  return NS_OK;
NS_IMETHODIMP nsTextInputListener::EditAction(){  return mFrame?mFrame->InternalContentChanged():NS_ERROR_NULL_POINTER;}