diff options
author | Patrick Scott <phanna@android.com> | 2011-01-31 18:12:29 -0500 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2011-01-31 18:12:29 -0500 |
commit | fcff94b0bbcd719f49120de639d7cac235cb547b (patch) | |
tree | 19e4326683f3996881d8ac7d455e63c0573fa62e | |
parent | c36054aacf610538d595ecc02cfbef4e6678eaa7 (diff) | |
download | external_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.cpp | 4 |
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. |