OSDN Git Service

Put canvas on a layer
authorJohn Reck <jreck@google.com>
Mon, 28 Nov 2011 20:58:00 +0000 (12:58 -0800)
committerJohn Reck <jreck@google.com>
Mon, 28 Nov 2011 21:21:03 +0000 (13:21 -0800)
 Bug: 5666191

Change-Id: I30708d508b7e05e8bcbc6c22413134ca378f6d2c

Source/WebCore/rendering/RenderHTMLCanvas.cpp
Source/WebCore/rendering/RenderLayerCompositor.cpp

index de2a2c1..ada79e9 100644 (file)
@@ -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();
 }
index 5827636..85c57a6 100644 (file)
@@ -1384,6 +1384,8 @@ bool RenderLayerCompositor::requiresCompositingForAndroidLayers(const RenderLaye
     if (layer->isFixed())
         return true;
 #endif
+    if (layer->renderer()->isCanvas())
+        return true;
     return false;
 }
 #endif