PRInt32& aChangeHint)
nsChangeHint& aChangeHint)
PRBool CSSParserImpl::ParseBoxProperties(PRInt32& aErrorCode,                                         nsCSSDeclaration* aDeclaration,                                         const nsCSSProperty aPropIDs[],                                         PRInt32& aChangeHint){  // Get up to four values for the property  nsCSSValue  values[4];  PRInt32 count = 0;  PRInt32 index;  for (index = 0; index < 4; index++) {    if (! ParseSingleValueProperty(aErrorCode, values[index], aPropIDs[index])) {      if (aErrorCode == NS_ERROR_ILLEGAL_VALUE) { // bug 47138        aErrorCode = NS_OK;        count = 0;      }      break;    }    count++;  }  if ((count == 0) || (PR_FALSE == ExpectEndProperty(aErrorCode, PR_TRUE))) {    return PR_FALSE;  }  if (1 < count) { // verify no more than single inherit or initial    for (index = 0; index < 4; index++) {      if (eCSSUnit_Inherit == values[index].GetUnit() ||          eCSSUnit_Initial == values[index].GetUnit()) {        return PR_FALSE;      }    }  }  // Provide missing values by replicating some of the values found  switch (count) {    case 1: // Make right == top      values[1] = values[0];    case 2: // Make bottom == top      values[2] = values[0];    case 3: // Make left == right      values[3] = values[1];  }  for (index = 0; index < 4; index++) {    AppendValue(aDeclaration, aPropIDs[index], values[index], aChangeHint);  }  return PR_TRUE;}