From db5434c32a3f2f324f1deec76025281ea262cee5 Mon Sep 17 00:00:00 2001 From: "rickg%netscape.com" Date: Sun, 7 May 2000 21:59:06 +0000 Subject: [PATCH] more fun with the Strict DTD git-svn-id: svn://10.0.0.236/trunk@68607 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/COtherDTD.cpp | 4 ++-- mozilla/htmlparser/src/COtherDTD.h | 2 +- mozilla/htmlparser/src/COtherElements.h | 13 +++++++------ mozilla/parser/htmlparser/src/COtherDTD.cpp | 4 ++-- mozilla/parser/htmlparser/src/COtherDTD.h | 2 +- mozilla/parser/htmlparser/src/COtherElements.h | 13 +++++++------ 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/mozilla/htmlparser/src/COtherDTD.cpp b/mozilla/htmlparser/src/COtherDTD.cpp index a02061eb923..90bed5f20bd 100644 --- a/mozilla/htmlparser/src/COtherDTD.cpp +++ b/mozilla/htmlparser/src/COtherDTD.cpp @@ -748,7 +748,7 @@ nsresult COtherDTD::HandleStartToken(CToken* aToken) { nsCParserNode* theNode=CreateNode(); theNode->Init(aToken,mLineNumber,mTokenRecycler); - + eHTMLTags theChildTag=(eHTMLTags)aToken->GetTypeID(); PRInt16 attrCount=aToken->GetAttributeCount(); eHTMLTags theParent=mBodyContext->Last(); @@ -763,7 +763,7 @@ nsresult COtherDTD::HandleStartToken(CToken* aToken) { PRBool theTagWasHandled=PR_FALSE; switch(theChildTag) { - + case eHTMLTag_html: if(!HasOpenContainer(theChildTag)) { mSink->OpenHTML(*theNode); diff --git a/mozilla/htmlparser/src/COtherDTD.h b/mozilla/htmlparser/src/COtherDTD.h index 896d3f99b81..c520d49b944 100644 --- a/mozilla/htmlparser/src/COtherDTD.h +++ b/mozilla/htmlparser/src/COtherDTD.h @@ -22,7 +22,7 @@ */ /** - * MODULE NOTES: + * MODULE NOTES: * @update gess 7/15/98 * * NavDTD is an implementation of the nsIDTD interface. diff --git a/mozilla/htmlparser/src/COtherElements.h b/mozilla/htmlparser/src/COtherElements.h index 146648e5132..a9ce99e3006 100644 --- a/mozilla/htmlparser/src/COtherElements.h +++ b/mozilla/htmlparser/src/COtherElements.h @@ -701,17 +701,18 @@ public: case eHTMLTag_tr: case eHTMLTag_th: - if(aContext->mTableStates && (!aContext->mTableStates->mHasTBody)) { + + if(!aContext->HasOpenContainer(eHTMLTag_tbody)) { nsCParserNode* theNode=new nsCParserNode(); CToken* theToken=new CStartToken(eHTMLTag_tbody); theNode->Init(theToken,0,0); //this will likely leak... result=HandleStartToken(theNode,eHTMLTag_tbody,aContext,aSink); - if(NS_SUCCEEDED(result)) { - CElement *theElement=GetElement(eHTMLTag_tbody); - if(theElement) { - result=theElement->HandleStartToken(aNode,aTag,aContext,aSink); - } + } + if(NS_SUCCEEDED(result)) { + CElement *theElement=GetElement(eHTMLTag_tbody); + if(theElement) { + result=theElement->HandleStartToken(aNode,aTag,aContext,aSink); } } diff --git a/mozilla/parser/htmlparser/src/COtherDTD.cpp b/mozilla/parser/htmlparser/src/COtherDTD.cpp index a02061eb923..90bed5f20bd 100644 --- a/mozilla/parser/htmlparser/src/COtherDTD.cpp +++ b/mozilla/parser/htmlparser/src/COtherDTD.cpp @@ -748,7 +748,7 @@ nsresult COtherDTD::HandleStartToken(CToken* aToken) { nsCParserNode* theNode=CreateNode(); theNode->Init(aToken,mLineNumber,mTokenRecycler); - + eHTMLTags theChildTag=(eHTMLTags)aToken->GetTypeID(); PRInt16 attrCount=aToken->GetAttributeCount(); eHTMLTags theParent=mBodyContext->Last(); @@ -763,7 +763,7 @@ nsresult COtherDTD::HandleStartToken(CToken* aToken) { PRBool theTagWasHandled=PR_FALSE; switch(theChildTag) { - + case eHTMLTag_html: if(!HasOpenContainer(theChildTag)) { mSink->OpenHTML(*theNode); diff --git a/mozilla/parser/htmlparser/src/COtherDTD.h b/mozilla/parser/htmlparser/src/COtherDTD.h index 896d3f99b81..c520d49b944 100644 --- a/mozilla/parser/htmlparser/src/COtherDTD.h +++ b/mozilla/parser/htmlparser/src/COtherDTD.h @@ -22,7 +22,7 @@ */ /** - * MODULE NOTES: + * MODULE NOTES: * @update gess 7/15/98 * * NavDTD is an implementation of the nsIDTD interface. diff --git a/mozilla/parser/htmlparser/src/COtherElements.h b/mozilla/parser/htmlparser/src/COtherElements.h index 146648e5132..a9ce99e3006 100644 --- a/mozilla/parser/htmlparser/src/COtherElements.h +++ b/mozilla/parser/htmlparser/src/COtherElements.h @@ -701,17 +701,18 @@ public: case eHTMLTag_tr: case eHTMLTag_th: - if(aContext->mTableStates && (!aContext->mTableStates->mHasTBody)) { + + if(!aContext->HasOpenContainer(eHTMLTag_tbody)) { nsCParserNode* theNode=new nsCParserNode(); CToken* theToken=new CStartToken(eHTMLTag_tbody); theNode->Init(theToken,0,0); //this will likely leak... result=HandleStartToken(theNode,eHTMLTag_tbody,aContext,aSink); - if(NS_SUCCEEDED(result)) { - CElement *theElement=GetElement(eHTMLTag_tbody); - if(theElement) { - result=theElement->HandleStartToken(aNode,aTag,aContext,aSink); - } + } + if(NS_SUCCEEDED(result)) { + CElement *theElement=GetElement(eHTMLTag_tbody); + if(theElement) { + result=theElement->HandleStartToken(aNode,aTag,aContext,aSink); } }