Bug 497848 - HTML5 parser fails layout/reftests/bugs/376532-1.html. rs=sicking.
This commit is contained in:
@@ -3427,23 +3427,25 @@ nsHtml5Tokenizer::emitOrAppendStrBuf(PRInt32 returnState)
|
|||||||
void
|
void
|
||||||
nsHtml5Tokenizer::handleNcrValue(PRInt32 returnState)
|
nsHtml5Tokenizer::handleNcrValue(PRInt32 returnState)
|
||||||
{
|
{
|
||||||
if (value >= 0x80 && value <= 0x9f) {
|
if (value <= 0xFFFF) {
|
||||||
|
if (value >= 0x80 && value <= 0x9f) {
|
||||||
|
|
||||||
PRUnichar* val = nsHtml5NamedCharacters::WINDOWS_1252[value - 0x80];
|
PRUnichar* val = nsHtml5NamedCharacters::WINDOWS_1252[value - 0x80];
|
||||||
emitOrAppendOne(val, returnState);
|
emitOrAppendOne(val, returnState);
|
||||||
} else if (value == 0x0D) {
|
} else if (value == 0x0D) {
|
||||||
|
|
||||||
emitOrAppendOne(nsHtml5Tokenizer::LF, returnState);
|
emitOrAppendOne(nsHtml5Tokenizer::LF, returnState);
|
||||||
} else if (value == 0x0) {
|
} else if (value == 0x0) {
|
||||||
|
|
||||||
emitOrAppendOne(nsHtml5Tokenizer::REPLACEMENT_CHARACTER, returnState);
|
emitOrAppendOne(nsHtml5Tokenizer::REPLACEMENT_CHARACTER, returnState);
|
||||||
} else if ((value & 0xF800) == 0xD800) {
|
} else if ((value & 0xF800) == 0xD800) {
|
||||||
|
|
||||||
emitOrAppendOne(nsHtml5Tokenizer::REPLACEMENT_CHARACTER, returnState);
|
emitOrAppendOne(nsHtml5Tokenizer::REPLACEMENT_CHARACTER, returnState);
|
||||||
} else if (value <= 0xFFFF) {
|
} else {
|
||||||
PRUnichar ch = (PRUnichar) value;
|
PRUnichar ch = (PRUnichar) value;
|
||||||
bmpChar[0] = ch;
|
bmpChar[0] = ch;
|
||||||
emitOrAppendOne(bmpChar, returnState);
|
emitOrAppendOne(bmpChar, returnState);
|
||||||
|
}
|
||||||
} else if (value <= 0x10FFFF) {
|
} else if (value <= 0x10FFFF) {
|
||||||
astralChar[0] = (PRUnichar) (NS_HTML5TOKENIZER_LEAD_OFFSET + (value >> 10));
|
astralChar[0] = (PRUnichar) (NS_HTML5TOKENIZER_LEAD_OFFSET + (value >> 10));
|
||||||
astralChar[1] = (PRUnichar) (0xDC00 + (value & 0x3FF));
|
astralChar[1] = (PRUnichar) (0xDC00 + (value & 0x3FF));
|
||||||
|
|||||||
Reference in New Issue
Block a user