summaryrefslogtreecommitdiff
path: root/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp')
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
index 4584d4986..49321182b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
@@ -97,6 +97,21 @@ unsigned CCDrawQuad::size() const
return sizeof(CCDrawQuad);
}
+PassOwnPtr<CCDrawQuad> CCDrawQuad::copy(const CCSharedQuadState* copiedSharedQuadState) const
+{
+ // RenderPass quads have their own copy() method.
+ ASSERT(material() != RenderPass);
+
+ unsigned bytes = size();
+ ASSERT(bytes);
+
+ OwnPtr<CCDrawQuad> copyQuad(adoptPtr(reinterpret_cast<CCDrawQuad*>(new char[bytes])));
+ memcpy(copyQuad.get(), this, bytes);
+ copyQuad->setSharedQuadState(copiedSharedQuadState);
+
+ return copyQuad.release();
+}
+
void CCDrawQuad::setSharedQuadState(const CCSharedQuadState* sharedQuadState)
{
m_sharedQuadState = sharedQuadState;