Fix for Bugs

24112 - Fixed the orderding of THEAD, TBODY, and TFOOT
24673 - Fixed the crash my not letting P to contain TABLE ( per spec. )
18308 - Ignoring newlines above BODY
18928 - Fixed by forcing a BODY to open, irrespective of FRAMESET document, if
 'text' is present in the document.
23791 - Made ; in entities optional.
24006 - Fixed by setting the alternate end-comment to be '>'.
24275 - Buffering newlines/whitespace only when it's absolutely necessary.
24462 - Fixed by making NOBR a block closure.
21917 - Being careful about ignoring newlines/whitespace for body content.

r=rickg

24204 - Fixed by opening up BODY for INPUT ( quirks )
Also did a minor change in CNavDTD::DidBuildModel();

r=pollmann


git-svn-id: svn://10.0.0.236/trunk@58870 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
harishd%netscape.com
2000-01-27 02:27:58 +00:00
parent 8a12f68241
commit d400676ed4
12 changed files with 62 additions and 76 deletions

View File

@@ -49,7 +49,7 @@ TagList gInTR={1,{eHTMLTag_tr}};
TagList gInDL={2,{eHTMLTag_dl,eHTMLTag_body}};
TagList gInFrameset={1,{eHTMLTag_frameset}};
TagList gInNoframes={1,{eHTMLTag_noframes}};
TagList gInP={4,{eHTMLTag_address,eHTMLTag_span,eHTMLTag_table,eHTMLTag_form}}; // P containing TABLE - Ref: Bug# 11229
TagList gInP={3,{eHTMLTag_address,eHTMLTag_span,eHTMLTag_form}}; // P used to contain TABLE - Ref: Bug# 11229 - Removed TABLE to solve Bug# 24673
TagList gOptgroupParents={2,{eHTMLTag_select,eHTMLTag_optgroup}};
TagList gBodyParents={2,{eHTMLTag_html,eHTMLTag_noframes}};
TagList gColParents={2,{eHTMLTag_table,eHTMLTag_colgroup}};
@@ -117,7 +117,7 @@ TagList gNoframeRoot={2,{eHTMLTag_body,eHTMLTag_frameset}};
//*********************************************************************************************
TagList gBodyAutoClose={1,{eHTMLTag_head}};
TagList gTBodyAutoClose={3,{eHTMLTag_thead,eHTMLTag_tfoot,eHTMLTag_tbody}};
TagList gTBodyAutoClose={5,{eHTMLTag_thead,eHTMLTag_tfoot,eHTMLTag_tbody,eHTMLTag_td,eHTMLTag_th}}; // TD|TH inclusion - Bug# 24112
TagList gCaptionAutoClose={1,{eHTMLTag_tbody}};
TagList gLIAutoClose={2,{eHTMLTag_p,eHTMLTag_li}};
TagList gPAutoClose={2,{eHTMLTag_p,eHTMLTag_li}};
@@ -685,7 +685,7 @@ void InitializeElementTable(void) {
/*rootnodes,endrootnodes*/ &gRootTags,&gRootTags,
/*autoclose starttags and endtags*/ 0,0,0,0,
/*parent,incl,exclgroups*/ kFormControl, kNone, kNone,
/*special props, prop-range*/ kNonContainer,kDefaultPropRange,
/*special props, prop-range*/ kNonContainer|kRequiresBody,kDefaultPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown);
Initialize(
@@ -1232,7 +1232,7 @@ void InitializeElementTable(void) {
/*rootnodes,endrootnodes*/ &gInBody,&gInBody,
/*autoclose starttags and endtags*/ 0,0,0,0,
/*parent,incl,exclgroups*/ kFlowEntity, kNone, kNone,
/*special props, prop-range*/ kNonContainer,kNoPropRange,
/*special props, prop-range*/ kNonContainer|kRequiresBody,kNoPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown);
Initialize(
@@ -1386,10 +1386,10 @@ PRBool nsHTMLElement::IsBlockCloser(eHTMLTags aTag){
gHTMLElements[aTag].IsBlockEntity() ||
(kHeading==gHTMLElements[aTag].mParentBits));
if(!result) {
// NOBR is a block closure - Ref. Bug# 24462
static eHTMLTags gClosers[]={ eHTMLTag_table,eHTMLTag_tbody,eHTMLTag_caption,eHTMLTag_dd,eHTMLTag_dt,
/* eHTMLTag_td,eHTMLTag_tfoot,eHTMLTag_th,eHTMLTag_thead,eHTMLTag_tr, */
eHTMLTag_optgroup,eHTMLTag_ol,eHTMLTag_ul};
eHTMLTag_nobr,eHTMLTag_optgroup,eHTMLTag_ol,eHTMLTag_ul};
result=FindTagInSet(aTag,gClosers,sizeof(gClosers)/sizeof(eHTMLTag_body));
}
}