зеркало из https://github.com/mozilla/gecko-dev.git
fixed blockers: 19598 and 20624 with temp workaround; r=syd.
This commit is contained in:
Родитель
1c1ea70b42
Коммит
bf13e88de7
|
@ -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,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче