summaryrefslogtreecommitdiffstats
path: root/cc/quads/draw_quad.cc
diff options
context:
space:
mode:
authorweiliangc@chromium.org <weiliangc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-11 17:24:49 +0000
committerweiliangc@chromium.org <weiliangc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-11 17:24:49 +0000
commitd70cc671b76bd197628c51d3dc0b764bf5263fcc (patch)
treef1a1ecca885964c40c06f965d0e9eaec5fe18f5c /cc/quads/draw_quad.cc
parentf0bbcdc29da3d55178958982724a9a3bc45c2eec (diff)
downloadchromium_src-d70cc671b76bd197628c51d3dc0b764bf5263fcc.zip
chromium_src-d70cc671b76bd197628c51d3dc0b764bf5263fcc.tar.gz
chromium_src-d70cc671b76bd197628c51d3dc0b764bf5263fcc.tar.bz2
Move Copy method from DrawQuad to RenderPass
In transition to let RenderPass take responsibility to allocate DrawQuads, Copy method from DQ is moved to RP. In drawquad_unittest, no RenderPass is present, thus it takes advantage of default copy constructor. Follow 368403003. BUG=344962 Review URL: https://codereview.chromium.org/380893004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282640 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/quads/draw_quad.cc')
-rw-r--r--cc/quads/draw_quad.cc49
1 files changed, 0 insertions, 49 deletions
diff --git a/cc/quads/draw_quad.cc b/cc/quads/draw_quad.cc
index e2d6059..b669ad7 100644
--- a/cc/quads/draw_quad.cc
+++ b/cc/quads/draw_quad.cc
@@ -21,12 +21,6 @@
#include "cc/quads/yuv_video_draw_quad.h"
#include "ui/gfx/quad_f.h"
-namespace {
-template<typename T> T* TypedCopy(const cc::DrawQuad* other) {
- return new T(*T::MaterialCast(other));
-}
-} // namespace
-
namespace cc {
DrawQuad::DrawQuad()
@@ -62,49 +56,6 @@ void DrawQuad::SetAll(const SharedQuadState* shared_quad_state,
DrawQuad::~DrawQuad() {
}
-scoped_ptr<DrawQuad> DrawQuad::Copy(
- const SharedQuadState* copied_shared_quad_state) const {
- scoped_ptr<DrawQuad> copy_quad;
- switch (material) {
- case CHECKERBOARD:
- copy_quad.reset(TypedCopy<CheckerboardDrawQuad>(this));
- break;
- case DEBUG_BORDER:
- copy_quad.reset(TypedCopy<DebugBorderDrawQuad>(this));
- break;
- case IO_SURFACE_CONTENT:
- copy_quad.reset(TypedCopy<IOSurfaceDrawQuad>(this));
- break;
- case PICTURE_CONTENT:
- copy_quad.reset(TypedCopy<PictureDrawQuad>(this));
- break;
- case TEXTURE_CONTENT:
- copy_quad.reset(TypedCopy<TextureDrawQuad>(this));
- break;
- case SOLID_COLOR:
- copy_quad.reset(TypedCopy<SolidColorDrawQuad>(this));
- break;
- case TILED_CONTENT:
- copy_quad.reset(TypedCopy<TileDrawQuad>(this));
- break;
- case STREAM_VIDEO_CONTENT:
- copy_quad.reset(TypedCopy<StreamVideoDrawQuad>(this));
- break;
- case SURFACE_CONTENT:
- copy_quad.reset(TypedCopy<SurfaceDrawQuad>(this));
- break;
- case YUV_VIDEO_CONTENT:
- copy_quad.reset(TypedCopy<YUVVideoDrawQuad>(this));
- break;
- case RENDER_PASS: // RenderPass quads have their own copy() method.
- case INVALID:
- LOG(FATAL) << "Invalid DrawQuad material " << material;
- break;
- }
- copy_quad->shared_quad_state = copied_shared_quad_state;
- return copy_quad.Pass();
-}
-
scoped_ptr<base::Value> DrawQuad::AsValue() const {
scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue());
value->SetInteger("material", material);