Layer tree invalidation should use the effective clip rect, not the base clip rect. (bug 1189159, r=mattwoodrow)

--HG--
extra : rebase_source : 46b7f5e0e8c7116577f541d82a2c58ce0743262c
This commit is contained in:
David Anderson 2015-10-20 22:59:10 -07:00
parent dd444c1fe0
commit 7c417e6071

View File

@ -110,7 +110,7 @@ struct LayerPropertiesBase : public LayerProperties
, mPostXScale(aLayer->GetPostXScale())
, mPostYScale(aLayer->GetPostYScale())
, mOpacity(aLayer->GetLocalOpacity())
, mUseClipRect(!!aLayer->GetClipRect())
, mUseClipRect(!!aLayer->GetEffectiveClipRect())
{
MOZ_COUNT_CTOR(LayerPropertiesBase);
if (aLayer->GetMaskLayer()) {
@ -121,7 +121,7 @@ struct LayerPropertiesBase : public LayerProperties
mAncestorMaskLayers.AppendElement(CloneLayerTreePropertiesInternal(maskLayer, true));
}
if (mUseClipRect) {
mClipRect = *aLayer->GetClipRect();
mClipRect = *aLayer->GetEffectiveClipRect();
}
mTransform = aLayer->GetLocalTransform();
}
@ -148,7 +148,7 @@ struct LayerPropertiesBase : public LayerProperties
bool transformChanged = !mTransform.FuzzyEqualsMultiplicative(mLayer->GetLocalTransform()) ||
mLayer->GetPostXScale() != mPostXScale ||
mLayer->GetPostYScale() != mPostYScale;
const Maybe<ParentLayerIntRect>& otherClip = mLayer->GetClipRect();
const Maybe<ParentLayerIntRect>& otherClip = mLayer->GetEffectiveClipRect();
nsIntRegion result;
bool ancestorMaskChanged = mAncestorMaskLayers.Length() != mLayer->GetAncestorMaskLayerCount();