better handling of bad @imports
git-svn-id: svn://10.0.0.236/trunk@32811 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
6402470144
commit
9f25668214
@ -679,7 +679,26 @@ PRBool CSSParserImpl::ParseImportRule(PRInt32& aErrorCode)
|
||||
}
|
||||
// invalid @import
|
||||
if ((eCSSToken_Symbol != mToken.mType) || (';' != mToken.mSymbol)) {
|
||||
SkipUntil(aErrorCode, ';');
|
||||
// Skip over trailing cruft
|
||||
for (;;) {
|
||||
if (!GetToken(aErrorCode, PR_TRUE)) {
|
||||
return PR_FALSE;
|
||||
}
|
||||
if (eCSSToken_Symbol == mToken.mType) {
|
||||
PRUnichar symbol = mToken.mSymbol;
|
||||
if (symbol == ';') {
|
||||
break;
|
||||
}
|
||||
if (symbol == '{') {
|
||||
SkipUntil(aErrorCode, '}');
|
||||
break;
|
||||
} else if (symbol == '(') {
|
||||
SkipUntil(aErrorCode, ')');
|
||||
} else if (symbol == '[') {
|
||||
SkipUntil(aErrorCode, ']');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// mInHead = PR_FALSE; // an invalid @import doesn't block other @imports (I think) awaiting clarification
|
||||
|
||||
@ -679,7 +679,26 @@ PRBool CSSParserImpl::ParseImportRule(PRInt32& aErrorCode)
|
||||
}
|
||||
// invalid @import
|
||||
if ((eCSSToken_Symbol != mToken.mType) || (';' != mToken.mSymbol)) {
|
||||
SkipUntil(aErrorCode, ';');
|
||||
// Skip over trailing cruft
|
||||
for (;;) {
|
||||
if (!GetToken(aErrorCode, PR_TRUE)) {
|
||||
return PR_FALSE;
|
||||
}
|
||||
if (eCSSToken_Symbol == mToken.mType) {
|
||||
PRUnichar symbol = mToken.mSymbol;
|
||||
if (symbol == ';') {
|
||||
break;
|
||||
}
|
||||
if (symbol == '{') {
|
||||
SkipUntil(aErrorCode, '}');
|
||||
break;
|
||||
} else if (symbol == '(') {
|
||||
SkipUntil(aErrorCode, ')');
|
||||
} else if (symbol == '[') {
|
||||
SkipUntil(aErrorCode, ']');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// mInHead = PR_FALSE; // an invalid @import doesn't block other @imports (I think) awaiting clarification
|
||||
|
||||
@ -679,7 +679,26 @@ PRBool CSSParserImpl::ParseImportRule(PRInt32& aErrorCode)
|
||||
}
|
||||
// invalid @import
|
||||
if ((eCSSToken_Symbol != mToken.mType) || (';' != mToken.mSymbol)) {
|
||||
SkipUntil(aErrorCode, ';');
|
||||
// Skip over trailing cruft
|
||||
for (;;) {
|
||||
if (!GetToken(aErrorCode, PR_TRUE)) {
|
||||
return PR_FALSE;
|
||||
}
|
||||
if (eCSSToken_Symbol == mToken.mType) {
|
||||
PRUnichar symbol = mToken.mSymbol;
|
||||
if (symbol == ';') {
|
||||
break;
|
||||
}
|
||||
if (symbol == '{') {
|
||||
SkipUntil(aErrorCode, '}');
|
||||
break;
|
||||
} else if (symbol == '(') {
|
||||
SkipUntil(aErrorCode, ')');
|
||||
} else if (symbol == '[') {
|
||||
SkipUntil(aErrorCode, ']');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// mInHead = PR_FALSE; // an invalid @import doesn't block other @imports (I think) awaiting clarification
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user