summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Scott <phanna@android.com>2011-01-31 18:12:29 -0500
committerPatrick Scott <phanna@android.com>2011-01-31 18:12:29 -0500
commitfcff94b0bbcd719f49120de639d7cac235cb547b (patch)
tree19e4326683f3996881d8ac7d455e63c0573fa62e
parentc36054aacf610538d595ecc02cfbef4e6678eaa7 (diff)
downloadexternal_webkit-fcff94b0bbcd719f49120de639d7cac235cb547b.zip
external_webkit-fcff94b0bbcd719f49120de639d7cac235cb547b.tar.gz
external_webkit-fcff94b0bbcd719f49120de639d7cac235cb547b.tar.bz2
Do not propagate compositing for some iframes.
If a frame does not have a renderer, this method would attach an iframe's root layer as the main root layer. Check for independent iframes before checking for the renderer. Will report a bug to WebKit.org. Bug: 3376746 Change-Id: I84bcc3e5016f6aa9d7c19a287367482df9c65c67
-rw-r--r--WebCore/rendering/RenderLayerCompositor.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp
index bcb1c84..f31ab9d 100644
--- a/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/WebCore/rendering/RenderLayerCompositor.cpp
@@ -1129,6 +1129,10 @@ bool RenderLayerCompositor::allowsIndependentlyCompositedIFrames(const FrameView
bool RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame() const
{
+#if PLATFORM(ANDROID)
+ if (enclosingIFrameElement() && !allowsIndependentlyCompositedIFrames(m_renderView->frameView()))
+ return true;
+#endif
// Parent document content needs to be able to render on top of a composited iframe, so correct behavior
// is to have the parent document become composited too. However, this can cause problems on platforms that
// use native views for frames (like Mac), so disable that behavior on those platforms for now.