diff options
author | John Reck <jreck@google.com> | 2011-11-28 12:58:00 -0800 |
---|---|---|
committer | John Reck <jreck@google.com> | 2011-11-28 13:21:03 -0800 |
commit | 35e0b8dd7902e92f50ede4df2e4bad4ed581b770 (patch) | |
tree | f5ad17a057d2b613b5a98bfbeb4f5ad4c6ba9a87 | |
parent | 7839f0a8c60340239148921eb35c3e2afc750701 (diff) | |
download | external_webkit-35e0b8dd7902e92f50ede4df2e4bad4ed581b770.zip external_webkit-35e0b8dd7902e92f50ede4df2e4bad4ed581b770.tar.gz external_webkit-35e0b8dd7902e92f50ede4df2e4bad4ed581b770.tar.bz2 |
Put canvas on a layer
Bug: 5666191
Change-Id: I30708d508b7e05e8bcbc6c22413134ca378f6d2c
-rw-r--r-- | Source/WebCore/rendering/RenderHTMLCanvas.cpp | 6 | ||||
-rw-r--r-- | Source/WebCore/rendering/RenderLayerCompositor.cpp | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Source/WebCore/rendering/RenderHTMLCanvas.cpp b/Source/WebCore/rendering/RenderHTMLCanvas.cpp index de2a2c1..ada79e9 100644 --- a/Source/WebCore/rendering/RenderHTMLCanvas.cpp +++ b/Source/WebCore/rendering/RenderHTMLCanvas.cpp @@ -47,9 +47,13 @@ RenderHTMLCanvas::RenderHTMLCanvas(HTMLCanvasElement* element) bool RenderHTMLCanvas::requiresLayer() const { +#if PLATFORM(ANDROID) + return true; +#endif + if (RenderReplaced::requiresLayer()) return true; - + HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(node()); return canvas && canvas->renderingContext() && canvas->renderingContext()->isAccelerated(); } diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp index 5827636..85c57a6 100644 --- a/Source/WebCore/rendering/RenderLayerCompositor.cpp +++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp @@ -1384,6 +1384,8 @@ bool RenderLayerCompositor::requiresCompositingForAndroidLayers(const RenderLaye if (layer->isFixed()) return true; #endif + if (layer->renderer()->isCanvas()) + return true; return false; } #endif |