fixed bugs 625 and 1521

git-svn-id: svn://10.0.0.236/trunk@17489 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rickg%netscape.com
1999-01-11 07:14:42 +00:00
parent 9cd45bdc69
commit 0e0363a6bd
6 changed files with 26 additions and 10 deletions

View File

@@ -720,9 +720,9 @@ nsresult CNavDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,nsI
//Sick as it sounds, I have to make sure the body has been
//opened before other tags can be added to the content sink...
static eHTMLTags gBodyBlockers[]={eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head};
PRInt32 theBodyBlocker=GetTopmostIndexOf(gBodyBlockers,sizeof(gStyleTags)/sizeof(eHTMLTag_unknown));
static eHTMLTags gBodyBlockers[]={eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_map};
PRInt32 theBodyBlocker=GetTopmostIndexOf(gBodyBlockers,sizeof(gBodyBlockers)/sizeof(eHTMLTag_unknown));
if(!theBodyBlocker) {
if(CanPropagate(eHTMLTag_body,aChildTag)) {
mHasOpenBody=PR_TRUE;
@@ -1971,8 +1971,10 @@ nsresult CNavDTD::OpenMap(const nsIParserNode& aNode){
if(mHasOpenMap)
CloseMap(aNode);
nsresult result=mSink->OpenMap(aNode);
if(NS_OK==result)
if(NS_OK==result) {
mBodyContext->Push((eHTMLTags)aNode.GetNodeType());
mHasOpenMap=PR_TRUE;
}
return result;
}
@@ -1989,6 +1991,7 @@ nsresult CNavDTD::CloseMap(const nsIParserNode& aNode){
if(mHasOpenMap) {
mHasOpenMap=PR_FALSE;
result=mSink->CloseMap(aNode);
mBodyContext->Pop();
}
return result;
}

View File

@@ -141,7 +141,7 @@ CTagList gDTKids(1,eHTMLTag_dt);
CTagList gFieldsetKids(1,eHTMLTag_legend);
CTagList gFormKids(1,eHTMLTag_keygen);
CTagList gFramesetKids(3,eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes);
CTagList gHtmlKids(5,eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_noscript,eHTMLTag_script);
CTagList gHtmlKids(6,eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_map,eHTMLTag_noscript,eHTMLTag_script);
CTagList gHeadKids(7,eHTMLTag_base,eHTMLTag_bgsound,eHTMLTag_link,eHTMLTag_meta,eHTMLTag_script,eHTMLTag_style,eHTMLTag_title);
CTagList gMapKids(1,eHTMLTag_area);
CTagList gNoframesKids(1,eHTMLTag_body);

View File

@@ -612,6 +612,11 @@ nsresult nsParser::Parse(nsString& aSourceBuffer,PRBool anHTMLString,PRBool aVer
mDTDVerification=aVerifyEnabled;
mStreamListenerState=eOnStart;
{
fstream out("c:/temp/out.file",ios::trunc);
aSourceBuffer.DebugDump(out);
}
nsresult result=NS_OK;
if(0<aSourceBuffer.Length()){
CParserContext* pc=new CParserContext(new nsScanner(aSourceBuffer),&aSourceBuffer,0);