Bug 328296. Make outlines appeare below positioned elements instead of above them. r+sr=Mats Palmgren

git-svn-id: svn://10.0.0.236/trunk@230262 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
roc+%cs.cmu.edu 2007-07-19 03:50:24 +00:00
parent ee8d7ee104
commit 2ffe0a55c7

View File

@ -1384,11 +1384,9 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
resultList.AppendToTop(set.BlockBorderBackgrounds());
// 5: floats
resultList.AppendToTop(set.Floats());
// 6: general content
// 7: general content
resultList.AppendToTop(set.Content());
// 7, 8: non-negative z-index children
resultList.AppendToTop(set.PositionedDescendants());
// 9: outlines, in content tree order. We need to sort by content order
// 7.5: outlines, in content tree order. We need to sort by content order
// because an element with outline that breaks and has children with outline
// might have placed child outline items between its own outline items.
// The element's outline items need to all come before any child outline
@ -1398,7 +1396,8 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
DisplayDebugBorders(aBuilder, this, set);
#endif
resultList.AppendToTop(set.Outlines());
// 8, 9: non-negative z-index children
resultList.AppendToTop(set.PositionedDescendants());
if (applyAbsPosClipping) {
nsAbsPosClipWrapper wrapper(absPosClip);
@ -1600,8 +1599,8 @@ nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder* aBuilder,
list.AppendToTop(pseudoStack.BlockBorderBackgrounds());
list.AppendToTop(pseudoStack.Floats());
list.AppendToTop(pseudoStack.Content());
list.AppendToTop(pseudoStack.Outlines());
extraPositionedDescendants.AppendToTop(pseudoStack.PositionedDescendants());
aLists.Outlines()->AppendToTop(pseudoStack.Outlines());
#ifdef NS_DEBUG
DisplayDebugBorders(aBuilder, aChild, aLists);
#endif