aValue.Assign(NS_LITERAL_STRING("on"));
aValue.AssignLiteral("on");
nsHTMLInputElement::GetValue(nsAString& aValue){  if (mType == NS_FORM_INPUT_TEXT || mType == NS_FORM_INPUT_PASSWORD ||      mType == NS_FORM_INPUT_FILE) {    // No need to flush here, if there's no frame created for this    // input yet, there won't be a value in it (that we don't already    // have) even if we force it to be created    nsIFormControlFrame* formControlFrame = GetFormControlFrame(PR_FALSE);    PRBool frameOwnsValue = PR_FALSE;    if (formControlFrame) {      nsITextControlFrame* textControlFrame = nsnull;      CallQueryInterface(formControlFrame, &textControlFrame);      if (textControlFrame) {        textControlFrame->OwnsValue(&frameOwnsValue);      } else {        // We assume if it's not a text control frame that it owns the value        frameOwnsValue = PR_TRUE;      }    }    if (frameOwnsValue) {      formControlFrame->GetProperty(nsHTMLAtoms::value, aValue);    } else {      if (!GET_BOOLBIT(mBitField, BF_VALUE_CHANGED) || !mValue) {        GetDefaultValue(aValue);      } else {        CopyUTF8toUTF16(mValue, aValue);      }    }    return NS_OK;  }  // Treat value == defaultValue for other input elements  nsresult rv = GetAttr(kNameSpaceID_None, nsHTMLAtoms::value, aValue);  if (rv == NS_CONTENT_ATTR_NOT_THERE &&      (mType == NS_FORM_INPUT_RADIO || mType == NS_FORM_INPUT_CHECKBOX)) {    // The default value of a radio or checkbox input is "on".    aValue.Assign(NS_LITERAL_STRING("on"));    return NS_OK;  }  return rv;}