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

Unified Diff: Source/core/rendering/compositing/CompositingReasonFinder.cpp

Issue 206243003: Simplify CompositingReasonFinder::requiresCompositingForFrame (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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
Index: Source/core/rendering/compositing/CompositingReasonFinder.cpp
diff --git a/Source/core/rendering/compositing/CompositingReasonFinder.cpp b/Source/core/rendering/compositing/CompositingReasonFinder.cpp
index a65ae9056e53ac1b3842a3553ee70e436c62d7c9..42598d87f1198ca69831476ca49f2feef3842783 100644
--- a/Source/core/rendering/compositing/CompositingReasonFinder.cpp
+++ b/Source/core/rendering/compositing/CompositingReasonFinder.cpp
@@ -74,7 +74,7 @@ CompositingReasons CompositingReasonFinder::directReasons(const RenderLayer* lay
directReasons |= CompositingReasonCanvas;
else if (requiresCompositingForPlugin(renderer, needToRecomputeCompositingRequirements))
directReasons |= CompositingReasonPlugin;
- else if (requiresCompositingForFrame(renderer, needToRecomputeCompositingRequirements))
+ else if (requiresCompositingForFrame(renderer))
directReasons |= CompositingReasonIFrame;
if (requiresCompositingForBackfaceVisibilityHidden(renderer))
@@ -183,33 +183,9 @@ bool CompositingReasonFinder::requiresCompositingForPlugin(RenderObject* rendere
return contentBox.height() * contentBox.width() > 1;
}
-bool CompositingReasonFinder::requiresCompositingForFrame(RenderObject* renderer, bool* needToRecomputeCompositingRequirements) const
+bool CompositingReasonFinder::requiresCompositingForFrame(RenderObject* renderer) const
{
- if (!renderer->isRenderPart())
- return false;
-
- RenderPart* frameRenderer = toRenderPart(renderer);
-
- if (!frameRenderer->requiresAcceleratedCompositing())
- return false;
-
- if (frameRenderer->node() && frameRenderer->node()->isFrameOwnerElement() && toHTMLFrameOwnerElement(frameRenderer->node())->contentFrame() && toHTMLFrameOwnerElement(frameRenderer->node())->contentFrame()->remotePlatformLayer())
- return true;
-
- // FIXME: this seems bogus. If we don't know the layout position/size of the frame yet, wouldn't that be handled elsehwere?
- *needToRecomputeCompositingRequirements = true;
-
- RenderLayerCompositor* innerCompositor = RenderLayerCompositor::frameContentsCompositor(frameRenderer);
- if (!innerCompositor)
- return false;
-
- // If we can't reliably know the size of the iframe yet, don't change compositing state.
- if (renderer->needsLayout())
- return frameRenderer->hasLayer() && frameRenderer->layer()->hasCompositedLayerMapping();
-
- // Don't go into compositing mode if height or width are zero.
- IntRect contentBox = pixelSnappedIntRect(frameRenderer->contentBoxRect());
- return contentBox.height() * contentBox.width() > 0;
+ return renderer->isRenderPart() && toRenderPart(renderer)->requiresAcceleratedCompositing();
}
bool CompositingReasonFinder::requiresCompositingForBackfaceVisibilityHidden(RenderObject* renderer) const

Powered by Google App Engine
This is Rietveld 408576698