CLEAR_ERROR();  aDeclaration->CompressFrom(&mData);  ReleaseScanner(); return result;
return PR_FALSE;
CSSParserImpl::ParseProperty(const nsAString& aPropName,                             const nsAString& aPropValue,                             nsIURI* aBaseURL,                             nsCSSDeclaration* aDeclaration,                             PRBool* aChanged){  NS_ASSERTION(nsnull != aBaseURL, "need base URL");  NS_ASSERTION(nsnull != aDeclaration, "Need declaration to parse into!");  *aChanged = PR_FALSE;  nsString* str = new nsAutoString(aPropValue);  if (!str) {    return NS_ERROR_OUT_OF_MEMORY;  }  nsCOMPtr<nsIUnicharInputStream> input;  nsresult rv = NS_NewStringUnicharInputStream(getter_AddRefs(input), str);  if (NS_FAILED(rv)) {    delete str;    return rv;  }  rv = InitScanner(input, aBaseURL);  if (NS_FAILED(rv)) {    return rv;  }  mSection = eCSSSection_General;  PRInt32 errorCode = NS_OK;  nsCSSProperty propID = nsCSSProps::LookupProperty(aPropName);  if (eCSSProperty_UNKNOWN == propID) { // unknown property    REPORT_UNEXPECTED(NS_LITERAL_STRING("Unknown property '") +                      aPropName +                      NS_LITERAL_STRING("'.  Declaration dropped."));    OUTPUT_ERROR();    ReleaseScanner();    return NS_OK;  }    mData.AssertInitialState();  mTempData.AssertInitialState();  aDeclaration->ExpandTo(&mData);  nsresult result = NS_OK;  if (ParseProperty(errorCode, propID)) {    TransferTempData(aDeclaration, propID, PR_FALSE, aChanged);  } else {    REPORT_UNEXPECTED(      NS_LITERAL_STRING("Error in parsing value for property '") +      aPropName +      NS_LITERAL_STRING("'.  Declaration dropped."));    OUTPUT_ERROR();    ClearTempData(propID);    if (errorCode != -1) { // -1 means EOF which we ignore      result = errorCode;    }  }  CLEAR_ERROR();    aDeclaration->CompressFrom(&mData);    ReleaseScanner();  return result;}