Bug 497013 - Fix some re-entrancy bugs in the parser. r+sr=sicking a=dveditz

git-svn-id: svn://10.0.0.236/trunk@258473 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mrbkap%gmail.com
2009-09-22 22:55:56 +00:00
parent eeff1f8249
commit d190c0e8a2

View File

@@ -3092,9 +3092,9 @@ CNavDTD::AddHeadContent(nsIParserNode *aNode)
// Make sure the head is opened.
if (!(mFlags & NS_DTD_FLAG_HAS_OPEN_HEAD)) {
mFlags |= NS_DTD_FLAG_HAS_OPEN_HEAD;
mBodyContext->PushTag(eHTMLTag_head);
result = mSink->OpenHead();
mBodyContext->PushTag(eHTMLTag_head);
mFlags |= NS_DTD_FLAG_HAS_OPEN_HEAD;
}
// Note: userdefined tags in the head are treated as leaves.
@@ -3113,11 +3113,11 @@ CNavDTD::AddHeadContent(nsIParserNode *aNode)
mHeadContainerPosition = mBodyContext->GetCount();
}
mBodyContext->Push(static_cast<nsCParserNode*>(aNode), nsnull,
PR_FALSE);
// Note: The head context is already opened.
result = mSink->OpenContainer(*aNode);
mBodyContext->Push(static_cast<nsCParserNode*>(aNode), nsnull,
PR_FALSE);
}
MOZ_TIMER_DEBUGLOG(("Start: Parse Time: CNavDTD::AddHeadContent(), this=%p\n", this));