if (aChangeHint < nsCSSProps::kHintTable[eCSSProperty_cursor]) { aChangeHint = nsCSSProps::kHintTable[eCSSProperty_cursor]; }
NS_UpdateHint(aChangeHint, nsCSSProps::kHintTable[eCSSProperty_cursor]);
PRBool CSSParserImpl::ParseCursor(PRInt32& aErrorCode, nsCSSDeclaration* aDeclaration,                                   PRInt32& aChangeHint){  nsCSSValue  value;  if (ParseVariant(aErrorCode, value, VARIANT_AHUK, nsCSSProps::kCursorKTable)) {    if (eCSSUnit_URL == value.GetUnit()) {      nsCSSValueList* listHead = new nsCSSValueList();      nsCSSValueList* list = listHead;      if (nsnull == list) {        aErrorCode = NS_ERROR_OUT_OF_MEMORY;        return PR_FALSE;      }      list->mValue = value;      while (nsnull != list) {        if (eCSSUnit_URL != value.GetUnit()) {          if (PR_FALSE == ExpectEndProperty(aErrorCode, PR_TRUE)) {            return PR_FALSE;          }        }        if (ExpectEndProperty(aErrorCode, PR_TRUE)) {          if (aChangeHint < nsCSSProps::kHintTable[eCSSProperty_cursor]) {            aChangeHint = nsCSSProps::kHintTable[eCSSProperty_cursor];          }          aErrorCode = aDeclaration->AppendStructValue(eCSSProperty_cursor, listHead);          return NS_SUCCEEDED(aErrorCode);        }        if (ParseVariant(aErrorCode, value, VARIANT_AHUK, nsCSSProps::kCursorKTable)) {          list->mNext = new nsCSSValueList();          list = list->mNext;          if (nsnull != list) {            list->mValue = value;          }          else {            aErrorCode = NS_ERROR_OUT_OF_MEMORY;          }        }        else {          break;        }      }      delete listHead;      return PR_FALSE;    }    if (ExpectEndProperty(aErrorCode, PR_TRUE)) {      AppendValue(aDeclaration, eCSSProperty_cursor, value, aChangeHint);      return PR_TRUE;    }  }  return PR_FALSE;}