mToken.mIdent.EqualsIgnoreCase("rect")) {
mToken.mIdent.LowerCaseEqualsLiteral("rect")) {
CSSParserImpl::DoParseRect(nsCSSRect& aRect, nsresult& aErrorCode){  if (! GetToken(aErrorCode, PR_TRUE)) {    return PR_FALSE;  }  if (eCSSToken_Ident == mToken.mType) {    nsCSSKeyword keyword = nsCSSKeywords::LookupKeyword(mToken.mIdent);    switch (keyword) {      case eCSSKeyword_auto:        if (ExpectEndProperty(aErrorCode, PR_TRUE)) {          aRect.SetAllSidesTo(nsCSSValue(eCSSUnit_Auto));          return PR_TRUE;        }        break;      case eCSSKeyword_inherit:        if (ExpectEndProperty(aErrorCode, PR_TRUE)) {          aRect.SetAllSidesTo(nsCSSValue(eCSSUnit_Inherit));          return PR_TRUE;        }        break;      case eCSSKeyword__moz_initial:        if (ExpectEndProperty(aErrorCode, PR_TRUE)) {          aRect.SetAllSidesTo(nsCSSValue(eCSSUnit_Initial));          return PR_TRUE;        }        break;      default:        UngetToken();        break;    }  } else if ((eCSSToken_Function == mToken.mType) &&              mToken.mIdent.EqualsIgnoreCase("rect")) {    if (!ExpectSymbol(aErrorCode, '(', PR_TRUE)) {      return PR_FALSE;    }    NS_FOR_CSS_SIDES(side) {      if (! ParseVariant(aErrorCode, aRect.*(nsCSSRect::sides[side]),                         VARIANT_AL, nsnull)) {        return PR_FALSE;      }      if (3 != side) {        // skip optional commas between elements        ExpectSymbol(aErrorCode, ',', PR_TRUE);      }    }    if (!ExpectSymbol(aErrorCode, ')', PR_TRUE)) {      return PR_FALSE;    }    if (ExpectEndProperty(aErrorCode, PR_TRUE)) {      return PR_TRUE;    }  } else {    UngetToken();  }  return PR_FALSE;}