nsIFormControlFrame* formControlFrame = GetFormControlFrame(PR_FALSE);  nsIGfxTextControlFrame2* textControlFrame = nsnull; if (formControlFrame) { CallQueryInterface(formControlFrame, &textControlFrame); }  PRBool frameOwnsValue = PR_FALSE; if (textControlFrame) { textControlFrame->OwnsValue(&frameOwnsValue); } if (frameOwnsValue) { formControlFrame->GetProperty(nsHTMLAtoms::value, aValue); return NS_OK; } else { if (!mValueChanged || !mValue) { GetDefaultValue(aValue); } else { aValue = NS_ConvertUTF8toUCS2(mValue); } }
GetValueInternal(aValue, PR_TRUE);
nsHTMLTextAreaElement::GetValue(nsAString& aValue){  // No need to flush here, if there is no frame yet for this textarea  // there won't be a value in it we don't already have even if we  // force the frame to be created.  nsIFormControlFrame* formControlFrame = GetFormControlFrame(PR_FALSE);  nsIGfxTextControlFrame2* textControlFrame = nsnull;  if (formControlFrame) {    CallQueryInterface(formControlFrame, &textControlFrame);  }  PRBool frameOwnsValue = PR_FALSE;  if (textControlFrame) {    textControlFrame->OwnsValue(&frameOwnsValue);  }  if (frameOwnsValue) {    formControlFrame->GetProperty(nsHTMLAtoms::value, aValue);    return NS_OK;  } else {    if (!mValueChanged || !mValue) {      GetDefaultValue(aValue);    } else {      aValue = NS_ConvertUTF8toUCS2(mValue);    }  }  return NS_OK;}