Bug 160095 NOEMBED tag causes leaks as the skipped content is not consumed.

patch by mrbkap@gmail.com r=rbs sr=brendan


git-svn-id: svn://10.0.0.236/trunk@170846 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
timeless%mozdev.org
2005-03-17 19:38:01 +00:00
parent 39e6039e54
commit e59e2b9af7
3 changed files with 15 additions and 5 deletions

View File

@@ -817,9 +817,12 @@ nsresult nsHTMLTokenizer::ConsumeStartTag(PRUnichar aChar,
PRBool isPCDATA = eHTMLTag_textarea == theTag ||
eHTMLTag_title == theTag;
// XXX This is an evil hack, we should be able to handle these properly
// in the DTD.
if ((eHTMLTag_iframe == theTag && (mFlags & NS_IPARSER_FLAG_FRAMES_ENABLED)) ||
(eHTMLTag_noframes == theTag && (mFlags & NS_IPARSER_FLAG_FRAMES_ENABLED)) ||
(eHTMLTag_noscript == theTag && (mFlags & NS_IPARSER_FLAG_SCRIPT_ENABLED))) {
(eHTMLTag_noscript == theTag && (mFlags & NS_IPARSER_FLAG_SCRIPT_ENABLED)) ||
(eHTMLTag_noembed == theTag)) {
isCDATA = PR_TRUE;
}
@@ -844,7 +847,7 @@ nsresult nsHTMLTokenizer::ConsumeStartTag(PRUnichar aChar,
mFlags,
done);
// Only flush tokens for <script>, to give oursevles more of a
// Only flush tokens for <script>, to give ourselves more of a
// chance of allowing inlines to contain blocks.
aFlushTokens = done && theTag == eHTMLTag_script;
}