Make sure to pop namespaces if we block on a close tag. Bug 313278, patch by

peterv, r+sr=bzbarsky
This commit is contained in:
bzbarsky%mit.edu 2005-10-21 19:08:27 +00:00
Родитель 3109257893
Коммит 0ff8a206e0
1 изменённых файлов: 11 добавлений и 11 удалений

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

@ -2319,11 +2319,6 @@ doContent(XML_Parser parser,
if (startElementHandler)
*eventPP = *eventEndPP;
endElementHandler(handlerArg, name.str);
/* BEGIN MOZILLA CHANGE (Blocking parser) */
if (blocked) {
return XML_ERROR_SUSPENDED;
}
/* END MOZILLA CHANGE */
noElmHandlers = XML_FALSE;
}
if (noElmHandlers && defaultHandler)
@ -2338,6 +2333,11 @@ doContent(XML_Parser parser,
freeBindingList = b;
b->prefix->binding = b->prevPrefixBinding;
}
/* BEGIN MOZILLA CHANGE (Blocking parser) */
if (blocked) {
return XML_ERROR_SUSPENDED;
}
/* END MOZILLA CHANGE */
}
if (tagLevel == 0)
return epilogProcessor(parser, next, end, nextPtr);
@ -2404,12 +2404,6 @@ doContent(XML_Parser parser,
*uri = XML_T('\0');
}
endElementHandler(handlerArg, tag->name.str);
/* BEGIN MOZILLA CHANGE (Blocking parser) */
if (blocked) {
*eventPP = s = next; /* fix bug 119727 */
return XML_ERROR_SUSPENDED;
}
/* END MOZILLA CHANGE */
}
else if (defaultHandler)
reportDefault(parser, enc, s, next);
@ -2422,6 +2416,12 @@ doContent(XML_Parser parser,
freeBindingList = b;
b->prefix->binding = b->prevPrefixBinding;
}
/* BEGIN MOZILLA CHANGE (Blocking parser) */
if (blocked) {
*eventPP = s = next; /* fix bug 119727 */
return XML_ERROR_SUSPENDED;
}
/* END MOZILLA CHANGE */
if (tagLevel == 0)
return epilogProcessor(parser, next, end, nextPtr);
}