Bug 316500. Fix merge regression so that fixed-background tables display correctly. r+sr=mats,a=damon

This commit is contained in:
roc+@cs.cmu.edu 2008-04-21 15:00:48 -07:00
Родитель 772fd60abc
Коммит 045b61ba6b
2 изменённых файлов: 5 добавлений и 6 удалений

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

@ -1262,8 +1262,7 @@ nsDisplayTableItem::GetBounds(nsDisplayListBuilder* aBuilder) {
}
PRBool
nsDisplayTableItem::IsVaryingRelativeToFrame(nsDisplayListBuilder* aBuilder,
nsIFrame* aAncestorFrame)
nsDisplayTableItem::IsVaryingRelativeToMovingFrame(nsDisplayListBuilder* aBuilder)
{
if (!mPartHasFixedBackground)
return PR_FALSE;
@ -1274,8 +1273,9 @@ nsDisplayTableItem::IsVaryingRelativeToFrame(nsDisplayListBuilder* aBuilder,
// will move relative to its viewport, which means this display item will
// change when it is moved. If they are in different documents, we do not
// want to return true because mFrame won't move relative to its viewport.
return mFrame == aAncestorFrame ||
nsLayoutUtils::IsProperAncestorFrame(aAncestorFrame, mFrame);
nsIFrame* rootMover = aBuilder->GetRootMovingFrame();
return mFrame == rootMover ||
nsLayoutUtils::IsProperAncestorFrame(rootMover, mFrame);
}
/* static */ void

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

@ -79,8 +79,7 @@ public:
nsDisplayTableItem(nsIFrame* aFrame) : nsDisplayItem(aFrame),
mPartHasFixedBackground(PR_FALSE) {}
virtual PRBool IsVaryingRelativeToFrame(nsDisplayListBuilder* aBuilder,
nsIFrame* aAncestorFrame);
virtual PRBool IsVaryingRelativeToMovingFrame(nsDisplayListBuilder* aBuilder);
// With collapsed borders, parts of the collapsed border can extend outside
// the table part frames, so allow this display element to blow out to our
// overflow rect. This is also useful for row frames that have spanning