40713 ( nsbeta2+ ) - Style should leak out of TABLE.

r=dbaron@fas.harvard.edu
This commit is contained in:
harishd%netscape.com 2000-06-21 20:50:00 +00:00
Родитель 634e3cc180
Коммит 77ee601a77
4 изменённых файлов: 14 добавлений и 6 удалений

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

@ -3291,7 +3291,11 @@ nsresult CNavDTD::CloseContainersTo(PRInt32 anIndex,eHTMLTags aTarget, PRBool aC
#ifdef ENABLE_RESIDUALSTYLE
PRBool theTagIsStyle=nsHTMLElement::IsResidualStyleTag(theTag);
PRBool theStyleDoesntLeakOut = gHTMLElements[aTarget].HasSpecialProperty(kNoStyleLeaksOut);
// If the current tag cannot leak out then we shouldn't leak out of the target - Fix 40713
PRBool theStyleDoesntLeakOut = gHTMLElements[theTag].HasSpecialProperty(kNoStyleLeaksOut);
if(!theStyleDoesntLeakOut) {
theStyleDoesntLeakOut = gHTMLElements[aTarget].HasSpecialProperty(kNoStyleLeaksOut);
}
// (aClosedByStartTag) ? gHTMLElements[aTarget].HasSpecialProperty(kNoStyleLeaksOut)
// : gHTMLElements[theParent].HasSpecialProperty(kNoStyleLeaksOut);

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

@ -372,7 +372,7 @@ void InitializeElementTable(void) {
/*rootnodes,endrootnodes*/ &gInTable,&gInTable,
/*autoclose starttags and endtags*/ &gCaptionAutoClose,0,0,0,
/*parent,incl,exclgroups*/ kNone, kFlowEntity, kSelf,
/*special props, prop-range*/ kNoPropagate,kDefaultPropRange,
/*special props, prop-range*/ (kNoPropagate|kNoStyleLeaksOut),kDefaultPropRange,
/*special parents,kids,skip*/ &gInTable,0,eHTMLTag_unknown);
Initialize(
@ -1112,7 +1112,7 @@ void InitializeElementTable(void) {
/*rootnodes,endrootnodes*/ &gTableRootTags,&gTableRootTags,
/*autoclose starttags and endtags*/ 0,&gTableCloseTags,0,0,
/*parent,incl,exclgroups*/ kBlock, kNone, (kSelf|kInlineEntity),
/*special props, prop-range*/ (kOmitWS|kBadContentWatch|kNoStyleLeaksIn|kNoStyleLeaksOut), 2,
/*special props, prop-range*/ (kOmitWS|kBadContentWatch|kNoStyleLeaksIn), 2,
/*special parents,kids,skip*/ 0,&gTableKids,eHTMLTag_unknown);
Initialize(

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

@ -3291,7 +3291,11 @@ nsresult CNavDTD::CloseContainersTo(PRInt32 anIndex,eHTMLTags aTarget, PRBool aC
#ifdef ENABLE_RESIDUALSTYLE
PRBool theTagIsStyle=nsHTMLElement::IsResidualStyleTag(theTag);
PRBool theStyleDoesntLeakOut = gHTMLElements[aTarget].HasSpecialProperty(kNoStyleLeaksOut);
// If the current tag cannot leak out then we shouldn't leak out of the target - Fix 40713
PRBool theStyleDoesntLeakOut = gHTMLElements[theTag].HasSpecialProperty(kNoStyleLeaksOut);
if(!theStyleDoesntLeakOut) {
theStyleDoesntLeakOut = gHTMLElements[aTarget].HasSpecialProperty(kNoStyleLeaksOut);
}
// (aClosedByStartTag) ? gHTMLElements[aTarget].HasSpecialProperty(kNoStyleLeaksOut)
// : gHTMLElements[theParent].HasSpecialProperty(kNoStyleLeaksOut);

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

@ -372,7 +372,7 @@ void InitializeElementTable(void) {
/*rootnodes,endrootnodes*/ &gInTable,&gInTable,
/*autoclose starttags and endtags*/ &gCaptionAutoClose,0,0,0,
/*parent,incl,exclgroups*/ kNone, kFlowEntity, kSelf,
/*special props, prop-range*/ kNoPropagate,kDefaultPropRange,
/*special props, prop-range*/ (kNoPropagate|kNoStyleLeaksOut),kDefaultPropRange,
/*special parents,kids,skip*/ &gInTable,0,eHTMLTag_unknown);
Initialize(
@ -1112,7 +1112,7 @@ void InitializeElementTable(void) {
/*rootnodes,endrootnodes*/ &gTableRootTags,&gTableRootTags,
/*autoclose starttags and endtags*/ 0,&gTableCloseTags,0,0,
/*parent,incl,exclgroups*/ kBlock, kNone, (kSelf|kInlineEntity),
/*special props, prop-range*/ (kOmitWS|kBadContentWatch|kNoStyleLeaksIn|kNoStyleLeaksOut), 2,
/*special props, prop-range*/ (kOmitWS|kBadContentWatch|kNoStyleLeaksIn), 2,
/*special parents,kids,skip*/ 0,&gTableKids,eHTMLTag_unknown);
Initialize(