From 160a9966650bbf10c4b11dc7e37a28fad221f424 Mon Sep 17 00:00:00 2001 From: "rickg%netscape.com" Date: Mon, 11 Jan 1999 07:40:11 +0000 Subject: [PATCH] fixes to bugs 2272 and 2273 git-svn-id: svn://10.0.0.236/trunk@17490 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/CNavDTD.cpp | 8 ++++---- mozilla/htmlparser/src/nsElementTable.h | 10 ++++++---- mozilla/parser/htmlparser/src/CNavDTD.cpp | 8 ++++---- mozilla/parser/htmlparser/src/nsElementTable.h | 10 ++++++---- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp index bd7c3944a01..a434a7e62c2 100644 --- a/mozilla/htmlparser/src/CNavDTD.cpp +++ b/mozilla/htmlparser/src/CNavDTD.cpp @@ -658,7 +658,7 @@ PRInt32 GetTopmostIndexOf(eHTMLTags aTag,nsTagStack& aTagStack) { * can be autoclosed. This means that based on the current * context, the stack should be closed to the nearest matching * tag. - * + * * @param aTag -- tag enum of child to be tested * @return PR_TRUE if autoclosure should occur */ @@ -729,7 +729,7 @@ nsresult CNavDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,nsI CStartToken theToken(eHTMLTag_body); //open the body container... result=HandleStartToken(&theToken); } - }//if + }//if eHTMLTags theParentTag=mBodyContext->Last(); PRBool theCanContainResult=CanContain(theParentTag,aChildTag); @@ -851,9 +851,9 @@ nsresult CNavDTD::HandleStartToken(CToken* aToken) { result = rv; } } - } + } } - } + } break; case eHTMLTag_area: diff --git a/mozilla/htmlparser/src/nsElementTable.h b/mozilla/htmlparser/src/nsElementTable.h index 8da6a500ceb..7e5b4dfbe45 100644 --- a/mozilla/htmlparser/src/nsElementTable.h +++ b/mozilla/htmlparser/src/nsElementTable.h @@ -143,6 +143,7 @@ CTagList gFormKids(1,eHTMLTag_keygen); CTagList gFramesetKids(3,eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes); 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 gLIKids(2,eHTMLTag_ol,eHTMLTag_ul); CTagList gMapKids(1,eHTMLTag_area); CTagList gNoframesKids(1,eHTMLTag_body); CTagList gPreKids(1,eHTMLTag_hr); @@ -158,6 +159,7 @@ CTagList gULKids(2,eHTMLTag_li,eHTMLTag_p); CTagList gRootTags(2,eHTMLTag_body,eHTMLTag_td); CTagList gHTMLRootTags(1,eHTMLTag_unknown); CTagList gLIRootTags(7,eHTMLTag_ul,eHTMLTag_ol,eHTMLTag_dir,eHTMLTag_menu,eHTMLTag_p,eHTMLTag_body,eHTMLTag_td); +CTagList gOLRootTags(3,eHTMLTag_body,eHTMLTag_li,eHTMLTag_td); CTagList gTextRootTags(2,eHTMLTag_p,eHTMLTag_body); CTagList gTDRootTags(3,eHTMLTag_tr,eHTMLTag_tbody,eHTMLTag_table); CTagList gOptionRootTags(1,eHTMLTag_select); @@ -268,8 +270,8 @@ static nsHTMLElement gHTMLElements[] = { {eHTMLTag_label, &gRootTags, 0, 0, kBPIPIC}, {eHTMLTag_layer, &gRootTags, 0, 0, kAll}, - {eHTMLTag_legend, &gRootTags, 0, 0, kIC, &gLegendParents,0}, - {eHTMLTag_li, &gLIRootTags, &gLIAutoClose, 0, kAll}, + {eHTMLTag_legend, &gRootTags, 0, 0, kIC, &gLegendParents, 0}, + {eHTMLTag_li, &gLIRootTags, &gLIAutoClose, 0, kAll, 0, &gLIKids}, {eHTMLTag_link, &gInHead, 0, 0, kNone, &gInHead, 0}, {eHTMLTag_listing, &gRootTags, 0, 0, kAll}, @@ -285,7 +287,7 @@ static nsHTMLElement gHTMLElements[] = { {eHTMLTag_noscript, &gRootTags, 0, 0, kBPBCIC}, {eHTMLTag_object, &gRootTags, 0, 0, kAll, 0, &gContainsParam}, - {eHTMLTag_ol, &gRootTags, 0, 0, kAll, 0, &gULKids}, + {eHTMLTag_ol, &gOLRootTags, 0, 0, kAll, 0, &gULKids}, {eHTMLTag_optgroup, &gRootTags, 0, 0, kNone, &gOptgroupParents, &gContainsOpts}, {eHTMLTag_option, &gOptionRootTags,0, 0, kNone, &gOptgroupParents, &gContainsText}, @@ -326,7 +328,7 @@ static nsHTMLElement gHTMLElements[] = { {eHTMLTag_tt, &gRootTags, 0, 0, kBPIPIC}, {eHTMLTag_u, &gRootTags, 0, 0, kBPIPIC}, - {eHTMLTag_ul, &gRootTags, 0, 0, kAll, 0, &gULKids}, + {eHTMLTag_ul, &gOLRootTags, 0, 0, kAll, 0, &gULKids}, {eHTMLTag_var, &gRootTags, 0, 0, kBPIPIC}, {eHTMLTag_wbr, &gRootTags, 0, 0, kBPIP}, {eHTMLTag_xmp, &gRootTags, 0, 0, kBPIP}, diff --git a/mozilla/parser/htmlparser/src/CNavDTD.cpp b/mozilla/parser/htmlparser/src/CNavDTD.cpp index bd7c3944a01..a434a7e62c2 100644 --- a/mozilla/parser/htmlparser/src/CNavDTD.cpp +++ b/mozilla/parser/htmlparser/src/CNavDTD.cpp @@ -658,7 +658,7 @@ PRInt32 GetTopmostIndexOf(eHTMLTags aTag,nsTagStack& aTagStack) { * can be autoclosed. This means that based on the current * context, the stack should be closed to the nearest matching * tag. - * + * * @param aTag -- tag enum of child to be tested * @return PR_TRUE if autoclosure should occur */ @@ -729,7 +729,7 @@ nsresult CNavDTD::HandleDefaultStartToken(CToken* aToken,eHTMLTags aChildTag,nsI CStartToken theToken(eHTMLTag_body); //open the body container... result=HandleStartToken(&theToken); } - }//if + }//if eHTMLTags theParentTag=mBodyContext->Last(); PRBool theCanContainResult=CanContain(theParentTag,aChildTag); @@ -851,9 +851,9 @@ nsresult CNavDTD::HandleStartToken(CToken* aToken) { result = rv; } } - } + } } - } + } break; case eHTMLTag_area: diff --git a/mozilla/parser/htmlparser/src/nsElementTable.h b/mozilla/parser/htmlparser/src/nsElementTable.h index 8da6a500ceb..7e5b4dfbe45 100644 --- a/mozilla/parser/htmlparser/src/nsElementTable.h +++ b/mozilla/parser/htmlparser/src/nsElementTable.h @@ -143,6 +143,7 @@ CTagList gFormKids(1,eHTMLTag_keygen); CTagList gFramesetKids(3,eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes); 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 gLIKids(2,eHTMLTag_ol,eHTMLTag_ul); CTagList gMapKids(1,eHTMLTag_area); CTagList gNoframesKids(1,eHTMLTag_body); CTagList gPreKids(1,eHTMLTag_hr); @@ -158,6 +159,7 @@ CTagList gULKids(2,eHTMLTag_li,eHTMLTag_p); CTagList gRootTags(2,eHTMLTag_body,eHTMLTag_td); CTagList gHTMLRootTags(1,eHTMLTag_unknown); CTagList gLIRootTags(7,eHTMLTag_ul,eHTMLTag_ol,eHTMLTag_dir,eHTMLTag_menu,eHTMLTag_p,eHTMLTag_body,eHTMLTag_td); +CTagList gOLRootTags(3,eHTMLTag_body,eHTMLTag_li,eHTMLTag_td); CTagList gTextRootTags(2,eHTMLTag_p,eHTMLTag_body); CTagList gTDRootTags(3,eHTMLTag_tr,eHTMLTag_tbody,eHTMLTag_table); CTagList gOptionRootTags(1,eHTMLTag_select); @@ -268,8 +270,8 @@ static nsHTMLElement gHTMLElements[] = { {eHTMLTag_label, &gRootTags, 0, 0, kBPIPIC}, {eHTMLTag_layer, &gRootTags, 0, 0, kAll}, - {eHTMLTag_legend, &gRootTags, 0, 0, kIC, &gLegendParents,0}, - {eHTMLTag_li, &gLIRootTags, &gLIAutoClose, 0, kAll}, + {eHTMLTag_legend, &gRootTags, 0, 0, kIC, &gLegendParents, 0}, + {eHTMLTag_li, &gLIRootTags, &gLIAutoClose, 0, kAll, 0, &gLIKids}, {eHTMLTag_link, &gInHead, 0, 0, kNone, &gInHead, 0}, {eHTMLTag_listing, &gRootTags, 0, 0, kAll}, @@ -285,7 +287,7 @@ static nsHTMLElement gHTMLElements[] = { {eHTMLTag_noscript, &gRootTags, 0, 0, kBPBCIC}, {eHTMLTag_object, &gRootTags, 0, 0, kAll, 0, &gContainsParam}, - {eHTMLTag_ol, &gRootTags, 0, 0, kAll, 0, &gULKids}, + {eHTMLTag_ol, &gOLRootTags, 0, 0, kAll, 0, &gULKids}, {eHTMLTag_optgroup, &gRootTags, 0, 0, kNone, &gOptgroupParents, &gContainsOpts}, {eHTMLTag_option, &gOptionRootTags,0, 0, kNone, &gOptgroupParents, &gContainsText}, @@ -326,7 +328,7 @@ static nsHTMLElement gHTMLElements[] = { {eHTMLTag_tt, &gRootTags, 0, 0, kBPIPIC}, {eHTMLTag_u, &gRootTags, 0, 0, kBPIPIC}, - {eHTMLTag_ul, &gRootTags, 0, 0, kAll, 0, &gULKids}, + {eHTMLTag_ul, &gOLRootTags, 0, 0, kAll, 0, &gULKids}, {eHTMLTag_var, &gRootTags, 0, 0, kBPIPIC}, {eHTMLTag_wbr, &gRootTags, 0, 0, kBPIP}, {eHTMLTag_xmp, &gRootTags, 0, 0, kBPIP},