Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464) Backed out changeset fdaf4cfa6707 (bug 1097464) Backed out changeset 727ebd9f744a (bug 1097464) Backed out changeset 03f03a776042 (bug 1097464) Backed out changeset 5ec6364b87d7 (bug 1097464) Backed out changeset 47d056b3af7f (bug 1097464)
This commit is contained in:
@@ -39,32 +39,22 @@ BasicContainerLayer::ComputeEffectiveTransforms(const Matrix4x4& aTransformToSur
|
||||
// containers.
|
||||
Matrix residual;
|
||||
Matrix4x4 idealTransform = GetLocalTransform() * aTransformToSurface;
|
||||
if (!Extend3DContext() && !Is3DContextLeaf()) {
|
||||
// For 3D transform leaked from extended parent layer.
|
||||
idealTransform.ProjectTo2D();
|
||||
}
|
||||
idealTransform.ProjectTo2D();
|
||||
|
||||
if (!idealTransform.CanDraw2D()) {
|
||||
if (!Extend3DContext() ||
|
||||
(!idealTransform.Is2D() && Creates3DContextWithExtendingChildren())) {
|
||||
if (!Creates3DContextWithExtendingChildren()) {
|
||||
idealTransform.ProjectTo2D();
|
||||
}
|
||||
mEffectiveTransform = idealTransform;
|
||||
ComputeEffectiveTransformsForChildren(Matrix4x4());
|
||||
ComputeEffectiveTransformForMaskLayers(Matrix4x4());
|
||||
mUseIntermediateSurface = true;
|
||||
return;
|
||||
}
|
||||
|
||||
mEffectiveTransform = idealTransform;
|
||||
ComputeEffectiveTransformsForChildren(idealTransform);
|
||||
ComputeEffectiveTransformForMaskLayers(idealTransform);
|
||||
mUseIntermediateSurface = false;
|
||||
ComputeEffectiveTransformsForChildren(Matrix4x4());
|
||||
ComputeEffectiveTransformForMaskLayers(Matrix4x4());
|
||||
mUseIntermediateSurface = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// With 2D transform or extended 3D context.
|
||||
mEffectiveTransform = SnapTransformTranslation(idealTransform, &residual);
|
||||
// We always pass the ideal matrix down to our children, so there is no
|
||||
// need to apply any compensation using the residual from SnapTransformTranslation.
|
||||
ComputeEffectiveTransformsForChildren(idealTransform);
|
||||
|
||||
ComputeEffectiveTransformForMaskLayers(aTransformToSurface);
|
||||
|
||||
Layer* child = GetFirstChild();
|
||||
bool hasSingleBlendingChild = false;
|
||||
@@ -84,20 +74,6 @@ BasicContainerLayer::ComputeEffectiveTransforms(const Matrix4x4& aTransformToSur
|
||||
GetForceIsolatedGroup() ||
|
||||
(GetMixBlendMode() != CompositionOp::OP_OVER && HasMultipleChildren()) ||
|
||||
(GetEffectiveOpacity() != 1.0 && (HasMultipleChildren() || hasSingleBlendingChild));
|
||||
|
||||
if (!Extend3DContext()) {
|
||||
idealTransform.ProjectTo2D();
|
||||
}
|
||||
mEffectiveTransform =
|
||||
!mUseIntermediateSurface ?
|
||||
idealTransform : SnapTransformTranslation(idealTransform, &residual);
|
||||
Matrix4x4 childTransformToSurface =
|
||||
(!mUseIntermediateSurface ||
|
||||
(mUseIntermediateSurface && !Extend3DContext() /* 2D */)) ?
|
||||
idealTransform : Matrix4x4::From2D(residual);
|
||||
ComputeEffectiveTransformsForChildren(childTransformToSurface);
|
||||
|
||||
ComputeEffectiveTransformForMaskLayers(aTransformToSurface);
|
||||
}
|
||||
|
||||
bool
|
||||
|
||||
Reference in New Issue
Block a user