From c39d5a310e965d343164c232f13ce5f6f702dd72 Mon Sep 17 00:00:00 2001 From: Peter Chang Date: Tue, 10 Sep 2013 15:04:26 +0800 Subject: [PATCH] Backed out changeset 6776e4836c04 --- .../composite/ContainerLayerComposite.cpp | 49 ------------------- 1 file changed, 49 deletions(-) diff --git a/gfx/layers/composite/ContainerLayerComposite.cpp b/gfx/layers/composite/ContainerLayerComposite.cpp index 3fe1aa3e91d..70a362065f4 100644 --- a/gfx/layers/composite/ContainerLayerComposite.cpp +++ b/gfx/layers/composite/ContainerLayerComposite.cpp @@ -47,38 +47,6 @@ HasOpaqueAncestorLayer(Layer* aLayer) return false; } -/** - * Returns a rectangle of content painted opaquely by aLayer. Very consertative; - * bails by returning an empty rect in any tricky situations. - */ -static nsIntRect -GetOpaqueRect(Layer* aLayer) -{ - nsIntRect result; - // Just bail if there's anything difficult to handle. - if (!aLayer->GetEffectiveTransform().IsIdentity() || - aLayer->GetEffectiveOpacity() != 1.0f || - aLayer->GetMaskLayer()) { - return result; - } - if (aLayer->GetContentFlags() & Layer::CONTENT_OPAQUE) { - result = aLayer->GetEffectiveVisibleRegion().GetLargestRectangle(); - } else { - // Drill down into RefLayers because that's what we particularly care about; - // layer construction for aLayer will not have known about the opaqueness - // of any RefLayer subtrees. - RefLayer* refLayer = aLayer->AsRefLayer(); - if (refLayer) { - result = GetOpaqueRect(refLayer->GetFirstChild()); - } - } - const nsIntRect* clipRect = aLayer->GetEffectiveClipRect(); - if (clipRect) { - result.IntersectRect(result, *clipRect); - } - return result; -} - template void ContainerRender(ContainerT* aContainer, const nsIntPoint& aOffset, @@ -175,23 +143,6 @@ ContainerRender(ContainerT* aContainer, continue; } - if (i + 1 < children.Length() && - layerToRender->GetLayer()->GetEffectiveTransform().IsIdentity()) { - LayerComposite* nextLayer = static_cast(children.ElementAt(i + 1)->ImplData()); - nsIntRect nextLayerOpaqueRect; - if (nextLayer && nextLayer->GetLayer()) { - nextLayerOpaqueRect = GetOpaqueRect(nextLayer->GetLayer()); - } - if (!nextLayerOpaqueRect.IsEmpty()) { - nsIntRegion visibleRegion; - visibleRegion.Sub(layerToRender->GetShadowVisibleRegion(), nextLayerOpaqueRect); - layerToRender->SetShadowVisibleRegion(visibleRegion); - if (visibleRegion.IsEmpty()) { - continue; - } - } - } - nsIntRect clipRect = layerToRender->GetLayer()-> CalculateScissorRect(aClipRect, &aManager->GetWorldTransform()); if (clipRect.IsEmpty()) {