diff --git a/mozilla/htmlparser/src/CNavDTD.cpp b/mozilla/htmlparser/src/CNavDTD.cpp index d0855134ded..df766c30101 100644 --- a/mozilla/htmlparser/src/CNavDTD.cpp +++ b/mozilla/htmlparser/src/CNavDTD.cpp @@ -1693,10 +1693,13 @@ PRBool CNavDTD::CanOmit(eHTMLTags aParent,eHTMLTags aChild) const { CTagList* theParents=gHTMLElements[aChild].GetSpecialParents(); if(theParents) { PRInt32 theParentIndex=theParents->GetTopmostIndexOf(mBodyContext->mTags); - result=PRBool(kNotFound==theParentIndex); + return PRBool(kNotFound==theParentIndex); // result=!theParents->Contains(aParent); THE OLD WAY } } + if(!gHTMLElements[aParent].CanContain(aChild)){ + return PR_TRUE; + } break; } //switch break; diff --git a/mozilla/parser/htmlparser/src/CNavDTD.cpp b/mozilla/parser/htmlparser/src/CNavDTD.cpp index d0855134ded..df766c30101 100644 --- a/mozilla/parser/htmlparser/src/CNavDTD.cpp +++ b/mozilla/parser/htmlparser/src/CNavDTD.cpp @@ -1693,10 +1693,13 @@ PRBool CNavDTD::CanOmit(eHTMLTags aParent,eHTMLTags aChild) const { CTagList* theParents=gHTMLElements[aChild].GetSpecialParents(); if(theParents) { PRInt32 theParentIndex=theParents->GetTopmostIndexOf(mBodyContext->mTags); - result=PRBool(kNotFound==theParentIndex); + return PRBool(kNotFound==theParentIndex); // result=!theParents->Contains(aParent); THE OLD WAY } } + if(!gHTMLElements[aParent].CanContain(aChild)){ + return PR_TRUE; + } break; } //switch break;