-moz-initial, not initial. Use CSS keyword table to prevent this happening

again.  Bug 120903, r+sr=dbaron
This commit is contained in:
bzbarsky%mit.edu 2003-11-16 01:12:50 +00:00
Родитель 47c0cfa43e
Коммит 74b98017ac
2 изменённых файлов: 54 добавлений и 40 удалений

Просмотреть файл

@ -4745,25 +4745,31 @@ CSSParserImpl::DoParseRect(nsCSSRect& aRect, nsresult& aErrorCode)
if (! GetToken(aErrorCode, PR_TRUE)) {
return PR_FALSE;
}
if ((eCSSToken_Ident == mToken.mType) &&
mToken.mIdent.EqualsIgnoreCase("auto")) {
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;
}
} else if ((eCSSToken_Ident == mToken.mType) &&
mToken.mIdent.EqualsIgnoreCase("inherit")) {
break;
case eCSSKeyword_inherit:
if (ExpectEndProperty(aErrorCode, PR_TRUE)) {
aRect.SetAllSidesTo(nsCSSValue(eCSSUnit_Inherit));
return PR_TRUE;
}
}
else if ((eCSSToken_Ident == mToken.mType) &&
mToken.mIdent.EqualsIgnoreCase("-moz-initial")) {
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)) {
@ -5132,11 +5138,12 @@ PRBool CSSParserImpl::ParseFamily(nsresult& aErrorCode, nsCSSValue& aValue)
}
if (eCSSToken_Ident == tk->mType) {
if (firstOne) {
if (tk->mIdent.EqualsIgnoreCase("inherit")) {
nsCSSKeyword keyword = nsCSSKeywords::LookupKeyword(tk->mIdent);
if (keyword == eCSSKeyword_inherit) {
aValue.SetInheritValue();
return PR_TRUE;
}
else if (tk->mIdent.EqualsIgnoreCase("initial")) {
else if (keyword == eCSSKeyword__moz_initial) {
aValue.SetInitialValue();
return PR_TRUE;
}

Просмотреть файл

@ -4745,25 +4745,31 @@ CSSParserImpl::DoParseRect(nsCSSRect& aRect, nsresult& aErrorCode)
if (! GetToken(aErrorCode, PR_TRUE)) {
return PR_FALSE;
}
if ((eCSSToken_Ident == mToken.mType) &&
mToken.mIdent.EqualsIgnoreCase("auto")) {
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;
}
} else if ((eCSSToken_Ident == mToken.mType) &&
mToken.mIdent.EqualsIgnoreCase("inherit")) {
break;
case eCSSKeyword_inherit:
if (ExpectEndProperty(aErrorCode, PR_TRUE)) {
aRect.SetAllSidesTo(nsCSSValue(eCSSUnit_Inherit));
return PR_TRUE;
}
}
else if ((eCSSToken_Ident == mToken.mType) &&
mToken.mIdent.EqualsIgnoreCase("-moz-initial")) {
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)) {
@ -5132,11 +5138,12 @@ PRBool CSSParserImpl::ParseFamily(nsresult& aErrorCode, nsCSSValue& aValue)
}
if (eCSSToken_Ident == tk->mType) {
if (firstOne) {
if (tk->mIdent.EqualsIgnoreCase("inherit")) {
nsCSSKeyword keyword = nsCSSKeywords::LookupKeyword(tk->mIdent);
if (keyword == eCSSKeyword_inherit) {
aValue.SetInheritValue();
return PR_TRUE;
}
else if (tk->mIdent.EqualsIgnoreCase("initial")) {
else if (keyword == eCSSKeyword__moz_initial) {
aValue.SetInitialValue();
return PR_TRUE;
}