const AttributeImpactEntry attributes[] = { { &nsHTMLAtoms::value, valueHint }, { &nsHTMLAtoms::align, NS_STYLE_HINT_FRAMECHANGE }, { &nsHTMLAtoms::type, NS_STYLE_HINT_FRAMECHANGE }, { nsnull, NS_STYLE_HINT_NONE }, };  static const AttributeImpactEntry* const map[] = { attributes, sCommonAttributeMap, sImageAttributeMap, sImageBorderAttributeMap, };  FindAttributeImpact(aAttribute, aHint, map, NS_ARRAY_LENGTH(map));
nsHTMLInputElement::GetMappedAttributeImpact(const nsIAtom* aAttribute, PRInt32 aModType,                                             nsChangeHint& aHint) const{  if (aAttribute == nsHTMLAtoms::value) {    if (mType == NS_FORM_INPUT_BUTTON ||        mType == NS_FORM_INPUT_RESET ||        mType == NS_FORM_INPUT_SUBMIT) {      aHint = NS_STYLE_HINT_CONTENT;    }    else {      aHint = NS_STYLE_HINT_ATTRCHANGE;    }  }  else if ((aAttribute == nsHTMLAtoms::align) ||           (aAttribute == nsHTMLAtoms::type)) {    aHint = NS_STYLE_HINT_FRAMECHANGE;  }  else if (!GetCommonMappedAttributesImpact(aAttribute, aHint)) {    if (!GetImageMappedAttributesImpact(aAttribute, aHint)) {      if (!GetImageBorderAttributeImpact(aAttribute, aHint)) {        aHint = NS_STYLE_HINT_CONTENT;      }    }  }  return NS_OK;}