summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-11-28 15:16:52 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-28 15:16:52 -0800
commit1d9278af25fb763f14750ec65a66438c9bc63859 (patch)
treef31b939a52afd50e7ddfc18f04405a4995a02594 /Source/WebCore/rendering
parent4da712ca404e2e3353ca726fb26bd43a6b96806d (diff)
parent647970367ac56d95e84fbfca92d8b7390d5d2fed (diff)
downloadexternal_webkit-1d9278af25fb763f14750ec65a66438c9bc63859.zip
external_webkit-1d9278af25fb763f14750ec65a66438c9bc63859.tar.gz
external_webkit-1d9278af25fb763f14750ec65a66438c9bc63859.tar.bz2
am 64797036: Merge "Put canvas on a layer" into ics-mr1
* commit '647970367ac56d95e84fbfca92d8b7390d5d2fed': Put canvas on a layer
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