| 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);
|
|
|