Bug 387511: CSs scanner causes parse error for URLs starting with a codepoint > 255. r+sr=bzbarsky, a=dbaron

This commit is contained in:
sharparrow1@yahoo.com 2007-08-19 20:39:22 -07:00
Родитель d22b6f4834
Коммит 653cd064c3
2 изменённых файлов: 79 добавлений и 82 удалений

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

@ -747,7 +747,6 @@ PRBool nsCSSScanner::NextURL(nsresult& aErrorCode, nsCSSToken& aToken)
if (ch < 0) {
return PR_FALSE;
}
if (ch < 256) {
PRUint8* lexTable = gLexTable;
// STRING
@ -756,7 +755,7 @@ PRBool nsCSSScanner::NextURL(nsresult& aErrorCode, nsCSSToken& aToken)
}
// WS
if ((lexTable[ch] & IS_WHITESPACE) != 0) {
if (ch < 256 && (lexTable[ch] & IS_WHITESPACE) != 0) {
aToken.mType = eCSSToken_WhiteSpace;
aToken.mIdent.Assign(PRUnichar(ch));
(void) EatWhiteSpace(aErrorCode);
@ -836,7 +835,6 @@ PRBool nsCSSScanner::NextURL(nsresult& aErrorCode, nsCSSToken& aToken)
aToken.mType = eCSSToken_URL;
}
}
}
return PR_TRUE;
}

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

@ -178,8 +178,7 @@ todo: {"#a::before {content: 'This is \\a" : 1}
tests : [
"#a {background: url() blue}",
"#a {background: url(怀) blue}",
], prop: "backgroundColor", pseudo: "",
todo: {"#a {background: url(怀) blue}" : 1}
], prop: "backgroundColor", pseudo: ""
}
];