| Index: Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| diff --git a/Source/core/html/canvas/WebGLRenderingContextBase.cpp b/Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| index 81550c6b5c79f743e923a2ce6fb6608fa4b07017..35b79306c6fd03a6aed39e60ebc93e3324e65a06 100644
|
| --- a/Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| +++ b/Source/core/html/canvas/WebGLRenderingContextBase.cpp
|
| @@ -1455,6 +1455,9 @@ void WebGLRenderingContextBase::colorMask(GLboolean red, GLboolean green, GLbool
|
| {
|
| if (isContextLost())
|
| return;
|
| + if (!m_requestedAttributes.alpha() && !drawingBuffer()->isRGBTextureSupported())
|
| + alpha = GL_FALSE;
|
| +
|
| m_colorMask[0] = red;
|
| m_colorMask[1] = green;
|
| m_colorMask[2] = blue;
|
| @@ -2384,7 +2387,10 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* scriptState, GL
|
| case GL_ALIASED_POINT_SIZE_RANGE:
|
| return getWebGLFloatArrayParameter(scriptState, pname);
|
| case GL_ALPHA_BITS:
|
| - return getIntParameter(scriptState, pname);
|
| + // Report 0 bits, if requested alpha attribute is false & drawingbuffer allocated as GL_RGBA
|
| + return (!m_requestedAttributes.alpha() && !drawingBuffer()->isRGBTextureSupported())
|
| + ? WebGLAny(scriptState, intZero)
|
| + : getIntParameter(scriptState, pname);
|
| case GL_ARRAY_BUFFER_BINDING:
|
| return WebGLAny(scriptState, PassRefPtrWillBeRawPtr<WebGLObject>(m_boundArrayBuffer.get()));
|
| case GL_BLEND:
|
| @@ -2408,7 +2414,9 @@ ScriptValue WebGLRenderingContextBase::getParameter(ScriptState* scriptState, GL
|
| case GL_COLOR_CLEAR_VALUE:
|
| return getWebGLFloatArrayParameter(scriptState, pname);
|
| case GL_COLOR_WRITEMASK:
|
| - return getBooleanArrayParameter(scriptState, pname);
|
| + return (!m_requestedAttributes.alpha() && !drawingBuffer()->isRGBTextureSupported())
|
| + ? WebGLAny(scriptState, intZero)
|
| + : getBooleanArrayParameter(scriptState, pname);
|
| case GL_COMPRESSED_TEXTURE_FORMATS:
|
| return WebGLAny(scriptState, DOMUint32Array::create(m_compressedTextureFormats.data(), m_compressedTextureFormats.size()));
|
| case GL_CULL_FACE:
|
|
|