Bug 825808 - Fix animations by marking transforms as not fixed. r=roc

This commit is contained in:
Anthony Jones 2013-01-12 15:48:55 -05:00
parent 2a183d535a
commit 7cc38ffb42
2 changed files with 6 additions and 1 deletions

View File

@ -822,6 +822,7 @@ SampleAnimations(Layer* aLayer, TimeStamp aPoint)
c->GetInheritedYScale(),
1);
}
NS_ASSERTION(!aLayer->GetIsFixedPosition(), "Can't animate transforms on fixed-position layers");
shadow->SetShadowTransform(matrix);
break;
}

View File

@ -2170,7 +2170,11 @@ ContainerState::ProcessDisplayItems(const nsDisplayList& aList,
mParameters.mYScale);
}
ownLayer->SetIsFixedPosition(isFixed);
// If a transform layer is marked as fixed then the shadow transform gets
// overwritten by CompositorParent when doing scroll compensation on
// fixed layers. This means we need to make sure transform layers are not
// marked as fixed.
ownLayer->SetIsFixedPosition(isFixed && type != nsDisplayItem::TYPE_TRANSFORM);
// Update that layer's clip and visible rects.
NS_ASSERTION(ownLayer->Manager() == mManager, "Wrong manager");