Backout f7a499183de0, 5dfd8d0a0ea6, dec09b1a21e4 (bug 1042772) for reftest failure on CLOSED TREE

This commit is contained in:
Timothy Nikkel 2014-08-07 12:49:15 -05:00
Родитель 602a7e1a25
Коммит 2dc2f9e427
3 изменённых файлов: 6 добавлений и 16 удалений

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

@ -3005,8 +3005,7 @@ nsDisplayWrapList::nsDisplayWrapList(nsDisplayListBuilder* aBuilder,
mToReferenceFrame = i->ToReferenceFrame();
}
}
mVisibleRect = aBuilder->GetDirtyRect() +
aBuilder->GetCurrentFrameOffsetToReferenceFrame();
mVisibleRect = aBuilder->GetDirtyRect() + mToReferenceFrame;
}
nsDisplayWrapList::nsDisplayWrapList(nsDisplayListBuilder* aBuilder,
@ -3035,8 +3034,7 @@ nsDisplayWrapList::nsDisplayWrapList(nsDisplayListBuilder* aBuilder,
mToReferenceFrame = aItem->ToReferenceFrame();
}
}
mVisibleRect = aBuilder->GetDirtyRect() +
aBuilder->GetCurrentFrameOffsetToReferenceFrame();
mVisibleRect = aBuilder->GetDirtyRect() + mToReferenceFrame;
}
nsDisplayWrapList::~nsDisplayWrapList() {

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

@ -533,10 +533,6 @@ public:
void SetDirtyRect(const nsRect& aRect) {
mBuilder->mDirtyRect = aRect;
}
void SetReferenceFrameAndCurrentOffset(const nsIFrame* aFrame, const nsPoint& aOffset) {
mBuilder->mCurrentReferenceFrame = aFrame;
mBuilder->mCurrentOffsetToReferenceFrame = aOffset;
}
~AutoBuildingDisplayList() {
mBuilder->mCurrentFrame = mPrevFrame;
mBuilder->mCurrentReferenceFrame = mPrevReferenceFrame;

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

@ -1922,8 +1922,7 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
AutoSaveRestoreBlendMode autoRestoreBlendMode(*aBuilder);
aBuilder->SetContainsBlendModes(BlendModeSet());
const nsIFrame* outerReferenceFrame = aBuilder->GetCurrentReferenceFrame();
nsPoint offsetToOuterReferenceFrame = GetOffsetToCrossDoc(outerReferenceFrame);
nsPoint offsetToReferenceFrame = aBuilder->ToReferenceFrame(this);
if (isTransformed) {
const nsRect overflow = GetVisualOverflowRectRelativeToSelf();
@ -1935,9 +1934,10 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
return;
}
dirtyRect += offsetToReferenceFrame;
nsRect untransformedDirtyRect;
if (nsDisplayTransform::UntransformRect(dirtyRect, overflow, this,
nsPoint(0,0), &untransformedDirtyRect)) {
offsetToReferenceFrame, &untransformedDirtyRect)) {
dirtyRect = untransformedDirtyRect;
} else {
NS_WARNING("Unable to untransform dirty rect!");
@ -2105,11 +2105,7 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
clipState.Restore();
// Revert to the dirtyrect coming in from the parent, without our transform
// taken into account.
buildingDisplayList.SetDirtyRect(aDirtyRect);
// Revert to the outer reference frame and offset because all display
// items we create from now on are outside the transform.
buildingDisplayList.SetReferenceFrameAndCurrentOffset(outerReferenceFrame,
offsetToOuterReferenceFrame);
buildingDisplayList.SetDirtyRect(aDirtyRect + offsetToReferenceFrame);
if (Preserves3DChildren()) {
WrapPreserve3DList(this, aBuilder, &resultList);