зеркало из https://github.com/mozilla/pjs.git
update to StrictDTD; not part of build. a=syd
This commit is contained in:
Родитель
1dccac1327
Коммит
18a8590bf6
|
@ -674,6 +674,9 @@ public:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_col:
|
case eHTMLTag_col:
|
||||||
|
result=aSink->AddLeaf(*aNode);
|
||||||
|
break;
|
||||||
|
|
||||||
case eHTMLTag_colgroup:
|
case eHTMLTag_colgroup:
|
||||||
if(aContext->mTableStates && aContext->mTableStates->CanOpenCols()) {
|
if(aContext->mTableStates && aContext->mTableStates->CanOpenCols()) {
|
||||||
result=OpenContainerInContext(aNode,aTag,aContext,aSink); //force the title onto the stack
|
result=OpenContainerInContext(aNode,aTag,aContext,aSink); //force the title onto the stack
|
||||||
|
@ -1038,7 +1041,6 @@ public:
|
||||||
class CHeadElement: public CElement {
|
class CHeadElement: public CElement {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
static CGroupMembers& GetGroup(void) {
|
static CGroupMembers& GetGroup(void) {
|
||||||
static CGroupMembers theHeadGroup={0};
|
static CGroupMembers theHeadGroup={0};
|
||||||
theHeadGroup.mBits.mTopLevel=1;
|
theHeadGroup.mBits.mTopLevel=1;
|
||||||
|
@ -1076,58 +1078,6 @@ public:
|
||||||
CHeadElement::Initialize(*this,aTag);
|
CHeadElement::Initialize(*this,aTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
Head handles the opening of it's own children
|
|
||||||
**********************************************************/
|
|
||||||
virtual nsresult HandleStartToken(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
|
||||||
nsresult result=NS_OK;
|
|
||||||
|
|
||||||
switch(aTag) {
|
|
||||||
|
|
||||||
case eHTMLTag_script:
|
|
||||||
case eHTMLTag_style:
|
|
||||||
case eHTMLTag_title:
|
|
||||||
result=OpenContext(aNode,aTag,aContext,aSink); //force the title onto the context stack
|
|
||||||
break;
|
|
||||||
|
|
||||||
case eHTMLTag_base: //nothing to do for these empty tags...
|
|
||||||
case eHTMLTag_isindex:
|
|
||||||
case eHTMLTag_link:
|
|
||||||
case eHTMLTag_meta:
|
|
||||||
aSink->OpenHead(*aNode);
|
|
||||||
result=aSink->AddLeaf(*aNode);
|
|
||||||
aSink->CloseHead(*aNode);
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
Head handles the closing of it's own children
|
|
||||||
**********************************************************/
|
|
||||||
virtual nsresult HandleEndToken(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
|
||||||
nsresult result=NS_OK;
|
|
||||||
|
|
||||||
switch(aTag) {
|
|
||||||
|
|
||||||
case eHTMLTag_script:
|
|
||||||
case eHTMLTag_style:
|
|
||||||
case eHTMLTag_title:
|
|
||||||
result=CloseContext(aNode,aTag,aContext,aSink);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case eHTMLTag_base: //nothing to do for these empty tags...
|
|
||||||
case eHTMLTag_isindex:
|
|
||||||
case eHTMLTag_link:
|
|
||||||
case eHTMLTag_meta:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1334,7 +1284,7 @@ public:
|
||||||
virtual nsresult NotifyClose(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
virtual nsresult NotifyClose(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
||||||
nsresult result=NS_OK;
|
nsresult result=NS_OK;
|
||||||
|
|
||||||
if(aContext->HasOpenContainer(eHTMLTag_head)) {
|
if(aContext->HasOpenContainer(eHTMLTag_html)) {
|
||||||
aSink->OpenHead(*aNode);
|
aSink->OpenHead(*aNode);
|
||||||
result=CTextContainer::NotifyClose(aNode,aTag,aContext,aSink);
|
result=CTextContainer::NotifyClose(aNode,aTag,aContext,aSink);
|
||||||
aSink->CloseHead(*aNode);
|
aSink->CloseHead(*aNode);
|
||||||
|
@ -1701,8 +1651,24 @@ public:
|
||||||
aContext->mHadFrameset=PR_TRUE;
|
aContext->mHadFrameset=PR_TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_head:
|
case eHTMLTag_base: //nothing to do for these empty tags...
|
||||||
result=OpenContext(aNode,aTag,aContext,aSink);
|
case eHTMLTag_isindex:
|
||||||
|
case eHTMLTag_link:
|
||||||
|
case eHTMLTag_meta:
|
||||||
|
aSink->OpenHead(*aNode);
|
||||||
|
result=aSink->AddLeaf(*aNode);
|
||||||
|
aSink->CloseHead(*aNode);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case eHTMLTag_object:
|
||||||
|
aSink->OpenHead(*aNode);
|
||||||
|
result=OpenContainerInContext(aNode,aTag,aContext,aSink);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case eHTMLTag_script:
|
||||||
|
case eHTMLTag_style:
|
||||||
|
case eHTMLTag_title:
|
||||||
|
result=OpenContext(aNode,aTag,aContext,aSink); //force the title onto the context stack
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_newline:
|
case eHTMLTag_newline:
|
||||||
|
@ -1754,8 +1720,15 @@ public:
|
||||||
result=CloseContext(aNode,aTag,aContext,aSink);
|
result=CloseContext(aNode,aTag,aContext,aSink);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_head:
|
case eHTMLTag_object:
|
||||||
result=CloseContext(aNode,aTag,aContext,aSink);
|
result=CloseContainerInContext(aNode,aTag,aContext,aSink);
|
||||||
|
aSink->CloseHead(*aNode);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case eHTMLTag_script:
|
||||||
|
case eHTMLTag_style:
|
||||||
|
case eHTMLTag_title:
|
||||||
|
result=CloseContext(aNode,aTag,aContext,aSink); //close the title
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_unknown:
|
case eHTMLTag_unknown:
|
||||||
|
@ -1872,7 +1845,6 @@ public:
|
||||||
|
|
||||||
mBodyElement(eHTMLTag_body),
|
mBodyElement(eHTMLTag_body),
|
||||||
mFramesetElement(eHTMLTag_frameset),
|
mFramesetElement(eHTMLTag_frameset),
|
||||||
mHeadElement(eHTMLTag_head),
|
|
||||||
mHTMLElement(eHTMLTag_html),
|
mHTMLElement(eHTMLTag_html),
|
||||||
mScriptElement(),
|
mScriptElement(),
|
||||||
mStyleElement(),
|
mStyleElement(),
|
||||||
|
@ -1901,7 +1873,6 @@ public:
|
||||||
|
|
||||||
CBodyElement mBodyElement;
|
CBodyElement mBodyElement;
|
||||||
CFrameElement mFramesetElement;
|
CFrameElement mFramesetElement;
|
||||||
CHeadElement mHeadElement;
|
|
||||||
CHTMLElement mHTMLElement;
|
CHTMLElement mHTMLElement;
|
||||||
CScriptElement mScriptElement;
|
CScriptElement mScriptElement;
|
||||||
CStyleElement mStyleElement;
|
CStyleElement mStyleElement;
|
||||||
|
@ -2195,7 +2166,6 @@ void CElementTable::InitializeElements() {
|
||||||
mElements[eHTMLTag_body]=&mBodyElement;
|
mElements[eHTMLTag_body]=&mBodyElement;
|
||||||
mElements[eHTMLTag_frameset]=&mFramesetElement;
|
mElements[eHTMLTag_frameset]=&mFramesetElement;
|
||||||
mElements[eHTMLTag_html]=&mHTMLElement;
|
mElements[eHTMLTag_html]=&mHTMLElement;
|
||||||
mElements[eHTMLTag_head]=&mHeadElement;
|
|
||||||
mElements[eHTMLTag_script]=&mScriptElement;
|
mElements[eHTMLTag_script]=&mScriptElement;
|
||||||
mElements[eHTMLTag_style]=&mStyleElement;
|
mElements[eHTMLTag_style]=&mStyleElement;
|
||||||
mElements[eHTMLTag_title]=&mTitleElement;
|
mElements[eHTMLTag_title]=&mTitleElement;
|
||||||
|
|
|
@ -674,6 +674,9 @@ public:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_col:
|
case eHTMLTag_col:
|
||||||
|
result=aSink->AddLeaf(*aNode);
|
||||||
|
break;
|
||||||
|
|
||||||
case eHTMLTag_colgroup:
|
case eHTMLTag_colgroup:
|
||||||
if(aContext->mTableStates && aContext->mTableStates->CanOpenCols()) {
|
if(aContext->mTableStates && aContext->mTableStates->CanOpenCols()) {
|
||||||
result=OpenContainerInContext(aNode,aTag,aContext,aSink); //force the title onto the stack
|
result=OpenContainerInContext(aNode,aTag,aContext,aSink); //force the title onto the stack
|
||||||
|
@ -1038,7 +1041,6 @@ public:
|
||||||
class CHeadElement: public CElement {
|
class CHeadElement: public CElement {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
static CGroupMembers& GetGroup(void) {
|
static CGroupMembers& GetGroup(void) {
|
||||||
static CGroupMembers theHeadGroup={0};
|
static CGroupMembers theHeadGroup={0};
|
||||||
theHeadGroup.mBits.mTopLevel=1;
|
theHeadGroup.mBits.mTopLevel=1;
|
||||||
|
@ -1076,58 +1078,6 @@ public:
|
||||||
CHeadElement::Initialize(*this,aTag);
|
CHeadElement::Initialize(*this,aTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
Head handles the opening of it's own children
|
|
||||||
**********************************************************/
|
|
||||||
virtual nsresult HandleStartToken(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
|
||||||
nsresult result=NS_OK;
|
|
||||||
|
|
||||||
switch(aTag) {
|
|
||||||
|
|
||||||
case eHTMLTag_script:
|
|
||||||
case eHTMLTag_style:
|
|
||||||
case eHTMLTag_title:
|
|
||||||
result=OpenContext(aNode,aTag,aContext,aSink); //force the title onto the context stack
|
|
||||||
break;
|
|
||||||
|
|
||||||
case eHTMLTag_base: //nothing to do for these empty tags...
|
|
||||||
case eHTMLTag_isindex:
|
|
||||||
case eHTMLTag_link:
|
|
||||||
case eHTMLTag_meta:
|
|
||||||
aSink->OpenHead(*aNode);
|
|
||||||
result=aSink->AddLeaf(*aNode);
|
|
||||||
aSink->CloseHead(*aNode);
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
Head handles the closing of it's own children
|
|
||||||
**********************************************************/
|
|
||||||
virtual nsresult HandleEndToken(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
|
||||||
nsresult result=NS_OK;
|
|
||||||
|
|
||||||
switch(aTag) {
|
|
||||||
|
|
||||||
case eHTMLTag_script:
|
|
||||||
case eHTMLTag_style:
|
|
||||||
case eHTMLTag_title:
|
|
||||||
result=CloseContext(aNode,aTag,aContext,aSink);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case eHTMLTag_base: //nothing to do for these empty tags...
|
|
||||||
case eHTMLTag_isindex:
|
|
||||||
case eHTMLTag_link:
|
|
||||||
case eHTMLTag_meta:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1334,7 +1284,7 @@ public:
|
||||||
virtual nsresult NotifyClose(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
virtual nsresult NotifyClose(nsIParserNode* aNode,eHTMLTags aTag,nsDTDContext* aContext,nsIHTMLContentSink* aSink) {
|
||||||
nsresult result=NS_OK;
|
nsresult result=NS_OK;
|
||||||
|
|
||||||
if(aContext->HasOpenContainer(eHTMLTag_head)) {
|
if(aContext->HasOpenContainer(eHTMLTag_html)) {
|
||||||
aSink->OpenHead(*aNode);
|
aSink->OpenHead(*aNode);
|
||||||
result=CTextContainer::NotifyClose(aNode,aTag,aContext,aSink);
|
result=CTextContainer::NotifyClose(aNode,aTag,aContext,aSink);
|
||||||
aSink->CloseHead(*aNode);
|
aSink->CloseHead(*aNode);
|
||||||
|
@ -1701,8 +1651,24 @@ public:
|
||||||
aContext->mHadFrameset=PR_TRUE;
|
aContext->mHadFrameset=PR_TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_head:
|
case eHTMLTag_base: //nothing to do for these empty tags...
|
||||||
result=OpenContext(aNode,aTag,aContext,aSink);
|
case eHTMLTag_isindex:
|
||||||
|
case eHTMLTag_link:
|
||||||
|
case eHTMLTag_meta:
|
||||||
|
aSink->OpenHead(*aNode);
|
||||||
|
result=aSink->AddLeaf(*aNode);
|
||||||
|
aSink->CloseHead(*aNode);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case eHTMLTag_object:
|
||||||
|
aSink->OpenHead(*aNode);
|
||||||
|
result=OpenContainerInContext(aNode,aTag,aContext,aSink);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case eHTMLTag_script:
|
||||||
|
case eHTMLTag_style:
|
||||||
|
case eHTMLTag_title:
|
||||||
|
result=OpenContext(aNode,aTag,aContext,aSink); //force the title onto the context stack
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_newline:
|
case eHTMLTag_newline:
|
||||||
|
@ -1754,8 +1720,15 @@ public:
|
||||||
result=CloseContext(aNode,aTag,aContext,aSink);
|
result=CloseContext(aNode,aTag,aContext,aSink);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_head:
|
case eHTMLTag_object:
|
||||||
result=CloseContext(aNode,aTag,aContext,aSink);
|
result=CloseContainerInContext(aNode,aTag,aContext,aSink);
|
||||||
|
aSink->CloseHead(*aNode);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case eHTMLTag_script:
|
||||||
|
case eHTMLTag_style:
|
||||||
|
case eHTMLTag_title:
|
||||||
|
result=CloseContext(aNode,aTag,aContext,aSink); //close the title
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case eHTMLTag_unknown:
|
case eHTMLTag_unknown:
|
||||||
|
@ -1872,7 +1845,6 @@ public:
|
||||||
|
|
||||||
mBodyElement(eHTMLTag_body),
|
mBodyElement(eHTMLTag_body),
|
||||||
mFramesetElement(eHTMLTag_frameset),
|
mFramesetElement(eHTMLTag_frameset),
|
||||||
mHeadElement(eHTMLTag_head),
|
|
||||||
mHTMLElement(eHTMLTag_html),
|
mHTMLElement(eHTMLTag_html),
|
||||||
mScriptElement(),
|
mScriptElement(),
|
||||||
mStyleElement(),
|
mStyleElement(),
|
||||||
|
@ -1901,7 +1873,6 @@ public:
|
||||||
|
|
||||||
CBodyElement mBodyElement;
|
CBodyElement mBodyElement;
|
||||||
CFrameElement mFramesetElement;
|
CFrameElement mFramesetElement;
|
||||||
CHeadElement mHeadElement;
|
|
||||||
CHTMLElement mHTMLElement;
|
CHTMLElement mHTMLElement;
|
||||||
CScriptElement mScriptElement;
|
CScriptElement mScriptElement;
|
||||||
CStyleElement mStyleElement;
|
CStyleElement mStyleElement;
|
||||||
|
@ -2195,7 +2166,6 @@ void CElementTable::InitializeElements() {
|
||||||
mElements[eHTMLTag_body]=&mBodyElement;
|
mElements[eHTMLTag_body]=&mBodyElement;
|
||||||
mElements[eHTMLTag_frameset]=&mFramesetElement;
|
mElements[eHTMLTag_frameset]=&mFramesetElement;
|
||||||
mElements[eHTMLTag_html]=&mHTMLElement;
|
mElements[eHTMLTag_html]=&mHTMLElement;
|
||||||
mElements[eHTMLTag_head]=&mHeadElement;
|
|
||||||
mElements[eHTMLTag_script]=&mScriptElement;
|
mElements[eHTMLTag_script]=&mScriptElement;
|
||||||
mElements[eHTMLTag_style]=&mStyleElement;
|
mElements[eHTMLTag_style]=&mStyleElement;
|
||||||
mElements[eHTMLTag_title]=&mTitleElement;
|
mElements[eHTMLTag_title]=&mTitleElement;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче