PRInt32 &aChangeHint)
nsChangeHint &aChangeHint)
PRBool CSSParserImpl::ParseQuotes(PRInt32& aErrorCode,                                  nsCSSDeclaration* aDeclaration,                                   PRInt32 &aChangeHint){  nsCSSValue  open;  if (ParseVariant(aErrorCode, open, VARIANT_HOS, nsnull)) {    if (eCSSUnit_String == open.GetUnit()) {      nsCSSQuotes* quotesHead = new nsCSSQuotes();      nsCSSQuotes* quotes = quotesHead;      if (nsnull == quotes) {        aErrorCode = NS_ERROR_OUT_OF_MEMORY;        return PR_FALSE;      }      quotes->mOpen = open;      while (nsnull != quotes) {        // get mandatory close        if (ParseVariant(aErrorCode, quotes->mClose, VARIANT_STRING, nsnull)) {          if (ExpectEndProperty(aErrorCode, PR_TRUE)) {            if (aChangeHint < nsCSSProps::kHintTable[eCSSProperty_quotes]) {              aChangeHint = nsCSSProps::kHintTable[eCSSProperty_quotes];            }            aErrorCode = aDeclaration->AppendStructValue(eCSSProperty_quotes, quotesHead);            return NS_SUCCEEDED(aErrorCode);          }          // look for another open          if (ParseVariant(aErrorCode, open, VARIANT_STRING, nsnull)) {            quotes->mNext = new nsCSSQuotes();            quotes = quotes->mNext;            if (nsnull != quotes) {              quotes->mOpen = open;              continue;            }            aErrorCode = NS_ERROR_OUT_OF_MEMORY;          }        }        break;      }      delete quotesHead;      return PR_FALSE;    }    if (ExpectEndProperty(aErrorCode, PR_TRUE)) {      AppendValue(aDeclaration, eCSSProperty_quotes_open, open, aChangeHint);      return PR_TRUE;    }  }  return PR_FALSE;}