Index: Source/modules/webgl/CHROMIUMValuebuffer.cpp |
diff --git a/Source/modules/webgl/CHROMIUMValuebuffer.cpp b/Source/modules/webgl/CHROMIUMValuebuffer.cpp |
index b38b053df761999ba56c5e33c89b15befd692af9..025870849312df8673516b4e1f7130d8cbdc75c3 100644 |
--- a/Source/modules/webgl/CHROMIUMValuebuffer.cpp |
+++ b/Source/modules/webgl/CHROMIUMValuebuffer.cpp |
@@ -10,14 +10,20 @@ |
namespace blink { |
-CHROMIUMValuebuffer* CHROMIUMValuebuffer::create(WebGLRenderingContextBase* ctx) |
+PassRefPtrWillBeRawPtr<CHROMIUMValuebuffer> CHROMIUMValuebuffer::create(WebGLRenderingContextBase* ctx) |
{ |
- return new CHROMIUMValuebuffer(ctx); |
+ return adoptRefWillBeNoop(new CHROMIUMValuebuffer(ctx)); |
} |
CHROMIUMValuebuffer::~CHROMIUMValuebuffer() |
{ |
- // See the comment in WebGLObject::detachAndDeleteObject(). |
+ // Always call detach here to ensure that platform object deletion |
+ // happens with Oilpan enabled. It keeps the code regular to do it |
+ // with or without Oilpan enabled. |
+ // |
+ // See comment in WebGLBuffer's destructor for additional |
+ // information on why this is done for WebGLSharedObject-derived |
+ // objects. |
detachAndDeleteObject(); |
} |