| Index: Source/modules/webgl/WebGLShader.cpp
|
| diff --git a/Source/modules/webgl/WebGLShader.cpp b/Source/modules/webgl/WebGLShader.cpp
|
| index 6b99d306410d4aacc7bb0e3507e3d33a110cc3cd..45602bc7b3ab030cfc35aa2ae2379765977ad701 100644
|
| --- a/Source/modules/webgl/WebGLShader.cpp
|
| +++ b/Source/modules/webgl/WebGLShader.cpp
|
| @@ -31,9 +31,9 @@
|
|
|
| namespace blink {
|
|
|
| -WebGLShader* WebGLShader::create(WebGLRenderingContextBase* ctx, GLenum type)
|
| +PassRefPtrWillBeRawPtr<WebGLShader> WebGLShader::create(WebGLRenderingContextBase* ctx, GLenum type)
|
| {
|
| - return new WebGLShader(ctx, type);
|
| + return adoptRefWillBeNoop(new WebGLShader(ctx, type));
|
| }
|
|
|
| WebGLShader::WebGLShader(WebGLRenderingContextBase* ctx, GLenum type)
|
| @@ -46,7 +46,13 @@
|
|
|
| WebGLShader::~WebGLShader()
|
| {
|
| - // 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();
|
| }
|
|
|
|
|