Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: sky/engine/core/rendering/RenderLayer.cpp

Issue 856563006: Remove background obscuration checks. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/rendering/RenderLayer.h ('k') | sky/engine/core/rendering/RenderLayerModelObject.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/RenderLayer.cpp
diff --git a/sky/engine/core/rendering/RenderLayer.cpp b/sky/engine/core/rendering/RenderLayer.cpp
index 12a0ab701c147a182e7f30fdfb4fa5bccf421503..6682ecff1443c4a6315fd0550311db39512c4034 100644
--- a/sky/engine/core/rendering/RenderLayer.cpp
+++ b/sky/engine/core/rendering/RenderLayer.cpp
@@ -1732,59 +1732,6 @@ bool RenderLayer::paintsWithTransform() const
return transform();
}
-bool RenderLayer::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const
-{
- if (!isSelfPaintingLayer() && !hasSelfPaintingLayerDescendant())
- return false;
-
- if (isTransparent())
- return false;
-
- if (paintsWithFilters() && renderer()->style()->filter().hasFilterThatAffectsOpacity())
- return false;
-
- // FIXME: Handle simple transforms.
- if (paintsWithTransform())
- return false;
-
- // FIXME: Remove this check.
- // This function should not be called when layer-lists are dirty.
- // It is somehow getting triggered during style update.
- if (m_stackingNode->zOrderListsDirty() || m_stackingNode->normalFlowListDirty())
- return false;
-
- // FIXME: We currently only check the immediate renderer,
- // which will miss many cases.
- if (renderer()->backgroundIsKnownToBeOpaqueInRect(localRect))
- return true;
-
- // We can't consult child layers if we clip, since they might cover
- // parts of the rect that are clipped out.
- if (renderer()->hasOverflowClip())
- return false;
-
- return childBackgroundIsKnownToBeOpaqueInRect(localRect);
-}
-
-bool RenderLayer::childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const
-{
- RenderLayerStackingNodeReverseIterator revertseIterator(*m_stackingNode, PositiveZOrderChildren | NormalFlowChildren | NegativeZOrderChildren);
- while (RenderLayerStackingNode* child = revertseIterator.next()) {
- const RenderLayer* childLayer = child->layer();
- if (!childLayer->canUseConvertToLayerCoords())
- continue;
-
- LayoutPoint childOffset;
- LayoutRect childLocalRect(localRect);
- childLayer->convertToLayerCoords(this, childOffset);
- childLocalRect.moveBy(-childOffset);
-
- if (childLayer->backgroundIsKnownToBeOpaqueInRect(childLocalRect))
- return true;
- }
- return false;
-}
-
bool RenderLayer::shouldBeSelfPaintingLayer() const
{
return m_layerType == NormalLayer
« no previous file with comments | « sky/engine/core/rendering/RenderLayer.h ('k') | sky/engine/core/rendering/RenderLayerModelObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698