| Index: Source/modules/webgl/WebGLProgram.cpp
|
| diff --git a/Source/modules/webgl/WebGLProgram.cpp b/Source/modules/webgl/WebGLProgram.cpp
|
| index a2c4385869a5e0cfb29ef4ef7448f9ddbd94738d..05ea305b310ba754f5ae598b92c147c8bdb5fe87 100644
|
| --- a/Source/modules/webgl/WebGLProgram.cpp
|
| +++ b/Source/modules/webgl/WebGLProgram.cpp
|
| @@ -32,9 +32,9 @@
|
|
|
| namespace blink {
|
|
|
| -PassRefPtrWillBeRawPtr<WebGLProgram> WebGLProgram::create(WebGLRenderingContextBase* ctx)
|
| +WebGLProgram* WebGLProgram::create(WebGLRenderingContextBase* ctx)
|
| {
|
| - return adoptRefWillBeNoop(new WebGLProgram(ctx));
|
| + return new WebGLProgram(ctx);
|
| }
|
|
|
| WebGLProgram::WebGLProgram(WebGLRenderingContextBase* ctx)
|
| @@ -48,21 +48,14 @@ WebGLProgram::WebGLProgram(WebGLRenderingContextBase* ctx)
|
|
|
| WebGLProgram::~WebGLProgram()
|
| {
|
| -#if ENABLE(OILPAN)
|
| // These heap objects handle detachment on their own. Clear out
|
| // the references to prevent deleteObjectImpl() from trying to do
|
| // same, as we cannot safely access other heap objects from this
|
| // destructor.
|
| m_vertexShader = nullptr;
|
| m_fragmentShader = nullptr;
|
| -#endif
|
| - // 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.
|
| +
|
| + // See the comment in WebGLObject::detachAndDeleteObject().
|
| detachAndDeleteObject();
|
| }
|
|
|
| @@ -120,9 +113,9 @@ WebGLShader* WebGLProgram::getAttachedShader(GLenum type)
|
| {
|
| switch (type) {
|
| case GL_VERTEX_SHADER:
|
| - return m_vertexShader.get();
|
| + return m_vertexShader;
|
| case GL_FRAGMENT_SHADER:
|
| - return m_fragmentShader.get();
|
| + return m_fragmentShader;
|
| default:
|
| return 0;
|
| }
|
|
|