fixed blockers: 19598 and 20624 with temp workaround; r=syd.

This commit is contained in:
rickg%netscape.com 1999-12-07 06:48:56 +00:00
Родитель 1c1ea70b42
Коммит bf13e88de7
4 изменённых файлов: 12 добавлений и 8 удалений

Просмотреть файл

@ -706,7 +706,7 @@ nsresult CNavDTD::HandleToken(CToken* aToken,nsIParser* aParser){
if(!FindTagInSet(theTag,passThru,sizeof(passThru)/sizeof(eHTMLTag_unknown))){ if(!FindTagInSet(theTag,passThru,sizeof(passThru)/sizeof(eHTMLTag_unknown))){
if(!gHTMLElements[eHTMLTag_html].SectionContains(theTag,PR_FALSE)) { if(!gHTMLElements[eHTMLTag_html].SectionContains(theTag,PR_FALSE)) {
if((!mHadBody) && (!mHadFrameset)){ if((!mHadBody) && (!mHadFrameset)){
if(mHasOpenHead) { if(mHasOpenHead) {
//just fall through and handle current token //just fall through and handle current token
if(!gHTMLElements[eHTMLTag_head].IsChildOfHead(theTag)){ if(!gHTMLElements[eHTMLTag_head].IsChildOfHead(theTag)){
@ -1333,6 +1333,7 @@ nsresult CNavDTD::HandleStartToken(CToken* aToken) {
break; break;
case eHTMLTag_userdefined: case eHTMLTag_userdefined:
case eHTMLTag_noscript: //HACK XXX! Throw noscript on the floor for now.
isTokenHandled=PR_TRUE; isTokenHandled=PR_TRUE;
break; break;
@ -2515,6 +2516,7 @@ nsresult CNavDTD::OpenHead(const nsIParserNode *aNode){
*/ */
nsresult CNavDTD::CloseHead(const nsIParserNode *aNode){ nsresult CNavDTD::CloseHead(const nsIParserNode *aNode){
nsresult result=NS_OK; nsresult result=NS_OK;
if(mHasOpenHead) { if(mHasOpenHead) {
if(0==--mHasOpenHead){ if(0==--mHasOpenHead){
@ -3198,12 +3200,12 @@ nsresult CNavDTD::AddHeadLeaf(nsIParserNode *aNode){
//this code has been added to prevent <meta> tags from being processed inside //this code has been added to prevent <meta> tags from being processed inside
//the document if the <meta> tag itself was found in a <noframe>, <nolayer>, or <noscript> tag. //the document if the <meta> tag itself was found in a <noframe>, <nolayer>, or <noscript> tag.
eHTMLTags theTag=(eHTMLTags)aNode->GetNodeType(); eHTMLTags theTag=(eHTMLTags)aNode->GetNodeType();
if(eHTMLTag_meta==theTag) if(eHTMLTag_meta==theTag)
if(HasOpenContainer(gNoXTags,sizeof(gNoXTags)/sizeof(eHTMLTag_unknown))) { if(HasOpenContainer(gNoXTags,sizeof(gNoXTags)/sizeof(eHTMLTag_unknown))) {
return result; return result;
} }
if(mSink) { if(mSink) {
result=OpenHead(aNode); result=OpenHead(aNode);
if(NS_OK==result) { if(NS_OK==result) {

Просмотреть файл

@ -131,7 +131,7 @@ TagList gFormKids={1,{eHTMLTag_keygen}};
TagList gFramesetKids={3,{eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes}}; TagList gFramesetKids={3,{eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes}};
TagList gHtmlKids={9,{eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_map,eHTMLTag_noscript,eHTMLTag_noframes,eHTMLTag_script,eHTMLTag_newline,eHTMLTag_whitespace}}; TagList gHtmlKids={9,{eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_map,eHTMLTag_noscript,eHTMLTag_noframes,eHTMLTag_script,eHTMLTag_newline,eHTMLTag_whitespace}};
TagList gHeadKids={8,{eHTMLTag_base,eHTMLTag_bgsound,eHTMLTag_link,eHTMLTag_meta,eHTMLTag_script,eHTMLTag_style,eHTMLTag_title,eHTMLTag_noembed}}; TagList gHeadKids={9,{eHTMLTag_base,eHTMLTag_bgsound,eHTMLTag_link,eHTMLTag_meta,eHTMLTag_script,eHTMLTag_style,eHTMLTag_title,eHTMLTag_noembed,eHTMLTag_noscript}};
TagList gLabelKids={1,{eHTMLTag_span}}; TagList gLabelKids={1,{eHTMLTag_span}};
TagList gLIKids={2,{eHTMLTag_ol,eHTMLTag_ul}}; TagList gLIKids={2,{eHTMLTag_ol,eHTMLTag_ul}};
@ -911,7 +911,7 @@ void InitializeElementTable(void) {
/*autoclose starttags and endtags*/ 0,0,0,0, /*autoclose starttags and endtags*/ 0,0,0,0,
/*parent,incl,exclgroups*/ kBlock, kFlowEntity|kSelf, kNone, /*parent,incl,exclgroups*/ kBlock, kFlowEntity|kSelf, kNone,
/*special props, prop-range*/ 0, kNoPropRange, /*special props, prop-range*/ 0, kNoPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown); /*special parents,kids,skip*/ 0,0,eHTMLTag_noscript);
Initialize( Initialize(
/*tag*/ eHTMLTag_object, /*tag*/ eHTMLTag_object,

Просмотреть файл

@ -706,7 +706,7 @@ nsresult CNavDTD::HandleToken(CToken* aToken,nsIParser* aParser){
if(!FindTagInSet(theTag,passThru,sizeof(passThru)/sizeof(eHTMLTag_unknown))){ if(!FindTagInSet(theTag,passThru,sizeof(passThru)/sizeof(eHTMLTag_unknown))){
if(!gHTMLElements[eHTMLTag_html].SectionContains(theTag,PR_FALSE)) { if(!gHTMLElements[eHTMLTag_html].SectionContains(theTag,PR_FALSE)) {
if((!mHadBody) && (!mHadFrameset)){ if((!mHadBody) && (!mHadFrameset)){
if(mHasOpenHead) { if(mHasOpenHead) {
//just fall through and handle current token //just fall through and handle current token
if(!gHTMLElements[eHTMLTag_head].IsChildOfHead(theTag)){ if(!gHTMLElements[eHTMLTag_head].IsChildOfHead(theTag)){
@ -1333,6 +1333,7 @@ nsresult CNavDTD::HandleStartToken(CToken* aToken) {
break; break;
case eHTMLTag_userdefined: case eHTMLTag_userdefined:
case eHTMLTag_noscript: //HACK XXX! Throw noscript on the floor for now.
isTokenHandled=PR_TRUE; isTokenHandled=PR_TRUE;
break; break;
@ -2515,6 +2516,7 @@ nsresult CNavDTD::OpenHead(const nsIParserNode *aNode){
*/ */
nsresult CNavDTD::CloseHead(const nsIParserNode *aNode){ nsresult CNavDTD::CloseHead(const nsIParserNode *aNode){
nsresult result=NS_OK; nsresult result=NS_OK;
if(mHasOpenHead) { if(mHasOpenHead) {
if(0==--mHasOpenHead){ if(0==--mHasOpenHead){
@ -3198,12 +3200,12 @@ nsresult CNavDTD::AddHeadLeaf(nsIParserNode *aNode){
//this code has been added to prevent <meta> tags from being processed inside //this code has been added to prevent <meta> tags from being processed inside
//the document if the <meta> tag itself was found in a <noframe>, <nolayer>, or <noscript> tag. //the document if the <meta> tag itself was found in a <noframe>, <nolayer>, or <noscript> tag.
eHTMLTags theTag=(eHTMLTags)aNode->GetNodeType(); eHTMLTags theTag=(eHTMLTags)aNode->GetNodeType();
if(eHTMLTag_meta==theTag) if(eHTMLTag_meta==theTag)
if(HasOpenContainer(gNoXTags,sizeof(gNoXTags)/sizeof(eHTMLTag_unknown))) { if(HasOpenContainer(gNoXTags,sizeof(gNoXTags)/sizeof(eHTMLTag_unknown))) {
return result; return result;
} }
if(mSink) { if(mSink) {
result=OpenHead(aNode); result=OpenHead(aNode);
if(NS_OK==result) { if(NS_OK==result) {

Просмотреть файл

@ -131,7 +131,7 @@ TagList gFormKids={1,{eHTMLTag_keygen}};
TagList gFramesetKids={3,{eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes}}; TagList gFramesetKids={3,{eHTMLTag_frame,eHTMLTag_frameset,eHTMLTag_noframes}};
TagList gHtmlKids={9,{eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_map,eHTMLTag_noscript,eHTMLTag_noframes,eHTMLTag_script,eHTMLTag_newline,eHTMLTag_whitespace}}; TagList gHtmlKids={9,{eHTMLTag_body,eHTMLTag_frameset,eHTMLTag_head,eHTMLTag_map,eHTMLTag_noscript,eHTMLTag_noframes,eHTMLTag_script,eHTMLTag_newline,eHTMLTag_whitespace}};
TagList gHeadKids={8,{eHTMLTag_base,eHTMLTag_bgsound,eHTMLTag_link,eHTMLTag_meta,eHTMLTag_script,eHTMLTag_style,eHTMLTag_title,eHTMLTag_noembed}}; TagList gHeadKids={9,{eHTMLTag_base,eHTMLTag_bgsound,eHTMLTag_link,eHTMLTag_meta,eHTMLTag_script,eHTMLTag_style,eHTMLTag_title,eHTMLTag_noembed,eHTMLTag_noscript}};
TagList gLabelKids={1,{eHTMLTag_span}}; TagList gLabelKids={1,{eHTMLTag_span}};
TagList gLIKids={2,{eHTMLTag_ol,eHTMLTag_ul}}; TagList gLIKids={2,{eHTMLTag_ol,eHTMLTag_ul}};
@ -911,7 +911,7 @@ void InitializeElementTable(void) {
/*autoclose starttags and endtags*/ 0,0,0,0, /*autoclose starttags and endtags*/ 0,0,0,0,
/*parent,incl,exclgroups*/ kBlock, kFlowEntity|kSelf, kNone, /*parent,incl,exclgroups*/ kBlock, kFlowEntity|kSelf, kNone,
/*special props, prop-range*/ 0, kNoPropRange, /*special props, prop-range*/ 0, kNoPropRange,
/*special parents,kids,skip*/ 0,0,eHTMLTag_unknown); /*special parents,kids,skip*/ 0,0,eHTMLTag_noscript);
Initialize( Initialize(
/*tag*/ eHTMLTag_object, /*tag*/ eHTMLTag_object,