Bug 768079; mask layers force an intermediate surface for their containers. r=roc

This commit is contained in:
Nicholas Cameron 2012-06-27 08:06:32 +12:00
Родитель d9405def30
Коммит fd286a7d52
1 изменённых файлов: 3 добавлений и 1 удалений

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

@ -467,8 +467,10 @@ ContainerLayer::DefaultComputeEffectiveTransforms(const gfx3DMatrix& aTransformT
/* We can't (easily) forward our transform to children with a non-empty clip
* rect since it would need to be adjusted for the transform. See
* the calculations performed by CalculateScissorRect above.
* Nor for a child with a mask layer.
*/
if (clipRect && !clipRect->IsEmpty() && !child->GetVisibleRegion().IsEmpty()) {
if ((clipRect && !clipRect->IsEmpty() && !child->GetVisibleRegion().IsEmpty()) ||
child->GetMaskLayer()) {
useIntermediateSurface = true;
break;
}