PRInt32 hint = NS_STYLE_HINT_NONE;
nsChangeHint hint = NS_STYLE_HINT_NONE;
CSSParserImpl::ParseDeclarationBlock(PRInt32& aErrorCode,                                     PRBool aCheckForBraces){  if (aCheckForBraces) {    if (!ExpectSymbol(aErrorCode, '{', PR_TRUE)) {      REPORT_UNEXPECTED_TOKEN(NS_LITERAL_STRING("Expected '{' to begin declaration block but found"));      OUTPUT_ERROR();      return nsnull;    }  }  nsCSSDeclaration* declaration = nsnull;  if (NS_OK == NS_NewCSSDeclaration(&declaration)) {    PRInt32 count = 0;    PRBool dropDeclaration = PR_FALSE;    for (;;) {      PRInt32 hint = NS_STYLE_HINT_NONE;      if (ParseDeclaration(aErrorCode, declaration, aCheckForBraces, hint)) {        count++;  // count declarations      }      else {      	dropDeclaration = (aErrorCode == NS_CSS_PARSER_DROP_DECLARATION);        if (!SkipDeclaration(aErrorCode, aCheckForBraces)) {          break;        }        if (aCheckForBraces) {          if (ExpectSymbol(aErrorCode, '}', PR_TRUE)) {            break;          }        }        // Since the skipped declaration didn't end the block we parse        // the next declaration.      }    }    if (dropDeclaration) {      if (nsnull != declaration) {        declaration->RuleAbort();        declaration = nsnull;      }    }  }  return declaration;}