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 |