Index: cc/software_renderer.cc |
diff --git a/cc/software_renderer.cc b/cc/software_renderer.cc |
index 7781b552fcc7ba495afd90d02c6040b9ba6e8fe3..2f42ed61d3f6dd58a382c52ada143a0c8a5c2ddf 100644 |
--- a/cc/software_renderer.cc |
+++ b/cc/software_renderer.cc |
@@ -11,18 +11,20 @@ |
#include "cc/solid_color_draw_quad.h" |
#include "cc/texture_draw_quad.h" |
#include "cc/tile_draw_quad.h" |
+#include "cc/video_frame_draw_quad.h" |
+#include "media/filters/skcanvas_video_renderer.h" |
#include "third_party/skia/include/core/SkCanvas.h" |
#include "third_party/skia/include/core/SkColor.h" |
#include "third_party/skia/include/core/SkMatrix.h" |
#include "third_party/skia/include/core/SkShader.h" |
#include "third_party/skia/include/effects/SkLayerRasterizer.h" |
#include "ui/gfx/rect_conversions.h" |
+#include <public/WebCompositorSoftwareOutputDevice.h> |
#include <public/WebImage.h> |
#include <public/WebSize.h> |
#include <public/WebTransformationMatrix.h> |
using WebKit::WebCompositorSoftwareOutputDevice; |
-using WebKit::WebImage; |
using WebKit::WebSize; |
using WebKit::WebTransformationMatrix; |
@@ -215,6 +217,9 @@ void SoftwareRenderer::drawQuad(DrawingFrame& frame, const DrawQuad* quad) |
case DrawQuad::RenderPass: |
drawRenderPassQuad(frame, RenderPassDrawQuad::materialCast(quad)); |
break; |
+ case DrawQuad::VideoFrameContent: |
+ drawVideoFrameQuad(frame, VideoFrameDrawQuad::materialCast(quad)); |
+ break; |
default: |
drawUnsupportedQuad(frame, quad); |
break; |
@@ -324,6 +329,14 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende |
} |
} |
+void SoftwareRenderer::drawVideoFrameQuad(const DrawingFrame& frame, const VideoFrameDrawQuad* quad) |
+{ |
+ if (!m_videoRenderer) |
+ m_videoRenderer.reset(new media::SkCanvasVideoRenderer); |
+ m_videoRenderer->Paint(quad->frame(), m_skCurrentCanvas, quadVertexRect(), |
+ quad->opacity() * 255); |
+} |
+ |
void SoftwareRenderer::drawUnsupportedQuad(const DrawingFrame& frame, const DrawQuad* quad) |
{ |
m_skCurrentPaint.setColor(SK_ColorMAGENTA); |