Make sure to collect FORM attributes if the FORM was found along with misplaced content inside TABLE. b=142965, r=heikki, sr=jst. Added -/W3C/DTD HTML 4.0 Transitional/EN to the quirks list. b=146274, r=heikki, sr=dbaron

git-svn-id: svn://10.0.0.236/trunk@134709 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
harishd%netscape.com
2002-12-03 19:55:19 +00:00
parent 2ed3358a13
commit 003dea7bb8
4 changed files with 18 additions and 14 deletions

View File

@@ -799,13 +799,14 @@ nsresult CNavDTD::HandleToken(CToken* aToken,nsIParser* aParser){
}
else if(mFlags & NS_DTD_FLAG_MISPLACED_CONTENT) {
// Included TD & TH to fix Bug# 20797
static eHTMLTags gLegalElements[]={eHTMLTag_table,eHTMLTag_thead,eHTMLTag_tbody,
eHTMLTag_tr,eHTMLTag_td,eHTMLTag_th,eHTMLTag_tfoot};
if(theToken) {
eHTMLTags theParentTag=mBodyContext->Last();
theTag=(eHTMLTags)theToken->GetTypeID();
if((FindTagInSet(theTag,gLegalElements,sizeof(gLegalElements)/sizeof(theTag))) ||
(gHTMLElements[theParentTag].CanContain(theTag)) && (theTag!=eHTMLTag_comment)) { // Added comment -> bug 40855
static eHTMLTags gLegalElements[] = {eHTMLTag_table, eHTMLTag_tr, eHTMLTag_td,
eHTMLTag_th, eHTMLTag_caption, eHTMLTag_colgroup,
eHTMLTag_col, eHTMLTag_tbody, eHTMLTag_thead,
eHTMLTag_tfoot};
if (theToken) {
eHTMLTags theParentTag = mBodyContext->Last();
theTag = (eHTMLTags)theToken->GetTypeID();
if (FindTagInSet(theTag,gLegalElements,sizeof(gLegalElements)/sizeof(theTag))) {
mFlags &= ~NS_DTD_FLAG_MISPLACED_CONTENT; // reset the state since all the misplaced tokens are about to get handled.