Index: Source/core/html/canvas/WebGLFramebuffer.h |
diff --git a/Source/core/html/canvas/WebGLFramebuffer.h b/Source/core/html/canvas/WebGLFramebuffer.h |
index 4e647ac843f3c7542c28454f31a415ce5b45a31e..960a8335261237d12c9ec7751e91863fbe603168 100644 |
--- a/Source/core/html/canvas/WebGLFramebuffer.h |
+++ b/Source/core/html/canvas/WebGLFramebuffer.h |
@@ -39,7 +39,7 @@ class WebGLTexture; |
class WebGLFramebuffer FINAL : public WebGLContextObject, public ScriptWrappable { |
public: |
- class WebGLAttachment : public RefCounted<WebGLAttachment> { |
+ class WebGLAttachment : public RefCountedWillBeGarbageCollectedFinalized<WebGLAttachment> { |
public: |
virtual ~WebGLAttachment(); |
@@ -58,13 +58,15 @@ public: |
virtual void attach(blink::WebGraphicsContext3D*, GLenum attachment) = 0; |
virtual void unattach(blink::WebGraphicsContext3D*, GLenum attachment) = 0; |
+ virtual void trace(Visitor*) { } |
+ |
protected: |
WebGLAttachment(); |
}; |
virtual ~WebGLFramebuffer(); |
- static PassRefPtr<WebGLFramebuffer> create(WebGLRenderingContextBase*); |
+ static PassRefPtrWillBeRawPtr<WebGLFramebuffer> create(WebGLRenderingContextBase*); |
void setAttachmentForBoundFramebuffer(GLenum attachment, GLenum texTarget, WebGLTexture*, GLint level); |
void setAttachmentForBoundFramebuffer(GLenum attachment, WebGLRenderbuffer*); |
@@ -99,6 +101,8 @@ public: |
GLenum getDrawBuffer(GLenum); |
+ virtual void trace(Visitor*) OVERRIDE; |
+ |
protected: |
WebGLFramebuffer(WebGLRenderingContextBase*); |
@@ -117,7 +121,7 @@ private: |
// Check if a new drawBuffers call should be issued. This is called when we add or remove an attachment. |
void drawBuffersIfNecessary(bool force); |
- typedef WTF::HashMap<GLenum, RefPtr<WebGLAttachment> > AttachmentMap; |
+ typedef WillBeHeapHashMap<GLenum, RefPtrWillBeMember<WebGLAttachment> > AttachmentMap; |
AttachmentMap m_attachments; |