Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(568)

Unified Diff: Source/core/html/canvas/WebGLFramebuffer.cpp

Issue 365653002: Oilpan: move 2D Canvas and WebGL objects to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Complete VectorTraits<> specialization for VertexAttribState Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/html/canvas/WebGLFramebuffer.cpp
diff --git a/Source/core/html/canvas/WebGLFramebuffer.cpp b/Source/core/html/canvas/WebGLFramebuffer.cpp
index e968a306e5d313c7c07dbe191b3f2466b1c4135b..7cb5dc4b82724ea887c7ddaefa1f69126d9a23b1 100644
--- a/Source/core/html/canvas/WebGLFramebuffer.cpp
+++ b/Source/core/html/canvas/WebGLFramebuffer.cpp
@@ -41,7 +41,9 @@ namespace {
class WebGLRenderbufferAttachment FINAL : public WebGLFramebuffer::WebGLAttachment {
public:
- static PassRefPtr<WebGLFramebuffer::WebGLAttachment> create(WebGLRenderbuffer*);
+ static PassRefPtrWillBeRawPtr<WebGLFramebuffer::WebGLAttachment> create(WebGLRenderbuffer*);
+
+ virtual void trace(Visitor*) OVERRIDE;
private:
WebGLRenderbufferAttachment(WebGLRenderbuffer*);
@@ -58,12 +60,18 @@ namespace {
WebGLRenderbufferAttachment() { };
- RefPtr<WebGLRenderbuffer> m_renderbuffer;
+ RefPtrWillBeMember<WebGLRenderbuffer> m_renderbuffer;
};
- PassRefPtr<WebGLFramebuffer::WebGLAttachment> WebGLRenderbufferAttachment::create(WebGLRenderbuffer* renderbuffer)
+ PassRefPtrWillBeRawPtr<WebGLFramebuffer::WebGLAttachment> WebGLRenderbufferAttachment::create(WebGLRenderbuffer* renderbuffer)
+ {
+ return adoptRefWillBeNoop(new WebGLRenderbufferAttachment(renderbuffer));
+ }
+
+ void WebGLRenderbufferAttachment::trace(Visitor* visitor)
{
- return adoptRef(new WebGLRenderbufferAttachment(renderbuffer));
+ visitor->trace(m_renderbuffer);
+ WebGLFramebuffer::WebGLAttachment::trace(visitor);
}
WebGLRenderbufferAttachment::WebGLRenderbufferAttachment(WebGLRenderbuffer* renderbuffer)
@@ -141,7 +149,9 @@ namespace {
class WebGLTextureAttachment FINAL : public WebGLFramebuffer::WebGLAttachment {
public:
- static PassRefPtr<WebGLFramebuffer::WebGLAttachment> create(WebGLTexture*, GLenum target, GLint level);
+ static PassRefPtrWillBeRawPtr<WebGLFramebuffer::WebGLAttachment> create(WebGLTexture*, GLenum target, GLint level);
+
+ virtual void trace(Visitor*) OVERRIDE;
private:
WebGLTextureAttachment(WebGLTexture*, GLenum target, GLint level);
@@ -158,14 +168,20 @@ namespace {
WebGLTextureAttachment() { };
- RefPtr<WebGLTexture> m_texture;
+ RefPtrWillBeMember<WebGLTexture> m_texture;
GLenum m_target;
GLint m_level;
};
- PassRefPtr<WebGLFramebuffer::WebGLAttachment> WebGLTextureAttachment::create(WebGLTexture* texture, GLenum target, GLint level)
+ PassRefPtrWillBeRawPtr<WebGLFramebuffer::WebGLAttachment> WebGLTextureAttachment::create(WebGLTexture* texture, GLenum target, GLint level)
{
- return adoptRef(new WebGLTextureAttachment(texture, target, level));
+ return adoptRefWillBeNoop(new WebGLTextureAttachment(texture, target, level));
+ }
+
+ void WebGLTextureAttachment::trace(Visitor* visitor)
+ {
+ visitor->trace(m_texture);
+ WebGLFramebuffer::WebGLAttachment::trace(visitor);
}
WebGLTextureAttachment::WebGLTextureAttachment(WebGLTexture* texture, GLenum target, GLint level)
@@ -253,9 +269,9 @@ WebGLFramebuffer::WebGLAttachment::~WebGLAttachment()
{
}
-PassRefPtr<WebGLFramebuffer> WebGLFramebuffer::create(WebGLRenderingContextBase* ctx)
+PassRefPtrWillBeRawPtr<WebGLFramebuffer> WebGLFramebuffer::create(WebGLRenderingContextBase* ctx)
{
- return adoptRef(new WebGLFramebuffer(ctx));
+ return adoptRefWillBeNoop(new WebGLFramebuffer(ctx));
}
WebGLFramebuffer::WebGLFramebuffer(WebGLRenderingContextBase* ctx)
@@ -595,4 +611,10 @@ GLenum WebGLFramebuffer::getDrawBuffer(GLenum drawBuffer)
return GL_NONE;
}
+void WebGLFramebuffer::trace(Visitor* visitor)
+{
+ visitor->trace(m_attachments);
+ WebGLContextObject::trace(visitor);
+}
+
}

Powered by Google App Engine
This is Rietveld 408576698