diff --git a/mozilla/htmlparser/src/COtherElements.h b/mozilla/htmlparser/src/COtherElements.h
index a9ce99e3006..b5f402b7141 100644
--- a/mozilla/htmlparser/src/COtherElements.h
+++ b/mozilla/htmlparser/src/COtherElements.h
@@ -1011,6 +1011,10 @@ public:
static void Initialize(CElement& anElement,eHTMLTags aTag){
CElement::Initialize(anElement,aTag,GetGroup(),GetContainedGroups());
+
+ static eHTMLTags kHeadKids[]={eHTMLTag_isindex,eHTMLTag_unknown};
+
+ anElement.mIncludeKids=kHeadKids;
}
CHeadElement(eHTMLTags aTag) : CElement(aTag) {
@@ -1758,7 +1762,7 @@ void CElementTable::InitializeElements() {
mDfltElements[eHTMLTag_colgroup].mContainsGroups.mAllBits=0;
mDfltElements[eHTMLTag_colgroup].mIncludeKids=kColgroupKids;
- CElement::Initialize( mDfltElements[eHTMLTag_dd], eHTMLTag_dd, CListElement::GetGroup(), CFlowElement::GetContainedGroups());
+ CElement::Initialize( mDfltElements[eHTMLTag_dd], eHTMLTag_dd, CElement::GetEmptyGroup(), CFlowElement::GetContainedGroups());
mDfltElements[eHTMLTag_dd].mAutoClose=kAutoCloseDD;
mDfltElements[eHTMLTag_dd].mContainsGroups.mBits.mSelf=0;
@@ -1777,7 +1781,7 @@ void CElementTable::InitializeElements() {
mDfltElements[eHTMLTag_dl].mContainsGroups.mAllBits=0;
mDfltElements[eHTMLTag_dl].mIncludeKids=kDLKids;
- CElement::Initialize( mDfltElements[eHTMLTag_dt], eHTMLTag_dt, CListElement::GetGroup(), CInlineElement::GetContainedGroups());
+ CElement::Initialize( mDfltElements[eHTMLTag_dt], eHTMLTag_dt, CElement::GetEmptyGroup(), CInlineElement::GetContainedGroups());
mDfltElements[eHTMLTag_dt].mContainsGroups.mBits.mLeaf=1;
mDfltElements[eHTMLTag_dt].mAutoClose=kAutoCloseDD;
@@ -1789,7 +1793,7 @@ void CElementTable::InitializeElements() {
mDfltElements[eHTMLTag_fieldset].mIncludeKids=kFieldsetKids;
CSpecialElement::Initialize( mDfltElements[eHTMLTag_font], eHTMLTag_font);
- CElement::Initialize( mDfltElements[eHTMLTag_form], eHTMLTag_form, CFormControlElement::GetGroup(), CBlockElement::GetBlockGroupMembers());
+ CElement::Initialize( mDfltElements[eHTMLTag_form], eHTMLTag_form, CBlockElement::GetGroup(), CBlockElement::GetBlockGroupMembers());
mDfltElements[eHTMLTag_form].mIncludeKids=kFormKids;
CElement::Initialize( mDfltElements[eHTMLTag_frame], eHTMLTag_frame, CFrameElement::GetGroup(), CLeafElement::GetContainedGroups());
@@ -1821,7 +1825,7 @@ void CElementTable::InitializeElements() {
CElement::Initialize( mDfltElements[eHTMLTag_ins], eHTMLTag_ins, CPhraseElement::GetGroup(), CFlowElement::GetContainedGroups());
mDfltElements[eHTMLTag_ins].mGroup.mBits.mBlock=1; //make this a member of the block group.
- CElement::InitializeLeaf( mDfltElements[eHTMLTag_isindex], eHTMLTag_isindex, CHeadElement::GetMiscGroup(), CLeafElement::GetContainedGroups());
+ CElement::InitializeLeaf( mDfltElements[eHTMLTag_isindex], eHTMLTag_isindex, CBlockElement::GetGroup(), CLeafElement::GetContainedGroups());
CPhraseElement::Initialize( mDfltElements[eHTMLTag_kbd], eHTMLTag_kbd);
CDeprecatedElement::Initialize( mDfltElements[eHTMLTag_keygen], eHTMLTag_keygen);
@@ -2205,7 +2209,7 @@ nsresult CElement::HandleStartToken( nsIParserNode* aNode,
//Ok, so we have a start token that is misplaced. Before handing this off
//to a default container (parent), let's check the autoclose condition.
- if(ListContainsTag(theElement->mAutoClose,theElement->mTag)) {
+ if(ListContainsTag(mAutoClose,theElement->mTag)) {
if(HasOptionalEndTag(theElement)) {
//aha! We have a case where this tag is autoclosed by anElement.
//Let's close this container, then try to open theElement.
diff --git a/mozilla/parser/htmlparser/src/COtherElements.h b/mozilla/parser/htmlparser/src/COtherElements.h
index a9ce99e3006..b5f402b7141 100644
--- a/mozilla/parser/htmlparser/src/COtherElements.h
+++ b/mozilla/parser/htmlparser/src/COtherElements.h
@@ -1011,6 +1011,10 @@ public:
static void Initialize(CElement& anElement,eHTMLTags aTag){
CElement::Initialize(anElement,aTag,GetGroup(),GetContainedGroups());
+
+ static eHTMLTags kHeadKids[]={eHTMLTag_isindex,eHTMLTag_unknown};
+
+ anElement.mIncludeKids=kHeadKids;
}
CHeadElement(eHTMLTags aTag) : CElement(aTag) {
@@ -1758,7 +1762,7 @@ void CElementTable::InitializeElements() {
mDfltElements[eHTMLTag_colgroup].mContainsGroups.mAllBits=0;
mDfltElements[eHTMLTag_colgroup].mIncludeKids=kColgroupKids;
- CElement::Initialize( mDfltElements[eHTMLTag_dd], eHTMLTag_dd, CListElement::GetGroup(), CFlowElement::GetContainedGroups());
+ CElement::Initialize( mDfltElements[eHTMLTag_dd], eHTMLTag_dd, CElement::GetEmptyGroup(), CFlowElement::GetContainedGroups());
mDfltElements[eHTMLTag_dd].mAutoClose=kAutoCloseDD;
mDfltElements[eHTMLTag_dd].mContainsGroups.mBits.mSelf=0;
@@ -1777,7 +1781,7 @@ void CElementTable::InitializeElements() {
mDfltElements[eHTMLTag_dl].mContainsGroups.mAllBits=0;
mDfltElements[eHTMLTag_dl].mIncludeKids=kDLKids;
- CElement::Initialize( mDfltElements[eHTMLTag_dt], eHTMLTag_dt, CListElement::GetGroup(), CInlineElement::GetContainedGroups());
+ CElement::Initialize( mDfltElements[eHTMLTag_dt], eHTMLTag_dt, CElement::GetEmptyGroup(), CInlineElement::GetContainedGroups());
mDfltElements[eHTMLTag_dt].mContainsGroups.mBits.mLeaf=1;
mDfltElements[eHTMLTag_dt].mAutoClose=kAutoCloseDD;
@@ -1789,7 +1793,7 @@ void CElementTable::InitializeElements() {
mDfltElements[eHTMLTag_fieldset].mIncludeKids=kFieldsetKids;
CSpecialElement::Initialize( mDfltElements[eHTMLTag_font], eHTMLTag_font);
- CElement::Initialize( mDfltElements[eHTMLTag_form], eHTMLTag_form, CFormControlElement::GetGroup(), CBlockElement::GetBlockGroupMembers());
+ CElement::Initialize( mDfltElements[eHTMLTag_form], eHTMLTag_form, CBlockElement::GetGroup(), CBlockElement::GetBlockGroupMembers());
mDfltElements[eHTMLTag_form].mIncludeKids=kFormKids;
CElement::Initialize( mDfltElements[eHTMLTag_frame], eHTMLTag_frame, CFrameElement::GetGroup(), CLeafElement::GetContainedGroups());
@@ -1821,7 +1825,7 @@ void CElementTable::InitializeElements() {
CElement::Initialize( mDfltElements[eHTMLTag_ins], eHTMLTag_ins, CPhraseElement::GetGroup(), CFlowElement::GetContainedGroups());
mDfltElements[eHTMLTag_ins].mGroup.mBits.mBlock=1; //make this a member of the block group.
- CElement::InitializeLeaf( mDfltElements[eHTMLTag_isindex], eHTMLTag_isindex, CHeadElement::GetMiscGroup(), CLeafElement::GetContainedGroups());
+ CElement::InitializeLeaf( mDfltElements[eHTMLTag_isindex], eHTMLTag_isindex, CBlockElement::GetGroup(), CLeafElement::GetContainedGroups());
CPhraseElement::Initialize( mDfltElements[eHTMLTag_kbd], eHTMLTag_kbd);
CDeprecatedElement::Initialize( mDfltElements[eHTMLTag_keygen], eHTMLTag_keygen);
@@ -2205,7 +2209,7 @@ nsresult CElement::HandleStartToken( nsIParserNode* aNode,
//Ok, so we have a start token that is misplaced. Before handing this off
//to a default container (parent), let's check the autoclose condition.
- if(ListContainsTag(theElement->mAutoClose,theElement->mTag)) {
+ if(ListContainsTag(mAutoClose,theElement->mTag)) {
if(HasOptionalEndTag(theElement)) {
//aha! We have a case where this tag is autoclosed by anElement.
//Let's close this container, then try to open theElement.