| Index: Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| diff --git a/Source/core/html/canvas/WebGLRenderingContextBase.cpp b/Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| index dd3d1c1d7612afef410902708162c8ce9448fb23..dc0213bb7240da51fde16cf51c9e06e48e7c7401 100644
|
| --- a/Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| +++ b/Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| @@ -1365,15 +1365,27 @@ void WebGLRenderingContextBase::bufferSubData(GLenum target, long long offset, D
|
| bufferSubDataImpl(target, offset, data->byteLength(), data->baseAddress());
|
| }
|
|
|
| +bool WebGLRenderingContextBase::validateFramebufferTarget(GLenum target)
|
| +{
|
| + if (target == GL_FRAMEBUFFER)
|
| + return true;
|
| + return false;
|
| +}
|
| +
|
| +RefPtrWillBeMember<WebGLFramebuffer> WebGLRenderingContextBase::getFramebufferBinding(GLenum target)
|
| +{
|
| + return m_framebufferBinding;
|
| +}
|
| +
|
| GLenum WebGLRenderingContextBase::checkFramebufferStatus(GLenum target)
|
| {
|
| if (isContextLost())
|
| return GL_FRAMEBUFFER_UNSUPPORTED;
|
| - if (target != GL_FRAMEBUFFER) {
|
| + if (!validateFramebufferTarget(target)) {
|
| synthesizeGLError(GL_INVALID_ENUM, "checkFramebufferStatus", "invalid target");
|
| return 0;
|
| }
|
| - if (!m_framebufferBinding || !m_framebufferBinding->object())
|
| + if (!getFramebufferBinding(target) || !getFramebufferBinding(target)->object())
|
| return GL_FRAMEBUFFER_COMPLETE;
|
| const char* reason = "framebuffer incomplete";
|
| GLenum result = m_framebufferBinding->checkStatus(&reason);
|
| @@ -5374,7 +5386,7 @@ void WebGLRenderingContextBase::printWarningToConsole(const String& message)
|
|
|
| bool WebGLRenderingContextBase::validateFramebufferFuncParameters(const char* functionName, GLenum target, GLenum attachment)
|
| {
|
| - if (target != GL_FRAMEBUFFER) {
|
| + if (!validateFramebufferTarget(target)) {
|
| synthesizeGLError(GL_INVALID_ENUM, functionName, "invalid target");
|
| return false;
|
| }
|
|
|