summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-11-28 12:58:00 -0800
committerJohn Reck <jreck@google.com>2011-11-28 13:21:03 -0800
commit35e0b8dd7902e92f50ede4df2e4bad4ed581b770 (patch)
treef5ad17a057d2b613b5a98bfbeb4f5ad4c6ba9a87 /Source/WebCore/rendering
parent7839f0a8c60340239148921eb35c3e2afc750701 (diff)
downloadexternal_webkit-35e0b8dd7902e92f50ede4df2e4bad4ed581b770.zip
external_webkit-35e0b8dd7902e92f50ede4df2e4bad4ed581b770.tar.gz
external_webkit-35e0b8dd7902e92f50ede4df2e4bad4ed581b770.tar.bz2
Put canvas on a layer
Bug: 5666191 Change-Id: I30708d508b7e05e8bcbc6c22413134ca378f6d2c
Diffstat (limited to 'Source/WebCore/rendering')
-rw-r--r--Source/WebCore/rendering/RenderHTMLCanvas.cpp6
-rw-r--r--Source/WebCore/rendering/RenderLayerCompositor.cpp2
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